From c58999ceb5056848fd13d7ac3fe7b87d415e0a25 Mon Sep 17 00:00:00 2001 From: Hideyuki Kagami Date: Sun, 14 Jan 2024 00:13:52 +0900 Subject: [PATCH 01/70] v8 for files under root Conversion of apps to ES6 --- .editorconfig | 14 +- .eslintrc.json | 9 +- .gitattributes | 171 +- .gitignore | 160 +- .prettierignore | 5 +- .prettierrc.yml | 9 + .yo-rc.json | 51 + generators/app/command.mjs | 8 + generators/app/files.js | 2 +- generators/app/generator.mjs | 66 + generators/app/generator.spec.mjs | 26 + generators/app/index.js | 42 +- generators/app/prompts.js | 8 +- lib/append-files.js | 2 +- lib/entity-helpers.js | 4 +- lib/get-app-folder.js | 6 +- lib/index.js | 37 +- lib/patch-babel.js | 2 +- lib/patch-entity-api.js | 2 +- lib/patch-in-file.js | 2 +- lib/patch-navigation.js | 2 +- lib/pre-write.js | 6 +- lib/print-jhipster-logo.js | 7 +- lib/setup-variables.js | 10 +- package-lock.json | 29607 +++++++++++----------------- package.json | 38 +- tsconfig.json | 31 + vitest.config.ts | 9 + 28 files changed, 12054 insertions(+), 18282 deletions(-) create mode 100644 .prettierrc.yml create mode 100644 .yo-rc.json create mode 100644 generators/app/command.mjs create mode 100644 generators/app/generator.mjs create mode 100644 generators/app/generator.spec.mjs create mode 100644 tsconfig.json create mode 100644 vitest.config.ts diff --git a/.editorconfig b/.editorconfig index 0f099897b..4d13f069f 100644 --- a/.editorconfig +++ b/.editorconfig @@ -1,10 +1,20 @@ +# EditorConfig helps developers define and maintain consistent +# coding styles between different editors and IDEs # editorconfig.org + root = true [*] -indent_style = space -indent_size = 2 + +# We recommend you to keep these unchanged end_of_line = lf charset = utf-8 trim_trailing_whitespace = true insert_final_newline = true + +# Change these settings to your own preference +indent_style = space +indent_size = 2 + +[*.md] +trim_trailing_whitespace = false diff --git a/.eslintrc.json b/.eslintrc.json index cc5f594d7..f5dc8382d 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -1,9 +1,13 @@ { "env": { "node": true, - "es6": true + "es2020": true }, "extends": ["airbnb-base", "plugin:prettier/recommended"], + "parserOptions": { + "ecmaVersion": 11, + "sourceType": "module" + }, "rules": { "prettier/prettier": "error", "indent": [2, 2, { "SwitchCase": 1 }], @@ -32,8 +36,7 @@ }, "overrides": [ { - "files": ["test/**/*.js"], - "env": { "mocha": true } + "files": ["**/*.spec.{c,m,}js", "test/**/*.{c,m,}js"] } ] } diff --git a/.gitattributes b/.gitattributes index 3472a36b2..ca61722de 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,21 +1,150 @@ -# All text files should have the "lf" (Unix) line endings -* text eol=lf - -# Explicitly declare text files you want to always be normalized and converted -# to native line endings on checkout. -*.java text -*.js text -*.css text -*.html text - -# Denote all files that are truly binary and should not be modified. -*.png binary -*.jpg binary -*.jar binary -*.pdf binary -*.eot binary -*.ttf binary -*.gzip binary -*.gz binary -*.ai binary -*.eps binary +# This file is inspired by https://github.com/alexkaratarakis/gitattributes +# +# Auto detect text files and perform LF normalization +# http://davidlaing.com/2012/09/19/customise-your-gitattributes-to-become-a-git-ninja/ +* text=auto + +# The above will handle all files NOT found below +# These files are text and should be normalized (Convert crlf => lf) + +*.bat text eol=crlf +*.cmd text eol=crlf +*.ps1 text eol=crlf +*.coffee text +*.css text +*.cql text +*.df text +*.ejs text +*.html text +*.java text +*.js text +*.json text +*.less text +*.properties text +*.sass text +*.scss text +*.sh text eol=lf +*.sql text +*.txt text +*.ts text +*.xml text +*.yaml text +*.yml text + +# Documents +*.doc diff=astextplain +*.DOC diff=astextplain +*.docx diff=astextplain +*.DOCX diff=astextplain +*.dot diff=astextplain +*.DOT diff=astextplain +*.pdf diff=astextplain +*.PDF diff=astextplain +*.rtf diff=astextplain +*.RTF diff=astextplain +*.markdown text +*.md text +*.adoc text +*.textile text +*.mustache text +*.csv text +*.tab text +*.tsv text +*.txt text +AUTHORS text +CHANGELOG text +CHANGES text +CONTRIBUTING text +COPYING text +copyright text +*COPYRIGHT* text +INSTALL text +license text +LICENSE text +NEWS text +readme text +*README* text +TODO text + +# Graphics +*.png binary +*.jpg binary +*.jpeg binary +*.gif binary +*.tif binary +*.tiff binary +*.ico binary +# SVG treated as an asset (binary) by default. If you want to treat it as text, +# comment-out the following line and uncomment the line after. +*.svg binary +#*.svg text +*.eps binary + +# These files are binary and should be left untouched +# (binary is a macro for -text -diff) +*.class binary +*.jar binary +*.war binary + +## LINTERS +.csslintrc text +.eslintrc text +.jscsrc text +.jshintrc text +.jshintignore text +.stylelintrc text + +## CONFIGS +*.conf text +*.config text +.editorconfig text +.gitattributes text +.gitconfig text +.gitignore text +.htaccess text +*.npmignore text + +## HEROKU +Procfile text +.slugignore text + +## AUDIO +*.kar binary +*.m4a binary +*.mid binary +*.midi binary +*.mp3 binary +*.ogg binary +*.ra binary + +## VIDEO +*.3gpp binary +*.3gp binary +*.as binary +*.asf binary +*.asx binary +*.fla binary +*.flv binary +*.m4v binary +*.mng binary +*.mov binary +*.mp4 binary +*.mpeg binary +*.mpg binary +*.swc binary +*.swf binary +*.webm binary + +## ARCHIVES +*.7z binary +*.gz binary +*.rar binary +*.tar binary +*.zip binary + +## FONTS +*.ttf binary +*.eot binary +*.otf binary +*.woff binary +*.woff2 binary diff --git a/.gitignore b/.gitignore index 5dede821e..d279ca6ad 100644 --- a/.gitignore +++ b/.gitignore @@ -1,13 +1,153 @@ -node_modules -coverage -.idea +###################### +# Node +###################### +/node/ +node_tmp/ +node_modules/ +npm-debug.log.* +/.awcache/* +/.cache-loader/* + +###################### +# SASS +###################### +.sass-cache/ + +###################### +# Eclipse +###################### +*.pydevproject +.project +.metadata +tmp/ +tmp/**/* +*.tmp +*.bak +*.swp +*~.nib +local.properties +.classpath +.settings/ +.loadpath +.factorypath + +# External tool builders +.externalToolBuilders/** + +# Locally stored "Eclipse launch configurations" +*.launch + +# CDT-specific +.cproject + +# PDT-specific +.buildpath + +# STS-specific +/.sts4-cache/* + +###################### +# IntelliJ +###################### +.idea/ *.iml -*.ipr *.iws -atlassian-ide-plugin.xml -/.project -test/temp/ -*debug.log* -.vscode -yarn.lock +*.ipr +*.ids +*.orig +classes/ +out/ + +###################### +# Visual Studio Code +###################### +.vscode/* +!.vscode/settings.json +!.vscode/tasks.json +!.vscode/launch.json +!.vscode/extensions.json +*.code-workspace + +###################### +# Maven +###################### +/log/ +/target/ + +###################### +# Gradle +###################### +.gradle/ +/build/ +/buildSrc/.gradle/ +/buildSrc/build/ + +###################### +# Package Files +###################### +*.jar +*.war +*.ear +*.db + +###################### +# Windows +###################### +# Windows image file caches +Thumbs.db + +# Folder config file +Desktop.ini + +###################### +# Mac OSX +###################### .DS_Store +.svn + +# Thumbnails +._* + +# Files that might appear on external disk +.Spotlight-V100 +.Trashes + +###################### +# Directories +###################### +/bin/ +/deploy/ + +###################### +# Logs +###################### +*.log* + +###################### +# Others +###################### +*.class +*.*~ +*~ +.merge_file* + +###################### +# Gradle Wrapper +###################### +!gradle/wrapper/gradle-wrapper.jar + +###################### +# Maven Wrapper +###################### +!.mvn/wrapper/maven-wrapper.jar + +###################### +# ESLint +###################### +.eslintcache + +###################### +# Code coverage +###################### +/coverage/ +/.nyc_output/ diff --git a/.prettierignore b/.prettierignore index cf441dcb8..5bc19dd77 100644 --- a/.prettierignore +++ b/.prettierignore @@ -1,4 +1,7 @@ -package-lock.json node_modules +package-lock.json +.git + +# blueprint rules: **/templates/**/ e2e/Exponent.app diff --git a/.prettierrc.yml b/.prettierrc.yml new file mode 100644 index 000000000..0f4b736a6 --- /dev/null +++ b/.prettierrc.yml @@ -0,0 +1,9 @@ +# Prettier configuration + +printWidth: 140 +singleQuote: true +tabWidth: 2 +useTabs: false + +# js and ts rules: +arrowParens: avoid diff --git a/.yo-rc.json b/.yo-rc.json new file mode 100644 index 000000000..ad7b2af78 --- /dev/null +++ b/.yo-rc.json @@ -0,0 +1,51 @@ +{ + "generator-jhipster": { + "additionalSubGenerators": "", + "baseName": "react-native", + "cli": true, + "entities": [], + "generators": { + "app": { + "command": false, + "priorities": ["initializing", "prompting", "configuring", "loading", "default", "writing", "install", "end"], + "sbs": true, + "written": true + }, + "entities": { + "command": false, + "priorities": ["initializing", "composing", "loading", "default", "writing"], + "sbs": true, + "written": true + }, + "entity": { + "command": false, + "priorities": [ + "initializing", + "prompting", + "configuring", + "loading", + "preparing", + "preparingEachEntityField", + "preparingEachEntityRelationship", + "default", + "writing", + "install", + "end" + ], + "sbs": true, + "written": true + }, + "heroku": { + "command": false, + "priorities": ["initializing", "prompting", "configuring", "default", "end"], + "sbs": true, + "written": true + } + }, + "jhipsterVersion": "8.1.0", + "localBlueprint": false, + "sampleWritten": true, + "skipCommitHook": true, + "subGenerators": ["app", "entities", "entity", "heroku"] + } +} diff --git a/generators/app/command.mjs b/generators/app/command.mjs new file mode 100644 index 000000000..b5a045029 --- /dev/null +++ b/generators/app/command.mjs @@ -0,0 +1,8 @@ +/** + * @type {import('generator-jhipster').JHipsterCommandDefinition} + */ +const command = { + options: {}, +}; + +export default command; diff --git a/generators/app/files.js b/generators/app/files.js index 8b73a4ccc..750f6eeb6 100644 --- a/generators/app/files.js +++ b/generators/app/files.js @@ -232,7 +232,7 @@ const files = { ], }; -module.exports = { files, writeFiles }; +export { files, writeFiles }; function writeFiles() { this.writeFilesToDisk(files, this); diff --git a/generators/app/generator.mjs b/generators/app/generator.mjs new file mode 100644 index 000000000..825f00113 --- /dev/null +++ b/generators/app/generator.mjs @@ -0,0 +1,66 @@ +import BaseApplicationGenerator from 'generator-jhipster/generators/base-application'; +import command from './command.mjs'; + +export default class extends BaseApplicationGenerator { + constructor(args, opts, features) { + super(args, opts, { ...features, sbsBlueprint: true }); + } + + get [BaseApplicationGenerator.INITIALIZING]() { + return this.asInitializingTaskGroup({ + async initializingTemplateTask() { + this.parseJHipsterArguments(command.arguments); + this.parseJHipsterOptions(command.options); + }, + }); + } + + get [BaseApplicationGenerator.PROMPTING]() { + return this.asPromptingTaskGroup({ + async promptingTemplateTask() {}, + }); + } + + get [BaseApplicationGenerator.CONFIGURING]() { + return this.asConfiguringTaskGroup({ + async configuringTemplateTask() {}, + }); + } + + get [BaseApplicationGenerator.LOADING]() { + return this.asLoadingTaskGroup({ + async loadingTemplateTask() {}, + }); + } + + get [BaseApplicationGenerator.DEFAULT]() { + return this.asDefaultTaskGroup({ + async defaultTemplateTask() {}, + }); + } + + get [BaseApplicationGenerator.WRITING]() { + return this.asWritingTaskGroup({ + async writingTemplateTask({ application }) { + await this.writeFiles({ + sections: { + files: [{ templates: ['template-file-app'] }], + }, + context: application, + }); + }, + }); + } + + get [BaseApplicationGenerator.INSTALL]() { + return this.asInstallTaskGroup({ + async installTemplateTask() {}, + }); + } + + get [BaseApplicationGenerator.END]() { + return this.asEndTaskGroup({ + async endTemplateTask() {}, + }); + } +} diff --git a/generators/app/generator.spec.mjs b/generators/app/generator.spec.mjs new file mode 100644 index 000000000..505eaef6a --- /dev/null +++ b/generators/app/generator.spec.mjs @@ -0,0 +1,26 @@ +import { beforeAll, describe, expect, it } from 'vitest'; + +import { defaultHelpers as helpers, result } from 'generator-jhipster/testing'; + +const SUB_GENERATOR = 'app'; +const BLUEPRINT_NAMESPACE = `jhipster:${SUB_GENERATOR}`; + +describe('SubGenerator app of react-native JHipster blueprint', () => { + describe('run', () => { + beforeAll(async function () { + await helpers + .run(BLUEPRINT_NAMESPACE) + .withJHipsterConfig() + .withOptions({ + ignoreNeedlesError: true, + blueprint: 'react-native', + }) + .withJHipsterLookup() + .withParentBlueprintLookup(); + }); + + it('should succeed', () => { + expect(result.getStateSnapshot()).toMatchSnapshot(); + }); + }); +}); diff --git a/generators/app/index.js b/generators/app/index.js index abd1f21ca..2daac602c 100644 --- a/generators/app/index.js +++ b/generators/app/index.js @@ -1,16 +1,16 @@ /* eslint-disable consistent-return */ -const path = require('path'); -const fs = require('fs'); -const chalk = require('chalk'); -const semver = require('semver'); -const AppGenerator = require('generator-jhipster/generators/app'); -const jhipsterUtils = require('generator-jhipster/generators/utils'); -const { askDetoxPrompt, askNamePrompt, askBackendPrompt } = require('./prompts'); -const { writeFiles } = require('./files'); -const packageJson = require('../../package.json'); -const { printJHipsterLogo, loadVariables, setupVariables, createEarlyFiles, appendFiles, patchInFile, patchBabel } = require('../../lib'); +import path from 'path'; +import fs from 'fs'; +import chalk from 'chalk'; +import semver from 'semver'; +import AppGenerator from 'generator-jhipster/generators/app'; +import { stringHashCode } from 'generator-jhipster/generators/base/support'; +import { askDetoxPrompt, askNamePrompt, askBackendPrompt } from './prompts.js'; +import { writeFiles } from './files.js'; +import packageJson from '../../package.json' assert { type: 'json' }; +import { printJHipsterLogo, loadVariables, setupVariables, createEarlyFiles, appendFiles, patchInFile, patchBabel } from '../../lib/index.js'; -module.exports = class extends AppGenerator { +export default class extends AppGenerator { constructor(args, opts, features) { super(args, { skipClient: false, ...opts }, features); // fromBlueprint variable is important @@ -40,14 +40,14 @@ module.exports = class extends AppGenerator { this.blueprintConfig.reactNativeBlueprintVersion = packageJson.version; } - get initializing() { + get [AppGenerator.INITIALIZING]() { printJHipsterLogo(this); return { loadVariables: loadVariables.bind(this), }; } - get prompting() { + get [AppGenerator.PROMPTING]() { return { askNamePrompt, askBackendPrompt: askBackendPrompt.bind(this), @@ -55,19 +55,19 @@ module.exports = class extends AppGenerator { }; } - get configuring() { + get [AppGenerator.CONFIGURING]() { return {}; } - get default() { + get [AppGenerator.DEFAULT]() { return {}; } - get loading() { + get [AppGenerator.LOADING]() { return super._loading(); } - get writing() { + get [AppGenerator.WRITING]() { return { setupVariables, cleanup() { @@ -82,7 +82,7 @@ module.exports = class extends AppGenerator { // load config after prompting to allow loading from backend .yo-rc.json this.loadAppConfig(this.config.getAll(), this.context); this.loadServerConfig(this.config.getAll(), this.context); - this.hipsterImage = jhipsterUtils.stringHashCode(this.context.baseName) % 4; + this.hipsterImage = stringHashCode(this.context.baseName) % 4; }, checkAppAuthType() { // exit on invalid auth type @@ -118,7 +118,7 @@ module.exports = class extends AppGenerator { }; } - get install() { + get [AppGenerator.INSTALL]() { const { initGitRepo } = super._install(); return { initGitRepo, @@ -130,7 +130,7 @@ module.exports = class extends AppGenerator { }; } - get end() { + get [AppGenerator.END]() { const gitCommit = super._end().gitCommit.bind(this); return { modifyExpoDownloadScriptPermission() { @@ -154,4 +154,4 @@ module.exports = class extends AppGenerator { _isReactNativeVersionLessThan(version, fallback = false) { return (this.reactNativeBlueprintVersion && semver.lt(version, this.reactNativeBlueprintVersion)) || fallback; } -}; +} diff --git a/generators/app/prompts.js b/generators/app/prompts.js index f775e4be6..a1f796594 100644 --- a/generators/app/prompts.js +++ b/generators/app/prompts.js @@ -1,9 +1,9 @@ -const path = require('path'); -const shelljs = require('shelljs'); +import path from 'path'; +import shelljs from 'shelljs'; -const { getAppFolder } = require('../../lib'); +import { getAppFolder } from '../../lib/index.js'; -module.exports = { +export { askNamePrompt, askDetoxPrompt, askBackendPrompt, diff --git a/lib/append-files.js b/lib/append-files.js index 8a0e3041e..0ee4722fe 100644 --- a/lib/append-files.js +++ b/lib/append-files.js @@ -10,6 +10,6 @@ function appendFiles() { this.fs.append('.gitignore', 'e2e/Exponent.app\n'); this.fs.append('.gitignore', '.yo-repository\n'); } -module.exports = { +export { appendFiles, }; diff --git a/lib/entity-helpers.js b/lib/entity-helpers.js index 26827492c..13ee24f18 100644 --- a/lib/entity-helpers.js +++ b/lib/entity-helpers.js @@ -1,4 +1,4 @@ -const _ = require('lodash'); +import _ from 'lodash'; // todo - handle constraints, relationships const getEntityFormFieldType = field => { @@ -196,7 +196,7 @@ const getFieldValidateType = fieldType => { return fieldValidateType; }; -module.exports = { +export { getEntityFormField, getEntityFormFieldType, getRelationshipFormField, diff --git a/lib/get-app-folder.js b/lib/get-app-folder.js index af52e2151..7048915bd 100644 --- a/lib/get-app-folder.js +++ b/lib/get-app-folder.js @@ -1,5 +1,5 @@ -const chalk = require('chalk'); -const shelljs = require('shelljs'); +import chalk from 'chalk'; +import shelljs from 'shelljs'; /** * Get App Folders @@ -25,4 +25,4 @@ function getAppFolder(input) { return appsFolders; } -module.exports = { getAppFolder }; +export { getAppFolder }; diff --git a/lib/index.js b/lib/index.js index af2ddb15e..ffa0e40b5 100644 --- a/lib/index.js +++ b/lib/index.js @@ -1,27 +1,10 @@ -const { printJHipsterLogo } = require('./print-jhipster-logo'); -const { loadVariables, setupVariables } = require('./setup-variables'); -const { createEarlyFiles } = require('./pre-write'); -const { appendFiles } = require('./append-files'); -const { getAppFolder } = require('./get-app-folder'); -const { patchBabel } = require('./patch-babel'); -const { patchNavigationForEntity } = require('./patch-navigation'); -const { patchInFile } = require('./patch-in-file'); -const { patchEntityApi } = require('./patch-entity-api'); -const { getEntityFormField, getRelationshipFormField, getFieldValidateType, getEntityFormFieldType } = require('./entity-helpers'); - -module.exports = { - printJHipsterLogo, - loadVariables, - setupVariables, - createEarlyFiles, - appendFiles, - getAppFolder, - patchBabel, - patchInFile, - patchNavigationForEntity, - patchEntityApi, - getEntityFormField, - getRelationshipFormField, - getFieldValidateType, - getEntityFormFieldType, -}; +export { printJHipsterLogo } from './print-jhipster-logo.js'; +export { loadVariables, setupVariables } from './setup-variables.js'; +export { createEarlyFiles } from './pre-write.js'; +export { appendFiles } from './append-files.js'; +export { getAppFolder } from './get-app-folder.js'; +export { patchBabel } from './patch-babel.js'; +export { patchNavigationForEntity } from './patch-navigation.js'; +export { patchInFile } from './patch-in-file.js'; +export { patchEntityApi } from './patch-entity-api.js'; +export { getEntityFormField, getRelationshipFormField, getFieldValidateType, getEntityFormFieldType } from './entity-helpers.js'; diff --git a/lib/patch-babel.js b/lib/patch-babel.js index 85aec9854..cda8b4d91 100644 --- a/lib/patch-babel.js +++ b/lib/patch-babel.js @@ -6,6 +6,6 @@ function patchBabel() { }); } -module.exports = { +export { patchBabel, }; diff --git a/lib/patch-entity-api.js b/lib/patch-entity-api.js index ba5e37c9a..5f5d35e96 100644 --- a/lib/patch-entity-api.js +++ b/lib/patch-entity-api.js @@ -122,6 +122,6 @@ function patchEntityApi() { }); } -module.exports = { +export { patchEntityApi, }; diff --git a/lib/patch-in-file.js b/lib/patch-in-file.js index 3196d94c3..65ff97a96 100644 --- a/lib/patch-in-file.js +++ b/lib/patch-in-file.js @@ -61,6 +61,6 @@ function patchInFile(file, opts) { } } -module.exports = { +export { patchInFile, }; diff --git a/lib/patch-navigation.js b/lib/patch-navigation.js index fa3a5b7b0..918b87aac 100644 --- a/lib/patch-navigation.js +++ b/lib/patch-navigation.js @@ -48,6 +48,6 @@ function patchNavigationForEntity(name) { }); } -module.exports = { +export { patchNavigationForEntity, }; diff --git a/lib/pre-write.js b/lib/pre-write.js index 33b7883c5..2196b109a 100644 --- a/lib/pre-write.js +++ b/lib/pre-write.js @@ -1,4 +1,4 @@ -const fse = require('fs-extra'); +import fse from 'fs-extra'; // prettierrc and yo-resolve files are created manually so they apply to the generation process function createEarlyFiles() { @@ -20,6 +20,4 @@ function createEarlyFiles() { fse.writeFile('.prettierrc.js', prettierRc); } -module.exports = { - createEarlyFiles, -}; +export { createEarlyFiles }; diff --git a/lib/print-jhipster-logo.js b/lib/print-jhipster-logo.js index 5016268fe..56388856e 100644 --- a/lib/print-jhipster-logo.js +++ b/lib/print-jhipster-logo.js @@ -1,6 +1,5 @@ -const chalk = require('chalk'); - -const packagejs = require('../package.json'); +import chalk from 'chalk'; +import packagejs from '../package.json' assert { type: 'json' }; const printJHipsterLogo = context => { context.log('\n'); @@ -35,4 +34,4 @@ const printJHipsterLogo = context => { ); }; -module.exports = { printJHipsterLogo }; +export { printJHipsterLogo }; diff --git a/lib/setup-variables.js b/lib/setup-variables.js index 6c049581d..bef2956ad 100644 --- a/lib/setup-variables.js +++ b/lib/setup-variables.js @@ -1,7 +1,7 @@ -const path = require('path'); -const fse = require('fs-extra'); -const { JHIPSTER_CONFIG_DIR } = require('generator-jhipster/generators/generator-constants'); -const packagejs = require('../package.json'); +import path from 'path'; +import fse from 'fs-extra'; +import { JHIPSTER_CONFIG_DIR } from 'generator-jhipster'; +import packagejs from '../package.json' assert { type: 'json' }; function loadVariables() { this.existingProject = fse.existsSync('.yo-rc.json'); @@ -63,7 +63,7 @@ function setupVariables() { ...jhipsterConfig, }); } -module.exports = { +export { loadVariables, setupVariables, }; diff --git a/package-lock.json b/package-lock.json index 0c6d5b5f7..898130cee 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,17 +1,17 @@ { "name": "generator-jhipster-react-native", - "version": "4.4.0", - "lockfileVersion": 2, + "version": "5.0.0", + "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "generator-jhipster-react-native", - "version": "4.4.0", + "version": "5.0.0", "license": "Apache-2.0", "dependencies": { "chalk": "4.1.2", "fs-extra": "11.2.0", - "generator-jhipster": "7.9.4", + "generator-jhipster": "8.1.0", "lodash": "4.17.21", "pluralize": "8.0.0", "semver": "7.5.4", @@ -19,6 +19,7 @@ "yeoman-environment": "3.19.3" }, "bin": { + "jhipster-react-native": "cli/cli.cjs", "rnhipster": "cli/rnhipster.js" }, "devDependencies": { @@ -28,20 +29,21 @@ "eslint-config-airbnb-base": "15.0.0", "eslint-config-prettier": "9.1.0", "eslint-plugin-import": "2.29.1", - "eslint-plugin-prettier": "4.2.1", + "eslint-plugin-prettier": "5.1.2", "husky": "8.0.3", "jsdoc": "4.0.2", "lint-staged": "15.2.0", - "mem-fs": "2.3.0", + "mem-fs": "4.0.0", "mocha": "10.2.0", "np": "9.2.0", - "prettier": "2.8.8", + "prettier": "3.1.1", "sinon": "17.0.1", + "vitest": "1.1.0", "yeoman-assert": "3.1.1", - "yeoman-test": "6.3.0" + "yeoman-test": ">=8.0.0-rc.1" }, "engines": { - "node": ">=14", + "node": "^18.13.0 || >= 20.6.1", "npm": ">=7" } }, @@ -49,7 +51,6 @@ "version": "1.2.6", "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -66,6 +67,17 @@ "node": ">=6.9.0" } }, + "node_modules/@babel/code-frame/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/@babel/code-frame/node_modules/chalk": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", @@ -79,6 +91,46 @@ "node": ">=4" } }, + "node_modules/@babel/code-frame/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@babel/code-frame/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "node_modules/@babel/code-frame/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/@babel/code-frame/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/code-frame/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/@babel/helper-validator-identifier": { "version": "7.22.20", "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", @@ -100,6 +152,17 @@ "node": ">=6.9.0" } }, + "node_modules/@babel/highlight/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/@babel/highlight/node_modules/chalk": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", @@ -113,10 +176,50 @@ "node": ">=4" } }, + "node_modules/@babel/highlight/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@babel/highlight/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "node_modules/@babel/highlight/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/@babel/highlight/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/@babel/parser": { - "version": "7.21.1", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.21.1.tgz", - "integrity": "sha512-JzhBFpkuhBNYUY7qs+wTzNmyCWUHEaAFpQQD2YfU1rPL38/L43Wvid0fFkiOCnHvsGncRZgEPyGnltABLcVDTg==", + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.6.tgz", + "integrity": "sha512-Z2uID7YJ7oNvAI20O9X0bblw7Qqs8Q2hFy0R9tAfnfLkp5MW0UH9eUvnDSnFwKZ0AvgS1ucqR4KzvVHgnke1VQ==", "dev": true, "bin": { "parser": "bin/babel-parser.js" @@ -137,38 +240,43 @@ } }, "node_modules/@chevrotain/cst-dts-gen": { - "version": "10.3.0", - "resolved": "https://registry.npmjs.org/@chevrotain/cst-dts-gen/-/cst-dts-gen-10.3.0.tgz", - "integrity": "sha512-7DJPfCtfK1SU1/F3ZmmVv5IsTTcP/iiKFqU1m0H4VzJNvG3/GNxJFQjy4t/veWTAFSPWSj1WCNyq+sc5XKq9yA==", + "version": "11.0.3", + "resolved": "https://registry.npmjs.org/@chevrotain/cst-dts-gen/-/cst-dts-gen-11.0.3.tgz", + "integrity": "sha512-BvIKpRLeS/8UbfxXxgC33xOumsacaeCKAjAeLyOn7Pcp95HiRbrpl14S+9vaZLolnbssPIUuiUd8IvgkRyt6NQ==", "dependencies": { - "@chevrotain/gast": "10.3.0", - "@chevrotain/types": "10.3.0", - "lodash": "4.17.21" + "@chevrotain/gast": "11.0.3", + "@chevrotain/types": "11.0.3", + "lodash-es": "4.17.21" } }, "node_modules/@chevrotain/gast": { - "version": "10.3.0", - "resolved": "https://registry.npmjs.org/@chevrotain/gast/-/gast-10.3.0.tgz", - "integrity": "sha512-kLbGubyLprlyFZ1/c5pkpciCi6WTcRcnKhkfflSdKsZuoy0OmVTEXzrmFCQWzJ+QtmQNtPZTKwIBXJ6Zixp6nA==", + "version": "11.0.3", + "resolved": "https://registry.npmjs.org/@chevrotain/gast/-/gast-11.0.3.tgz", + "integrity": "sha512-+qNfcoNk70PyS/uxmj3li5NiECO+2YKZZQMbmjTqRI3Qchu8Hig/Q9vgkHpI3alNjr7M+a2St5pw5w5F6NL5/Q==", "dependencies": { - "@chevrotain/types": "10.3.0", - "lodash": "4.17.21" + "@chevrotain/types": "11.0.3", + "lodash-es": "4.17.21" } }, + "node_modules/@chevrotain/regexp-to-ast": { + "version": "11.0.3", + "resolved": "https://registry.npmjs.org/@chevrotain/regexp-to-ast/-/regexp-to-ast-11.0.3.tgz", + "integrity": "sha512-1fMHaBZxLFvWI067AVbGJav1eRY7N8DDvYCTwGBiE/ytKBgP8azTdgyrKyWZ9Mfh09eHWb5PgTSO8wi7U824RA==" + }, "node_modules/@chevrotain/types": { - "version": "10.3.0", - "resolved": "https://registry.npmjs.org/@chevrotain/types/-/types-10.3.0.tgz", - "integrity": "sha512-LGesL4c5+FyweDsmFukcxmsowpagj1iC4iqkQSIDG3Y7krV2rIOmCDDq4kZff51Asr6yQHEJsWTyvGVHeWQLkw==" + "version": "11.0.3", + "resolved": "https://registry.npmjs.org/@chevrotain/types/-/types-11.0.3.tgz", + "integrity": "sha512-gsiM3G8b58kZC2HaWR50gu6Y1440cHiJ+i3JUvcp/35JchYejb2+5MVeJK0iKThYpAa/P2PYFV4hoi44HD+aHQ==" }, "node_modules/@chevrotain/utils": { - "version": "10.3.0", - "resolved": "https://registry.npmjs.org/@chevrotain/utils/-/utils-10.3.0.tgz", - "integrity": "sha512-KCpFcX+kNyKlVZQW60ZUGRW5Nsg5u0F2CIgHiDQyg282ouHS9xap2ZEKqhwGE/0nYP46nAPnGPdb/IYh7ZHOsA==" + "version": "11.0.3", + "resolved": "https://registry.npmjs.org/@chevrotain/utils/-/utils-11.0.3.tgz", + "integrity": "sha512-YslZMgtJUyuMbZ+aKvfF3x1f5liK4mWNxghFRv7jqRR9C3R3fAOGTTKvxXDa2Y1s9zSbcpuO0cAxDYsc9SrXoQ==" }, "node_modules/@colors/colors": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", - "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.6.0.tgz", + "integrity": "sha512-Ir+AOibqzrIsL6ajt3Rz3LskB7OiMVHqltZmspbW/TJuTVuyOMirVqAkjfY6JISiLHgyNqicAC8AyHHGzNd/dA==", "engines": { "node": ">=0.1.90" } @@ -183,11 +291,26 @@ "kuler": "^2.0.0" } }, - "node_modules/@eslint-community/eslint-utils": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.2.0.tgz", - "integrity": "sha512-gB8T4H4DEfX2IV9zGDJPOBgP1e/DbfCPDTtEqUMckpvzS1OYtva8JdFYBqMwYk7xAQ429WGF/UPqn8uQ//h2vQ==", + "node_modules/@esbuild/darwin-arm64": { + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.19.11.tgz", + "integrity": "sha512-ETp87DRWuSt9KdDVkqSoKoLFHYTrkyz2+65fj9nfXsaV3bMhTCjtQfw3y+um88vGRKRiF7erPrh/ZuIdLUIVxQ==", + "cpu": [ + "arm64" + ], "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", "dependencies": { "eslint-visitor-keys": "^3.3.0" }, @@ -199,10 +322,9 @@ } }, "node_modules/@eslint-community/regexpp": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.6.2.tgz", - "integrity": "sha512-pPTNuaAG3QMH+buKyBIGJs3g/S5y0caxw0ygM3YyE6yJFySwiGGSzA+mM3KJ8QQvzeLh3blwgSonkFjgQdxzMw==", - "dev": true, + "version": "4.10.0", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz", + "integrity": "sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==", "engines": { "node": "^12.0.0 || ^14.0.0 || >=16.0.0" } @@ -211,7 +333,6 @@ "version": "2.1.4", "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", - "dev": true, "dependencies": { "ajv": "^6.12.4", "debug": "^4.3.2", @@ -230,73 +351,41 @@ "url": "https://opencollective.com/eslint" } }, - "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, - "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" - } - }, - "node_modules/@eslint/eslintrc/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==", - "dev": true - }, - "node_modules/@eslint/eslintrc/node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dev": true, - "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 - }, "node_modules/@eslint/js": { "version": "8.56.0", "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.56.0.tgz", "integrity": "sha512-gMsVel9D7f2HLkBma9VbtzZRehRogVRfbr++f06nL2vnCGCNlzOD+/MUov/F4p8myyAHspEhVobgjpX64q5m6A==", - "dev": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, "node_modules/@faker-js/faker": { - "version": "5.5.3", - "resolved": "https://registry.npmjs.org/@faker-js/faker/-/faker-5.5.3.tgz", - "integrity": "sha512-R11tGE6yIFwqpaIqcfkcg7AICXzFg14+5h5v0TfF/9+RMDL6jhzCy/pxHVOfbALGdtVYdt6JdR21tuxEgl34dw==" + "version": "8.3.1", + "resolved": "https://registry.npmjs.org/@faker-js/faker/-/faker-8.3.1.tgz", + "integrity": "sha512-FdgpFxY6V6rLZE9mmIBb9hM0xpfvQOSNOLnzolzKwsE1DH+gC7lEKV1p1IbR0lAYyvYd5a4u3qWJzowUkw1bIw==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/fakerjs" + } + ], + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0", + "npm": ">=6.14.13" + } }, "node_modules/@gar/promisify": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.2.tgz", - "integrity": "sha512-82cpyJyKRoQoRi+14ibCeGPu0CwypgtBAdBhq1WfvagpCZNKqwXbKwXllYSMG91DhmG4jt9gN8eP6lGOtozuaw==" + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz", + "integrity": "sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==" }, "node_modules/@humanwhocodes/config-array": { - "version": "0.11.13", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.13.tgz", - "integrity": "sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ==", - "dev": true, + "version": "0.11.14", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz", + "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==", "dependencies": { - "@humanwhocodes/object-schema": "^2.0.1", - "debug": "^4.1.1", + "@humanwhocodes/object-schema": "^2.0.2", + "debug": "^4.3.1", "minimatch": "^3.0.5" }, "engines": { @@ -307,7 +396,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", - "dev": true, "engines": { "node": ">=12.22" }, @@ -317,20 +405,131 @@ } }, "node_modules/@humanwhocodes/object-schema": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.1.tgz", - "integrity": "sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==", - "dev": true + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.2.tgz", + "integrity": "sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==" + }, + "node_modules/@iarna/toml": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@iarna/toml/-/toml-3.0.0.tgz", + "integrity": "sha512-td6ZUkz2oS3VeleBcN+m//Q6HlCFCPrnI0FZhrt/h4XqLEdOyYp2u21nd8MdsR+WJy5r9PTDaHTDDfhf4H4l6Q==" + }, + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "dependencies": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@isaacs/cliui/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" + }, + "node_modules/@isaacs/cliui/node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@isaacs/cliui/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } }, "node_modules/@isaacs/string-locale-compare": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@isaacs/string-locale-compare/-/string-locale-compare-1.1.0.tgz", "integrity": "sha512-SQ7Kzhh9+D+ZW9MA0zkYv3VXhIDNx+LzM6EJ+/65I3QY+enU6Itte7E5XX7EWrqLW2FN4n06GWzBnPoC3th2aQ==" }, + "node_modules/@jest/schemas": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", + "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", + "dev": true, + "dependencies": { + "@sinclair/typebox": "^0.27.8" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", + "dev": true + }, "node_modules/@jsdoc/salty": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/@jsdoc/salty/-/salty-0.2.1.tgz", - "integrity": "sha512-JXwylDNSHa549N9uceDYu8D4GMXwSo3H8CCPYEQqxhhHpxD28+lRl2b3bS/caaPj5w1YD3SWtrficJNTnUjGpg==", + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/@jsdoc/salty/-/salty-0.2.7.tgz", + "integrity": "sha512-mh8LbS9d4Jq84KLw8pzho7XC2q2/IJGiJss3xwRoLD1A+EE16SjN4PfaG4jRCzKegTFLlN0Zd8SdUPE6XdoPFg==", "dev": true, "dependencies": { "lodash": "^4.17.21" @@ -356,7 +555,6 @@ "version": "2.3.11", "resolved": "https://registry.npmjs.org/@ljharb/through/-/through-2.3.11.tgz", "integrity": "sha512-ccfcIDlogiXNq5KcbAwbaO7lMh3Tm1i3khMPYpxlK8hH/W53zN81KM9coerRLOnTGu3nfXIniAmQbRI9OxbC0w==", - "dev": true, "dependencies": { "call-bind": "^1.0.2" }, @@ -396,122 +594,226 @@ "node": ">= 8" } }, - "node_modules/@npmcli/arborist": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/@npmcli/arborist/-/arborist-4.0.5.tgz", - "integrity": "sha512-WR2cqxzjsvmHJ9sKCdqBYG/qeiAXB9ev1iq1W2Rry7LxeJ7eDtTr4mOWe/TBvp6xFzevGecQc2YEWwExTuLZLg==", + "node_modules/@npmcli/agent": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@npmcli/agent/-/agent-2.2.0.tgz", + "integrity": "sha512-2yThA1Es98orMkpSLVqlDZAMPK3jHJhifP2gnNUdk1754uZ8yI5c+ulCoVG+WlntQA6MzhrURMXjSd9Z7dJ2/Q==", "dependencies": { - "@isaacs/string-locale-compare": "^1.1.0", - "@npmcli/installed-package-contents": "^1.0.7", - "@npmcli/map-workspaces": "^2.0.0", - "@npmcli/metavuln-calculator": "^2.0.0", - "@npmcli/move-file": "^1.1.0", - "@npmcli/name-from-folder": "^1.0.1", - "@npmcli/node-gyp": "^1.0.3", - "@npmcli/package-json": "^1.0.1", - "@npmcli/run-script": "^2.0.0", - "bin-links": "^2.3.0", - "cacache": "^15.0.3", + "agent-base": "^7.1.0", + "http-proxy-agent": "^7.0.0", + "https-proxy-agent": "^7.0.1", + "lru-cache": "^10.0.1", + "socks-proxy-agent": "^8.0.1" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@npmcli/arborist": { + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/@npmcli/arborist/-/arborist-7.3.0.tgz", + "integrity": "sha512-ZElIE9L14fEYiL4KqgqRHmo8fRKiTSOFU3hVS1mNm0zJE7hu4FHmof+OFsA7fAAXfkNDJrDByvD0o7Le0ISHMw==", + "dependencies": { + "@isaacs/string-locale-compare": "^1.1.0", + "@npmcli/fs": "^3.1.0", + "@npmcli/installed-package-contents": "^2.0.2", + "@npmcli/map-workspaces": "^3.0.2", + "@npmcli/metavuln-calculator": "^7.0.0", + "@npmcli/name-from-folder": "^2.0.0", + "@npmcli/node-gyp": "^3.0.0", + "@npmcli/package-json": "^5.0.0", + "@npmcli/query": "^3.0.1", + "@npmcli/run-script": "^7.0.2", + "bin-links": "^4.0.1", + "cacache": "^18.0.0", "common-ancestor-path": "^1.0.1", - "json-parse-even-better-errors": "^2.3.1", + "hosted-git-info": "^7.0.1", + "json-parse-even-better-errors": "^3.0.0", "json-stringify-nice": "^1.1.4", - "mkdirp": "^1.0.4", - "mkdirp-infer-owner": "^2.0.0", - "npm-install-checks": "^4.0.0", - "npm-package-arg": "^8.1.5", - "npm-pick-manifest": "^6.1.0", - "npm-registry-fetch": "^11.0.0", - "pacote": "^12.0.2", - "parse-conflict-json": "^1.1.1", - "proc-log": "^1.0.0", + "minimatch": "^9.0.0", + "nopt": "^7.0.0", + "npm-install-checks": "^6.2.0", + "npm-package-arg": "^11.0.1", + "npm-pick-manifest": "^9.0.0", + "npm-registry-fetch": "^16.0.0", + "npmlog": "^7.0.1", + "pacote": "^17.0.4", + "parse-conflict-json": "^3.0.0", + "proc-log": "^3.0.0", "promise-all-reject-late": "^1.0.0", - "promise-call-limit": "^1.0.1", - "read-package-json-fast": "^2.0.2", - "readdir-scoped-modules": "^1.1.0", - "rimraf": "^3.0.2", - "semver": "^7.3.5", - "ssri": "^8.0.1", - "treeverse": "^1.0.4", - "walk-up-path": "^1.0.0" + "promise-call-limit": "^1.0.2", + "read-package-json-fast": "^3.0.2", + "semver": "^7.3.7", + "ssri": "^10.0.5", + "treeverse": "^3.0.0", + "walk-up-path": "^3.0.1" }, "bin": { "arborist": "bin/index.js" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16" + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@npmcli/arborist/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@npmcli/arborist/node_modules/json-parse-even-better-errors": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.1.tgz", + "integrity": "sha512-aatBvbL26wVUCLmbWdCpeu9iF5wOyWpagiKkInA+kfws3sWdBrTnsvN2CKcyCYyUrc7rebNBlK6+kteg7ksecg==", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/@npmcli/arborist/node_modules/minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, "node_modules/@npmcli/fs": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-1.0.0.tgz", - "integrity": "sha512-8ltnOpRR/oJbOp8vaGUnipOi3bqkcW+sLHFlyXIr08OGHmVJLB1Hn7QtGXbYcpVtH1gAYZTlmDXtE4YV0+AMMQ==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-3.1.0.tgz", + "integrity": "sha512-7kZUAaLscfgbwBQRbvdMYaZOWyMEcPTH/tJjnyAWJ/dvvs9Ef+CERx/qJb9GExJpl1qipaDGn7KqHnFGGixd0w==", "dependencies": { - "@gar/promisify": "^1.0.1", "semver": "^7.3.5" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/@npmcli/git": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@npmcli/git/-/git-2.1.0.tgz", - "integrity": "sha512-/hBFX/QG1b+N7PZBFs0bi+evgRZcK9nWBxQKZkGoXUT5hJSwl5c4d7y8/hm+NQZRPhQ67RzFaj5UM9YeyKoryw==", + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/@npmcli/git/-/git-5.0.4.tgz", + "integrity": "sha512-nr6/WezNzuYUppzXRaYu/W4aT5rLxdXqEFupbh6e/ovlYFQ8hpu1UUPV3Ir/YTl+74iXl2ZOMlGzudh9ZPUchQ==", "dependencies": { - "@npmcli/promise-spawn": "^1.3.2", - "lru-cache": "^6.0.0", - "mkdirp": "^1.0.4", - "npm-pick-manifest": "^6.1.1", + "@npmcli/promise-spawn": "^7.0.0", + "lru-cache": "^10.0.1", + "npm-pick-manifest": "^9.0.0", + "proc-log": "^3.0.0", "promise-inflight": "^1.0.1", "promise-retry": "^2.0.1", "semver": "^7.3.5", - "which": "^2.0.2" + "which": "^4.0.0" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@npmcli/git/node_modules/isexe": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz", + "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==", + "engines": { + "node": ">=16" + } + }, + "node_modules/@npmcli/git/node_modules/which": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/which/-/which-4.0.0.tgz", + "integrity": "sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==", + "dependencies": { + "isexe": "^3.1.1" + }, + "bin": { + "node-which": "bin/which.js" + }, + "engines": { + "node": "^16.13.0 || >=18.0.0" } }, "node_modules/@npmcli/installed-package-contents": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/@npmcli/installed-package-contents/-/installed-package-contents-1.0.7.tgz", - "integrity": "sha512-9rufe0wnJusCQoLpV9ZPKIVP55itrM5BxOXs10DmdbRfgWtHy1LDyskbwRnBghuB0PrF7pNPOqREVtpz4HqzKw==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@npmcli/installed-package-contents/-/installed-package-contents-2.0.2.tgz", + "integrity": "sha512-xACzLPhnfD51GKvTOOuNX2/V4G4mz9/1I2MfDoye9kBM3RYe5g2YbscsaGoTlaWqkxeiapBWyseULVKpSVHtKQ==", "dependencies": { - "npm-bundled": "^1.1.1", - "npm-normalize-package-bin": "^1.0.1" + "npm-bundled": "^3.0.0", + "npm-normalize-package-bin": "^3.0.0" }, "bin": { - "installed-package-contents": "index.js" + "installed-package-contents": "lib/index.js" }, "engines": { - "node": ">= 10" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/@npmcli/map-workspaces": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@npmcli/map-workspaces/-/map-workspaces-2.0.0.tgz", - "integrity": "sha512-QBJfpCY1NOAkkW3lFfru9VTdqvMB2TN0/vrevl5xBCv5Fi0XDVcA6rqqSau4Ysi4Iw3fBzyXV7hzyTBDfadf7g==", + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@npmcli/map-workspaces/-/map-workspaces-3.0.4.tgz", + "integrity": "sha512-Z0TbvXkRbacjFFLpVpV0e2mheCh+WzQpcqL+4xp49uNJOxOnIAPZyXtUxZ5Qn3QBTGKA11Exjd9a5411rBrhDg==", "dependencies": { - "@npmcli/name-from-folder": "^1.0.1", - "glob": "^7.1.6", - "minimatch": "^3.0.4", - "read-package-json-fast": "^2.0.1" + "@npmcli/name-from-folder": "^2.0.0", + "glob": "^10.2.2", + "minimatch": "^9.0.0", + "read-package-json-fast": "^3.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/@npmcli/map-workspaces/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@npmcli/map-workspaces/node_modules/minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, "node_modules/@npmcli/metavuln-calculator": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@npmcli/metavuln-calculator/-/metavuln-calculator-2.0.0.tgz", - "integrity": "sha512-VVW+JhWCKRwCTE+0xvD6p3uV4WpqocNYYtzyvenqL/u1Q3Xx6fGTJ+6UoIoii07fbuEO9U3IIyuGY0CYHDv1sg==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@npmcli/metavuln-calculator/-/metavuln-calculator-7.0.0.tgz", + "integrity": "sha512-Pw0tyX02VkpqlIQlG2TeiJNsdrecYeUU0ubZZa9pi3N37GCsxI+en43u4hYFdq+eSx1A9a9vwFAUyqEtKFsbHQ==", "dependencies": { - "cacache": "^15.0.5", - "json-parse-even-better-errors": "^2.3.1", - "pacote": "^12.0.0", - "semver": "^7.3.2" + "cacache": "^18.0.0", + "json-parse-even-better-errors": "^3.0.0", + "pacote": "^17.0.0", + "semver": "^7.3.5" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16" + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@npmcli/metavuln-calculator/node_modules/json-parse-even-better-errors": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.1.tgz", + "integrity": "sha512-aatBvbL26wVUCLmbWdCpeu9iF5wOyWpagiKkInA+kfws3sWdBrTnsvN2CKcyCYyUrc7rebNBlK6+kteg7ksecg==", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/@npmcli/move-file": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-1.1.2.tgz", "integrity": "sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==", + "deprecated": "This functionality has been moved to @npmcli/fs", "dependencies": { "mkdirp": "^1.0.4", "rimraf": "^3.0.2" @@ -521,58 +823,143 @@ } }, "node_modules/@npmcli/name-from-folder": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@npmcli/name-from-folder/-/name-from-folder-1.0.1.tgz", - "integrity": "sha512-qq3oEfcLFwNfEYOQ8HLimRGKlD8WSeGEdtUa7hmzpR8Sa7haL1KVQrvgO6wqMjhWFFVjgtrh1gIxDz+P8sjUaA==" + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@npmcli/name-from-folder/-/name-from-folder-2.0.0.tgz", + "integrity": "sha512-pwK+BfEBZJbKdNYpHHRTNBwBoqrN/iIMO0AiGvYsp3Hoaq0WbgGSWQR6SCldZovoDpY3yje5lkFUe6gsDgJ2vg==", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } }, "node_modules/@npmcli/node-gyp": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@npmcli/node-gyp/-/node-gyp-1.0.3.tgz", - "integrity": "sha512-fnkhw+fmX65kiLqk6E3BFLXNC26rUhK90zVwe2yncPliVT/Qos3xjhTLE59Df8KnPlcwIERXKVlU1bXoUQ+liA==" + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@npmcli/node-gyp/-/node-gyp-3.0.0.tgz", + "integrity": "sha512-gp8pRXC2oOxu0DUE1/M3bYtb1b3/DbJ5aM113+XJBgfXdussRAsX0YOrOhdd8WvnAR6auDBvJomGAkLKA5ydxA==", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } }, "node_modules/@npmcli/package-json": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@npmcli/package-json/-/package-json-1.0.1.tgz", - "integrity": "sha512-y6jnu76E9C23osz8gEMBayZmaZ69vFOIk8vR1FJL/wbEJ54+9aVG9rLTjQKSXfgYZEr50nw1txBBFfBZZe+bYg==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@npmcli/package-json/-/package-json-5.0.0.tgz", + "integrity": "sha512-OI2zdYBLhQ7kpNPaJxiflofYIpkNLi+lnGdzqUOfRmCF3r2l1nadcjtCYMJKv/Utm/ZtlffaUuTiAktPHbc17g==", "dependencies": { - "json-parse-even-better-errors": "^2.3.1" + "@npmcli/git": "^5.0.0", + "glob": "^10.2.2", + "hosted-git-info": "^7.0.0", + "json-parse-even-better-errors": "^3.0.0", + "normalize-package-data": "^6.0.0", + "proc-log": "^3.0.0", + "semver": "^7.5.3" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@npmcli/package-json/node_modules/json-parse-even-better-errors": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.1.tgz", + "integrity": "sha512-aatBvbL26wVUCLmbWdCpeu9iF5wOyWpagiKkInA+kfws3sWdBrTnsvN2CKcyCYyUrc7rebNBlK6+kteg7ksecg==", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/@npmcli/promise-spawn": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/@npmcli/promise-spawn/-/promise-spawn-1.3.2.tgz", - "integrity": "sha512-QyAGYo/Fbj4MXeGdJcFzZ+FkDkomfRBrPM+9QYJSg+PxgAUL+LU3FneQk37rKR2/zjqkCV1BLHccX98wRXG3Sg==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/@npmcli/promise-spawn/-/promise-spawn-7.0.1.tgz", + "integrity": "sha512-P4KkF9jX3y+7yFUxgcUdDtLy+t4OlDGuEBLNs57AZsfSfg+uV6MLndqGpnl4831ggaEdXwR50XFoZP4VFtHolg==", "dependencies": { - "infer-owner": "^1.0.4" + "which": "^4.0.0" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@npmcli/promise-spawn/node_modules/isexe": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz", + "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==", + "engines": { + "node": ">=16" + } + }, + "node_modules/@npmcli/promise-spawn/node_modules/which": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/which/-/which-4.0.0.tgz", + "integrity": "sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==", + "dependencies": { + "isexe": "^3.1.1" + }, + "bin": { + "node-which": "bin/which.js" + }, + "engines": { + "node": "^16.13.0 || >=18.0.0" + } + }, + "node_modules/@npmcli/query": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@npmcli/query/-/query-3.0.1.tgz", + "integrity": "sha512-0jE8iHBogf/+bFDj+ju6/UMLbJ39c8h6nSe6qile+dB7PJ0iV3gNqcb2vtt6WWCBrxv9uAjzUT/8vroluulidA==", + "dependencies": { + "postcss-selector-parser": "^6.0.10" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/@npmcli/run-script": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-2.0.0.tgz", - "integrity": "sha512-fSan/Pu11xS/TdaTpTB0MRn9guwGU8dye+x56mEVgBEd/QsybBbYcAL0phPXi8SGWFEChkQd6M9qL4y6VOpFig==", + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-7.0.3.tgz", + "integrity": "sha512-ZMWGLHpzMq3rBGIwPyeaoaleaLMvrBrH8nugHxTi5ACkJZXTxXPtVuEH91ifgtss5hUwJQ2VDnzDBWPmz78rvg==", "dependencies": { - "@npmcli/node-gyp": "^1.0.2", - "@npmcli/promise-spawn": "^1.3.2", - "node-gyp": "^8.2.0", - "read-package-json-fast": "^2.0.1" + "@npmcli/node-gyp": "^3.0.0", + "@npmcli/promise-spawn": "^7.0.0", + "node-gyp": "^10.0.0", + "read-package-json-fast": "^3.0.0", + "which": "^4.0.0" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@npmcli/run-script/node_modules/isexe": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz", + "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==", + "engines": { + "node": ">=16" + } + }, + "node_modules/@npmcli/run-script/node_modules/which": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/which/-/which-4.0.0.tgz", + "integrity": "sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==", + "dependencies": { + "isexe": "^3.1.1" + }, + "bin": { + "node-which": "bin/which.js" + }, + "engines": { + "node": "^16.13.0 || >=18.0.0" } }, "node_modules/@octokit/auth-token": { - "version": "2.4.5", - "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-2.4.5.tgz", - "integrity": "sha512-BpGYsPgJt05M7/L/5FoE1PiAbdxXFZkX/3kDYcsvd1v6UhlnE5e96dTDr0ezX/EFwciQxf3cNV0loipsURU+WA==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-2.5.0.tgz", + "integrity": "sha512-r5FVUJCOLl19AxiuZD2VRZ/ORjp/4IN98Of6YJoJOkY75CIBuYfmiNHGrDwXr+aLGG55igl9QrxX3hbiXlLb+g==", "dependencies": { "@octokit/types": "^6.0.3" } }, "node_modules/@octokit/core": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@octokit/core/-/core-3.4.0.tgz", - "integrity": "sha512-6/vlKPP8NF17cgYXqucdshWqmMZGXkuvtcrWCgU5NOI0Pl2GjlmZyWgBMrU8zJ3v2MJlM6++CiB45VKYmhiWWg==", + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/@octokit/core/-/core-3.6.0.tgz", + "integrity": "sha512-7RKRKuA4xTjMhY+eG3jthb3hlZCsOwg3rztWh75Xc+ShDWOfDDATWbeZpAHBNRpm4Tv9WgBMOy1zEJYXG6NJ7Q==", "dependencies": { "@octokit/auth-token": "^2.4.4", "@octokit/graphql": "^4.5.8", - "@octokit/request": "^5.4.12", + "@octokit/request": "^5.6.3", "@octokit/request-error": "^2.0.5", "@octokit/types": "^6.0.3", "before-after-hook": "^2.2.0", @@ -580,118 +967,148 @@ } }, "node_modules/@octokit/endpoint": { - "version": "6.0.11", - "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-6.0.11.tgz", - "integrity": "sha512-fUIPpx+pZyoLW4GCs3yMnlj2LfoXTWDUVPTC4V3MUEKZm48W+XYpeWSZCv+vYF1ZABUm2CqnDVf1sFtIYrj7KQ==", + "version": "6.0.12", + "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-6.0.12.tgz", + "integrity": "sha512-lF3puPwkQWGfkMClXb4k/eUT/nZKQfxinRWJrdZaJO85Dqwo/G0yOC434Jr2ojwafWJMYqFGFa5ms4jJUgujdA==", "dependencies": { "@octokit/types": "^6.0.3", "is-plain-object": "^5.0.0", "universal-user-agent": "^6.0.0" } }, - "node_modules/@octokit/endpoint/node_modules/is-plain-object": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", - "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/@octokit/graphql": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-4.6.1.tgz", - "integrity": "sha512-2lYlvf4YTDgZCTXTW4+OX+9WTLFtEUc6hGm4qM1nlZjzxj+arizM4aHWzBVBCxY9glh7GIs0WEuiSgbVzv8cmA==", + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-4.8.0.tgz", + "integrity": "sha512-0gv+qLSBLKF0z8TKaSKTsS39scVKF9dbMxJpj3U0vC7wjNWFuIpL/z76Qe2fiuCbDRcJSavkXsVtMS6/dtQQsg==", "dependencies": { - "@octokit/request": "^5.3.0", + "@octokit/request": "^5.6.0", "@octokit/types": "^6.0.3", "universal-user-agent": "^6.0.0" } }, "node_modules/@octokit/openapi-types": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-6.0.0.tgz", - "integrity": "sha512-CnDdK7ivHkBtJYzWzZm7gEkanA7gKH6a09Eguz7flHw//GacPJLmkHA3f3N++MJmlxD1Fl+mB7B32EEpSCwztQ==" + "version": "12.11.0", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-12.11.0.tgz", + "integrity": "sha512-VsXyi8peyRq9PqIz/tpqiL2w3w80OgVMwBHltTml3LmVvXiphgeqmY9mvBw9Wu7e0QWk/fqD37ux8yP5uVekyQ==" }, "node_modules/@octokit/plugin-paginate-rest": { - "version": "2.13.3", - "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.13.3.tgz", - "integrity": "sha512-46lptzM9lTeSmIBt/sVP/FLSTPGx6DCzAdSX3PfeJ3mTf4h9sGC26WpaQzMEq/Z44cOcmx8VsOhO+uEgE3cjYg==", + "version": "2.21.3", + "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.21.3.tgz", + "integrity": "sha512-aCZTEf0y2h3OLbrgKkrfFdjRL6eSOo8komneVQJnYecAxIej7Bafor2xhuDJOIFau4pk0i/P28/XgtbyPF0ZHw==", "dependencies": { - "@octokit/types": "^6.11.0" + "@octokit/types": "^6.40.0" + }, + "peerDependencies": { + "@octokit/core": ">=2" } }, "node_modules/@octokit/plugin-request-log": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@octokit/plugin-request-log/-/plugin-request-log-1.0.3.tgz", - "integrity": "sha512-4RFU4li238jMJAzLgAwkBAw+4Loile5haQMQr+uhFq27BmyJXcXSKvoQKqh0agsZEiUlW6iSv3FAgvmGkur7OQ==" + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@octokit/plugin-request-log/-/plugin-request-log-1.0.4.tgz", + "integrity": "sha512-mLUsMkgP7K/cnFEw07kWqXGF5LKrOkD+lhCrKvPHXWDywAwuDUeDwWBpc69XK3pNX0uKiVt8g5z96PJ6z9xCFA==", + "peerDependencies": { + "@octokit/core": ">=3" + } }, "node_modules/@octokit/plugin-rest-endpoint-methods": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-5.0.0.tgz", - "integrity": "sha512-Jc7CLNUueIshXT+HWt6T+M0sySPjF32mSFQAK7UfAg8qGeRI6OM1GSBxDLwbXjkqy2NVdnqCedJcP1nC785JYg==", + "version": "5.16.2", + "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-5.16.2.tgz", + "integrity": "sha512-8QFz29Fg5jDuTPXVtey05BLm7OB+M8fnvE64RNegzX7U+5NUXcOcnpTIK0YfSHBg8gYd0oxIq3IZTe9SfPZiRw==", "dependencies": { - "@octokit/types": "^6.13.0", + "@octokit/types": "^6.39.0", "deprecation": "^2.3.1" + }, + "peerDependencies": { + "@octokit/core": ">=3" } }, "node_modules/@octokit/request": { - "version": "5.4.14", - "resolved": "https://registry.npmjs.org/@octokit/request/-/request-5.4.14.tgz", - "integrity": "sha512-VkmtacOIQp9daSnBmDI92xNIeLuSRDOIuplp/CJomkvzt7M18NXgG044Cx/LFKLgjKt9T2tZR6AtJayba9GTSA==", + "version": "5.6.3", + "resolved": "https://registry.npmjs.org/@octokit/request/-/request-5.6.3.tgz", + "integrity": "sha512-bFJl0I1KVc9jYTe9tdGGpAMPy32dLBXXo1dS/YwSCTL/2nd9XeHsY616RE3HPXDVk+a+dBuzyz5YdlXwcDTr2A==", "dependencies": { "@octokit/endpoint": "^6.0.1", - "@octokit/request-error": "^2.0.0", - "@octokit/types": "^6.7.1", - "deprecation": "^2.0.0", + "@octokit/request-error": "^2.1.0", + "@octokit/types": "^6.16.1", "is-plain-object": "^5.0.0", - "node-fetch": "^2.6.1", - "once": "^1.4.0", + "node-fetch": "^2.6.7", "universal-user-agent": "^6.0.0" } }, "node_modules/@octokit/request-error": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-2.0.5.tgz", - "integrity": "sha512-T/2wcCFyM7SkXzNoyVNWjyVlUwBvW3igM3Btr/eKYiPmucXTtkxt2RBsf6gn3LTzaLSLTQtNmvg+dGsOxQrjZg==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-2.1.0.tgz", + "integrity": "sha512-1VIvgXxs9WHSjicsRwq8PlR2LR2x6DwsJAaFgzdi0JfJoGSO8mYI/cHJQ+9FbN21aa+DrgNLnwObmyeSC8Rmpg==", "dependencies": { "@octokit/types": "^6.0.3", "deprecation": "^2.0.0", "once": "^1.4.0" } }, - "node_modules/@octokit/request/node_modules/is-plain-object": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", - "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/@octokit/rest": { - "version": "18.5.2", - "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-18.5.2.tgz", - "integrity": "sha512-Kz03XYfKS0yYdi61BkL9/aJ0pP2A/WK5vF/syhu9/kY30J8He3P68hv9GRpn8bULFx2K0A9MEErn4v3QEdbZcw==", + "version": "18.12.0", + "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-18.12.0.tgz", + "integrity": "sha512-gDPiOHlyGavxr72y0guQEhLsemgVjwRePayJ+FcKc2SJqKUbxbkvf5kAZEWA/MKvsfYlQAMVzNJE3ezQcxMJ2Q==", "dependencies": { - "@octokit/core": "^3.2.3", - "@octokit/plugin-paginate-rest": "^2.6.2", - "@octokit/plugin-request-log": "^1.0.2", - "@octokit/plugin-rest-endpoint-methods": "5.0.0" + "@octokit/core": "^3.5.1", + "@octokit/plugin-paginate-rest": "^2.16.8", + "@octokit/plugin-request-log": "^1.0.4", + "@octokit/plugin-rest-endpoint-methods": "^5.12.0" } }, "node_modules/@octokit/types": { - "version": "6.13.0", - "resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.13.0.tgz", - "integrity": "sha512-W2J9qlVIU11jMwKHUp5/rbVUeErqelCsO5vW5PKNb7wAXQVUz87Rc+imjlEvpvbH8yUb+KHmv8NEjVZdsdpyxA==", + "version": "6.41.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.41.0.tgz", + "integrity": "sha512-eJ2jbzjdijiL3B4PrSQaSjuF2sPEQPVCPzBvTHJD9Nz+9dw2SGH4K4xeQJ77YfTq5bRQ+bD8wT11JbeDPmxmGg==", "dependencies": { - "@octokit/openapi-types": "^6.0.0" + "@octokit/openapi-types": "^12.11.0" } }, - "node_modules/@pnpm/config.env-replace": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@pnpm/config.env-replace/-/config.env-replace-1.1.0.tgz", - "integrity": "sha512-htyl8TWnKL7K/ESFa1oW2UB5lVDxuF5DpM7tBi6Hu2LNL3mWkIzNLG6N4zoCUP1lCKNxWy/3iu8mS8MvToGd6w==", - "dev": true, - "engines": { + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "optional": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/@pkgr/core": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@pkgr/core/-/core-0.1.0.tgz", + "integrity": "sha512-Zwq5OCzuwJC2jwqmpEQt7Ds1DTi6BWSwoGkbb1n9pO3hzb35BoJELx7c0T23iDkBGkh2e7tvOtjF3tr3OaQHDQ==", + "dev": true, + "engines": { + "node": "^12.20.0 || ^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/unts" + } + }, + "node_modules/@pkgr/utils": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/@pkgr/utils/-/utils-2.4.2.tgz", + "integrity": "sha512-POgTXhjrTfbTV63DiFXav4lBHiICLKKwDeaKn9Nphwj7WH6m0hMMCaJkMyRWjgtPFyRKRVoMXXjczsTQRDEhYw==", + "dependencies": { + "cross-spawn": "^7.0.3", + "fast-glob": "^3.3.0", + "is-glob": "^4.0.3", + "open": "^9.1.0", + "picocolors": "^1.0.0", + "tslib": "^2.6.0" + }, + "engines": { + "node": "^12.20.0 || ^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/unts" + } + }, + "node_modules/@pnpm/config.env-replace": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@pnpm/config.env-replace/-/config.env-replace-1.1.0.tgz", + "integrity": "sha512-htyl8TWnKL7K/ESFa1oW2UB5lVDxuF5DpM7tBi6Hu2LNL3mWkIzNLG6N4zoCUP1lCKNxWy/3iu8mS8MvToGd6w==", + "engines": { "node": ">=12.22.0" } }, @@ -699,7 +1116,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/@pnpm/network.ca-file/-/network.ca-file-1.0.2.tgz", "integrity": "sha512-YcPQ8a0jwYU9bTdJDpXjMi7Brhkr1mXsXrUJvjqM2mQDgkRiz8jFaQGOdaLxgjtUfQgZhKy/O3cG/YwmgKaxLA==", - "dev": true, "dependencies": { "graceful-fs": "4.2.10" }, @@ -710,14 +1126,12 @@ "node_modules/@pnpm/network.ca-file/node_modules/graceful-fs": { "version": "4.2.10", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", - "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", - "dev": true + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==" }, "node_modules/@pnpm/npm-conf": { "version": "2.2.2", "resolved": "https://registry.npmjs.org/@pnpm/npm-conf/-/npm-conf-2.2.2.tgz", "integrity": "sha512-UA91GwWPhFExt3IizW6bOeY/pQ0BkuNwKjk9iQW9KqxluGCrg4VenZ0/L+2Y0+ZOtme72EVvg6v0zo3AMQRCeA==", - "dev": true, "dependencies": { "@pnpm/config.env-replace": "^1.1.0", "@pnpm/network.ca-file": "^1.0.1", @@ -727,6 +1141,19 @@ "node": ">=12" } }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.9.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.9.5.tgz", + "integrity": "sha512-ndoXeLx455FffL68OIUrVr89Xu1WLzAG4n65R8roDlCoYiQcGGg6MALvs2Ap9zs7AHg8mpHtMpwC8jBBjZrT/w==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] + }, "node_modules/@samverschueren/stream-to-observable": { "version": "0.3.1", "resolved": "https://registry.npmjs.org/@samverschueren/stream-to-observable/-/stream-to-observable-0.3.1.tgz", @@ -737,17 +1164,88 @@ }, "engines": { "node": ">=6" + }, + "peerDependenciesMeta": { + "rxjs": { + "optional": true + }, + "zen-observable": { + "optional": true + } } }, - "node_modules/@samverschueren/stream-to-observable/node_modules/any-observable": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/any-observable/-/any-observable-0.3.0.tgz", - "integrity": "sha512-/FQM1EDkTsf63Ub2C6O7GuYFDsSXUwsaZDurV0np41ocwq0jthUAYCmhBX9f+KwlaCgIuWyr/4WlUQUBfKfZog==", - "dev": true, + "node_modules/@sigstore/bundle": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@sigstore/bundle/-/bundle-2.1.1.tgz", + "integrity": "sha512-v3/iS+1nufZdKQ5iAlQKcCsoh0jffQyABvYIxKsZQFWc4ubuGjwZklFHpDgV6O6T7vvV78SW5NHI91HFKEcxKg==", + "dependencies": { + "@sigstore/protobuf-specs": "^0.2.1" + }, "engines": { - "node": ">=6" + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@sigstore/core": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@sigstore/core/-/core-0.2.0.tgz", + "integrity": "sha512-THobAPPZR9pDH2CAvDLpkrYedt7BlZnsyxDe+Isq4ZmGfPy5juOFZq487vCU2EgKD7aHSiTfE/i7sN7aEdzQnA==", + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@sigstore/protobuf-specs": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/@sigstore/protobuf-specs/-/protobuf-specs-0.2.1.tgz", + "integrity": "sha512-XTWVxnWJu+c1oCshMLwnKvz8ZQJJDVOlciMfgpJBQbThVjKTCG8dwyhgLngBD2KN0ap9F/gOV8rFDEx8uh7R2A==", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/@sigstore/sign": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@sigstore/sign/-/sign-2.2.1.tgz", + "integrity": "sha512-U5sKQEj+faE1MsnLou1f4DQQHeFZay+V9s9768lw48J4pKykPj34rWyI1lsMOGJ3Mae47Ye6q3HAJvgXO21rkQ==", + "dependencies": { + "@sigstore/bundle": "^2.1.1", + "@sigstore/core": "^0.2.0", + "@sigstore/protobuf-specs": "^0.2.1", + "make-fetch-happen": "^13.0.0" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@sigstore/tuf": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@sigstore/tuf/-/tuf-2.3.0.tgz", + "integrity": "sha512-S98jo9cpJwO1mtQ+2zY7bOdcYyfVYCUaofCG6wWRzk3pxKHVAkSfshkfecto2+LKsx7Ovtqbgb2LS8zTRhxJ9Q==", + "dependencies": { + "@sigstore/protobuf-specs": "^0.2.1", + "tuf-js": "^2.2.0" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" } }, + "node_modules/@sigstore/verify": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@sigstore/verify/-/verify-0.1.0.tgz", + "integrity": "sha512-2UzMNYAa/uaz11NhvgRnIQf4gpLTJ59bhb8ESXaoSS5sxedfS+eLak8bsdMc+qpNQfITUTFoSKFx5h8umlRRiA==", + "dependencies": { + "@sigstore/bundle": "^2.1.1", + "@sigstore/core": "^0.2.0", + "@sigstore/protobuf-specs": "^0.2.1" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@sinclair/typebox": { + "version": "0.27.8", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", + "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", + "dev": true + }, "node_modules/@sindresorhus/is": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.6.0.tgz", @@ -761,10 +1259,10 @@ } }, "node_modules/@sinonjs/commons": { - "version": "1.8.3", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.3.tgz", - "integrity": "sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ==", - "dev": true, + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.0.tgz", + "integrity": "sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==", + "devOptional": true, "dependencies": { "type-detect": "4.0.8" } @@ -773,25 +1271,16 @@ "version": "11.2.2", "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-11.2.2.tgz", "integrity": "sha512-G2piCSxQ7oWOxwGSAyFHfPIsyeJGXYtc6mFbnFA+kRXkiEnTl8c/8jul2S329iFBnDI9HGoeWWAZvuvOkZccgw==", - "dev": true, + "devOptional": true, "dependencies": { "@sinonjs/commons": "^3.0.0" } }, - "node_modules/@sinonjs/fake-timers/node_modules/@sinonjs/commons": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.0.tgz", - "integrity": "sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==", - "dev": true, - "dependencies": { - "type-detect": "4.0.8" - } - }, "node_modules/@sinonjs/samsam": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-8.0.0.tgz", "integrity": "sha512-Bp8KUVlLp8ibJZrnvq2foVhP0IVX2CIprMJPK0vqGqgrDa0OHVKeZyBykqskkrdxV6yKBPmGasO8LVjAKR3Gew==", - "dev": true, + "devOptional": true, "dependencies": { "@sinonjs/commons": "^2.0.0", "lodash.get": "^4.4.2", @@ -802,16 +1291,16 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-2.0.0.tgz", "integrity": "sha512-uLa0j859mMrg2slwQYdO/AkrOfmH+X6LTVmNTS9CqexuE2IvVORIkSpJLqePAbEnKJ77aMmCwr1NUZ57120Xcg==", - "dev": true, + "devOptional": true, "dependencies": { "type-detect": "4.0.8" } }, "node_modules/@sinonjs/text-encoding": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/@sinonjs/text-encoding/-/text-encoding-0.7.1.tgz", - "integrity": "sha512-+iTbntw2IZPb/anVDbypzfQa+ay64MW0Zo8aJ8gZPWMMK6/OubMVb6lUPMagqjOPnmtauXnFCACVl3O7ogjeqQ==", - "dev": true + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/@sinonjs/text-encoding/-/text-encoding-0.7.2.tgz", + "integrity": "sha512-sXXKG+uL9IrKqViTtao2Ws6dy0znu9sOaP1di/jKGW1M6VssO8vlpXCQcpZ+jisQ1tTFAC5Jo/EOzFbggBagFQ==", + "devOptional": true }, "node_modules/@szmarczak/http-timer": { "version": "4.0.6", @@ -833,6 +1322,48 @@ "node": ">= 6" } }, + "node_modules/@tufjs/canonical-json": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@tufjs/canonical-json/-/canonical-json-2.0.0.tgz", + "integrity": "sha512-yVtV8zsdo8qFHe+/3kw81dSLyF7D576A5cCFCi4X7B39tWT7SekaEFUnvnWJHz+9qO7qJTah1JbrDjWKqFtdWA==", + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@tufjs/models": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@tufjs/models/-/models-2.0.0.tgz", + "integrity": "sha512-c8nj8BaOExmZKO2DXhDfegyhSGcG9E/mPN3U13L+/PsoWm1uaGiHHjxqSHQiasDBQwDA3aHuw9+9spYAP1qvvg==", + "dependencies": { + "@tufjs/canonical-json": "2.0.0", + "minimatch": "^9.0.3" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@tufjs/models/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@tufjs/models/node_modules/minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/@types/cacheable-request": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/@types/cacheable-request/-/cacheable-request-6.0.3.tgz", @@ -845,47 +1376,45 @@ "@types/responselike": "^1.0.0" } }, - "node_modules/@types/concat-stream": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/@types/concat-stream/-/concat-stream-1.6.0.tgz", - "integrity": "sha1-OU2+C7X+5Gs42JZzXoto7yOQ0A0=", - "dependencies": { - "@types/node": "*" - } + "node_modules/@types/ejs": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/@types/ejs/-/ejs-3.1.5.tgz", + "integrity": "sha512-nv+GSx77ZtXiJzwKdsASqi+YQ5Z7vwHsTP0JY2SiQgjGckkBRKZnk8nIM+7oUZ1VCtuTz0+By4qVR7fqzp/Dfg==" + }, + "node_modules/@types/estree": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", + "dev": true }, "node_modules/@types/expect": { "version": "1.20.4", "resolved": "https://registry.npmjs.org/@types/expect/-/expect-1.20.4.tgz", "integrity": "sha512-Q5Vn3yjTDyCMV50TB6VRIbQNxSE4OmZR86VSbGaNpfUolm0iePBB4KdEEHmxoY5sT2+2DIvXW0rvMDP2nHZ4Mg==" }, - "node_modules/@types/form-data": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/@types/form-data/-/form-data-0.0.33.tgz", - "integrity": "sha1-yayFsqX9GENbjIXZ7LUObWyJP/g=", - "dependencies": { - "@types/node": "*" - } + "node_modules/@types/http-cache-semantics": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.4.tgz", + "integrity": "sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA==" }, - "node_modules/@types/glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==", + "node_modules/@types/inquirer": { + "version": "9.0.7", + "resolved": "https://registry.npmjs.org/@types/inquirer/-/inquirer-9.0.7.tgz", + "integrity": "sha512-Q0zyBupO6NxGRZut/JdmqYKOnN95Eg5V8Csg3PGKkP+FnvsUZx1jAyK7fztIszxxMuoBA6E3KXWvdZVXIpx60g==", "dependencies": { - "@types/minimatch": "*", - "@types/node": "*" + "@types/through": "*", + "rxjs": "^7.2.0" } }, - "node_modules/@types/http-cache-semantics": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.4.tgz", - "integrity": "sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA==", - "dev": true + "node_modules/@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==" }, "node_modules/@types/json5": { "version": "0.0.29", "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", - "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", - "dev": true + "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==" }, "node_modules/@types/keyv": { "version": "3.1.4", @@ -897,11 +1426,24 @@ } }, "node_modules/@types/linkify-it": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@types/linkify-it/-/linkify-it-3.0.2.tgz", - "integrity": "sha512-HZQYqbiFVWufzCwexrvh694SOim8z2d+xJl5UNamcvQFejLY/2YUtzXHYi3cHdI7PMlS8ejH2slRAOJQ32aNbA==", + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@types/linkify-it/-/linkify-it-3.0.5.tgz", + "integrity": "sha512-yg6E+u0/+Zjva+buc3EIb+29XEg4wltq7cSmd4Uc2EE/1nUVmxyzpX6gUXD0V8jIrG0r7YeOGVIbYRkxeooCtw==", "dev": true }, + "node_modules/@types/lodash": { + "version": "4.14.202", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.202.tgz", + "integrity": "sha512-OvlIYQK9tNneDlS0VN54LLd5uiPCBOp7gS5Z0f1mjoJYBrtStzgmJBxONW3U6OZqdtNzZPmn9BS/7WI7BFFcFQ==" + }, + "node_modules/@types/lodash-es": { + "version": "4.17.12", + "resolved": "https://registry.npmjs.org/@types/lodash-es/-/lodash-es-4.17.12.tgz", + "integrity": "sha512-0NgftHUcV4v34VhXm8QBSftKVXtbkBG3ViCjs6+eJ5a6y6Mi/jiFGPc1sC7QK+9BFhWrURE3EOggmWaSxL9OzQ==", + "dependencies": { + "@types/lodash": "*" + } + }, "node_modules/@types/markdown-it": { "version": "12.2.3", "resolved": "https://registry.npmjs.org/@types/markdown-it/-/markdown-it-12.2.3.tgz", @@ -913,31 +1455,29 @@ } }, "node_modules/@types/mdurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@types/mdurl/-/mdurl-1.0.2.tgz", - "integrity": "sha512-eC4U9MlIcu2q0KQmXszyn5Akca/0jrQmwDRgpAMJai7qBWq4amIQhZyNau4VYGtCeALvW1/NtjzJJ567aZxfKA==", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/mdurl/-/mdurl-1.0.5.tgz", + "integrity": "sha512-6L6VymKTzYSrEf4Nev4Xa1LCHKrlTlYCBMTlQKFuddo1CvQcE52I0mwfOJayueUC7MJuXOeHTcIU683lzd0cUA==", "dev": true }, "node_modules/@types/minimatch": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz", - "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==" + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz", + "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==" }, "node_modules/@types/node": { - "version": "8.10.66", - "resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.66.tgz", - "integrity": "sha512-tktOkFUA4kXx2hhhrB8bIFb5TbwzS4uOhKEmwiD+NoiL0qtP2OQ9mFldbgD4dV1djrlBYP6eBuQZiWjuHUpqFw==" + "version": "20.11.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.0.tgz", + "integrity": "sha512-o9bjXmDNcF7GbM4CNQpmi+TutCgap/K3w1JyKgxAjqx41zp9qlIAVFi0IhCNsJcXolEqLWhbFbEeL0PvYm4pcQ==", + "dependencies": { + "undici-types": "~5.26.4" + } }, "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==" }, - "node_modules/@types/qs": { - "version": "6.9.6", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.6.tgz", - "integrity": "sha512-0/HnwIfW4ki2D8L8c9GVcG5I72s9jP5GSLVF0VIXDW00kmIpA6O33G7a8n59Tmh7Nz0WUC3rSb7PTY/sdW2JzA==" - }, "node_modules/@types/responselike": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/@types/responselike/-/responselike-1.0.3.tgz", @@ -947,700 +1487,643 @@ "@types/node": "*" } }, - "node_modules/@types/vinyl": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@types/vinyl/-/vinyl-2.0.4.tgz", - "integrity": "sha512-2o6a2ixaVI2EbwBPg1QYLGQoHK56p/8X/sGfKbFC8N6sY9lfjsMf/GprtkQkSya0D4uRiutRZ2BWj7k3JvLsAQ==", + "node_modules/@types/semver": { + "version": "7.5.6", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.6.tgz", + "integrity": "sha512-dn1l8LaMea/IjDoHNd9J52uBbInB796CDffS6VdIxvqYCPSG0V0DzHp76GpaWnlhg88uYyPbXCDIowa86ybd5A==" + }, + "node_modules/@types/through": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/@types/through/-/through-0.0.33.tgz", + "integrity": "sha512-HsJ+z3QuETzP3cswwtzt2vEIiHBk/dCcHGhbmG5X3ecnwFD/lPrMpliGXxSCg03L9AhrdwA4Oz/qfspkDW+xGQ==", "dependencies": { - "@types/expect": "^1.20.4", "@types/node": "*" } }, - "node_modules/@ungap/structured-clone": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", - "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", - "dev": true - }, - "node_modules/abbrev": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" + "node_modules/@types/triple-beam": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/@types/triple-beam/-/triple-beam-1.3.5.tgz", + "integrity": "sha512-6WaYesThRMCl19iryMYP7/x2OVgCtbIVflDGFpWnb9irXI3UjYE4AzmYuiUKY1AJstGijoY+MgUszMgRxIYTYw==" }, - "node_modules/abort-controller": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", - "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", + "node_modules/@types/vinyl": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/@types/vinyl/-/vinyl-2.0.11.tgz", + "integrity": "sha512-vPXzCLmRp74e9LsP8oltnWKTH+jBwt86WgRUb4Pc9Lf3pkMVGyvIo2gm9bODeGfCay2DBB/hAWDuvf07JcK4rw==", "dependencies": { - "event-target-shim": "^5.0.0" - }, - "engines": { - "node": ">=6.5" + "@types/expect": "^1.20.4", + "@types/node": "*" } }, - "node_modules/acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", - "dev": true, - "bin": { - "acorn": "bin/acorn" + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "6.13.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.13.2.tgz", + "integrity": "sha512-3+9OGAWHhk4O1LlcwLBONbdXsAhLjyCFogJY/cWy2lxdVJ2JrcTF2pTGMaLl2AE7U1l31n8Py4a8bx5DLf/0dQ==", + "dependencies": { + "@eslint-community/regexpp": "^4.5.1", + "@typescript-eslint/scope-manager": "6.13.2", + "@typescript-eslint/type-utils": "6.13.2", + "@typescript-eslint/utils": "6.13.2", + "@typescript-eslint/visitor-keys": "6.13.2", + "debug": "^4.3.4", + "graphemer": "^1.4.0", + "ignore": "^5.2.4", + "natural-compare": "^1.4.0", + "semver": "^7.5.4", + "ts-api-utils": "^1.0.1" }, "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + "@typescript-eslint/parser": "^6.0.0 || ^6.0.0-alpha", + "eslint": "^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/acorn-node": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz", - "integrity": "sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==", - "dev": true, + "node_modules/@typescript-eslint/parser": { + "version": "6.13.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.13.2.tgz", + "integrity": "sha512-MUkcC+7Wt/QOGeVlM8aGGJZy1XV5YKjTpq9jK6r6/iLsGXhBVaGP5N0UYvFsu9BFlSpwY9kMretzdBH01rkRXg==", "dependencies": { - "acorn": "^7.0.0", - "acorn-walk": "^7.0.0", - "xtend": "^4.0.2" - } - }, - "node_modules/acorn-walk": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", - "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", - "dev": true, + "@typescript-eslint/scope-manager": "6.13.2", + "@typescript-eslint/types": "6.13.2", + "@typescript-eslint/typescript-estree": "6.13.2", + "@typescript-eslint/visitor-keys": "6.13.2", + "debug": "^4.3.4" + }, "engines": { - "node": ">=0.4.0" + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/agent-base": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "node_modules/@typescript-eslint/scope-manager": { + "version": "6.13.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.13.2.tgz", + "integrity": "sha512-CXQA0xo7z6x13FeDYCgBkjWzNqzBn8RXaE3QVQVIUm74fWJLkJkaHmHdKStrxQllGh6Q4eUGyNpMe0b1hMkXFA==", "dependencies": { - "debug": "4" + "@typescript-eslint/types": "6.13.2", + "@typescript-eslint/visitor-keys": "6.13.2" }, "engines": { - "node": ">= 6.0.0" - } - }, - "node_modules/agentkeepalive": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.1.4.tgz", - "integrity": "sha512-+V/rGa3EuU74H6wR04plBb7Ks10FbtUQgRj/FQOG7uUIEuaINI+AiqJR1k6t3SVNs7o7ZjIdus6706qqzVq8jQ==", - "dependencies": { - "debug": "^4.1.0", - "depd": "^1.1.2", - "humanize-ms": "^1.2.1" + "node": "^16.0.0 || >=18.0.0" }, - "engines": { - "node": ">= 8.0.0" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/aggregate-error": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", - "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "node_modules/@typescript-eslint/type-utils": { + "version": "6.13.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.13.2.tgz", + "integrity": "sha512-Qr6ssS1GFongzH2qfnWKkAQmMUyZSyOr0W54nZNU1MDfo+U4Mv3XveeLZzadc/yq8iYhQZHYT+eoXJqnACM1tw==", "dependencies": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" + "@typescript-eslint/typescript-estree": "6.13.2", + "@typescript-eslint/utils": "6.13.2", + "debug": "^4.3.4", + "ts-api-utils": "^1.0.1" }, "engines": { - "node": ">=8" - } - }, - "node_modules/ajv": { - "version": "8.8.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.8.2.tgz", - "integrity": "sha512-x9VuX+R/jcFj1DHo/fCp99esgGDWiHENrKxaCENuCxpoMCmAt/COCGVDwA7kleEpEzJjDnvh3yGoOuLu0Dtllw==", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" + "node": "^16.0.0 || >=18.0.0" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/ajv-formats": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", - "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", - "dependencies": { - "ajv": "^8.0.0" + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "ajv": "^8.0.0" + "eslint": "^7.0.0 || ^8.0.0" }, "peerDependenciesMeta": { - "ajv": { + "typescript": { "optional": true } } }, - "node_modules/all-package-names": { - "version": "2.0.786", - "resolved": "https://registry.npmjs.org/all-package-names/-/all-package-names-2.0.786.tgz", - "integrity": "sha512-yYrNZRks3kjvJjysP7cbeMhUnTgeyNfQDB1p1X8huoE5PBrJ5JMyLZFNbJcVFMP8L1LZduya+PRbdn4u2CHvrg==", - "dev": true, - "dependencies": { - "commander-version": "^1.1.0", - "p-lock": "^2.0.0", - "parse-json-object": "^2.0.1", - "progress": "^2.0.3", - "types-json": "^1.2.2" + "node_modules/@typescript-eslint/types": { + "version": "6.13.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.13.2.tgz", + "integrity": "sha512-7sxbQ+EMRubQc3wTfTsycgYpSujyVbI1xw+3UMRUcrhSy+pN09y/lWzeKDbvhoqcRbHdc+APLs/PWYi/cisLPg==", + "engines": { + "node": "^16.0.0 || >=18.0.0" }, - "bin": { - "all-package-names": "build/bin/index.js" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/ansi-align": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", - "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==", - "dev": true, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "6.13.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.13.2.tgz", + "integrity": "sha512-SuD8YLQv6WHnOEtKv8D6HZUzOub855cfPnPMKvdM/Bh1plv1f7Q/0iFUDLKKlxHcEstQnaUU4QZskgQq74t+3w==", "dependencies": { - "string-width": "^4.1.0" - } - }, - "node_modules/ansi-align/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, + "@typescript-eslint/types": "6.13.2", + "@typescript-eslint/visitor-keys": "6.13.2", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.5.4", + "ts-api-utils": "^1.0.1" + }, "engines": { - "node": ">=8" + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/ansi-align/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, + "node_modules/@typescript-eslint/typescript-estree/node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", "engines": { "node": ">=8" } }, - "node_modules/ansi-align/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, + "node_modules/@typescript-eslint/typescript-estree/node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" + "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": ">=8" - } - }, - "node_modules/ansi-align/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, - "dependencies": { - "ansi-regex": "^5.0.1" + "node": ">=10" }, - "engines": { - "node": ">=8" - } - }, - "node_modules/ansi-escapes": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", - "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", - "engines": { - "node": ">=4" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/ansi-regex": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", - "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==", + "node_modules/@typescript-eslint/typescript-estree/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", "engines": { - "node": ">=4" + "node": ">=8" } }, - "node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "node_modules/@typescript-eslint/utils": { + "version": "6.13.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.13.2.tgz", + "integrity": "sha512-b9Ptq4eAZUym4idijCRzl61oPCwwREcfDI8xGk751Vhzig5fFZR9CyzDz4Sp/nxSLBYxUPyh4QdIDqWykFhNmQ==", "dependencies": { - "color-convert": "^1.9.0" + "@eslint-community/eslint-utils": "^4.4.0", + "@types/json-schema": "^7.0.12", + "@types/semver": "^7.5.0", + "@typescript-eslint/scope-manager": "6.13.2", + "@typescript-eslint/types": "6.13.2", + "@typescript-eslint/typescript-estree": "6.13.2", + "semver": "^7.5.4" }, "engines": { - "node": ">=4" + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0" } }, - "node_modules/anymatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", - "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", - "dev": true, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "6.13.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.13.2.tgz", + "integrity": "sha512-OGznFs0eAQXJsp+xSd6k/O1UbFi/K/L7WjqeRoFE7vadjAF9y0uppXhYNQNEqygjou782maGClOoZwPqF0Drlw==", "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" + "@typescript-eslint/types": "6.13.2", + "eslint-visitor-keys": "^3.4.1" }, "engines": { - "node": ">= 8" + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/aproba": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz", - "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==" + "node_modules/@ungap/structured-clone": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", + "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==" }, - "node_modules/are-we-there-yet": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz", - "integrity": "sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==", + "node_modules/@vitest/expect": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-1.1.0.tgz", + "integrity": "sha512-9IE2WWkcJo2BR9eqtY5MIo3TPmS50Pnwpm66A6neb2hvk/QSLfPXBz2qdiwUOQkwyFuuXEUj5380CbwfzW4+/w==", + "dev": true, "dependencies": { - "delegates": "^1.0.0", - "readable-stream": "^3.6.0" + "@vitest/spy": "1.1.0", + "@vitest/utils": "1.1.0", + "chai": "^4.3.10" }, - "engines": { - "node": ">=10" - } - }, - "node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dependencies": { - "sprintf-js": "~1.0.2" + "funding": { + "url": "https://opencollective.com/vitest" } }, - "node_modules/array-buffer-byte-length": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz", - "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==", + "node_modules/@vitest/runner": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-1.1.0.tgz", + "integrity": "sha512-zdNLJ00pm5z/uhbWF6aeIJCGMSyTyWImy3Fcp9piRGvueERFlQFbUwCpzVce79OLm2UHk9iwaMSOaU9jVHgNVw==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "is-array-buffer": "^3.0.1" + "@vitest/utils": "1.1.0", + "p-limit": "^5.0.0", + "pathe": "^1.1.1" }, "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array-differ": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-3.0.0.tgz", - "integrity": "sha512-THtfYS6KtME/yIAhKjZ2ul7XI96lQGHRputJQHO80LAWQnuGP4iCIN8vdMRboGbIEYBwU33q8Tch1os2+X0kMg==", - "engines": { - "node": ">=8" + "url": "https://opencollective.com/vitest" } }, - "node_modules/array-includes": { - "version": "3.1.7", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.7.tgz", - "integrity": "sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ==", + "node_modules/@vitest/runner/node_modules/p-limit": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-5.0.0.tgz", + "integrity": "sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "get-intrinsic": "^1.2.1", - "is-string": "^1.0.7" + "yocto-queue": "^1.0.0" }, "engines": { - "node": ">= 0.4" + "node": ">=18" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "node_modules/@vitest/runner/node_modules/yocto-queue": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.0.0.tgz", + "integrity": "sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==", + "dev": true, "engines": { - "node": ">=8" + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/array.prototype.findlastindex": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.3.tgz", - "integrity": "sha512-LzLoiOMAxvy+Gd3BAq3B7VeIgPdo+Q8hthvKtXybMvRV0jrXfJM/t8mw7nNlpEcVlVUnCnM2KSX4XU5HmpodOA==", + "node_modules/@vitest/snapshot": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-1.1.0.tgz", + "integrity": "sha512-5O/wyZg09V5qmNmAlUgCBqflvn2ylgsWJRRuPrnHEfDNT6tQpQ8O1isNGgo+VxofISHqz961SG3iVvt3SPK/QQ==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "es-shim-unscopables": "^1.0.0", - "get-intrinsic": "^1.2.1" - }, - "engines": { - "node": ">= 0.4" + "magic-string": "^0.30.5", + "pathe": "^1.1.1", + "pretty-format": "^29.7.0" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://opencollective.com/vitest" } }, - "node_modules/array.prototype.flat": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz", - "integrity": "sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==", + "node_modules/@vitest/spy": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-1.1.0.tgz", + "integrity": "sha512-sNOVSU/GE+7+P76qYo+VXdXhXffzWZcYIPQfmkiRxaNCSPiLANvQx5Mx6ZURJ/ndtEkUJEpvKLXqAYTKEY+lTg==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "es-shim-unscopables": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" + "tinyspy": "^2.2.0" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://opencollective.com/vitest" } }, - "node_modules/array.prototype.flatmap": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz", - "integrity": "sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==", + "node_modules/@vitest/utils": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-1.1.0.tgz", + "integrity": "sha512-z+s510fKmYz4Y41XhNs3vcuFTFhcij2YF7F8VQfMEYAAUfqQh0Zfg7+w9xdgFGhPf3tX3TicAe+8BDITk6ampQ==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "es-shim-unscopables": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" + "diff-sequences": "^29.6.3", + "loupe": "^2.3.7", + "pretty-format": "^29.7.0" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://opencollective.com/vitest" } }, - "node_modules/arraybuffer.prototype.slice": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.1.tgz", - "integrity": "sha512-09x0ZWFEjj4WD8PDbykUwo3t9arLn8NIzmmYEJFpYekOAQjpkGSyrQhNoRTcwwcFRu+ycWF78QZ63oWTqSjBcw==", - "dev": true, + "node_modules/@yeoman/adapter": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@yeoman/adapter/-/adapter-1.4.0.tgz", + "integrity": "sha512-JroPWaZ8fALkfRt1FVM8/jz0kGOviVkKaCR4y0EM9Si2B9UD4UySGLCrjyUWeWBGqgr2iGAQ0ehoHjRAlyzsFg==", "dependencies": { - "array-buffer-byte-length": "^1.0.0", - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "get-intrinsic": "^1.2.1", - "is-array-buffer": "^3.0.2", - "is-shared-array-buffer": "^1.0.2" + "@types/inquirer": "^9.0.3", + "chalk": "^5.2.0", + "inquirer": "^9.2.2", + "log-symbols": "^5.1.0", + "ora": "^6.3.1", + "p-queue": "^7.3.4", + "text-table": "^0.2.0" }, "engines": { - "node": ">= 0.4" + "node": "^16.13.0 || >=18.12.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "peerDependencies": { + "@yeoman/types": "^1.1.0" } }, - "node_modules/arrify": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz", - "integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==", + "node_modules/@yeoman/adapter/node_modules/chalk": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", + "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", "engines": { - "node": ">=8" + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/asap": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", - "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=" - }, - "node_modules/asn1": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", - "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", + "node_modules/@yeoman/adapter/node_modules/p-queue": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/p-queue/-/p-queue-7.4.1.tgz", + "integrity": "sha512-vRpMXmIkYF2/1hLBKisKeVYJZ8S2tZ0zEAmIJgdVKP2nq0nh4qCdf8bgw+ZgKrkh71AOCaqzwbJJk1WtdcF3VA==", "dependencies": { - "safer-buffer": "~2.1.0" + "eventemitter3": "^5.0.1", + "p-timeout": "^5.0.2" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "node_modules/@yeoman/adapter/node_modules/p-timeout": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-5.1.0.tgz", + "integrity": "sha512-auFDyzzzGZZZdHz3BtET9VEz0SE/uMEAx7uWfGPucfzEwwe/xH0iVeZibQmANYE/hp9T2+UUZT5m+BKyrDp3Ew==", "engines": { - "node": ">=0.8" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/assertion-error": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", - "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", - "dev": true, + "node_modules/@yeoman/conflicter": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@yeoman/conflicter/-/conflicter-2.0.0.tgz", + "integrity": "sha512-DhxzWfHXg+W3AGyWM35L2o4GkQbUcT30f2+l6/2sZGwQcUPyTIR9RDyxrV9pf6YlwUJwvKjL2jLdB2QlJ1mKbg==", + "dependencies": { + "@types/node": "^16.18.28", + "@yeoman/transform": "^1.2.0", + "binary-extensions": "^2.2.0", + "cli-table": "^0.3.11", + "dateformat": "^5.0.3", + "diff": "^5.1.0", + "isbinaryfile": "^5.0.0", + "mem-fs-editor": "^11.0.0", + "minimatch": "^9.0.0", + "p-transform": "^4.1.3", + "pretty-bytes": "^6.1.0", + "textextensions": "^5.16.0" + }, "engines": { - "node": "*" + "node": ">=18.12.0" + }, + "peerDependencies": { + "@yeoman/types": "^1.0.0", + "mem-fs": "^4.0.0" } }, - "node_modules/async": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", - "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==" - }, - "node_modules/asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" + "node_modules/@yeoman/conflicter/node_modules/@types/node": { + "version": "16.18.70", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.70.tgz", + "integrity": "sha512-8eIk20G5VVVQNZNouHjLA2b8utE2NvGybLjMaF4lyhA9uhGwnmXF8o+icdXKGSQSNANJewXva/sFUoZLwAaYAg==" }, - "node_modules/atomically": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/atomically/-/atomically-1.7.0.tgz", - "integrity": "sha512-Xcz9l0z7y9yQ9rdDaxlmaI4uJHf/T8g9hOEzJcsEqX2SjCj4J20uK7+ldkDHMbpJDK76wF7xEIgxc/vSlsfw5w==", - "engines": { - "node": ">=10.12.0" + "node_modules/@yeoman/conflicter/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dependencies": { + "balanced-match": "^1.0.0" } }, - "node_modules/available-typed-arrays": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", - "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", + "node_modules/@yeoman/conflicter/node_modules/minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "dependencies": { + "brace-expansion": "^2.0.1" + }, "engines": { - "node": ">= 0.4" + "node": ">=16 || 14 >=14.17" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/aws-sdk": { - "version": "2.1204.0", - "resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1204.0.tgz", - "integrity": "sha512-H3dRQBdgzAfZ/e/dfiW44fhQrgAuCfIzWhI5y5J9122caI4uZY6TEUd003UXP4nXq2eMfuPWg0bA/mPwbj8RkA==", - "dependencies": { - "buffer": "4.9.2", - "events": "1.1.1", - "ieee754": "1.1.13", - "jmespath": "0.16.0", - "querystring": "0.2.0", - "sax": "1.2.1", - "url": "0.10.3", - "util": "^0.12.4", - "uuid": "8.0.0", - "xml2js": "0.4.19" - }, + "node_modules/@yeoman/namespace": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@yeoman/namespace/-/namespace-1.0.0.tgz", + "integrity": "sha512-+HcGOOoLSP3+Hb3xA3TpYDiSsmok/boJtbd4bhNfKGDp9/bXkSBpK0Bqmydl0ulo4rUGwiY95eVtP2sLpoDGlA==", "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/aws-sdk/node_modules/uuid": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.0.0.tgz", - "integrity": "sha512-jOXGuXZAWdsTH7eZLtyXMqUb9EcWMGZNbL9YcGBJl4MH4nrxHmZJhEHvyLFrkxo+28uLb/NYRcStH48fnD0Vzw==", - "bin": { - "uuid": "dist/bin/uuid" + "node": "^16.13.0 || >=18.12.0" } }, - "node_modules/aws-sign2": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", + "node_modules/@yeoman/transform": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@yeoman/transform/-/transform-1.2.0.tgz", + "integrity": "sha512-evb/+2XMEBoHr4BxBeFkjeVTgTS4Qe7VH8DmzZ9kgJK7C7ACPAhW/qBdsKKP1sb5MoeITSaJSVFnc8S1fjZmcw==", + "dependencies": { + "@types/node": "^16.18.28", + "minimatch": "^9.0.0", + "readable-stream": "^4.3.0" + }, "engines": { - "node": "*" + "node": "^16.13.0 || >=18.12.0" } }, - "node_modules/aws4": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", - "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==" + "node_modules/@yeoman/transform/node_modules/@types/node": { + "version": "16.18.70", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.70.tgz", + "integrity": "sha512-8eIk20G5VVVQNZNouHjLA2b8utE2NvGybLjMaF4lyhA9uhGwnmXF8o+icdXKGSQSNANJewXva/sFUoZLwAaYAg==" }, - "node_modules/axios": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.27.2.tgz", - "integrity": "sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==", + "node_modules/@yeoman/transform/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "dependencies": { - "follow-redirects": "^1.14.9", - "form-data": "^4.0.0" + "balanced-match": "^1.0.0" } }, - "node_modules/axios/node_modules/form-data": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", - "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "node_modules/@yeoman/transform/node_modules/minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" + "brace-expansion": "^2.0.1" }, "engines": { - "node": ">= 6" + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" - }, - "node_modules/base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" - }, - "node_modules/bcrypt-pbkdf": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", - "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", + "node_modules/@yeoman/types": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@yeoman/types/-/types-1.1.2.tgz", + "integrity": "sha512-/hg8AIU0ZLijHfZWi0vFgWPVWvUJs/tlKeia7Z5sKsWYGCcqsPSHZcnov5bZlpxv8v+vPQ8K9VtTKORtVALsJw==", "dependencies": { - "tweetnacl": "^0.14.3" + "@types/node": "^16.18.26" + }, + "acceptDependencies": { + "mem-fs": "^4.0.0-beta.1", + "mem-fs-editor": ">=10.0.2" + }, + "engines": { + "node": "^16.13.0 || >=18.12.0" + }, + "peerDependencies": { + "@types/inquirer": "^9.0.3", + "mem-fs": "^3.0.0", + "mem-fs-editor": "^10.0.2" + }, + "peerDependenciesMeta": { + "inquirer": { + "optional": true + }, + "mem-fs": { + "optional": true + }, + "mem-fs-editor": { + "optional": true + } } }, - "node_modules/before-after-hook": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.1.tgz", - "integrity": "sha512-/6FKxSTWoJdbsLDF8tdIjaRiFXiE6UHsEHE3OPI/cwPURCVi1ukP0gmLn7XWEiFk5TcwQjjY5PWsU+j+tgXgmw==" + "node_modules/@yeoman/types/node_modules/@types/node": { + "version": "16.18.70", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.70.tgz", + "integrity": "sha512-8eIk20G5VVVQNZNouHjLA2b8utE2NvGybLjMaF4lyhA9uhGwnmXF8o+icdXKGSQSNANJewXva/sFUoZLwAaYAg==" }, - "node_modules/big-integer": { - "version": "1.6.51", - "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.51.tgz", - "integrity": "sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg==", - "dev": true, + "node_modules/abbrev": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-2.0.0.tgz", + "integrity": "sha512-6/mh1E2u2YgEsCHdY0Yx5oW+61gZU+1vXaoiHHrpKeuRNNgFvS+/jrwHiQhB5apAf5oB7UB7E19ol2R2LKH8hQ==", "engines": { - "node": ">=0.6" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/bin-links": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/bin-links/-/bin-links-2.3.0.tgz", - "integrity": "sha512-JzrOLHLwX2zMqKdyYZjkDgQGT+kHDkIhv2/IK2lJ00qLxV4TmFoHi8drDBb6H5Zrz1YfgHkai4e2MGPqnoUhqA==", + "node_modules/abort-controller": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", + "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", "dependencies": { - "cmd-shim": "^4.0.1", - "mkdirp-infer-owner": "^2.0.0", - "npm-normalize-package-bin": "^1.0.0", - "read-cmd-shim": "^2.0.0", - "rimraf": "^3.0.0", - "write-file-atomic": "^3.0.3" + "event-target-shim": "^5.0.0" }, "engines": { - "node": ">=10" + "node": ">=6.5" } }, - "node_modules/binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", - "dev": true, + "node_modules/acorn": { + "version": "8.11.3", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", + "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", + "bin": { + "acorn": "bin/acorn" + }, "engines": { - "node": ">=8" + "node": ">=0.4.0" } }, - "node_modules/binaryextensions": { - "version": "4.18.0", - "resolved": "https://registry.npmjs.org/binaryextensions/-/binaryextensions-4.18.0.tgz", - "integrity": "sha512-PQu3Kyv9dM4FnwB7XGj1+HucW+ShvJzJqjuw1JkKVs1mWdwOKVcRjOi+pV9X52A0tNvrPCsPkbFFQb+wE1EAXw==", - "engines": { - "node": ">=0.8" - }, - "funding": { - "url": "https://bevry.me/fund" + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, - "node_modules/bl": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", - "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "node_modules/acorn-node": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz", + "integrity": "sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==", "dev": true, "dependencies": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" + "acorn": "^7.0.0", + "acorn-walk": "^7.0.0", + "xtend": "^4.0.2" } }, - "node_modules/bl/node_modules/buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "node_modules/acorn-node/node_modules/acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", "dev": true, - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" } }, - "node_modules/bluebird": { - "version": "3.7.2", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", - "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", - "dev": true - }, - "node_modules/boxen": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/boxen/-/boxen-7.1.1.tgz", - "integrity": "sha512-2hCgjEmP8YLWQ130n2FerGv7rYpfBmnmp9Uy2Le1vge6X3gZIfSmEzP5QTDElFxcvVcXlEn8Aq6MU/PZygIOog==", + "node_modules/acorn-walk": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", + "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", "dev": true, - "dependencies": { - "ansi-align": "^3.0.1", - "camelcase": "^7.0.1", - "chalk": "^5.2.0", - "cli-boxes": "^3.0.0", - "string-width": "^5.1.2", - "type-fest": "^2.13.0", - "widest-line": "^4.0.1", - "wrap-ansi": "^8.1.0" - }, "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=0.4.0" } }, - "node_modules/boxen/node_modules/ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", - "dev": true, - "engines": { - "node": ">=12" + "node_modules/agent-base": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.0.tgz", + "integrity": "sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==", + "dependencies": { + "debug": "^4.3.4" }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" - } - }, - "node_modules/boxen/node_modules/ansi-styles": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", - "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", - "dev": true, "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": ">= 14" } }, - "node_modules/boxen/node_modules/chalk": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", - "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", - "dev": true, - "engines": { - "node": "^12.17.0 || ^14.13 || >=16.0.0" + "node_modules/agentkeepalive": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.5.0.tgz", + "integrity": "sha512-5GG/5IbQQpC9FpkRGsSvZI5QYeSCzlJHdpBQntCsuTOxhKD8lqKhrleg2Yi7yvMIf82Ycmmqln9U8V9qwEiJew==", + "dependencies": { + "humanize-ms": "^1.2.1" }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "engines": { + "node": ">= 8.0.0" } }, - "node_modules/boxen/node_modules/emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", - "dev": true - }, - "node_modules/boxen/node_modules/string-width": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", - "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "node_modules/aggregate-error": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-4.0.1.tgz", + "integrity": "sha512-0poP0T7el6Vq3rstR8Mn4V/IQrpBLO6POkUSrN7RhyY+GF/InCFShQzsQ39T25gkHhLgSLByyAz+Kjb+c2L98w==", "dev": true, "dependencies": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" + "clean-stack": "^4.0.0", + "indent-string": "^5.0.0" }, "engines": { "node": ">=12" @@ -1649,472 +2132,553 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/boxen/node_modules/strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "node_modules/aggregate-error/node_modules/indent-string": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-5.0.0.tgz", + "integrity": "sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==", "dev": true, - "dependencies": { - "ansi-regex": "^6.0.1" - }, "engines": { "node": ">=12" }, "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/boxen/node_modules/type-fest": { - "version": "2.19.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz", - "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==", - "dev": true, - "engines": { - "node": ">=12.20" + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "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": { - "url": "https://github.com/sponsors/sindresorhus" + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/boxen/node_modules/wrap-ansi": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", - "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", - "dev": true, + "node_modules/ajv-formats": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", "dependencies": { - "ansi-styles": "^6.1.0", - "string-width": "^5.0.1", - "strip-ansi": "^7.0.1" + "ajv": "^8.0.0" }, - "engines": { - "node": ">=12" + "peerDependencies": { + "ajv": "^8.0.0" }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + "peerDependenciesMeta": { + "ajv": { + "optional": true + } } }, - "node_modules/bplist-parser": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.2.0.tgz", - "integrity": "sha512-z0M+byMThzQmD9NILRniCUXYsYpjwnlO8N5uCFaCqIOpqRsJCrQL9NK3JsD67CN5a08nF5oIL2bD6loTdHOuKw==", - "dev": true, + "node_modules/ajv-formats/node_modules/ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", "dependencies": { - "big-integer": "^1.6.44" + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" }, - "engines": { - "node": ">= 5.10.0" + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } + "node_modules/ajv-formats/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" }, - "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "node_modules/all-package-names": { + "version": "2.0.825", + "resolved": "https://registry.npmjs.org/all-package-names/-/all-package-names-2.0.825.tgz", + "integrity": "sha512-aUrpkktTYgicuvmOzU8p7URnJ6OtTx2IcjWUoWYg8Yn5MV7npjEokVH5yONqGWqDuIuPSILbhvp6qBHnpM2GEw==", + "dev": true, "dependencies": { - "fill-range": "^7.0.1" + "commander-version": "^1.1.0", + "p-lock": "^2.0.0", + "parse-json-object": "^2.0.1", + "progress": "^2.0.3", + "types-json": "^1.2.2" }, - "engines": { - "node": ">=8" + "bin": { + "all-package-names": "build/bin/index.js" } }, - "node_modules/browser-stdout": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", - "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==", - "dev": true - }, - "node_modules/buffer": { - "version": "4.9.2", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", - "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", + "node_modules/ansi-align": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", + "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==", + "dev": true, "dependencies": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4", - "isarray": "^1.0.0" + "string-width": "^4.1.0" } }, - "node_modules/buffer-from": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", - "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==" - }, - "node_modules/builtins": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/builtins/-/builtins-1.0.3.tgz", - "integrity": "sha1-y5T662HIaWRR2zZTThQi+U8K7og=" - }, - "node_modules/bundle-name": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bundle-name/-/bundle-name-3.0.0.tgz", - "integrity": "sha512-PKA4BeSvBpQKQ8iPOGCSiell+N8P+Tf1DlwqmYhpe2gAhKPHn8EYOxVT+ShuGmhg8lN8XiSlS80yiExKXrURlw==", + "node_modules/ansi-colors": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", + "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", "dependencies": { - "run-applescript": "^5.0.0" + "type-fest": "^0.21.3" }, "engines": { - "node": ">=12" + "node": ">=8" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/cacache": { - "version": "15.3.0", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.3.0.tgz", - "integrity": "sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==", - "dependencies": { - "@npmcli/fs": "^1.0.0", - "@npmcli/move-file": "^1.0.1", - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "glob": "^7.1.4", - "infer-owner": "^1.0.4", - "lru-cache": "^6.0.0", - "minipass": "^3.1.1", - "minipass-collect": "^1.0.2", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.2", - "mkdirp": "^1.0.3", - "p-map": "^4.0.0", - "promise-inflight": "^1.0.1", - "rimraf": "^3.0.2", - "ssri": "^8.0.1", - "tar": "^6.0.2", - "unique-filename": "^1.1.1" - }, + "node_modules/ansi-escapes/node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", "engines": { - "node": ">= 10" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/cacheable-lookup": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz", - "integrity": "sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==", - "dev": true, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "engines": { - "node": ">=10.6.0" + "node": ">=8" } }, - "node_modules/cacheable-request": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-7.0.4.tgz", - "integrity": "sha512-v+p6ongsrp0yTGbJXjgxPow2+DL93DASP4kXCDKb8/bwRtt9OEF3whggkkDkGNzgcWy2XaF4a8nZglC7uElscg==", - "dev": true, + "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==", "dependencies": { - "clone-response": "^1.0.2", - "get-stream": "^5.1.0", - "http-cache-semantics": "^4.0.0", - "keyv": "^4.0.0", - "lowercase-keys": "^2.0.0", - "normalize-url": "^6.0.1", - "responselike": "^2.0.0" + "color-convert": "^2.0.1" }, "engines": { "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", - "dependencies": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" - } - }, - "node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "node_modules/any-observable": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/any-observable/-/any-observable-0.3.0.tgz", + "integrity": "sha512-/FQM1EDkTsf63Ub2C6O7GuYFDsSXUwsaZDurV0np41ocwq0jthUAYCmhBX9f+KwlaCgIuWyr/4WlUQUBfKfZog==", "dev": true, "engines": { "node": ">=6" } }, - "node_modules/camelcase": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-7.0.1.tgz", - "integrity": "sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==", + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", "dev": true, - "engines": { - "node": ">=14.16" + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">= 8" } }, - "node_modules/caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" + "node_modules/aproba": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz", + "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==" }, - "node_modules/catharsis": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/catharsis/-/catharsis-0.9.0.tgz", - "integrity": "sha512-prMTQVpcns/tzFgFVkVp6ak6RykZyWb3gu8ckUpd6YkTlacOd3DXGJjIpD4Q6zJirizvaiAjSSHlOsA+6sNh2A==", - "dev": true, - "dependencies": { - "lodash": "^4.17.15" - }, + "node_modules/are-we-there-yet": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-4.0.2.tgz", + "integrity": "sha512-ncSWAawFhKMJDTdoAeOV+jyW1VCMj5QIAwULIBV0SSR7B/RLPPEQiknKcg/RIIZlUQrxELpsxMiTUoAQ4sIUyg==", "engines": { - "node": ">= 10" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/chai": { - "version": "4.3.10", - "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.10.tgz", - "integrity": "sha512-0UXG04VuVbruMUYbJ6JctvH0YnC/4q3/AkT18q4NaITo91CUm0liMS9VqzT9vZhVQ/1eqPanMWjBM+Juhfb/9g==", - "dev": true, + "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/array-buffer-byte-length": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz", + "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==", "dependencies": { - "assertion-error": "^1.1.0", - "check-error": "^1.0.3", - "deep-eql": "^4.1.3", - "get-func-name": "^2.0.2", - "loupe": "^2.3.6", - "pathval": "^1.1.1", - "type-detect": "^4.0.8" + "call-bind": "^1.0.2", + "is-array-buffer": "^3.0.1" }, - "engines": { - "node": ">=4" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, + "node_modules/array-differ": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-4.0.0.tgz", + "integrity": "sha512-Q6VPTLMsmXZ47ENG3V+wQyZS1ZxXMxFyYzA+Z/GMrJ6yIutAIEf9wTyroTzmGjNfox9/h3GdGBCVh43GVFx4Uw==", "engines": { - "node": ">=10" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/chalk-template": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/chalk-template/-/chalk-template-1.1.0.tgz", - "integrity": "sha512-T2VJbcDuZQ0Tb2EWwSotMPJjgpy1/tGee1BTpUNsGZ/qgNjV2t7Mvu+d4600U564nbLesN1x2dPL+xii174Ekg==", - "dev": true, + "node_modules/array-includes": { + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.7.tgz", + "integrity": "sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ==", "dependencies": { - "chalk": "^5.2.0" + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "get-intrinsic": "^1.2.1", + "is-string": "^1.0.7" }, "engines": { - "node": ">=14.16" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/chalk/chalk-template?sponsor=1" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/chalk-template/node_modules/chalk": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", - "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", - "dev": true, + "node_modules/array-union": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-3.0.1.tgz", + "integrity": "sha512-1OvF9IbWwaeiM9VhzYXVQacMibxpXOMYVNIvMtKRyX9SImBXpKcFr8XvFDeEslCyuH/t6KRt7HEO94AlP8Iatw==", "engines": { - "node": "^12.17.0 || ^14.13 || >=16.0.0" + "node": ">=12" }, "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/chalk/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==", + "node_modules/array.prototype.findlastindex": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.3.tgz", + "integrity": "sha512-LzLoiOMAxvy+Gd3BAq3B7VeIgPdo+Q8hthvKtXybMvRV0jrXfJM/t8mw7nNlpEcVlVUnCnM2KSX4XU5HmpodOA==", "dependencies": { - "color-convert": "^2.0.1" + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0", + "get-intrinsic": "^1.2.1" }, "engines": { - "node": ">=8" - } - }, - "node_modules/chalk/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" + "node": ">= 0.4" }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/chalk/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/chalk/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/chalk/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "node_modules/array.prototype.flat": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz", + "integrity": "sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==", "dependencies": { - "has-flag": "^4.0.0" + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0" }, "engines": { - "node": ">=8" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/chardet": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", - "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==" - }, - "node_modules/check-error": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.3.tgz", - "integrity": "sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==", - "dev": true, + "node_modules/array.prototype.flatmap": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz", + "integrity": "sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==", "dependencies": { - "get-func-name": "^2.0.2" + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0" }, "engines": { - "node": "*" - } - }, - "node_modules/chevrotain": { - "version": "10.3.0", - "resolved": "https://registry.npmjs.org/chevrotain/-/chevrotain-10.3.0.tgz", - "integrity": "sha512-sy3yTBfvNJmxzYOGWaDStZFuA7va5/MXwzBU+XBIol0bR0aYlfGqTjzgedeu32Ki/j7IVyvYAZO2PInBjmmMjg==", - "dependencies": { - "@chevrotain/cst-dts-gen": "10.3.0", - "@chevrotain/gast": "10.3.0", - "@chevrotain/types": "10.3.0", - "@chevrotain/utils": "10.3.0", - "lodash": "4.17.21", - "regexp-to-ast": "0.5.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/chokidar": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", - "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", - "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - ], + "node_modules/arraybuffer.prototype.slice": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.2.tgz", + "integrity": "sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw==", "dependencies": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" + "array-buffer-byte-length": "^1.0.0", + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "get-intrinsic": "^1.2.1", + "is-array-buffer": "^3.0.2", + "is-shared-array-buffer": "^1.0.2" }, "engines": { - "node": ">= 8.10.0" + "node": ">= 0.4" }, - "optionalDependencies": { - "fsevents": "~2.3.2" - } - }, - "node_modules/chownr": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", - "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", - "engines": { - "node": ">=10" - } - }, - "node_modules/clean-stack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", - "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", - "engines": { - "node": ">=6" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/cli-boxes": { + "node_modules/arrify": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-3.0.0.tgz", - "integrity": "sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==", - "dev": true, + "resolved": "https://registry.npmjs.org/arrify/-/arrify-3.0.0.tgz", + "integrity": "sha512-tLkvA81vQG/XqE2mjDkGQHoOINtMHtysSnemrmoGe6PydDPMRbVugqyk4A6V/WDWEfm3l+0d8anA9r8cv/5Jaw==", "engines": { - "node": ">=10" + "node": ">=12" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/cli-cursor": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", - "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", + "node_modules/asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==" + }, + "node_modules/asn1": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", + "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", "dependencies": { - "restore-cursor": "^2.0.0" - }, + "safer-buffer": "~2.1.0" + } + }, + "node_modules/assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", "engines": { - "node": ">=4" + "node": ">=0.8" } }, - "node_modules/cli-spinners": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.6.0.tgz", - "integrity": "sha512-t+4/y50K/+4xcCRosKkA7W4gTr1MySvLV0q+PxmG7FJ5g+66ChKurYjxBCjHggHH3HA5Hh9cy+lcUGWDqVH+4Q==", + "node_modules/assertion-error": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", + "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", "dev": true, "engines": { - "node": ">=6" + "node": "*" } }, - "node_modules/cli-table": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/cli-table/-/cli-table-0.3.6.tgz", - "integrity": "sha512-ZkNZbnZjKERTY5NwC2SeMeLeifSPq/pubeRoTpdr3WchLlnZg6hEgvHkK5zL7KNFdd9PmHN8lxrENUwI3cE8vQ==", + "node_modules/async": { + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", + "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", "dependencies": { - "colors": "1.0.3" + "lodash": "^4.17.14" + } + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + }, + "node_modules/atomically": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/atomically/-/atomically-2.0.2.tgz", + "integrity": "sha512-Xfmb4q5QV7uqTlVdMSTtO5eF4DCHfNOdaPyKlbFShkzeNP+3lj3yjjcbdjSmEY4+pDBKJ9g26aP+ImTe88UHoQ==", + "dependencies": { + "stubborn-fs": "^1.2.5", + "when-exit": "^2.0.0" + } + }, + "node_modules/available-typed-arrays": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", + "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", + "engines": { + "node": ">= 0.4" }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==", "engines": { - "node": ">= 0.2.0" + "node": "*" } }, - "node_modules/cli-table/node_modules/colors": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz", - "integrity": "sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs=", + "node_modules/aws4": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.12.0.tgz", + "integrity": "sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==" + }, + "node_modules/axios": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.2.tgz", + "integrity": "sha512-7i24Ri4pmDRfJTR7LDBhsOTtcm+9kjX5WiY1X3wIisx6G9So3pfMkEiU7emUBe46oceVImccTEM3k6C5dbVW8A==", + "dependencies": { + "follow-redirects": "^1.15.0", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", + "dependencies": { + "tweetnacl": "^0.14.3" + } + }, + "node_modules/before-after-hook": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.3.tgz", + "integrity": "sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ==" + }, + "node_modules/big-integer": { + "version": "1.6.52", + "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.52.tgz", + "integrity": "sha512-QxD8cf2eVqJOOz63z6JIN9BzvVs/dlySa5HGSBH5xtR8dPteIRQnBxxKqkNTiT6jbDTF6jAfrd4oMcND9RGbQg==", "engines": { - "node": ">=0.1.90" + "node": ">=0.6" } }, - "node_modules/cli-truncate": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-4.0.0.tgz", - "integrity": "sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA==", + "node_modules/bin-links": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/bin-links/-/bin-links-4.0.3.tgz", + "integrity": "sha512-obsRaULtJurnfox/MDwgq6Yo9kzbv1CPTk/1/s7Z/61Lezc8IKkFCOXNeVLXz0456WRzBQmSsDWlai2tIhBsfA==", + "dependencies": { + "cmd-shim": "^6.0.0", + "npm-normalize-package-bin": "^3.0.0", + "read-cmd-shim": "^4.0.0", + "write-file-atomic": "^5.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/bin-links/node_modules/write-file-atomic": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-5.0.1.tgz", + "integrity": "sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw==", + "dependencies": { + "imurmurhash": "^0.1.4", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "engines": { + "node": ">=8" + } + }, + "node_modules/binaryextensions": { + "version": "4.19.0", + "resolved": "https://registry.npmjs.org/binaryextensions/-/binaryextensions-4.19.0.tgz", + "integrity": "sha512-DRxnVbOi/1OgA5pA9EDiRT8gvVYeqfuN7TmPfLyt6cyho3KbHCi3EtDQf39TTmGDrR5dZ9CspdXhPkL/j/WGbg==", + "engines": { + "node": ">=0.8" + }, + "funding": { + "url": "https://bevry.me/fund" + } + }, + "node_modules/bl": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-5.1.0.tgz", + "integrity": "sha512-tv1ZJHLfTDnXE6tMHv73YgSJaWR2AFuPwMntBe7XL/GBFHnT0CLnsHMogfk5+GzCDC5ZWarSCYaIGATZt9dNsQ==", + "dependencies": { + "buffer": "^6.0.3", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "node_modules/bl/node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", + "dev": true + }, + "node_modules/boxen": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-7.1.1.tgz", + "integrity": "sha512-2hCgjEmP8YLWQ130n2FerGv7rYpfBmnmp9Uy2Le1vge6X3gZIfSmEzP5QTDElFxcvVcXlEn8Aq6MU/PZygIOog==", "dev": true, "dependencies": { - "slice-ansi": "^5.0.0", - "string-width": "^7.0.0" + "ansi-align": "^3.0.1", + "camelcase": "^7.0.1", + "chalk": "^5.2.0", + "cli-boxes": "^3.0.0", + "string-width": "^5.1.2", + "type-fest": "^2.13.0", + "widest-line": "^4.0.1", + "wrap-ansi": "^8.1.0" }, "engines": { - "node": ">=18" + "node": ">=14.16" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/cli-truncate/node_modules/ansi-regex": { + "node_modules/boxen/node_modules/ansi-regex": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", @@ -2126,30 +2690,54 @@ "url": "https://github.com/chalk/ansi-regex?sponsor=1" } }, - "node_modules/cli-truncate/node_modules/emoji-regex": { - "version": "10.3.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.3.0.tgz", - "integrity": "sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw==", + "node_modules/boxen/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/boxen/node_modules/chalk": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", + "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", + "dev": true, + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/boxen/node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", "dev": true }, - "node_modules/cli-truncate/node_modules/string-width": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.0.0.tgz", - "integrity": "sha512-GPQHj7row82Hjo9hKZieKcHIhaAIKOJvFSIZXuCU9OASVZrMNUaZuz++SPVrBjnLsnk4k+z9f2EIypgxf2vNFw==", + "node_modules/boxen/node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", "dev": true, "dependencies": { - "emoji-regex": "^10.3.0", - "get-east-asian-width": "^1.0.0", - "strip-ansi": "^7.1.0" + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" }, "engines": { - "node": ">=18" + "node": ">=12" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/cli-truncate/node_modules/strip-ansi": { + "node_modules/boxen/node_modules/strip-ansi": { "version": "7.1.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", @@ -2164,455 +2752,451 @@ "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, - "node_modules/cli-width": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.1.tgz", - "integrity": "sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==" - }, - "node_modules/cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", - "dev": true, - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" - } - }, - "node_modules/cliui/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "node_modules/boxen/node_modules/type-fest": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz", + "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==", "dev": true, "engines": { - "node": ">=8" + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/cliui/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==", + "node_modules/boxen/node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", "dev": true, + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, "engines": { - "node": ">=8" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/cliui/node_modules/string-width": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", - "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", - "dev": true, + "node_modules/bplist-parser": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.2.0.tgz", + "integrity": "sha512-z0M+byMThzQmD9NILRniCUXYsYpjwnlO8N5uCFaCqIOpqRsJCrQL9NK3JsD67CN5a08nF5oIL2bD6loTdHOuKw==", "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" + "big-integer": "^1.6.44" }, "engines": { - "node": ">=8" + "node": ">= 5.10.0" } }, - "node_modules/cliui/node_modules/strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dev": true, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", "dependencies": { - "ansi-regex": "^5.0.0" + "fill-range": "^7.0.1" }, "engines": { "node": ">=8" } }, - "node_modules/clone": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", - "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=", - "dev": true, - "engines": { - "node": ">=0.8" - } + "node_modules/browser-stdout": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", + "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==", + "dev": true }, - "node_modules/clone-buffer": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/clone-buffer/-/clone-buffer-1.0.0.tgz", - "integrity": "sha1-4+JbIHrE5wGvch4staFnksrD3Fg=", - "engines": { - "node": ">= 0.10" + "node_modules/buffer": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" } }, - "node_modules/clone-response": { + "node_modules/builtins": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.3.tgz", - "integrity": "sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==", - "dev": true, + "resolved": "https://registry.npmjs.org/builtins/-/builtins-1.0.3.tgz", + "integrity": "sha512-uYBjakWipfaO/bXI7E8rq6kpwHRZK5cNYrUv2OzZSI/FvmdMyXJ2tG9dKcjEC5YHmHpUAwsargWIZNWdxb/bnQ==" + }, + "node_modules/bundle-name": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bundle-name/-/bundle-name-3.0.0.tgz", + "integrity": "sha512-PKA4BeSvBpQKQ8iPOGCSiell+N8P+Tf1DlwqmYhpe2gAhKPHn8EYOxVT+ShuGmhg8lN8XiSlS80yiExKXrURlw==", "dependencies": { - "mimic-response": "^1.0.0" + "run-applescript": "^5.0.0" + }, + "engines": { + "node": ">=12" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/clone-stats": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-1.0.0.tgz", - "integrity": "sha1-s3gt/4u1R04Yuba/D9/ngvh3doA=" + "node_modules/cac": { + "version": "6.7.14", + "resolved": "https://registry.npmjs.org/cac/-/cac-6.7.14.tgz", + "integrity": "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==", + "dev": true, + "engines": { + "node": ">=8" + } }, - "node_modules/cloneable-readable": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/cloneable-readable/-/cloneable-readable-1.1.3.tgz", - "integrity": "sha512-2EF8zTQOxYq70Y4XKtorQupqF0m49MBz2/yf5Bj+MHjvpG3Hy7sImifnqD6UA+TKYxeSV+u6qqQPawN5UvnpKQ==", - "dependencies": { - "inherits": "^2.0.1", - "process-nextick-args": "^2.0.0", - "readable-stream": "^2.3.5" + "node_modules/cacache": { + "version": "18.0.2", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-18.0.2.tgz", + "integrity": "sha512-r3NU8h/P+4lVUHfeRw1dtgQYar3DZMm4/cm2bZgOvrFC/su7budSOeqh52VJIC4U4iG1WWwV6vRW0znqBvxNuw==", + "dependencies": { + "@npmcli/fs": "^3.1.0", + "fs-minipass": "^3.0.0", + "glob": "^10.2.2", + "lru-cache": "^10.0.1", + "minipass": "^7.0.3", + "minipass-collect": "^2.0.1", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "p-map": "^4.0.0", + "ssri": "^10.0.0", + "tar": "^6.1.11", + "unique-filename": "^3.0.0" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" } }, - "node_modules/cloneable-readable/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "node_modules/cacache/node_modules/aggregate-error": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/cloneable-readable/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + "node_modules/cacache/node_modules/clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "engines": { + "node": ">=6" + } }, - "node_modules/cloneable-readable/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dependencies": { - "safe-buffer": "~5.1.0" + "node_modules/cacache/node_modules/indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "engines": { + "node": ">=8" } }, - "node_modules/cmd-shim": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/cmd-shim/-/cmd-shim-4.1.0.tgz", - "integrity": "sha512-lb9L7EM4I/ZRVuljLPEtUJOP+xiQVknZ4ZMpMgEp4JzNldPb27HU03hi6K1/6CoIuit/Zm/LQXySErFeXxDprw==", + "node_modules/cacache/node_modules/p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", "dependencies": { - "mkdirp-infer-owner": "^2.0.0" + "aggregate-error": "^3.0.0" }, "engines": { "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/code-point-at": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", + "node_modules/cacheable-lookup": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz", + "integrity": "sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==", "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">=10.6.0" } }, - "node_modules/color": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/color/-/color-3.2.1.tgz", - "integrity": "sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==", + "node_modules/cacheable-request": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-7.0.4.tgz", + "integrity": "sha512-v+p6ongsrp0yTGbJXjgxPow2+DL93DASP4kXCDKb8/bwRtt9OEF3whggkkDkGNzgcWy2XaF4a8nZglC7uElscg==", + "dev": true, "dependencies": { - "color-convert": "^1.9.3", - "color-string": "^1.6.0" + "clone-response": "^1.0.2", + "get-stream": "^5.1.0", + "http-cache-semantics": "^4.0.0", + "keyv": "^4.0.0", + "lowercase-keys": "^2.0.0", + "normalize-url": "^6.0.1", + "responselike": "^2.0.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "node_modules/cacheable-request/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, "dependencies": { - "color-name": "1.1.3" + "pump": "^3.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" - }, - "node_modules/color-string": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz", - "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==", + "node_modules/call-bind": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.5.tgz", + "integrity": "sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==", "dependencies": { - "color-name": "^1.0.0", - "simple-swizzle": "^0.2.2" + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.1", + "set-function-length": "^1.1.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/color-support": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", - "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", - "bin": { - "color-support": "bin.js" + "node_modules/callsites": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-4.1.0.tgz", + "integrity": "sha512-aBMbD1Xxay75ViYezwT40aQONfr+pSXTHwNKvIXhXD6+LY3F1dLIcceoC5OZKBVHbXcysz1hL9D2w0JJIMXpUw==", + "dev": true, + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/colorette": { - "version": "2.0.20", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", - "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", - "dev": true - }, - "node_modules/colorspace": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/colorspace/-/colorspace-1.1.4.tgz", - "integrity": "sha512-BgvKJiuVu1igBUF2kEjRCZXol6wiiGbY5ipL/oVPwm0BL9sIpMIzM8IK7vwuxIIzOXMV3Ey5w+vxhm0rR/TN8w==", - "dependencies": { - "color": "^3.1.3", - "text-hex": "1.0.x" + "node_modules/camelcase": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-7.0.1.tgz", + "integrity": "sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==", + "dev": true, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "node_modules/caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==" + }, + "node_modules/catharsis": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/catharsis/-/catharsis-0.9.0.tgz", + "integrity": "sha512-prMTQVpcns/tzFgFVkVp6ak6RykZyWb3gu8ckUpd6YkTlacOd3DXGJjIpD4Q6zJirizvaiAjSSHlOsA+6sNh2A==", + "dev": true, "dependencies": { - "delayed-stream": "~1.0.0" + "lodash": "^4.17.15" }, "engines": { - "node": ">= 0.8" + "node": ">= 10" } }, - "node_modules/commander": { - "version": "9.4.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-9.4.0.tgz", - "integrity": "sha512-sRPT+umqkz90UA8M1yqYfnHlZA7fF6nSphDtxeywPZ49ysjxDQybzk13CL+mXekDRG92skbcqCLVovuCusNmFw==", + "node_modules/chai": { + "version": "4.3.10", + "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.10.tgz", + "integrity": "sha512-0UXG04VuVbruMUYbJ6JctvH0YnC/4q3/AkT18q4NaITo91CUm0liMS9VqzT9vZhVQ/1eqPanMWjBM+Juhfb/9g==", + "dev": true, + "dependencies": { + "assertion-error": "^1.1.0", + "check-error": "^1.0.3", + "deep-eql": "^4.1.3", + "get-func-name": "^2.0.2", + "loupe": "^2.3.6", + "pathval": "^1.1.1", + "type-detect": "^4.0.8" + }, "engines": { - "node": "^12.20.0 || >=14" + "node": ">=4" } }, - "node_modules/commander-version": { + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/chalk-template": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/commander-version/-/commander-version-1.1.0.tgz", - "integrity": "sha512-9aNW4N6q6EPDUszLRH6k9IwO6OoGYh3HRgUF/fA7Zs+Mz1v1x5akSqT7QGB8JsGY7AG7qMA7oRRB/4yyn33FYA==", + "resolved": "https://registry.npmjs.org/chalk-template/-/chalk-template-1.1.0.tgz", + "integrity": "sha512-T2VJbcDuZQ0Tb2EWwSotMPJjgpy1/tGee1BTpUNsGZ/qgNjV2t7Mvu+d4600U564nbLesN1x2dPL+xii174Ekg==", "dev": true, "dependencies": { - "@bconnorwhite/module": "^2.0.2", - "commander": "^6.1.0" + "chalk": "^5.2.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/chalk/chalk-template?sponsor=1" } }, - "node_modules/commander-version/node_modules/commander": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz", - "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==", + "node_modules/chalk-template/node_modules/chalk": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", + "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", "dev": true, "engines": { - "node": ">= 6" + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/common-ancestor-path": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/common-ancestor-path/-/common-ancestor-path-1.0.1.tgz", - "integrity": "sha512-L3sHRo1pXXEqX8VU28kfgUY+YGsk09hPqZiZmLacNib6XNTCM8ubYeT7ryXQw8asB1sKgcU5lkB7ONug08aB8w==" - }, - "node_modules/commondir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=" - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" - }, - "node_modules/concat-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", - "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", - "engines": [ - "node >= 0.8" - ], - "dependencies": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" - } + "node_modules/chardet": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==" }, - "node_modules/concat-stream/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "node_modules/check-error": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.3.tgz", + "integrity": "sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==", + "dev": true, "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "get-func-name": "^2.0.2" + }, + "engines": { + "node": "*" } }, - "node_modules/concat-stream/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "node_modules/concat-stream/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "node_modules/chevrotain": { + "version": "11.0.3", + "resolved": "https://registry.npmjs.org/chevrotain/-/chevrotain-11.0.3.tgz", + "integrity": "sha512-ci2iJH6LeIkvP9eJW6gpueU8cnZhv85ELY8w8WiFtNjMHA5ad6pQLaJo9mEly/9qUyCpvqX8/POVUTf18/HFdw==", "dependencies": { - "safe-buffer": "~5.1.0" + "@chevrotain/cst-dts-gen": "11.0.3", + "@chevrotain/gast": "11.0.3", + "@chevrotain/regexp-to-ast": "11.0.3", + "@chevrotain/types": "11.0.3", + "@chevrotain/utils": "11.0.3", + "lodash-es": "4.17.21" } }, - "node_modules/conf": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/conf/-/conf-10.2.0.tgz", - "integrity": "sha512-8fLl9F04EJqjSqH+QjITQfJF8BrOVaYr1jewVgSRAEWePfxT0sku4w2hrGQ60BC/TNLGQ2pgxNlTbWQmMPFvXg==", + "node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], "dependencies": { - "ajv": "^8.6.3", - "ajv-formats": "^2.1.1", - "atomically": "^1.7.0", - "debounce-fn": "^4.0.0", - "dot-prop": "^6.0.1", - "env-paths": "^2.2.1", - "json-schema-typed": "^7.0.3", - "onetime": "^5.1.2", - "pkg-up": "^3.1.0", - "semver": "^7.3.5" + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" }, "engines": { - "node": ">=12" + "node": ">= 8.10.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "optionalDependencies": { + "fsevents": "~2.3.2" } }, - "node_modules/config-chain": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.13.tgz", - "integrity": "sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==", + "node_modules/chokidar/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dev": true, "dependencies": { - "ini": "^1.3.4", - "proto-list": "~1.2.1" + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" } }, - "node_modules/config-chain/node_modules/ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", - "dev": true + "node_modules/chownr": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", + "engines": { + "node": ">=10" + } }, - "node_modules/configstore": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/configstore/-/configstore-6.0.0.tgz", - "integrity": "sha512-cD31W1v3GqUlQvbBCGcXmd2Nj9SvLDOP1oQ0YFuLETufzSPaKp11rYBsSOm7rCsW3OnIRAFM3OxRhceaXNYHkA==", + "node_modules/clean-stack": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-4.2.0.tgz", + "integrity": "sha512-LYv6XPxoyODi36Dp976riBtSY27VmFo+MKqEU9QCCWyTrdEPDog+RWA7xQWHi6Vbp61j5c4cdzzX1NidnwtUWg==", "dev": true, "dependencies": { - "dot-prop": "^6.0.1", - "graceful-fs": "^4.2.6", - "unique-string": "^3.0.0", - "write-file-atomic": "^3.0.3", - "xdg-basedir": "^5.0.1" + "escape-string-regexp": "5.0.0" }, "engines": { "node": ">=12" }, "funding": { - "url": "https://github.com/yeoman/configstore?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/confusing-browser-globals": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.10.tgz", - "integrity": "sha512-gNld/3lySHwuhaVluJUKLePYirM3QNCKzVxqAdhJII9/WXKVX5PURzMVJspS1jTslSqjeuG4KMVTSouit5YPHA==", - "dev": true - }, - "node_modules/console-control-strings": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", - "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=" - }, - "node_modules/core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" - }, - "node_modules/cosmiconfig": { - "version": "8.3.6", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.6.tgz", - "integrity": "sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==", + "node_modules/clean-stack/node_modules/escape-string-regexp": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", + "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", "dev": true, - "dependencies": { - "import-fresh": "^3.3.0", - "js-yaml": "^4.1.0", - "parse-json": "^5.2.0", - "path-type": "^4.0.0" - }, "engines": { - "node": ">=14" + "node": ">=12" }, "funding": { - "url": "https://github.com/sponsors/d-fischer" - }, - "peerDependencies": { - "typescript": ">=4.9.5" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/cosmiconfig/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==", - "dev": true - }, - "node_modules/cosmiconfig/node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dev": true, - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/crypto-random-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-4.0.0.tgz", - "integrity": "sha512-x8dy3RnvYdlUcPOjkEHqozhiwzKNSq7GcPuXFbnyMOCHxX8V3OgIg/pYuabl2sbUPfIJaeAQB7PMOK8DFIdoRA==", - "dev": true, - "dependencies": { - "type-fest": "^1.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/crypto-random-string/node_modules/type-fest": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz", - "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==", + "node_modules/cli-boxes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-3.0.0.tgz", + "integrity": "sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==", "dev": true, "engines": { "node": ">=10" @@ -2621,784 +3205,1076 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/dargs": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/dargs/-/dargs-7.0.0.tgz", - "integrity": "sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg==", - "engines": { - "node": ">=8" - } - }, - "node_modules/dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "node_modules/cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", "dependencies": { - "assert-plus": "^1.0.0" + "restore-cursor": "^3.1.0" }, "engines": { - "node": ">=0.10" - } - }, - "node_modules/date-fns": { - "version": "1.30.1", - "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-1.30.1.tgz", - "integrity": "sha512-hBSVCvSmWC+QypYObzwGOd9wqdDpOt+0wl0KbU+R+uuZBS1jN8VsD1ss3irQDknRj5NvxiTF6oj/nDRnN/UQNw==", - "dev": true - }, - "node_modules/dateformat": { - "version": "4.5.1", - "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-4.5.1.tgz", - "integrity": "sha512-OD0TZ+B7yP7ZgpJf5K2DIbj3FZvFvxgFUuaqA/V5zTjAtAAXZ1E8bktHxmAGs4x5b7PflqA9LeQ84Og7wYtF7Q==", - "engines": { - "node": "*" + "node": ">=8" } }, - "node_modules/debounce-fn": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/debounce-fn/-/debounce-fn-4.0.0.tgz", - "integrity": "sha512-8pYCQiL9Xdcg0UPSD3d+0KMlOjp+KGU5EPwYddgzQ7DATsg4fuUDjQtsYLmWjnk2obnNHgV3vE2Y4jejSOJVBQ==", - "dependencies": { - "mimic-fn": "^3.0.0" - }, + "node_modules/cli-spinners": { + "version": "2.9.2", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.2.tgz", + "integrity": "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==", "engines": { - "node": ">=10" + "node": ">=6" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/debounce-fn/node_modules/mimic-fn": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-3.1.0.tgz", - "integrity": "sha512-Ysbi9uYW9hFyfrThdDEQuykN4Ey6BuwPD2kpI5ES/nFTDn/98yxYNLZJcgUAKPT/mcrLLKaGzJR9YVxJrIdASQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "node_modules/cli-table": { + "version": "0.3.11", + "resolved": "https://registry.npmjs.org/cli-table/-/cli-table-0.3.11.tgz", + "integrity": "sha512-IqLQi4lO0nIB4tcdTpN4LCB9FI3uqrJZK7RC515EnhZ6qBaglkIgICb1wjeAqpdoOabm1+SuQtkXIPdYC93jhQ==", "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" + "colors": "1.0.3" }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/debug/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "node_modules/debuglog": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/debuglog/-/debuglog-1.0.1.tgz", - "integrity": "sha1-qiT/uaw9+aI1GDfPstJ5NgzXhJI=", "engines": { - "node": "*" + "node": ">= 0.2.0" } }, - "node_modules/decompress-response": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", - "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", + "node_modules/cli-truncate": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-4.0.0.tgz", + "integrity": "sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA==", "dev": true, "dependencies": { - "mimic-response": "^3.1.0" + "slice-ansi": "^5.0.0", + "string-width": "^7.0.0" }, "engines": { - "node": ">=10" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/decompress-response/node_modules/mimic-response": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", - "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", + "node_modules/cli-truncate/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", "dev": true, "engines": { - "node": ">=10" + "node": ">=12" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/deep-eql": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.3.tgz", - "integrity": "sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==", - "dev": true, - "dependencies": { - "type-detect": "^4.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/deep-extend": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", - "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", - "engines": { - "node": ">=4.0.0" + "url": "https://github.com/chalk/ansi-regex?sponsor=1" } }, - "node_modules/deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "node_modules/cli-truncate/node_modules/emoji-regex": { + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.3.0.tgz", + "integrity": "sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw==", "dev": true }, - "node_modules/default-browser": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/default-browser/-/default-browser-4.0.0.tgz", - "integrity": "sha512-wX5pXO1+BrhMkSbROFsyxUm0i/cJEScyNhA4PPxc41ICuv05ZZB/MX28s8aZx6xjmatvebIapF6hLEKEcpneUA==", + "node_modules/cli-truncate/node_modules/string-width": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.0.0.tgz", + "integrity": "sha512-GPQHj7row82Hjo9hKZieKcHIhaAIKOJvFSIZXuCU9OASVZrMNUaZuz++SPVrBjnLsnk4k+z9f2EIypgxf2vNFw==", "dev": true, "dependencies": { - "bundle-name": "^3.0.0", - "default-browser-id": "^3.0.0", - "execa": "^7.1.1", - "titleize": "^3.0.0" + "emoji-regex": "^10.3.0", + "get-east-asian-width": "^1.0.0", + "strip-ansi": "^7.1.0" }, "engines": { - "node": ">=14.16" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/default-browser-id": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/default-browser-id/-/default-browser-id-3.0.0.tgz", - "integrity": "sha512-OZ1y3y0SqSICtE8DE4S8YOE9UZOJ8wO16fKWVP5J1Qz42kV9jcnMVFrEE/noXb/ss3Q4pZIH79kxofzyNNtUNA==", + "node_modules/cli-truncate/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", "dev": true, "dependencies": { - "bplist-parser": "^0.2.0", - "untildify": "^4.0.0" + "ansi-regex": "^6.0.1" }, "engines": { "node": ">=12" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, - "node_modules/default-browser/node_modules/execa": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-7.1.1.tgz", - "integrity": "sha512-wH0eMf/UXckdUYnO21+HDztteVv05rq2GXksxT4fCGeHkBhw1DROXh40wcjMcRqDOWE7iPJ4n3M7e2+YFP+76Q==", + "node_modules/cli-width": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-4.1.0.tgz", + "integrity": "sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==", + "engines": { + "node": ">= 12" + } + }, + "node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", "dev": true, "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.1", - "human-signals": "^4.3.0", - "is-stream": "^3.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^5.1.0", - "onetime": "^6.0.0", - "signal-exit": "^3.0.7", - "strip-final-newline": "^3.0.0" + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" }, "engines": { - "node": "^14.18.0 || ^16.14.0 || >=18.0.0" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" + "node": ">=12" } }, - "node_modules/default-browser/node_modules/get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "node_modules/cliui/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, "engines": { "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/default-browser/node_modules/human-signals": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-4.3.1.tgz", - "integrity": "sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==", - "dev": true, + "node_modules/clone": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", + "integrity": "sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==", "engines": { - "node": ">=14.18.0" + "node": ">=0.8" } }, - "node_modules/default-browser/node_modules/is-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", - "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", - "dev": true, + "node_modules/clone-buffer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/clone-buffer/-/clone-buffer-1.0.0.tgz", + "integrity": "sha512-KLLTJWrvwIP+OPfMn0x2PheDEP20RPUcGXj/ERegTgdmPEZylALQldygiqrPPu8P45uNuPs7ckmReLY6v/iA5g==", "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">= 0.10" } }, - "node_modules/default-browser/node_modules/mimic-fn": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", - "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", + "node_modules/clone-response": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.3.tgz", + "integrity": "sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==", "dev": true, - "engines": { - "node": ">=12" + "dependencies": { + "mimic-response": "^1.0.0" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/default-browser/node_modules/npm-run-path": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.1.0.tgz", - "integrity": "sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==", - "dev": true, + "node_modules/clone-stats": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-1.0.0.tgz", + "integrity": "sha512-au6ydSpg6nsrigcZ4m8Bc9hxjeW+GJ8xh5G3BJCMt4WXe1H10UNaVOamqQTmrx1kjVuxAHIQSNU6hY4Nsn9/ag==" + }, + "node_modules/cloneable-readable": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/cloneable-readable/-/cloneable-readable-1.1.3.tgz", + "integrity": "sha512-2EF8zTQOxYq70Y4XKtorQupqF0m49MBz2/yf5Bj+MHjvpG3Hy7sImifnqD6UA+TKYxeSV+u6qqQPawN5UvnpKQ==", "dependencies": { - "path-key": "^4.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "inherits": "^2.0.1", + "process-nextick-args": "^2.0.0", + "readable-stream": "^2.3.5" } }, - "node_modules/default-browser/node_modules/onetime": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", - "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", - "dev": true, + "node_modules/cloneable-readable/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + }, + "node_modules/cloneable-readable/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", "dependencies": { - "mimic-fn": "^4.0.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" } }, - "node_modules/default-browser/node_modules/path-key": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", - "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", - "dev": true, + "node_modules/cloneable-readable/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "node_modules/cloneable-readable/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/cmd-shim": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/cmd-shim/-/cmd-shim-6.0.2.tgz", + "integrity": "sha512-+FFYbB0YLaAkhkcrjkyNLYDiOsFSfRjwjY19LXk/psmMx1z00xlCv7hhQoTGXXIKi+YXHL/iiFo8NqMVQX9nOw==", "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/default-browser/node_modules/strip-final-newline": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", - "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", + "node_modules/code-point-at": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA==", "dev": true, "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=0.10.0" } }, - "node_modules/defaults": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", - "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=", - "dev": true, + "node_modules/color": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/color/-/color-3.2.1.tgz", + "integrity": "sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==", "dependencies": { - "clone": "^1.0.2" + "color-convert": "^1.9.3", + "color-string": "^1.6.0" } }, - "node_modules/defer-to-connect": { + "node_modules/color-convert": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz", - "integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==", - "dev": true, + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, "engines": { - "node": ">=10" + "node": ">=7.0.0" } }, - "node_modules/define-lazy-prop": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz", - "integrity": "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/color-string": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz", + "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==", + "dependencies": { + "color-name": "^1.0.0", + "simple-swizzle": "^0.2.2" } }, - "node_modules/define-properties": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz", - "integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==", - "dev": true, + "node_modules/color-support": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", + "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", + "bin": { + "color-support": "bin.js" + } + }, + "node_modules/color/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "dependencies": { - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" - }, + "color-name": "1.1.3" + } + }, + "node_modules/color/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "node_modules/colorette": { + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", + "dev": true + }, + "node_modules/colors": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz", + "integrity": "sha512-pFGrxThWcWQ2MsAz6RtgeWe4NK2kUE1WfsrvvlctdII745EW9I0yflqhe7++M5LEc7bV2c/9/5zc8sFcpL0Drw==", "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=0.1.90" } }, - "node_modules/del": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/del/-/del-7.1.0.tgz", - "integrity": "sha512-v2KyNk7efxhlyHpjEvfyxaAihKKK0nWCuf6ZtqZcFFpQRG0bJ12Qsr0RpvsICMjAAZ8DOVCxrlqpxISlMHC4Kg==", - "dev": true, + "node_modules/colorspace": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/colorspace/-/colorspace-1.1.4.tgz", + "integrity": "sha512-BgvKJiuVu1igBUF2kEjRCZXol6wiiGbY5ipL/oVPwm0BL9sIpMIzM8IK7vwuxIIzOXMV3Ey5w+vxhm0rR/TN8w==", "dependencies": { - "globby": "^13.1.2", - "graceful-fs": "^4.2.10", - "is-glob": "^4.0.3", - "is-path-cwd": "^3.0.0", - "is-path-inside": "^4.0.0", - "p-map": "^5.5.0", - "rimraf": "^3.0.2", - "slash": "^4.0.0" - }, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "color": "^3.1.3", + "text-hex": "1.0.x" } }, - "node_modules/del/node_modules/aggregate-error": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-4.0.1.tgz", - "integrity": "sha512-0poP0T7el6Vq3rstR8Mn4V/IQrpBLO6POkUSrN7RhyY+GF/InCFShQzsQ39T25gkHhLgSLByyAz+Kjb+c2L98w==", - "dev": true, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", "dependencies": { - "clean-stack": "^4.0.0", - "indent-string": "^5.0.0" + "delayed-stream": "~1.0.0" }, "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">= 0.8" } }, - "node_modules/del/node_modules/clean-stack": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-4.2.0.tgz", - "integrity": "sha512-LYv6XPxoyODi36Dp976riBtSY27VmFo+MKqEU9QCCWyTrdEPDog+RWA7xQWHi6Vbp61j5c4cdzzX1NidnwtUWg==", + "node_modules/commander": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-11.1.0.tgz", + "integrity": "sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==", + "engines": { + "node": ">=16" + } + }, + "node_modules/commander-version": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/commander-version/-/commander-version-1.1.0.tgz", + "integrity": "sha512-9aNW4N6q6EPDUszLRH6k9IwO6OoGYh3HRgUF/fA7Zs+Mz1v1x5akSqT7QGB8JsGY7AG7qMA7oRRB/4yyn33FYA==", "dev": true, "dependencies": { - "escape-string-regexp": "5.0.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "@bconnorwhite/module": "^2.0.2", + "commander": "^6.1.0" } }, - "node_modules/del/node_modules/escape-string-regexp": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", - "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", + "node_modules/commander-version/node_modules/commander": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz", + "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==", "dev": true, "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">= 6" } }, - "node_modules/del/node_modules/globby": { - "version": "13.2.2", - "resolved": "https://registry.npmjs.org/globby/-/globby-13.2.2.tgz", - "integrity": "sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==", - "dev": true, + "node_modules/common-ancestor-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/common-ancestor-path/-/common-ancestor-path-1.0.1.tgz", + "integrity": "sha512-L3sHRo1pXXEqX8VU28kfgUY+YGsk09hPqZiZmLacNib6XNTCM8ubYeT7ryXQw8asB1sKgcU5lkB7ONug08aB8w==" + }, + "node_modules/commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==" + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" + }, + "node_modules/conf": { + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/conf/-/conf-12.0.0.tgz", + "integrity": "sha512-fIWyWUXrJ45cHCIQX+Ck1hrZDIf/9DR0P0Zewn3uNht28hbt5OfGUq8rRWsxi96pZWPyBEd0eY9ama01JTaknA==", "dependencies": { - "dir-glob": "^3.0.1", - "fast-glob": "^3.3.0", - "ignore": "^5.2.4", - "merge2": "^1.4.1", - "slash": "^4.0.0" + "ajv": "^8.12.0", + "ajv-formats": "^2.1.1", + "atomically": "^2.0.2", + "debounce-fn": "^5.1.2", + "dot-prop": "^8.0.2", + "env-paths": "^3.0.0", + "json-schema-typed": "^8.0.1", + "semver": "^7.5.4", + "uint8array-extras": "^0.3.0" }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/del/node_modules/indent-string": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-5.0.0.tgz", - "integrity": "sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==", - "dev": true, - "engines": { - "node": ">=12" + "node_modules/conf/node_modules/ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/del/node_modules/is-path-inside": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-4.0.0.tgz", - "integrity": "sha512-lJJV/5dYS+RcL8uQdBDW9c9uWFLLBNRyFhnAKXw5tVqLlKZ4RMGZKv+YQ/IA3OhD+RpbJa1LLFM1FQPGyIXvOA==", + "node_modules/conf/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + }, + "node_modules/config-chain": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.13.tgz", + "integrity": "sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==", + "dependencies": { + "ini": "^1.3.4", + "proto-list": "~1.2.1" + } + }, + "node_modules/config-chain/node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" + }, + "node_modules/configstore": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/configstore/-/configstore-6.0.0.tgz", + "integrity": "sha512-cD31W1v3GqUlQvbBCGcXmd2Nj9SvLDOP1oQ0YFuLETufzSPaKp11rYBsSOm7rCsW3OnIRAFM3OxRhceaXNYHkA==", "dev": true, + "dependencies": { + "dot-prop": "^6.0.1", + "graceful-fs": "^4.2.6", + "unique-string": "^3.0.0", + "write-file-atomic": "^3.0.3", + "xdg-basedir": "^5.0.1" + }, "engines": { "node": ">=12" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/yeoman/configstore?sponsor=1" } }, - "node_modules/del/node_modules/p-map": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-5.5.0.tgz", - "integrity": "sha512-VFqfGDHlx87K66yZrNdI4YGtD70IRyd+zSvgks6mzHPRNkoKy+9EKP4SFC77/vTTQYmRmti7dvqC+m5jBrBAcg==", + "node_modules/configstore/node_modules/dot-prop": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-6.0.1.tgz", + "integrity": "sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA==", "dev": true, "dependencies": { - "aggregate-error": "^4.0.0" + "is-obj": "^2.0.0" }, "engines": { - "node": ">=12" + "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/del/node_modules/slash": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", - "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", + "node_modules/confusing-browser-globals": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz", + "integrity": "sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==", + "dev": true + }, + "node_modules/console-control-strings": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==" + }, + "node_modules/core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==" + }, + "node_modules/cosmiconfig": { + "version": "8.3.6", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.6.tgz", + "integrity": "sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==", "dev": true, + "dependencies": { + "import-fresh": "^3.3.0", + "js-yaml": "^4.1.0", + "parse-json": "^5.2.0", + "path-type": "^4.0.0" + }, "engines": { - "node": ">=12" + "node": ">=14" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/d-fischer" + }, + "peerDependencies": { + "typescript": ">=4.9.5" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, "engines": { - "node": ">=0.4.0" + "node": ">= 8" } }, - "node_modules/delegates": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", - "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=" - }, - "node_modules/depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", + "node_modules/crypto-random-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-4.0.0.tgz", + "integrity": "sha512-x8dy3RnvYdlUcPOjkEHqozhiwzKNSq7GcPuXFbnyMOCHxX8V3OgIg/pYuabl2sbUPfIJaeAQB7PMOK8DFIdoRA==", + "dev": true, + "dependencies": { + "type-fest": "^1.0.1" + }, "engines": { - "node": ">= 0.6" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/deprecation": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz", - "integrity": "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==" - }, - "node_modules/detect-indent": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-6.1.0.tgz", - "integrity": "sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==", + "node_modules/crypto-random-string/node_modules/type-fest": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz", + "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==", + "dev": true, "engines": { - "node": ">=8" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/detect-newline": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", - "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "bin": { + "cssesc": "bin/cssesc" + }, "engines": { - "node": ">=8" + "node": ">=4" } }, - "node_modules/dezalgo": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.3.tgz", - "integrity": "sha1-f3Qt4Gb8dIvI24IFad3c5Jvw1FY=", + "node_modules/dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==", "dependencies": { - "asap": "^2.0.0", - "wrappy": "1" + "assert-plus": "^1.0.0" + }, + "engines": { + "node": ">=0.10" } }, - "node_modules/didyoumean": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", - "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==" + "node_modules/date-fns": { + "version": "1.30.1", + "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-1.30.1.tgz", + "integrity": "sha512-hBSVCvSmWC+QypYObzwGOd9wqdDpOt+0wl0KbU+R+uuZBS1jN8VsD1ss3irQDknRj5NvxiTF6oj/nDRnN/UQNw==", + "dev": true }, - "node_modules/diff": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", - "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==", + "node_modules/dateformat": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-5.0.3.tgz", + "integrity": "sha512-Kvr6HmPXUMerlLcLF+Pwq3K7apHpYmGDVqrxcDasBg86UcKeTSNWbEzU8bwdXnxnR44FtMhJAxI4Bov6Y/KUfA==", "engines": { - "node": ">=0.3.1" + "node": ">=12.20" } }, - "node_modules/dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "node_modules/debounce-fn": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/debounce-fn/-/debounce-fn-5.1.2.tgz", + "integrity": "sha512-Sr4SdOZ4vw6eQDvPYNxHogvrxmCIld/VenC5JbNrFwMiwd7lY/Z18ZFfo+EWNG4DD9nFlAujWAo/wGuOPHmy5A==", "dependencies": { - "path-type": "^4.0.0" + "mimic-fn": "^4.0.0" }, "engines": { - "node": ">=8" - } - }, - "node_modules/doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dev": true, - "dependencies": { - "esutils": "^2.0.2" + "node": ">=12" }, - "engines": { - "node": ">=6.0.0" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/dot-prop": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-6.0.1.tgz", - "integrity": "sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA==", + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "dependencies": { - "is-obj": "^2.0.0" + "ms": "2.1.2" }, "engines": { - "node": ">=10" + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, - "node_modules/drange": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/drange/-/drange-1.1.1.tgz", - "integrity": "sha512-pYxfDYpued//QpnLIm4Avk7rsNtAtQkUES2cwAYSvD/wd2pKD71gN2Ebj3e7klzXwjocvE8c5vx/1fxwpqmSxA==", + "node_modules/debuglog": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/debuglog/-/debuglog-1.0.1.tgz", + "integrity": "sha512-syBZ+rnAK3EgMsH2aYEOLUW7mZSY9Gb+0wUMCFsZvcmiz+HigA0LOcq/HoQqVuGG+EKykunc7QG2bzrponfaSw==", + "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", "engines": { - "node": ">=4" + "node": "*" } }, - "node_modules/eastasianwidth": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", - "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", - "dev": true - }, - "node_modules/ecc-jsbn": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", - "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", - "dependencies": { - "jsbn": "~0.1.0", - "safer-buffer": "^2.1.0" + "node_modules/decamelize": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz", + "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/ejs": { - "version": "3.1.8", - "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.8.tgz", - "integrity": "sha512-/sXZeMlhS0ArkfX2Aw780gJzXSMPnKjtspYZv+f3NiKLlubezAHDU5+9xz6gd3/NhG3txQCo6xlglmTS+oTGEQ==", + "node_modules/decompress-response": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", + "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", "dependencies": { - "jake": "^10.8.5" - }, - "bin": { - "ejs": "bin/cli.js" + "mimic-response": "^3.1.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/ejs-include-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/ejs-include-regex/-/ejs-include-regex-1.0.0.tgz", - "integrity": "sha1-4vcVdcv9VRrIALJHTB9io45wCTo=", - "dev": true + "node_modules/decompress-response/node_modules/mimic-response": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", + "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "node_modules/ejs-lint": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ejs-lint/-/ejs-lint-2.0.0.tgz", - "integrity": "sha512-zt3E6MWLBYpWuUEOFRRqzB74gxCOZJAzoKmJR810U2mIrLnP1v6Xyk8tc6tl4pbT63cFoEqELPx9K8URjmpyZg==", + "node_modules/deep-eql": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.3.tgz", + "integrity": "sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==", "dev": true, "dependencies": { - "chalk": "^5.0.0", - "ejs": "3.1.8", - "ejs-include-regex": "^1.0.0", - "globby": "^13.0.0", - "read-input": "^0.3.1", - "slash": "^5.0.0", - "syntax-error": "^1.1.6", - "yargs": "^17.0.0" + "type-detect": "^4.0.0" }, - "bin": { - "ejslint": "cli.js" + "engines": { + "node": ">=6" } }, - "node_modules/ejs-lint/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, + "node_modules/deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", "engines": { - "node": ">=8" + "node": ">=4.0.0" } }, - "node_modules/ejs-lint/node_modules/chalk": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.1.2.tgz", - "integrity": "sha512-E5CkT4jWURs1Vy5qGJye+XwCkNj7Od3Af7CP6SujMetSMkLs8Do2RWJK5yx1wamHV/op8Rz+9rltjaTQWDnEFQ==", - "dev": true, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==" + }, + "node_modules/default-browser": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/default-browser/-/default-browser-4.0.0.tgz", + "integrity": "sha512-wX5pXO1+BrhMkSbROFsyxUm0i/cJEScyNhA4PPxc41ICuv05ZZB/MX28s8aZx6xjmatvebIapF6hLEKEcpneUA==", + "dependencies": { + "bundle-name": "^3.0.0", + "default-browser-id": "^3.0.0", + "execa": "^7.1.1", + "titleize": "^3.0.0" + }, "engines": { - "node": "^12.17.0 || ^14.13 || >=16.0.0" + "node": ">=14.16" }, "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/ejs-lint/node_modules/cliui": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", - "dev": true, + "node_modules/default-browser-id": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/default-browser-id/-/default-browser-id-3.0.0.tgz", + "integrity": "sha512-OZ1y3y0SqSICtE8DE4S8YOE9UZOJ8wO16fKWVP5J1Qz42kV9jcnMVFrEE/noXb/ss3Q4pZIH79kxofzyNNtUNA==", "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" + "bplist-parser": "^0.2.0", + "untildify": "^4.0.0" }, "engines": { "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/ejs-lint/node_modules/globby": { - "version": "13.1.2", - "resolved": "https://registry.npmjs.org/globby/-/globby-13.1.2.tgz", - "integrity": "sha512-LKSDZXToac40u8Q1PQtZihbNdTYSNMuWe+K5l+oa6KgDzSvVrHXlJy40hUP522RjAIoNLJYBJi7ow+rbFpIhHQ==", - "dev": true, + "node_modules/default-browser/node_modules/execa": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-7.2.0.tgz", + "integrity": "sha512-UduyVP7TLB5IcAQl+OzLyLcS/l32W/GLg+AhHJ+ow40FOk2U3SAllPwR44v4vmdFwIWqpdwxxpQbF1n5ta9seA==", "dependencies": { - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.11", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^4.0.0" + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.1", + "human-signals": "^4.3.0", + "is-stream": "^3.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^5.1.0", + "onetime": "^6.0.0", + "signal-exit": "^3.0.7", + "strip-final-newline": "^3.0.0" }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "node": "^14.18.0 || ^16.14.0 || >=18.0.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, - "node_modules/ejs-lint/node_modules/globby/node_modules/slash": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", - "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", - "dev": true, + "node_modules/default-browser/node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", "engines": { - "node": ">=12" + "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/ejs-lint/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, + "node_modules/default-browser/node_modules/human-signals": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-4.3.1.tgz", + "integrity": "sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==", "engines": { - "node": ">=8" + "node": ">=14.18.0" } }, - "node_modules/ejs-lint/node_modules/slash": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-5.0.0.tgz", - "integrity": "sha512-n6KkmvKS0623igEVj3FF0OZs1gYYJ0o0Hj939yc1fyxl2xt+xYpLnzJB6xBSqOfV9ZFLEWodBBN/heZJahuIJQ==", - "dev": true, - "engines": { - "node": ">=14.16" + "node_modules/default-browser/node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" + }, + "node_modules/defaults": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", + "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", + "dependencies": { + "clone": "^1.0.2" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/ejs-lint/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, + "node_modules/defaults/node_modules/clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/defer-to-connect": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz", + "integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==", + "engines": { + "node": ">=10" + } + }, + "node_modules/define-data-property": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.1.tgz", + "integrity": "sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==", "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" + "get-intrinsic": "^1.2.1", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.0" }, "engines": { - "node": ">=8" + "node": ">= 0.4" } }, - "node_modules/ejs-lint/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, + "node_modules/define-lazy-prop": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz", + "integrity": "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/define-properties": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", "dependencies": { - "ansi-regex": "^5.0.1" + "define-data-property": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" }, "engines": { - "node": ">=8" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/ejs-lint/node_modules/yargs": { - "version": "17.6.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.6.2.tgz", - "integrity": "sha512-1/9UrdHjDZc0eOU0HxOHoS78C69UD3JRMvzlJ7S79S2nTaWRA/whGCTV8o9e/N/1Va9YIV7Q4sOxD8VV4pCWOw==", + "node_modules/del": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/del/-/del-7.1.0.tgz", + "integrity": "sha512-v2KyNk7efxhlyHpjEvfyxaAihKKK0nWCuf6ZtqZcFFpQRG0bJ12Qsr0RpvsICMjAAZ8DOVCxrlqpxISlMHC4Kg==", "dev": true, "dependencies": { - "cliui": "^8.0.1", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.3", - "y18n": "^5.0.5", - "yargs-parser": "^21.1.1" + "globby": "^13.1.2", + "graceful-fs": "^4.2.10", + "is-glob": "^4.0.3", + "is-path-cwd": "^3.0.0", + "is-path-inside": "^4.0.0", + "p-map": "^5.5.0", + "rimraf": "^3.0.2", + "slash": "^4.0.0" }, "engines": { - "node": ">=12" + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/ejs-lint/node_modules/yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "node_modules/del/node_modules/is-path-inside": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-4.0.0.tgz", + "integrity": "sha512-lJJV/5dYS+RcL8uQdBDW9c9uWFLLBNRyFhnAKXw5tVqLlKZ4RMGZKv+YQ/IA3OhD+RpbJa1LLFM1FQPGyIXvOA==", "dev": true, "engines": { "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/elegant-spinner": { - "version": "1.0.1", + "node_modules/del/node_modules/slash": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", + "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/delegates": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==" + }, + "node_modules/deprecation": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz", + "integrity": "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==" + }, + "node_modules/detect-indent": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-7.0.1.tgz", + "integrity": "sha512-Mc7QhQ8s+cLrnUfU/Ji94vG/r8M26m8f++vyres4ZoojaRDpZ1eSIh/EpzLNwlWuvzSZ3UbDFspjFvTDXe6e/g==", + "engines": { + "node": ">=12.20" + } + }, + "node_modules/detect-newline": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-4.0.1.tgz", + "integrity": "sha512-qE3Veg1YXzGHQhlA6jzebZN2qVf6NX+A7m7qlhCGG30dJixrAQhYOsJjsnBjJkCSmuOPpCk30145fr8FV0bzog==", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/dezalgo": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.4.tgz", + "integrity": "sha512-rXSP0bf+5n0Qonsb+SVVfNfIsimO4HEtmnIpPHY8Q1UCzKlQrDMfdobr8nJOOsRgWCyMRqeSBQzmWUMq7zvVig==", + "dependencies": { + "asap": "^2.0.0", + "wrappy": "1" + } + }, + "node_modules/didyoumean": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", + "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==" + }, + "node_modules/diff": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-5.1.0.tgz", + "integrity": "sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==", + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/diff-sequences": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz", + "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==", + "dev": true, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/dockerfile-ast": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/dockerfile-ast/-/dockerfile-ast-0.6.1.tgz", + "integrity": "sha512-m3rH2qHHU2pSTCppXgJT+1KLxhvkdROOxVPof5Yz4IPGSw6K+x0B0/RFdYgXN5zsIUTlbOSRyfDCv3/uVhnNmg==", + "dependencies": { + "vscode-languageserver-textdocument": "^1.0.8", + "vscode-languageserver-types": "^3.17.3" + }, + "engines": { + "node": "*" + } + }, + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/dot-prop": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-8.0.2.tgz", + "integrity": "sha512-xaBe6ZT4DHPkg0k4Ytbvn5xoxgpG0jOS1dYxSOwAHPuNLjP3/OzN0gH55SrLqpx8cBfSaVt91lXYkApjb+nYdQ==", + "dependencies": { + "type-fest": "^3.8.0" + }, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/dot-prop/node_modules/type-fest": { + "version": "3.13.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-3.13.1.tgz", + "integrity": "sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g==", + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/dot-properties": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dot-properties/-/dot-properties-1.0.1.tgz", + "integrity": "sha512-cjIHHKlf2dPINJ5Io3lPocWvWmthXn3ztqyHVzUfufRiCiPECb0oiEqEGbEGaunFZtcMvwgUcxP9CTpLG4KCsA==" + }, + "node_modules/drange": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/drange/-/drange-1.1.1.tgz", + "integrity": "sha512-pYxfDYpued//QpnLIm4Avk7rsNtAtQkUES2cwAYSvD/wd2pKD71gN2Ebj3e7klzXwjocvE8c5vx/1fxwpqmSxA==", + "engines": { + "node": ">=4" + } + }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==" + }, + "node_modules/ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==", + "dependencies": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "node_modules/ejs": { + "version": "3.1.8", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.8.tgz", + "integrity": "sha512-/sXZeMlhS0ArkfX2Aw780gJzXSMPnKjtspYZv+f3NiKLlubezAHDU5+9xz6gd3/NhG3txQCo6xlglmTS+oTGEQ==", + "dependencies": { + "jake": "^10.8.5" + }, + "bin": { + "ejs": "bin/cli.js" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ejs-include-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/ejs-include-regex/-/ejs-include-regex-1.0.0.tgz", + "integrity": "sha512-OTkvS8Dm8XhaE/+EKIjYjInRkNahQwkUUacAZXvA8Gqr5KEZrOsgFk8AkKYSnoTcdvKV0wnoG7YHWb4gkZFu8Q==", + "dev": true + }, + "node_modules/ejs-lint": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ejs-lint/-/ejs-lint-2.0.0.tgz", + "integrity": "sha512-zt3E6MWLBYpWuUEOFRRqzB74gxCOZJAzoKmJR810U2mIrLnP1v6Xyk8tc6tl4pbT63cFoEqELPx9K8URjmpyZg==", + "dev": true, + "dependencies": { + "chalk": "^5.0.0", + "ejs": "3.1.8", + "ejs-include-regex": "^1.0.0", + "globby": "^13.0.0", + "read-input": "^0.3.1", + "slash": "^5.0.0", + "syntax-error": "^1.1.6", + "yargs": "^17.0.0" + }, + "bin": { + "ejslint": "cli.js" + } + }, + "node_modules/ejs-lint/node_modules/chalk": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", + "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", + "dev": true, + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/elegant-spinner": { + "version": "1.0.1", "resolved": "https://registry.npmjs.org/elegant-spinner/-/elegant-spinner-1.0.1.tgz", - "integrity": "sha1-2wQ1IcldfjA/2PNFvtwzSc+wcp4=", + "integrity": "sha512-B+ZM+RXvRqQaAmkMlO/oSe5nMUOaUnyfGYCEHoR8wrXsZR2mA0XVibsxV1bvTwxdRWah1PkQqso2EzhILGHtEQ==", "dev": true, "engines": { "node": ">=0.10.0" @@ -3453,11 +4329,14 @@ } }, "node_modules/env-paths": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", - "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-3.0.0.tgz", + "integrity": "sha512-dtJUTepzMW3Lm/NPxRf3wP4642UWhjL2sQxc+ym2YMj1m/H2zDNQOlezafzkHwn6sMstjHTwG6iQQsctDW/b1A==", "engines": { - "node": ">=6" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/err-code": { @@ -3474,36 +4353,31 @@ "version": "1.3.2", "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, "dependencies": { "is-arrayish": "^0.2.1" } }, - "node_modules/error-ex/node_modules/is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" - }, "node_modules/es-abstract": { - "version": "1.22.1", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.1.tgz", - "integrity": "sha512-ioRRcXMO6OFyRpyzV3kE1IIBd4WG5/kltnzdxSCqoP8CMGs/Li+M1uF5o7lOkZVFjDs+NLesthnF66Pg/0q0Lw==", - "dev": true, + "version": "1.22.3", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.3.tgz", + "integrity": "sha512-eiiY8HQeYfYH2Con2berK+To6GrK2RxbPawDkGq4UiCQQfZHb6wX9qQqkbpPqaxQFcl8d9QzZqo0tGE0VcrdwA==", "dependencies": { "array-buffer-byte-length": "^1.0.0", - "arraybuffer.prototype.slice": "^1.0.1", + "arraybuffer.prototype.slice": "^1.0.2", "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", + "call-bind": "^1.0.5", "es-set-tostringtag": "^2.0.1", "es-to-primitive": "^1.2.1", - "function.prototype.name": "^1.1.5", - "get-intrinsic": "^1.2.1", + "function.prototype.name": "^1.1.6", + "get-intrinsic": "^1.2.2", "get-symbol-description": "^1.0.0", "globalthis": "^1.0.3", "gopd": "^1.0.1", - "has": "^1.0.3", "has-property-descriptors": "^1.0.0", "has-proto": "^1.0.1", "has-symbols": "^1.0.3", + "hasown": "^2.0.0", "internal-slot": "^1.0.5", "is-array-buffer": "^3.0.2", "is-callable": "^1.2.7", @@ -3511,23 +4385,23 @@ "is-regex": "^1.1.4", "is-shared-array-buffer": "^1.0.2", "is-string": "^1.0.7", - "is-typed-array": "^1.1.10", + "is-typed-array": "^1.1.12", "is-weakref": "^1.0.2", - "object-inspect": "^1.12.3", + "object-inspect": "^1.13.1", "object-keys": "^1.1.1", "object.assign": "^4.1.4", - "regexp.prototype.flags": "^1.5.0", - "safe-array-concat": "^1.0.0", + "regexp.prototype.flags": "^1.5.1", + "safe-array-concat": "^1.0.1", "safe-regex-test": "^1.0.0", - "string.prototype.trim": "^1.2.7", - "string.prototype.trimend": "^1.0.6", - "string.prototype.trimstart": "^1.0.6", + "string.prototype.trim": "^1.2.8", + "string.prototype.trimend": "^1.0.7", + "string.prototype.trimstart": "^1.0.7", "typed-array-buffer": "^1.0.0", "typed-array-byte-length": "^1.0.0", "typed-array-byte-offset": "^1.0.0", "typed-array-length": "^1.0.4", "unbox-primitive": "^1.0.2", - "which-typed-array": "^1.1.10" + "which-typed-array": "^1.1.13" }, "engines": { "node": ">= 0.4" @@ -3537,14 +4411,13 @@ } }, "node_modules/es-set-tostringtag": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz", - "integrity": "sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==", - "dev": true, + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.2.tgz", + "integrity": "sha512-BuDyupZt65P9D2D2vA/zqcI3G5xRsklm5N3xCwuiy+/vKy8i0ifdsQP1sLgO4tZDSCaQUSnmC48khknGMV3D2Q==", "dependencies": { - "get-intrinsic": "^1.1.3", - "has": "^1.0.3", - "has-tostringtag": "^1.0.0" + "get-intrinsic": "^1.2.2", + "has-tostringtag": "^1.0.0", + "hasown": "^2.0.0" }, "engines": { "node": ">= 0.4" @@ -3554,7 +4427,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz", "integrity": "sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==", - "dev": true, "dependencies": { "hasown": "^2.0.0" } @@ -3563,7 +4435,6 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", - "dev": true, "dependencies": { "is-callable": "^1.1.4", "is-date-object": "^1.0.1", @@ -3571,6 +4442,47 @@ }, "engines": { "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/esbuild": { + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.19.11.tgz", + "integrity": "sha512-HJ96Hev2hX/6i5cDVwcqiJBBtuo9+FeIJOtZ9W1kA5M6AMJRHUZlpYZ1/SbEwtO0ioNAW8rUooVpC/WehY2SfA==", + "dev": true, + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.19.11", + "@esbuild/android-arm": "0.19.11", + "@esbuild/android-arm64": "0.19.11", + "@esbuild/android-x64": "0.19.11", + "@esbuild/darwin-arm64": "0.19.11", + "@esbuild/darwin-x64": "0.19.11", + "@esbuild/freebsd-arm64": "0.19.11", + "@esbuild/freebsd-x64": "0.19.11", + "@esbuild/linux-arm": "0.19.11", + "@esbuild/linux-arm64": "0.19.11", + "@esbuild/linux-ia32": "0.19.11", + "@esbuild/linux-loong64": "0.19.11", + "@esbuild/linux-mips64el": "0.19.11", + "@esbuild/linux-ppc64": "0.19.11", + "@esbuild/linux-riscv64": "0.19.11", + "@esbuild/linux-s390x": "0.19.11", + "@esbuild/linux-x64": "0.19.11", + "@esbuild/netbsd-x64": "0.19.11", + "@esbuild/openbsd-x64": "0.19.11", + "@esbuild/sunos-x64": "0.19.11", + "@esbuild/win32-arm64": "0.19.11", + "@esbuild/win32-ia32": "0.19.11", + "@esbuild/win32-x64": "0.19.11" } }, "node_modules/escalade": { @@ -3595,18 +4507,20 @@ } }, "node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", "engines": { - "node": ">=0.8.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/eslint": { "version": "8.56.0", "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.56.0.tgz", "integrity": "sha512-Go19xM6T9puCOWntie1/P997aXxFsOi37JIHRWI514Hc6ZnaHGKY9xFhrU65RT6CcBEzZoGG1e6Nq+DT04ZtZQ==", - "dev": true, "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.6.1", @@ -3677,9 +4591,9 @@ } }, "node_modules/eslint-config-airbnb-base/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, "bin": { "semver": "bin/semver.js" @@ -3701,7 +4615,6 @@ "version": "0.3.9", "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz", "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==", - "dev": true, "dependencies": { "debug": "^3.2.7", "is-core-module": "^2.13.0", @@ -3712,7 +4625,6 @@ "version": "3.2.7", "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, "dependencies": { "ms": "^2.1.1" } @@ -3721,7 +4633,6 @@ "version": "2.8.0", "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.0.tgz", "integrity": "sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==", - "dev": true, "dependencies": { "debug": "^3.2.7" }, @@ -3738,7 +4649,6 @@ "version": "3.2.7", "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, "dependencies": { "ms": "^2.1.1" } @@ -3805,31 +4715,67 @@ } }, "node_modules/eslint-plugin-prettier": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-4.2.1.tgz", - "integrity": "sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ==", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.1.2.tgz", + "integrity": "sha512-dhlpWc9vOwohcWmClFcA+HjlvUpuyynYs0Rf+L/P6/0iQE6vlHW9l5bkfzN62/Stm9fbq8ku46qzde76T1xlSg==", "dev": true, "dependencies": { - "prettier-linter-helpers": "^1.0.0" + "prettier-linter-helpers": "^1.0.0", + "synckit": "^0.8.6" }, "engines": { - "node": ">=12.0.0" + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint-plugin-prettier" }, "peerDependencies": { - "eslint": ">=7.28.0", - "prettier": ">=2.0.0" + "@types/eslint": ">=8.0.0", + "eslint": ">=8.0.0", + "eslint-config-prettier": "*", + "prettier": ">=3.0.0" }, "peerDependenciesMeta": { + "@types/eslint": { + "optional": true + }, "eslint-config-prettier": { "optional": true } } }, - "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, + "node_modules/eslint-plugin-unused-imports": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-unused-imports/-/eslint-plugin-unused-imports-3.0.0.tgz", + "integrity": "sha512-sduiswLJfZHeeBJ+MQaG+xYzSWdRXoSw61DpU13mzWumCkR0ufD0HmO4kdNokjrkluMHpj/7PJeN35pgbhW3kw==", + "dependencies": { + "eslint-rule-composer": "^0.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "@typescript-eslint/eslint-plugin": "^6.0.0", + "eslint": "^8.0.0" + }, + "peerDependenciesMeta": { + "@typescript-eslint/eslint-plugin": { + "optional": true + } + } + }, + "node_modules/eslint-rule-composer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/eslint-rule-composer/-/eslint-rule-composer-0.3.0.tgz", + "integrity": "sha512-bt+Sh8CtDmn2OajxvNO+BX7Wn4CIWMpTRm3MaiKPCQcnnlm0CS2mhui6QaoeQugs+3Kj2ESKEEGJUdVafwhiCg==", + "engines": { + "node": ">=4.0.0" + } + }, + "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==", "dependencies": { "esrecurse": "^4.3.0", "estraverse": "^5.2.0" @@ -3845,7 +4791,6 @@ "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, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, @@ -3853,123 +4798,10 @@ "url": "https://opencollective.com/eslint" } }, - "node_modules/eslint/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, - "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" - } - }, - "node_modules/eslint/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/eslint/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==", - "dev": true - }, - "node_modules/eslint/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, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint/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, - "dependencies": { - "flat-cache": "^3.0.4" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/eslint/node_modules/flat-cache": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", - "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", - "dev": true, - "dependencies": { - "flatted": "^3.1.0", - "rimraf": "^3.0.2" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/eslint/node_modules/flatted": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.1.1.tgz", - "integrity": "sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA==", - "dev": true - }, - "node_modules/eslint/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, - "dependencies": { - "is-glob": "^4.0.3" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/eslint/node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dev": true, - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/eslint/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 - }, - "node_modules/eslint/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, - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, "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, "dependencies": { "acorn": "^8.9.0", "acorn-jsx": "^5.3.2", @@ -3982,18 +4814,6 @@ "url": "https://opencollective.com/eslint" } }, - "node_modules/espree/node_modules/acorn": { - "version": "8.11.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.2.tgz", - "integrity": "sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==", - "dev": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, "node_modules/esprima": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", @@ -4007,10 +4827,9 @@ } }, "node_modules/esquery": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.2.tgz", - "integrity": "sha512-JVSoLdTlTDkmjFmab7H/9SL9qGSyjElT3myyKp7krqjVFQCDLmj1QFaCLRFBszBKI0XVZaiiXvuPIX3ZwHe1Ng==", - "dev": true, + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", "dependencies": { "estraverse": "^5.1.0" }, @@ -4022,7 +4841,6 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, "dependencies": { "estraverse": "^5.2.0" }, @@ -4034,7 +4852,6 @@ "version": "5.3.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, "engines": { "node": ">=4.0" } @@ -4043,7 +4860,6 @@ "version": "2.0.3", "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -4057,51 +4873,40 @@ } }, "node_modules/eventemitter3": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", - "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==" + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.1.tgz", + "integrity": "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==" }, "node_modules/events": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz", - "integrity": "sha512-kEcvvCBByWXGnZy6JUlgAp2gBIUjfCAV6P6TgT1/aaQKcmuAEC4OZTV1I4EWQLz2gxZw76atuVyvHhTxvi0Flw==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", "engines": { - "node": ">=0.4.x" + "node": ">=0.8.x" } }, "node_modules/execa": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", - "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", + "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==", "dependencies": { - "cross-spawn": "^7.0.0", - "get-stream": "^5.0.0", - "human-signals": "^1.1.1", - "is-stream": "^2.0.0", + "cross-spawn": "^7.0.3", + "get-stream": "^8.0.1", + "human-signals": "^5.0.0", + "is-stream": "^3.0.0", "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.0", - "onetime": "^5.1.0", - "signal-exit": "^3.0.2", - "strip-final-newline": "^2.0.0" + "npm-run-path": "^5.1.0", + "onetime": "^6.0.0", + "signal-exit": "^4.1.0", + "strip-final-newline": "^3.0.0" }, "engines": { - "node": ">=10" + "node": ">=16.17" }, "funding": { "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, - "node_modules/execa/node_modules/is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/exit-hook": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/exit-hook/-/exit-hook-4.0.0.tgz", @@ -4114,6 +4919,11 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/exponential-backoff": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/exponential-backoff/-/exponential-backoff-3.1.1.tgz", + "integrity": "sha512-dX7e/LHVJ6W3DE1MHWi9S1EYzDESENfLrYohG2G++ovZrYOkm4Knwa0mc1cn84xJOR4KEU0WSchhLbd0UklbHw==" + }, "node_modules/extend": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", @@ -4135,7 +4945,7 @@ "node_modules/extsprintf": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", + "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==", "engines": [ "node >=0.6.0" ] @@ -4146,11 +4956,16 @@ "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" }, "node_modules/fast-diff": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz", - "integrity": "sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz", + "integrity": "sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==", "dev": true }, + "node_modules/fast-fifo": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.3.2.tgz", + "integrity": "sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==" + }, "node_modules/fast-glob": { "version": "3.3.2", "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", @@ -4166,6 +4981,17 @@ "node": ">=8.6.0" } }, + "node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/fast-json-stable-stringify": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", @@ -4174,13 +5000,33 @@ "node_modules/fast-levenshtein": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==" + }, + "node_modules/fast-xml-parser": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.3.2.tgz", + "integrity": "sha512-rmrXUXwbJedoXkStenj1kkljNF7ugn5ZjR9FJcwmCfcCbtOMDghPajbc+Tck6vE6F5XsDmx+Pr2le9fw8+pXBg==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/NaturalIntelligence" + }, + { + "type": "paypal", + "url": "https://paypal.me/naturalintelligence" + } + ], + "dependencies": { + "strnum": "^1.0.5" + }, + "bin": { + "fxparser": "src/cli/cli.js" + } }, "node_modules/fastq": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.8.0.tgz", - "integrity": "sha512-SMIZoZdLh/fgofivvIkmknUXyPnvxRE3DhtZ5Me3Mrsk5gyPL42F0xr51TdRXskBxHfMp+07bcYzfsYEsSQA9Q==", + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.16.0.tgz", + "integrity": "sha512-ifCoaXsDrsdkWTtiNJX5uzHDsrck5TzfKKDcuFFTIrrc/BS076qgEIfoIy1VeZqViznfKiysPYTh/QeHtnIsYA==", "dependencies": { "reusify": "^1.0.4" } @@ -4191,98 +5037,104 @@ "integrity": "sha512-OP2IUU6HeYKJi3i0z4A19kHMQoLVs4Hc+DPqqxI2h/DPZHTm/vjsfC6P0b4jCMy14XizLBqvndQ+UilD7707Jw==" }, "node_modules/figures": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", - "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-5.0.0.tgz", + "integrity": "sha512-ej8ksPF4x6e5wvK9yevct0UCXh8TTFlWGVLlgjZuoBH1HwjIfKE/IdL5mq89sFA7zELi1VhKpmtDnrs7zWyeyg==", "dependencies": { - "escape-string-regexp": "^1.0.5" + "escape-string-regexp": "^5.0.0", + "is-unicode-supported": "^1.2.0" }, "engines": { - "node": ">=4" + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/filelist": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.1.tgz", - "integrity": "sha512-8zSK6Nu0DQIC08mUC46sWGXi+q3GGpKydAG36k+JDba6VRpkevvOWUW5a/PhShij4+vHT9M+ghgG7eM+a9JDUQ==", - "dependencies": { - "minimatch": "^3.0.4" + "node_modules/figures/node_modules/escape-string-regexp": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", + "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "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==", "dependencies": { - "to-regex-range": "^5.0.1" + "flat-cache": "^3.0.4" }, "engines": { - "node": ">=8" + "node": "^10.12.0 || >=12.0.0" } }, - "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==", + "node_modules/filelist": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", + "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==", "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" + "minimatch": "^5.0.1" } }, - "node_modules/find-up-simple": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/find-up-simple/-/find-up-simple-1.0.0.tgz", - "integrity": "sha512-q7Us7kcjj2VMePAa02hDAF6d+MzsdsAWEwYyOpwUtlerRBkOEPBCRZrAV4XfcSN8fHAgaD0hP7miwoay6DCprw==", - "dev": true, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node_modules/filelist/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dependencies": { + "balanced-match": "^1.0.0" } }, - "node_modules/find-up/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==", + "node_modules/filelist/node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", "dependencies": { - "p-locate": "^5.0.0" + "brace-expansion": "^2.0.1" }, "engines": { "node": ">=10" } }, - "node_modules/find-up/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==", + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", "dependencies": { - "yocto-queue": "^0.1.0" + "to-regex-range": "^5.0.1" }, "engines": { - "node": ">=10" + "node": ">=8" } }, - "node_modules/find-up/node_modules/p-locate": { + "node_modules/find-up": { "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==", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", "dependencies": { - "p-limit": "^3.0.2" + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" }, "engines": { "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/find-up/node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "node_modules/find-up-simple": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/find-up-simple/-/find-up-simple-1.0.0.tgz", + "integrity": "sha512-q7Us7kcjj2VMePAa02hDAF6d+MzsdsAWEwYyOpwUtlerRBkOEPBCRZrAV4XfcSN8fHAgaD0hP7miwoay6DCprw==", "engines": { - "node": ">=8" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/find-yarn-workspace-root2": { @@ -4317,6 +5169,20 @@ "node": ">=8" } }, + "node_modules/find-yarn-workspace-root2/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==", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/find-yarn-workspace-root2/node_modules/p-locate": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", @@ -4328,14 +5194,6 @@ "node": ">=8" } }, - "node_modules/find-yarn-workspace-root2/node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "engines": { - "node": ">=8" - } - }, "node_modules/find-yarn-workspace-root2/node_modules/pkg-dir": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", @@ -4348,50 +5206,66 @@ } }, "node_modules/first-chunk-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/first-chunk-stream/-/first-chunk-stream-2.0.0.tgz", - "integrity": "sha1-G97NuOCDwGZLkZRVgVd6Q6nzHXA=", - "dependencies": { - "readable-stream": "^2.0.2" - }, + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/first-chunk-stream/-/first-chunk-stream-5.0.0.tgz", + "integrity": "sha512-WdHo4ejd2cG2Dl+sLkW79SctU7mUQDfr4s1i26ffOZRs5mgv+BRttIM9gwcq0rDbemo0KlpVPaa3LBVLqPXzcQ==", "engines": { - "node": ">=0.10.0" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/first-chunk-stream/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "node_modules/flat": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", + "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", + "dev": true, + "bin": { + "flat": "cli.js" + } + }, + "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==", "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "flatted": "^3.2.9", + "keyv": "^4.5.3", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" } }, - "node_modules/first-chunk-stream/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + "node_modules/flatted": { + "version": "3.2.9", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.9.tgz", + "integrity": "sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==" }, - "node_modules/first-chunk-stream/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "node_modules/fly-import": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/fly-import/-/fly-import-0.4.0.tgz", + "integrity": "sha512-sgIZHb7m0eze7hneKzuzXPLWs3RD9vK93Kqc4hvm/eiptVLbYHz4zZp0ckUAXUCoxq5/yGjfh7OUUJOWP9VqGA==", "dependencies": { - "safe-buffer": "~5.1.0" + "@npmcli/arborist": "^7.2.0", + "env-paths": "^3.0.0", + "registry-auth-token": "^5.0.2", + "registry-url": "^6.0.1" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" } }, - "node_modules/flat": { + "node_modules/fly-import/node_modules/registry-auth-token": { "version": "5.0.2", - "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", - "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", - "dev": true, - "bin": { - "flat": "cli.js" + "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-5.0.2.tgz", + "integrity": "sha512-o/3ikDxtXaA59BmZuZrJZDJv8NMDGSj+6j6XaeBmHw8eY1i1qd9+6H+LjVvQXx3HN6aRCGa1cUdJ9RaJZUugnQ==", + "dependencies": { + "@pnpm/npm-conf": "^2.1.0" + }, + "engines": { + "node": ">=14" } }, "node_modules/fn.name": { @@ -4400,9 +5274,9 @@ "integrity": "sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw==" }, "node_modules/follow-redirects": { - "version": "1.15.4", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.4.tgz", - "integrity": "sha512-Cr4D/5wlrb0z9dgERpUL3LrmPKVDsETIJhaCMeDfuFYcqa5bldGV6wBsAN6X/vxlXQtFBMrXdXxdL8CbDTGniw==", + "version": "1.15.5", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.5.tgz", + "integrity": "sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==", "funding": [ { "type": "individual", @@ -4426,32 +5300,46 @@ "is-callable": "^1.1.3" } }, + "node_modules/foreground-child": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz", + "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==", + "dependencies": { + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/forever-agent": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", + "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==", "engines": { "node": "*" } }, "node_modules/form-data": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", - "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", "dependencies": { "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", + "combined-stream": "^1.0.8", "mime-types": "^2.1.12" }, "engines": { - "node": ">= 0.12" + "node": ">= 6" } }, "node_modules/form-data-encoder": { "version": "2.1.4", "resolved": "https://registry.npmjs.org/form-data-encoder/-/form-data-encoder-2.1.4.tgz", "integrity": "sha512-yDYSgNMraqvnxiEXO4hi88+YZxaHC6QKzb5N84iRCTDeRO7ZALpir/lVmf/uXUhnwUr2O4HU8s/n6x+yNjQkHw==", - "dev": true, "engines": { "node": ">= 14.17" } @@ -4470,25 +5358,25 @@ } }, "node_modules/fs-minipass": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", - "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-3.0.3.tgz", + "integrity": "sha512-XUBA9XClHbnJWSfBzjkm6RvPsyg3sryZt06BEQoXcF7EK/xpGaQYJgQKDJSUH5SGZ76Y7pFx1QBnXz09rU5Fbw==", "dependencies": { - "minipass": "^3.0.0" + "minipass": "^7.0.3" }, "engines": { - "node": ">= 8" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" }, "node_modules/fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", "dev": true, "hasInstallScript": true, "optional": true, @@ -4508,15 +5396,14 @@ } }, "node_modules/function.prototype.name": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", - "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", - "dev": true, + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz", + "integrity": "sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==", "dependencies": { "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.0", - "functions-have-names": "^1.2.2" + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "functions-have-names": "^1.2.3" }, "engines": { "node": ">= 0.4" @@ -4529,186 +5416,446 @@ "version": "1.2.3", "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", - "dev": true, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/gauge": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-3.0.1.tgz", - "integrity": "sha512-6STz6KdQgxO4S/ko+AbjlFGGdGcknluoqU+79GOFCDqqyYj5OanQf9AjxwN0jCidtT+ziPMmPSt9E4hfQ0CwIQ==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-5.0.1.tgz", + "integrity": "sha512-CmykPMJGuNan/3S4kZOpvvPYSNqSHANiWnh9XcMU2pSjtBfF0XzZ2p1bFAxTbnFxyBuPxQYHhzwaoOmUdqzvxQ==", "dependencies": { "aproba": "^1.0.3 || ^2.0.0", - "color-support": "^1.1.2", - "console-control-strings": "^1.0.0", + "color-support": "^1.1.3", + "console-control-strings": "^1.1.0", "has-unicode": "^2.0.1", - "object-assign": "^4.1.1", - "signal-exit": "^3.0.0", - "string-width": "^1.0.1 || ^2.0.0", - "strip-ansi": "^3.0.1 || ^4.0.0", - "wide-align": "^1.1.2" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/gauge/node_modules/strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dependencies": { - "ansi-regex": "^3.0.0" + "signal-exit": "^4.0.1", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wide-align": "^1.1.5" }, "engines": { - "node": ">=4" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/generator-jhipster": { - "version": "7.9.4", - "resolved": "https://registry.npmjs.org/generator-jhipster/-/generator-jhipster-7.9.4.tgz", - "integrity": "sha512-O9f/2RVlC1l/b/9bZ7FMJKeIWkFMlCcDC+lPaDMnc39dWn/dVa22PDzZtGR19BCoQ+hHTlKsndvXiwVwkBbKVA==", - "dependencies": { - "@faker-js/faker": "5.5.3", - "aws-sdk": "2.1204.0", - "axios": "0.27.2", - "chalk": "4.1.2", - "chevrotain": "10.3.0", - "commander": "9.4.0", - "conf": "10.2.0", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/generator-jhipster/-/generator-jhipster-8.1.0.tgz", + "integrity": "sha512-ifdoCxLOGqK6QNwTwlRmf94aM9YvnKVhM+8vhPIUusLqkbj/n69VKNDknDI+jMOkBjvjy9eP0WP6ABLBQRqrPQ==", + "dependencies": { + "@faker-js/faker": "8.3.1", + "@iarna/toml": "3.0.0", + "@types/ejs": "3.1.5", + "@types/lodash": "4.14.202", + "@typescript-eslint/eslint-plugin": "6.13.2", + "@typescript-eslint/parser": "6.13.2", + "@yeoman/adapter": "1.4.0", + "@yeoman/conflicter": "2.0.0", + "@yeoman/namespace": "1.0.0", + "@yeoman/transform": "1.2.0", + "@yeoman/types": "1.1.2", + "axios": "1.6.2", + "chalk": "5.3.0", + "chevrotain": "11.0.3", + "commander": "11.1.0", + "conf": "12.0.0", "debug": "4.3.4", "didyoumean": "1.2.2", - "ejs": "3.1.8", - "escape-string-regexp": "4.0.0", - "glob": "8.0.3", + "dockerfile-ast": "0.6.1", + "dot-properties": "1.0.1", + "ejs": "3.1.9", + "escape-string-regexp": "5.0.0", + "eslint": "8.55.0", + "eslint-plugin-import": "2.29.0", + "eslint-plugin-unused-imports": "3.0.0", + "execa": "8.0.1", + "fast-xml-parser": "4.3.2", + "glob": "10.3.10", "insight": "0.11.1", - "isbinaryfile": "4.0.10", + "isbinaryfile": "5.0.0", + "java-lint": "0.1.1", "js-yaml": "4.1.0", - "lodash": "4.17.21", - "mem-fs-editor": "9.5.0", - "minimatch": "5.1.0", + "latest-version": "7.0.0", + "lodash-es": "4.17.21", + "mem-fs": "4.0.0", + "mem-fs-editor": "11.0.0", + "minimatch": "9.0.3", "normalize-path": "3.0.0", - "os-locale": "5.0.0", - "p-queue": "6.6.2", - "p-transform": "1.3.0", + "os-locale": "6.0.2", + "p-queue": "8.0.0", + "p-transform": "4.1.5", "parse-gitignore": "2.0.0", "pluralize": "8.0.0", - "prettier": "2.7.1", - "prettier-plugin-java": "1.6.2", - "prettier-plugin-packagejson": "2.2.18", + "prettier": "3.1.0", + "prettier-plugin-java": "2.5.0", + "prettier-plugin-packagejson": "2.4.7", + "prettier-plugin-properties": "0.3.0", "progress": "2.0.3", "randexp": "0.5.3", - "semver": "7.3.7", - "shelljs": "0.8.5", - "simple-git": "3.13.0", - "then-request": "6.0.2", - "uuid": "8.3.2", - "winston": "3.8.1", - "yeoman-environment": "3.12.0", - "yeoman-generator": "5.7.0" + "run-async": "3.0.0", + "semver": "7.5.4", + "simple-git": "3.21.0", + "type-fest": "4.8.3", + "uuid": "9.0.1", + "winston": "3.11.0", + "yaml": "2.3.4", + "yeoman-environment": "4.1.3", + "yeoman-generator": "7.1.1" }, "bin": { - "jhipster": "cli/jhipster.js" + "jhipster": "dist/cli/jhipster.cjs" }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0", - "npm": ">=6.14.4" + "node": "^18.13.0 || >= 20.6.1", + "npm": ">=8.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/generator-jhipster" + }, + "peerDependencies": { + "yeoman-test": "8.2.0" + }, + "peerDependenciesMeta": { + "yeoman-test": { + "optional": true + } } }, - "node_modules/generator-jhipster/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/generator-jhipster/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dependencies": { - "balanced-match": "^1.0.0" + "node_modules/generator-jhipster/node_modules/@eslint/js": { + "version": "8.55.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.55.0.tgz", + "integrity": "sha512-qQfo2mxH5yVom1kacMtZZJFVdW+E70mqHMJvVg6WTLo+VBuQJ4TojZlfWBjK0ve5BdEeNAVxOsl/nvNMpJOaJA==", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, - "node_modules/generator-jhipster/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==", + "node_modules/generator-jhipster/node_modules/chalk": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", + "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", "engines": { - "node": ">=10" + "node": "^12.17.0 || ^14.13 || >=16.0.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/generator-jhipster/node_modules/glob": { - "version": "8.0.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-8.0.3.tgz", - "integrity": "sha512-ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ==", + "node_modules/generator-jhipster/node_modules/ejs": { + "version": "3.1.9", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.9.tgz", + "integrity": "sha512-rC+QVNMJWv+MtPgkt0y+0rVEIdbtxVADApW9JXrUVlzHetgcyczP/E7DJmWJ4fJCZF2cPcBk0laWO9ZHMG3DmQ==", "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^5.0.1", - "once": "^1.3.0" + "jake": "^10.8.5" + }, + "bin": { + "ejs": "bin/cli.js" }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/generator-jhipster/node_modules/escape-string-regexp": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", + "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", "engines": { "node": ">=12" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/generator-jhipster/node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "node_modules/generator-jhipster/node_modules/eslint": { + "version": "8.55.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.55.0.tgz", + "integrity": "sha512-iyUUAM0PCKj5QpwGfmCAG9XXbZCWsqP/eWAWrG/W0umvjuLRBECwSFdt+rCntju0xEH7teIABPwXpahftIaTdA==", "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.4", + "@eslint/js": "8.55.0", + "@humanwhocodes/config-array": "^0.11.13", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "@ungap/structured-clone": "^1.2.0", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.2", + "eslint-visitor-keys": "^3.4.3", + "espree": "^9.6.1", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/generator-jhipster/node_modules/eslint-plugin-import": { + "version": "2.29.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.29.0.tgz", + "integrity": "sha512-QPOO5NO6Odv5lpoTkddtutccQjysJuFxoPS7fAHO+9m9udNHvTCPSAMW9zGAYj8lAIdr40I8yPCdUYrncXtrwg==", + "dependencies": { + "array-includes": "^3.1.7", + "array.prototype.findlastindex": "^1.2.3", + "array.prototype.flat": "^1.3.2", + "array.prototype.flatmap": "^1.3.2", + "debug": "^3.2.7", + "doctrine": "^2.1.0", + "eslint-import-resolver-node": "^0.3.9", + "eslint-module-utils": "^2.8.0", + "hasown": "^2.0.0", + "is-core-module": "^2.13.1", + "is-glob": "^4.0.3", + "minimatch": "^3.1.2", + "object.fromentries": "^2.0.7", + "object.groupby": "^1.0.1", + "object.values": "^1.1.7", + "semver": "^6.3.1", + "tsconfig-paths": "^3.14.2" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8" + } + }, + "node_modules/generator-jhipster/node_modules/eslint-plugin-import/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/generator-jhipster/node_modules/eslint-plugin-import/node_modules/doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/generator-jhipster/node_modules/eslint-plugin-import/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/generator-jhipster/node_modules/eslint-plugin-import/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/generator-jhipster/node_modules/eslint/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/generator-jhipster/node_modules/eslint/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==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/generator-jhipster/node_modules/eslint/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/generator-jhipster/node_modules/locate-path": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-7.2.0.tgz", + "integrity": "sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==", + "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/generator-jhipster/node_modules/minimatch": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz", - "integrity": "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==", + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", "dependencies": { "brace-expansion": "^2.0.1" }, "engines": { - "node": ">=10" + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/generator-jhipster/node_modules/minimatch/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/generator-jhipster/node_modules/p-limit": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz", + "integrity": "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==", + "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/generator-jhipster/node_modules/p-locate": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-6.0.0.tgz", + "integrity": "sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==", + "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/generator-jhipster/node_modules/prettier": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.7.1.tgz", - "integrity": "sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.1.0.tgz", + "integrity": "sha512-TQLvXjq5IAibjh8EpBIkNKxO749UEWABoiIZehEPiY4GNpVdhaFKqSTu+QrlU6D2dPAfubRmtJTi4K4YkQ5eXw==", "bin": { - "prettier": "bin-prettier.js" + "prettier": "bin/prettier.cjs" }, "engines": { - "node": ">=10.13.0" + "node": ">=14" }, "funding": { "url": "https://github.com/prettier/prettier?sponsor=1" } }, - "node_modules/generator-jhipster/node_modules/semver": { - "version": "7.3.7", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", - "dependencies": { - "lru-cache": "^6.0.0" + "node_modules/generator-jhipster/node_modules/untildify": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/untildify/-/untildify-5.0.0.tgz", + "integrity": "sha512-bOgQLUnd2G5rhzaTvh1VCI9Fo6bC5cLTpH17T5aFfamyXFYDbbdzN6IXdeoc3jBS7T9hNTmJtYUzJCJ2Xlc9gA==", + "engines": { + "node": ">=16" + } + }, + "node_modules/generator-jhipster/node_modules/yeoman-environment": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/yeoman-environment/-/yeoman-environment-4.1.3.tgz", + "integrity": "sha512-S+xF8Jz7EgnJdzpPRw6MC5e7w/JTNs43Uy6I7S5ya8EjVzurdKJYfd9KCcERQzhONdAGx070CwEvd2CFaRsQpw==", + "dependencies": { + "@yeoman/adapter": "^1.4.0", + "@yeoman/conflicter": "^2.0.0-alpha.2", + "@yeoman/namespace": "^1.0.0", + "@yeoman/transform": "^1.2.0", + "arrify": "^3.0.0", + "chalk": "^5.3.0", + "commander": "^11.1.0", + "debug": "^4.3.4", + "execa": "^8.0.1", + "fly-import": "^0.4.0", + "globby": "^13.2.2", + "grouped-queue": "^2.0.0", + "locate-path": "^7.2.0", + "lodash-es": "^4.17.21", + "mem-fs-editor": "^11.0.0", + "semver": "^7.5.4", + "slash": "^5.1.0", + "untildify": "^5.0.0", + "which-package-manager": "^0.0.1" }, "bin": { - "semver": "bin/semver.js" + "yoe": "bin/bin.cjs" }, "engines": { - "node": ">=10" + "node": "^18.17.0 || >=20.5.0" + }, + "peerDependencies": { + "@yeoman/types": "^1.1.1", + "mem-fs": "^4.0.0" + } + }, + "node_modules/generator-jhipster/node_modules/yocto-queue": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.0.0.tgz", + "integrity": "sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==", + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/get-caller-file": { @@ -4742,28 +5889,36 @@ } }, "node_modules/get-intrinsic": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz", - "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.2.tgz", + "integrity": "sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==", "dependencies": { - "function-bind": "^1.1.1", - "has": "^1.0.3", + "function-bind": "^1.1.2", "has-proto": "^1.0.1", - "has-symbols": "^1.0.3" + "has-symbols": "^1.0.3", + "hasown": "^2.0.0" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "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==", - "dependencies": { - "pump": "^3.0.0" + "node_modules/get-stdin": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-9.0.0.tgz", + "integrity": "sha512-dVKBjfWisLAicarI2Sf+JuBE/DghV4UzNAVe9yhEJuzeREd3JhOTE9cUaJTeSa77fsbQUK3pcOpJfM59+VKZaA==", + "engines": { + "node": ">=12" }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/get-stream": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", + "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==", "engines": { - "node": ">=8" + "node": ">=16" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -4773,7 +5928,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", - "dev": true, "dependencies": { "call-bind": "^1.0.2", "get-intrinsic": "^1.1.1" @@ -4788,15 +5942,15 @@ "node_modules/getpass": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==", "dependencies": { "assert-plus": "^1.0.0" } }, "node_modules/git-hooks-list": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/git-hooks-list/-/git-hooks-list-1.0.3.tgz", - "integrity": "sha512-Y7wLWcrLUXwk2noSka166byGCvhMtDRpgHdzCno1UQv/n/Hegp++a2xBWJL1lJarnKD3SWaljD+0z1ztqxuKyQ==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/git-hooks-list/-/git-hooks-list-3.1.0.tgz", + "integrity": "sha512-LF8VeHeR7v+wAbXqfgRlTSX/1BJR9Q1vEMR8JAz1cEg6GX07+zyj3sAdDvYjj/xnlIfVuGgj4qBei1K3hKH+PA==", "funding": { "url": "https://github.com/fisker/git-hooks-list?sponsor=1" } @@ -4804,48 +5958,75 @@ "node_modules/github-url-from-git": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/github-url-from-git/-/github-url-from-git-1.5.0.tgz", - "integrity": "sha1-+YX+3MCpqledyI16/waNVcxiUaA=", + "integrity": "sha512-WWOec4aRI7YAykQ9+BHmzjyNlkfJFG8QLXnDTsLz/kZefq7qkzdfo4p6fkYYMIq1aj+gZcQs/1HQhQh3DPPxlQ==", "dev": true }, "node_modules/github-username": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/github-username/-/github-username-6.0.0.tgz", - "integrity": "sha512-7TTrRjxblSI5l6adk9zd+cV5d6i1OrJSo3Vr9xdGqFLBQo0mz5P9eIfKCDJ7eekVGGFLbce0qbPSnktXV2BjDQ==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/github-username/-/github-username-7.0.0.tgz", + "integrity": "sha512-mzCjmmR1LcNf0/qvkJRO63di2lUUuEoRuCqzflq8wrpAajOo7zLSXOTTuj2qr1DhFY2pruw5JLw/CokZU/3ilg==", "dependencies": { - "@octokit/rest": "^18.0.6" + "@octokit/rest": "^18.12.0" }, "engines": { - "node": ">=10" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", + "version": "10.3.10", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz", + "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==", "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "foreground-child": "^3.1.0", + "jackspeak": "^2.3.5", + "minimatch": "^9.0.1", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", + "path-scurry": "^1.10.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" }, "engines": { - "node": "*" + "node": ">=16 || 14 >=14.17" }, "funding": { "url": "https://github.com/sponsors/isaacs" } }, "node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", "dependencies": { - "is-glob": "^4.0.1" + "is-glob": "^4.0.3" }, "engines": { - "node": ">= 6" + "node": ">=10.13.0" + } + }, + "node_modules/glob/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/glob/node_modules/minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, "node_modules/global-directory": { @@ -4888,10 +6069,9 @@ } }, "node_modules/globals": { - "version": "13.23.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.23.0.tgz", - "integrity": "sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==", - "dev": true, + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", "dependencies": { "type-fest": "^0.20.2" }, @@ -4906,7 +6086,6 @@ "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, "engines": { "node": ">=10" }, @@ -4918,7 +6097,6 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", - "dev": true, "dependencies": { "define-properties": "^1.1.3" }, @@ -4930,21 +6108,32 @@ } }, "node_modules/globby": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-10.0.0.tgz", - "integrity": "sha512-3LifW9M4joGZasyYPz2A1U74zbC/45fvpXUvO/9KbSa+VV0aGZarWkfdgKyR9sExNP0t0x0ss/UMJpNpcaTspw==", + "version": "13.2.2", + "resolved": "https://registry.npmjs.org/globby/-/globby-13.2.2.tgz", + "integrity": "sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==", "dependencies": { - "@types/glob": "^7.1.1", - "array-union": "^2.1.0", "dir-glob": "^3.0.1", - "fast-glob": "^3.0.3", - "glob": "^7.1.3", - "ignore": "^5.1.1", - "merge2": "^1.2.3", - "slash": "^3.0.0" + "fast-glob": "^3.3.0", + "ignore": "^5.2.4", + "merge2": "^1.4.1", + "slash": "^4.0.0" }, "engines": { - "node": ">=8" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globby/node_modules/slash": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", + "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/gopd": { @@ -4991,8 +6180,7 @@ "node_modules/graphemer": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", - "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", - "dev": true + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==" }, "node_modules/grouped-queue": { "version": "2.0.0", @@ -5005,7 +6193,7 @@ "node_modules/har-schema": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", + "integrity": "sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==", "engines": { "node": ">=4" } @@ -5014,6 +6202,7 @@ "version": "5.1.5", "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", + "deprecated": "this library is no longer supported", "dependencies": { "ajv": "^6.12.3", "har-schema": "^2.0.0" @@ -5022,37 +6211,10 @@ "node": ">=6" } }, - "node_modules/har-validator/node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "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" - } - }, - "node_modules/har-validator/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==" - }, - "node_modules/has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dependencies": { - "function-bind": "^1.1.1" - }, - "engines": { - "node": ">= 0.4.0" - } - }, "node_modules/has-ansi": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", - "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "integrity": "sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==", "dev": true, "dependencies": { "ansi-regex": "^2.0.0" @@ -5064,7 +6226,7 @@ "node_modules/has-ansi/node_modules/ansi-regex": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", "dev": true, "engines": { "node": ">=0.10.0" @@ -5074,26 +6236,24 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", - "dev": true, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "engines": { - "node": ">=4" + "node": ">=8" } }, "node_modules/has-property-descriptors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", - "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", - "dev": true, + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz", + "integrity": "sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==", "dependencies": { - "get-intrinsic": "^1.1.1" + "get-intrinsic": "^1.2.2" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -5138,7 +6298,7 @@ "node_modules/has-unicode": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", - "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=" + "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==" }, "node_modules/has-yarn": { "version": "3.0.0", @@ -5173,22 +6333,14 @@ } }, "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==" - }, - "node_modules/http-basic": { - "version": "8.1.3", - "resolved": "https://registry.npmjs.org/http-basic/-/http-basic-8.1.3.tgz", - "integrity": "sha512-/EcDMwJZh3mABI2NhGfHOGOeOZITqfkEO4p/xK+l3NpyncIHUQBoMvCSF/b5GqvKtySC2srL/GGG3+EtlqlmCw==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-7.0.1.tgz", + "integrity": "sha512-+K84LB1DYwMHoHSgaOY/Jfhw3ucPmSET5v98Ke/HdNSw4a0UktWzyW1mjhjpuxxTqOOsfWT/7iVshHmVZ4IpOA==", "dependencies": { - "caseless": "^0.12.0", - "concat-stream": "^1.6.2", - "http-response-object": "^3.0.1", - "parse-cache-control": "^1.0.1" + "lru-cache": "^10.0.1" }, "engines": { - "node": ">=6.0.0" + "node": "^16.14.0 || >=18.0.0" } }, "node_modules/http-cache-semantics": { @@ -5197,35 +6349,21 @@ "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==" }, "node_modules/http-proxy-agent": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", - "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.0.tgz", + "integrity": "sha512-+ZT+iBxVUQ1asugqnD6oWoRiS25AkjNfG085dKJGtGxkdwLQrMKU5wJr2bOOFAXzKcTuqq+7fZlTMgG3SRfIYQ==", "dependencies": { - "@tootallnate/once": "1", - "agent-base": "6", - "debug": "4" + "agent-base": "^7.1.0", + "debug": "^4.3.4" }, "engines": { - "node": ">= 6" - } - }, - "node_modules/http-response-object": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/http-response-object/-/http-response-object-3.0.2.tgz", - "integrity": "sha512-bqX0XTF6fnXSQcEJ2Iuyr75yVakyjIDCqroJQ/aHfSdlM743Cwqoi2nDYMzLGWUcuTWGWy8AAvOKXTfiv6q9RA==", - "dependencies": { - "@types/node": "^10.0.3" + "node": ">= 14" } }, - "node_modules/http-response-object/node_modules/@types/node": { - "version": "10.17.56", - "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.56.tgz", - "integrity": "sha512-LuAa6t1t0Bfw4CuSR0UITsm1hP17YL+u82kfHGrHUWdhlBtH7sa7jGY5z7glGaIj/WDYDkRtgGd+KCjCzxBW1w==" - }, "node_modules/http-signature": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", - "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "integrity": "sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==", "dependencies": { "assert-plus": "^1.0.0", "jsprim": "^1.2.2", @@ -5250,29 +6388,29 @@ } }, "node_modules/https-proxy-agent": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz", - "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==", + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.2.tgz", + "integrity": "sha512-NmLNjm6ucYwtcUmL7JQC1ZQ57LmHP4lT15FQ8D61nak1rO6DH+fz5qNK2Ap5UN4ZapYICE3/0KodcLYSPsPbaA==", "dependencies": { - "agent-base": "6", + "agent-base": "^7.0.2", "debug": "4" }, "engines": { - "node": ">= 6" + "node": ">= 14" } }, "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==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", + "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==", "engines": { - "node": ">=8.12.0" + "node": ">=16.17.0" } }, "node_modules/humanize-ms": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz", - "integrity": "sha1-xG4xWaKT9riW2ikxbYtv6Lt5u+0=", + "integrity": "sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==", "dependencies": { "ms": "^2.0.0" } @@ -5304,9 +6442,23 @@ } }, "node_modules/ieee754": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz", - "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==" + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] }, "node_modules/ignore": { "version": "5.3.0", @@ -5317,10 +6469,9 @@ } }, "node_modules/ignore-walk": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-6.0.3.tgz", - "integrity": "sha512-C7FfFoTA+bI10qfeydT8aZbvr91vAEU+2W5BZUlzPec47oNb07SsOfwYrtxuvOYdUApPP/Qlh4DtAO51Ekk2QA==", - "dev": true, + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-6.0.4.tgz", + "integrity": "sha512-t7sv42WkwFkyKbivUCglsQW5YWMskWtbEf4MNKX5u/CCWHKSPzN4FtBQGsQZgCLbxOzpVlcbWVK5KB3auIOjSw==", "dependencies": { "minimatch": "^9.0.0" }, @@ -5332,16 +6483,14 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, "dependencies": { "balanced-match": "^1.0.0" } }, "node_modules/ignore-walk/node_modules/minimatch": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.1.tgz", - "integrity": "sha512-0jWhJpD/MdhPXwPuiRkCbfYfSKp2qnn2eOc279qI7f+osl/l+prKSrvhg157zSYvx/1nmgn2NqdT6k2Z7zSH9w==", - "dev": true, + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", "dependencies": { "brace-expansion": "^2.0.1" }, @@ -5356,7 +6505,6 @@ "version": "3.3.0", "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "dev": true, "dependencies": { "parent-module": "^1.0.0", "resolve-from": "^4.0.0" @@ -5368,15 +6516,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/import-fresh/node_modules/resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true, - "engines": { - "node": ">=4" - } - }, "node_modules/import-lazy": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-4.0.0.tgz", @@ -5430,6 +6569,21 @@ "node": ">=8" } }, + "node_modules/import-local/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, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/import-local/node_modules/p-locate": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", @@ -5442,15 +6596,6 @@ "node": ">=8" } }, - "node_modules/import-local/node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/import-local/node_modules/pkg-dir": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", @@ -5466,24 +6611,24 @@ "node_modules/imurmurhash": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", "engines": { "node": ">=0.8.19" } }, "node_modules/indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz", + "integrity": "sha512-BYqTHXTGUIvg7t1r4sJNKcbDZkL92nkXA8YtRpbjFHRHGDL/NtUeiBJMeE60kIFN/Mg8ESaWQvftaYMGJzQZCQ==", + "dev": true, "engines": { - "node": ">=8" + "node": ">=4" } }, "node_modules/index-to-position": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/index-to-position/-/index-to-position-0.1.2.tgz", "integrity": "sha512-MWDKS3AS1bGCHLBA2VLImJz42f7bJh8wQsTGCzI3j519/CASStoDONUBVz2I/VID0MpiX3SGSnbOD2xUalbE5g==", - "dev": true, "engines": { "node": ">=18" }, @@ -5499,7 +6644,7 @@ "node_modules/inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", "dependencies": { "once": "^1.3.0", "wrappy": "1" @@ -5520,26 +6665,28 @@ } }, "node_modules/inquirer": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.5.2.tgz", - "integrity": "sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ==", + "version": "9.2.12", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-9.2.12.tgz", + "integrity": "sha512-mg3Fh9g2zfuVWJn6lhST0O7x4n03k7G8Tx5nvikJkbq8/CK47WDVm+UznF0G6s5Zi0KcyUisr6DU8T67N5U+1Q==", "dependencies": { - "ansi-escapes": "^3.2.0", - "chalk": "^2.4.2", - "cli-cursor": "^2.1.0", - "cli-width": "^2.0.0", - "external-editor": "^3.0.3", - "figures": "^2.0.0", - "lodash": "^4.17.12", - "mute-stream": "0.0.7", - "run-async": "^2.2.0", - "rxjs": "^6.4.0", - "string-width": "^2.1.0", - "strip-ansi": "^5.1.0", - "through": "^2.3.6" + "@ljharb/through": "^2.3.11", + "ansi-escapes": "^4.3.2", + "chalk": "^5.3.0", + "cli-cursor": "^3.1.0", + "cli-width": "^4.1.0", + "external-editor": "^3.1.0", + "figures": "^5.0.0", + "lodash": "^4.17.21", + "mute-stream": "1.0.0", + "ora": "^5.4.1", + "run-async": "^3.0.0", + "rxjs": "^7.8.1", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^6.2.0" }, "engines": { - "node": ">=6.0.0" + "node": ">=14.18.0" } }, "node_modules/inquirer-autosubmit-prompt": { @@ -5553,24 +6700,41 @@ "rxjs": "^6.3.3" } }, - "node_modules/inquirer-autosubmit-prompt/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "node_modules/inquirer-autosubmit-prompt/node_modules/ansi-escapes": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", + "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/inquirer-autosubmit-prompt/node_modules/ansi-regex": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/inquirer-autosubmit-prompt/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "color-convert": "^1.9.0" }, "engines": { "node": ">=4" } }, - "node_modules/inquirer/node_modules/chalk": { + "node_modules/inquirer-autosubmit-prompt/node_modules/chalk": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, "dependencies": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", @@ -5580,1073 +6744,997 @@ "node": ">=4" } }, - "node_modules/insight": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/insight/-/insight-0.11.1.tgz", - "integrity": "sha512-TBcZ0qC9dgdmcxL93OoqkY/RZXJtIi0i07phX/QyYk2ysmJtZex59dgTj4Doq50N9CG9dLRe/RIudc/5CCoFNw==", + "node_modules/inquirer-autosubmit-prompt/node_modules/cli-cursor": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", + "integrity": "sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw==", + "dev": true, "dependencies": { - "async": "^2.6.2", - "chalk": "^4.1.1", - "conf": "^10.0.1", - "inquirer": "^6.3.1", - "lodash.debounce": "^4.0.8", - "os-name": "^4.0.1", - "request": "^2.88.0", - "tough-cookie": "^4.0.0", - "uuid": "^8.3.2" + "restore-cursor": "^2.0.0" }, "engines": { - "node": ">=12.20" + "node": ">=4" } }, - "node_modules/insight/node_modules/async": { - "version": "2.6.4", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", - "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", - "dependencies": { - "lodash": "^4.17.14" - } + "node_modules/inquirer-autosubmit-prompt/node_modules/cli-width": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.1.tgz", + "integrity": "sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==", + "dev": true }, - "node_modules/internal-slot": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz", - "integrity": "sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==", + "node_modules/inquirer-autosubmit-prompt/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "dev": true, "dependencies": { - "get-intrinsic": "^1.2.0", - "has": "^1.0.3", - "side-channel": "^1.0.4" - }, - "engines": { - "node": ">= 0.4" + "color-name": "1.1.3" } }, - "node_modules/interpret": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", - "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", - "engines": { - "node": ">= 0.10" - } + "node_modules/inquirer-autosubmit-prompt/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true }, - "node_modules/invert-kv": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-3.0.1.tgz", - "integrity": "sha512-CYdFeFexxhv/Bcny+Q0BfOV+ltRlJcd4BBZBYFX/O0u4npJrgZtIcjokegtiSMAvlMTJ+Koq0GBCc//3bueQxw==", + "node_modules/inquirer-autosubmit-prompt/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, "engines": { - "node": ">=8" + "node": ">=0.8.0" } }, - "node_modules/ip": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", - "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=" - }, - "node_modules/is-arguments": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", - "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", + "node_modules/inquirer-autosubmit-prompt/node_modules/figures": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", + "integrity": "sha512-Oa2M9atig69ZkfwiApY8F2Yy+tzMbazyvqv21R0NsSC8floSOC09BbT1ITWAdoMGQvJ/aZnR1KMwdx9tvHnTNA==", + "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" + "escape-string-regexp": "^1.0.5" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=4" } }, - "node_modules/is-array-buffer": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz", - "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==", + "node_modules/inquirer-autosubmit-prompt/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.0", - "is-typed-array": "^1.1.10" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=4" } }, - "node_modules/is-arrayish": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", - "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==" - }, - "node_modules/is-bigint": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", - "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "node_modules/inquirer-autosubmit-prompt/node_modules/inquirer": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.5.2.tgz", + "integrity": "sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ==", "dev": true, "dependencies": { - "has-bigints": "^1.0.1" + "ansi-escapes": "^3.2.0", + "chalk": "^2.4.2", + "cli-cursor": "^2.1.0", + "cli-width": "^2.0.0", + "external-editor": "^3.0.3", + "figures": "^2.0.0", + "lodash": "^4.17.12", + "mute-stream": "0.0.7", + "run-async": "^2.2.0", + "rxjs": "^6.4.0", + "string-width": "^2.1.0", + "strip-ansi": "^5.1.0", + "through": "^2.3.6" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=6.0.0" } }, - "node_modules/is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "node_modules/inquirer-autosubmit-prompt/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", "dev": true, - "dependencies": { - "binary-extensions": "^2.0.0" - }, "engines": { - "node": ">=8" + "node": ">=4" } }, - "node_modules/is-boolean-object": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", - "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "node_modules/inquirer-autosubmit-prompt/node_modules/mimic-fn": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=4" } }, - "node_modules/is-callable": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", - "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", - "engines": { - "node": ">= 0.4" + "node_modules/inquirer-autosubmit-prompt/node_modules/mute-stream": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", + "integrity": "sha512-r65nCZhrbXXb6dXOACihYApHw2Q6pV0M3V0PSxd74N0+D8nzAdEAITq2oAjA1jVnKI+tGvEBUpqiMh0+rW6zDQ==", + "dev": true + }, + "node_modules/inquirer-autosubmit-prompt/node_modules/onetime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", + "integrity": "sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ==", + "dev": true, + "dependencies": { + "mimic-fn": "^1.0.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=4" } }, - "node_modules/is-core-module": { - "version": "2.13.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", - "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", + "node_modules/inquirer-autosubmit-prompt/node_modules/restore-cursor": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", + "integrity": "sha512-6IzJLuGi4+R14vwagDHX+JrXmPVtPpn4mffDJ1UdR7/Edm87fl6yi8mMBIVvFtJaNTUvjughmW4hwLhRG7gC1Q==", + "dev": true, "dependencies": { - "hasown": "^2.0.0" + "onetime": "^2.0.0", + "signal-exit": "^3.0.2" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=4" } }, - "node_modules/is-date-object": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz", - "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==", + "node_modules/inquirer-autosubmit-prompt/node_modules/run-async": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", + "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", "dev": true, "engines": { - "node": ">= 0.4" + "node": ">=0.12.0" } }, - "node_modules/is-docker": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz", - "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==", + "node_modules/inquirer-autosubmit-prompt/node_modules/rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", "dev": true, - "bin": { - "is-docker": "cli.js" + "dependencies": { + "tslib": "^1.9.0" }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "npm": ">=2.0.0" } }, - "node_modules/is-extglob": { + "node_modules/inquirer-autosubmit-prompt/node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + }, + "node_modules/inquirer-autosubmit-prompt/node_modules/string-width": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "dependencies": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + }, "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, - "node_modules/is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "node_modules/inquirer-autosubmit-prompt/node_modules/string-width/node_modules/ansi-regex": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", + "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==", + "dev": true, "engines": { "node": ">=4" } }, - "node_modules/is-generator-function": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", - "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", + "node_modules/inquirer-autosubmit-prompt/node_modules/string-width/node_modules/strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==", + "dev": true, "dependencies": { - "has-tostringtag": "^1.0.0" + "ansi-regex": "^3.0.0" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=4" } }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "node_modules/inquirer-autosubmit-prompt/node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, "dependencies": { - "is-extglob": "^2.1.1" + "ansi-regex": "^4.1.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=6" } }, - "node_modules/is-in-ci": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/is-in-ci/-/is-in-ci-0.1.0.tgz", - "integrity": "sha512-d9PXLEY0v1iJ64xLiQMJ51J128EYHAaOR4yZqQi8aHGfw6KgifM3/Viw1oZZ1GCVmb3gBuyhLyHj0HgR2DhSXQ==", + "node_modules/inquirer-autosubmit-prompt/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, - "bin": { - "is-in-ci": "cli.js" + "dependencies": { + "has-flag": "^3.0.0" }, "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=4" } }, - "node_modules/is-inside-container": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz", - "integrity": "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==", - "dev": true, + "node_modules/inquirer-autosubmit-prompt/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, + "node_modules/inquirer/node_modules/bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", "dependencies": { - "is-docker": "^3.0.0" - }, - "bin": { - "is-inside-container": "cli.js" - }, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" } }, - "node_modules/is-installed-globally": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-1.0.0.tgz", - "integrity": "sha512-K55T22lfpQ63N4KEN57jZUAaAYqYHEe8veb/TycJRk9DdSCLLcovXz/mL6mOnhQaZsQGwPhuFopdQIlqGSEjiQ==", - "dev": true, + "node_modules/inquirer/node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], "dependencies": { - "global-directory": "^4.0.1", - "is-path-inside": "^4.0.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" } }, - "node_modules/is-installed-globally/node_modules/is-path-inside": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-4.0.0.tgz", - "integrity": "sha512-lJJV/5dYS+RcL8uQdBDW9c9uWFLLBNRyFhnAKXw5tVqLlKZ4RMGZKv+YQ/IA3OhD+RpbJa1LLFM1FQPGyIXvOA==", - "dev": true, + "node_modules/inquirer/node_modules/chalk": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", + "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", "engines": { - "node": ">=12" + "node": "^12.17.0 || ^14.13 || >=16.0.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/is-interactive": { + "node_modules/inquirer/node_modules/is-interactive": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", - "dev": true, "engines": { "node": ">=8" } }, - "node_modules/is-lambda": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz", - "integrity": "sha1-PZh3iZ5qU+/AFgUEzeFfgubwYdU=" - }, - "node_modules/is-name-taken": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-name-taken/-/is-name-taken-2.0.0.tgz", - "integrity": "sha512-W+FUWF5g7ONVJTx3rldZeVizmPzrMMUdscpSQ96vyYerx+4b2NcqaujLJJDWruGzE0FjzGZO9RFIipOGxx/WIw==", - "dev": true, - "dependencies": { - "all-package-names": "^2.0.2", - "package-name-conflict": "^1.0.3", - "validate-npm-package-name": "^3.0.0" - } - }, - "node_modules/is-negative-zero": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", - "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", - "dev": true, + "node_modules/inquirer/node_modules/is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", "engines": { - "node": ">= 0.4" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/is-npm": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-6.0.0.tgz", - "integrity": "sha512-JEjxbSmtPSt1c8XTkVrlujcXdKV1/tvuQ7GwKcAlyiVLeYFQ2VHat8xfrDJsIkhCdF/tZ7CiIR3sy141c6+gPQ==", - "dev": true, + "node_modules/inquirer/node_modules/log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "dependencies": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "node_modules/inquirer/node_modules/log-symbols/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, "engines": { - "node": ">=0.12.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/is-number-object": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", - "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", - "dev": true, + "node_modules/inquirer/node_modules/ora": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", + "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", "dependencies": { - "has-tostringtag": "^1.0.0" + "bl": "^4.1.0", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-spinners": "^2.5.0", + "is-interactive": "^1.0.0", + "is-unicode-supported": "^0.1.0", + "log-symbols": "^4.1.0", + "strip-ansi": "^6.0.0", + "wcwidth": "^1.0.1" }, "engines": { - "node": ">= 0.4" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/is-obj": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", - "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", + "node_modules/inquirer/node_modules/ora/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, "engines": { - "node": ">=8" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/is-observable": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-observable/-/is-observable-1.1.0.tgz", - "integrity": "sha512-NqCa4Sa2d+u7BWc6CukaObG3Fh+CU9bvixbpcXYhy2VvYS7vVGIdAgnIS5Ks3A/cqk4rebLJ9s8zBstT2aKnIA==", - "dev": true, + "node_modules/inquirer/node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", "dependencies": { - "symbol-observable": "^1.1.0" + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" }, "engines": { - "node": ">=4" + "node": ">= 6" } }, - "node_modules/is-observable/node_modules/symbol-observable": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz", - "integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==", - "dev": true, + "node_modules/insight": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/insight/-/insight-0.11.1.tgz", + "integrity": "sha512-TBcZ0qC9dgdmcxL93OoqkY/RZXJtIi0i07phX/QyYk2ysmJtZex59dgTj4Doq50N9CG9dLRe/RIudc/5CCoFNw==", + "dependencies": { + "async": "^2.6.2", + "chalk": "^4.1.1", + "conf": "^10.0.1", + "inquirer": "^6.3.1", + "lodash.debounce": "^4.0.8", + "os-name": "^4.0.1", + "request": "^2.88.0", + "tough-cookie": "^4.0.0", + "uuid": "^8.3.2" + }, "engines": { - "node": ">=0.10.0" + "node": ">=12.20" } }, - "node_modules/is-path-cwd": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-3.0.0.tgz", - "integrity": "sha512-kyiNFFLU0Ampr6SDZitD/DwUo4Zs1nSdnygUBqsu3LooL00Qvb5j+UnvApUn/TTj1J3OuE6BTdQ5rudKmU2ZaA==", - "dev": true, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "node_modules/insight/node_modules/ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", - "dev": true, + "node_modules/insight/node_modules/ansi-escapes": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", + "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", "engines": { - "node": ">=8" + "node": ">=4" } }, - "node_modules/is-promise": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.2.2.tgz", - "integrity": "sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==", - "dev": true + "node_modules/insight/node_modules/ansi-regex": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", + "engines": { + "node": ">=6" + } }, - "node_modules/is-regex": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", - "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", - "dev": true, + "node_modules/insight/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" + "color-convert": "^1.9.0" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=4" } }, - "node_modules/is-scoped": { + "node_modules/insight/node_modules/atomically": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/atomically/-/atomically-1.7.0.tgz", + "integrity": "sha512-Xcz9l0z7y9yQ9rdDaxlmaI4uJHf/T8g9hOEzJcsEqX2SjCj4J20uK7+ldkDHMbpJDK76wF7xEIgxc/vSlsfw5w==", + "engines": { + "node": ">=10.12.0" + } + }, + "node_modules/insight/node_modules/cli-cursor": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-scoped/-/is-scoped-2.1.0.tgz", - "integrity": "sha512-Cv4OpPTHAK9kHYzkzCrof3VJh7H/PrG2MBUMvvJebaaUMbqhm0YAtXnvh0I3Hnj2tMZWwrRROWLSgfJrKqWmlQ==", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", + "integrity": "sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw==", "dependencies": { - "scoped-regex": "^2.0.0" + "restore-cursor": "^2.0.0" }, "engines": { - "node": ">=8" + "node": ">=4" } }, - "node_modules/is-shared-array-buffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", - "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", - "dev": true, + "node_modules/insight/node_modules/cli-width": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.1.tgz", + "integrity": "sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==" + }, + "node_modules/insight/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "dependencies": { - "call-bind": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "color-name": "1.1.3" } }, - "node_modules/is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } + "node_modules/insight/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" }, - "node_modules/is-string": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", - "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", - "dev": true, + "node_modules/insight/node_modules/conf": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/conf/-/conf-10.2.0.tgz", + "integrity": "sha512-8fLl9F04EJqjSqH+QjITQfJF8BrOVaYr1jewVgSRAEWePfxT0sku4w2hrGQ60BC/TNLGQ2pgxNlTbWQmMPFvXg==", "dependencies": { - "has-tostringtag": "^1.0.0" + "ajv": "^8.6.3", + "ajv-formats": "^2.1.1", + "atomically": "^1.7.0", + "debounce-fn": "^4.0.0", + "dot-prop": "^6.0.1", + "env-paths": "^2.2.1", + "json-schema-typed": "^7.0.3", + "onetime": "^5.1.2", + "pkg-up": "^3.1.0", + "semver": "^7.3.5" }, "engines": { - "node": ">= 0.4" + "node": ">=12" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/is-symbol": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz", - "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==", - "dev": true, + "node_modules/insight/node_modules/debounce-fn": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/debounce-fn/-/debounce-fn-4.0.0.tgz", + "integrity": "sha512-8pYCQiL9Xdcg0UPSD3d+0KMlOjp+KGU5EPwYddgzQ7DATsg4fuUDjQtsYLmWjnk2obnNHgV3vE2Y4jejSOJVBQ==", "dependencies": { - "has-symbols": "^1.0.1" + "mimic-fn": "^3.0.0" }, "engines": { - "node": ">= 0.4" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/is-typed-array": { - "version": "1.1.10", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz", - "integrity": "sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==", + "node_modules/insight/node_modules/dot-prop": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-6.0.1.tgz", + "integrity": "sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA==", "dependencies": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-tostringtag": "^1.0.0" + "is-obj": "^2.0.0" }, "engines": { - "node": ">= 0.4" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" - }, - "node_modules/is-unicode-supported": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", - "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "node_modules/insight/node_modules/env-paths": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", "engines": { - "node": ">=10" + "node": ">=6" } }, - "node_modules/is-url-superb": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/is-url-superb/-/is-url-superb-6.1.0.tgz", - "integrity": "sha512-LXdhGlYqUPdvEyIhWPEEwYYK3yrUiPcBjmFGlZNv1u5GtIL5qQRf7ddDyPNAvsMFqdzS923FROpTQU97tLe3JQ==", - "dev": true, + "node_modules/insight/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", "engines": { - "node": ">=12" + "node": ">=0.8.0" + } + }, + "node_modules/insight/node_modules/figures": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", + "integrity": "sha512-Oa2M9atig69ZkfwiApY8F2Yy+tzMbazyvqv21R0NsSC8floSOC09BbT1ITWAdoMGQvJ/aZnR1KMwdx9tvHnTNA==", + "dependencies": { + "escape-string-regexp": "^1.0.5" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">=4" } }, - "node_modules/is-utf8": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", - "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=" + "node_modules/insight/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "engines": { + "node": ">=4" + } }, - "node_modules/is-weakref": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", - "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", - "dev": true, + "node_modules/insight/node_modules/inquirer": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.5.2.tgz", + "integrity": "sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ==", "dependencies": { - "call-bind": "^1.0.2" + "ansi-escapes": "^3.2.0", + "chalk": "^2.4.2", + "cli-cursor": "^2.1.0", + "cli-width": "^2.0.0", + "external-editor": "^3.0.3", + "figures": "^2.0.0", + "lodash": "^4.17.12", + "mute-stream": "0.0.7", + "run-async": "^2.2.0", + "rxjs": "^6.4.0", + "string-width": "^2.1.0", + "strip-ansi": "^5.1.0", + "through": "^2.3.6" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=6.0.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, + "node_modules/insight/node_modules/inquirer/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dependencies": { - "is-docker": "^2.0.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" }, "engines": { - "node": ">=8" + "node": ">=4" } }, - "node_modules/is-wsl/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, - "bin": { - "is-docker": "cli.js" - }, + "node_modules/insight/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=4" } }, - "node_modules/isarray": { + "node_modules/insight/node_modules/json-schema-traverse": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" }, - "node_modules/isbinaryfile": { - "version": "4.0.10", - "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-4.0.10.tgz", - "integrity": "sha512-iHrqe5shvBUcFbmZq9zOQHBoeOhZJu6RQGrDpBgenUm/Am+F3JM2MgQj+rK3Z601fzrL5gLZWtAPH2OBaSVcyw==", + "node_modules/insight/node_modules/json-schema-typed": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/json-schema-typed/-/json-schema-typed-7.0.3.tgz", + "integrity": "sha512-7DE8mpG+/fVw+dTpjbxnx47TaMnDfOI1jwft9g1VybltZCduyRQPJPvc+zzKY9WPHxhPWczyFuYa6I8Mw4iU5A==" + }, + "node_modules/insight/node_modules/mimic-fn": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-3.1.0.tgz", + "integrity": "sha512-Ysbi9uYW9hFyfrThdDEQuykN4Ey6BuwPD2kpI5ES/nFTDn/98yxYNLZJcgUAKPT/mcrLLKaGzJR9YVxJrIdASQ==", "engines": { - "node": ">= 8.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/gjtorikian/" + "node": ">=8" } }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" - }, - "node_modules/isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" + "node_modules/insight/node_modules/mute-stream": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", + "integrity": "sha512-r65nCZhrbXXb6dXOACihYApHw2Q6pV0M3V0PSxd74N0+D8nzAdEAITq2oAjA1jVnKI+tGvEBUpqiMh0+rW6zDQ==" }, - "node_modules/issue-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/issue-regex/-/issue-regex-4.1.0.tgz", - "integrity": "sha512-X3HBmm7+Th+l4/kMtqwcHHgELD0Lfl0Ina6S3+grr+mKmTxsrM84NAO1UuRPIxIbGLIl3TCEu45S1kdu21HYbQ==", - "dev": true, + "node_modules/insight/node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dependencies": { + "mimic-fn": "^2.1.0" + }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "node": ">=6" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/jake": { - "version": "10.8.5", - "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.5.tgz", - "integrity": "sha512-sVpxYeuAhWt0OTWITwT98oyV0GsXyMlXCF+3L1SuafBVUIr/uILGRB+NqwkzhgXKvoJpDIpQvqkUALgdmQsQxw==", + "node_modules/insight/node_modules/onetime/node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/insight/node_modules/restore-cursor": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", + "integrity": "sha512-6IzJLuGi4+R14vwagDHX+JrXmPVtPpn4mffDJ1UdR7/Edm87fl6yi8mMBIVvFtJaNTUvjughmW4hwLhRG7gC1Q==", "dependencies": { - "async": "^3.2.3", - "chalk": "^4.0.2", - "filelist": "^1.0.1", - "minimatch": "^3.0.4" - }, - "bin": { - "jake": "bin/cli.js" + "onetime": "^2.0.0", + "signal-exit": "^3.0.2" }, "engines": { - "node": ">=10" + "node": ">=4" } }, - "node_modules/java-parser": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/java-parser/-/java-parser-2.0.2.tgz", - "integrity": "sha512-fwv1eDYE4OIAN+XS7cD8aB7UdQyAh3Uz36ydWqemvnDKXEdLbxq7qIbvsjpSvS1NHFR+r81N7AjGcpnamjVxJw==", - "dependencies": { - "chevrotain": "6.5.0", - "lodash": "4.17.21" + "node_modules/insight/node_modules/restore-cursor/node_modules/mimic-fn": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", + "engines": { + "node": ">=4" } }, - "node_modules/java-parser/node_modules/chevrotain": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/chevrotain/-/chevrotain-6.5.0.tgz", - "integrity": "sha512-BwqQ/AgmKJ8jcMEjaSnfMybnKMgGTrtDKowfTP3pX4jwVy0kNjRsT/AP6h+wC3+3NC+X8X15VWBnTCQlX+wQFg==", + "node_modules/insight/node_modules/restore-cursor/node_modules/onetime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", + "integrity": "sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ==", "dependencies": { - "regexp-to-ast": "0.4.0" + "mimic-fn": "^1.0.0" + }, + "engines": { + "node": ">=4" } }, - "node_modules/java-parser/node_modules/regexp-to-ast": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/regexp-to-ast/-/regexp-to-ast-0.4.0.tgz", - "integrity": "sha512-4qf/7IsIKfSNHQXSwial1IFmfM1Cc/whNBQqRwe0V2stPe7KmN1U0tWQiIx6JiirgSrisjE0eECdNf7Tav1Ntw==" - }, - "node_modules/jmespath": { - "version": "0.16.0", - "resolved": "https://registry.npmjs.org/jmespath/-/jmespath-0.16.0.tgz", - "integrity": "sha512-9FzQjJ7MATs1tSpnco1K6ayiYE3figslrXA72G2HQ/n76RzvYlofyi5QM+iX4YRs/pu3yzxlVQSST23+dMDknw==", + "node_modules/insight/node_modules/run-async": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", + "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", "engines": { - "node": ">= 0.6.0" + "node": ">=0.12.0" } }, - "node_modules/js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" - }, - "node_modules/js-yaml": { - "version": "3.14.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz", - "integrity": "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==", + "node_modules/insight/node_modules/rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" + "tslib": "^1.9.0" }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/js2xmlparser": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/js2xmlparser/-/js2xmlparser-4.0.2.tgz", - "integrity": "sha512-6n4D8gLlLf1n5mNLQPRfViYzu9RATblzPEtm1SthMX1Pjao0r9YI9nw7ZIfRxQMERS87mcswrg+r/OYrPRX6jA==", - "dev": true, - "dependencies": { - "xmlcreate": "^2.0.4" + "engines": { + "npm": ">=2.0.0" } }, - "node_modules/jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=" + "node_modules/insight/node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" }, - "node_modules/jsdoc": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/jsdoc/-/jsdoc-4.0.2.tgz", - "integrity": "sha512-e8cIg2z62InH7azBBi3EsSEqrKx+nUtAS5bBcYTSpZFA+vhNPyhv8PTFZ0WsjOPDj04/dOLlm08EDcQJDqaGQg==", - "dev": true, + "node_modules/insight/node_modules/string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dependencies": { - "@babel/parser": "^7.20.15", - "@jsdoc/salty": "^0.2.1", - "@types/markdown-it": "^12.2.3", - "bluebird": "^3.7.2", - "catharsis": "^0.9.0", - "escape-string-regexp": "^2.0.0", - "js2xmlparser": "^4.0.2", - "klaw": "^3.0.0", - "markdown-it": "^12.3.2", - "markdown-it-anchor": "^8.4.1", - "marked": "^4.0.10", - "mkdirp": "^1.0.4", - "requizzle": "^0.2.3", - "strip-json-comments": "^3.1.0", - "underscore": "~1.13.2" - }, - "bin": { - "jsdoc": "jsdoc.js" + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" }, "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/jsdoc/node_modules/escape-string-regexp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", - "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", - "dev": true, - "engines": { - "node": ">=8" + "node": ">=4" } }, - "node_modules/json-buffer": { + "node_modules/insight/node_modules/string-width/node_modules/ansi-regex": { "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 - }, - "node_modules/json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" - }, - "node_modules/json-schema": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", - "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==" - }, - "node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" - }, - "node_modules/json-schema-typed": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/json-schema-typed/-/json-schema-typed-7.0.3.tgz", - "integrity": "sha512-7DE8mpG+/fVw+dTpjbxnx47TaMnDfOI1jwft9g1VybltZCduyRQPJPvc+zzKY9WPHxhPWczyFuYa6I8Mw4iU5A==" - }, - "node_modules/json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", - "dev": true - }, - "node_modules/json-stringify-nice": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/json-stringify-nice/-/json-stringify-nice-1.1.4.tgz", - "integrity": "sha512-5Z5RFW63yxReJ7vANgW6eZFGWaQvnPE3WNmZoOJrSkGju2etKA2L5rrOa1sm877TVTFt57A80BH1bArcmlLfPw==", - "funding": { - "url": "https://github.com/sponsors/isaacs" + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", + "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==", + "engines": { + "node": ">=4" } }, - "node_modules/json-stringify-safe": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" - }, - "node_modules/json5": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", - "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", - "dev": true, + "node_modules/insight/node_modules/string-width/node_modules/strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==", "dependencies": { - "minimist": "^1.2.0" + "ansi-regex": "^3.0.0" }, - "bin": { - "json5": "lib/cli.js" + "engines": { + "node": ">=4" } }, - "node_modules/jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "node_modules/insight/node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", "dependencies": { - "graceful-fs": "^4.1.6", - "universalify": "^2.0.0" + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" } }, - "node_modules/jsonparse": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", - "integrity": "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=", - "engines": [ - "node >= 0.2.0" - ] - }, - "node_modules/jsprim": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", - "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", + "node_modules/insight/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dependencies": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.4.0", - "verror": "1.10.0" + "has-flag": "^3.0.0" }, "engines": { - "node": ">=0.6.0" + "node": ">=4" } }, - "node_modules/just-diff": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/just-diff/-/just-diff-3.1.1.tgz", - "integrity": "sha512-sdMWKjRq8qWZEjDcVA6llnUT8RDEBIfOiGpYFPYa9u+2c39JCsejktSP7mj5eRid5EIvTzIpQ2kDOCw1Nq9BjQ==" - }, - "node_modules/just-diff-apply": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/just-diff-apply/-/just-diff-apply-3.1.2.tgz", - "integrity": "sha512-TCa7ZdxCeq6q3Rgms2JCRHTCfWAETPZ8SzYUbkYF6KR3I03sN29DaOIC+xyWboIcMvjAsD5iG2u/RWzHD8XpgQ==" - }, - "node_modules/just-extend": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/just-extend/-/just-extend-4.2.1.tgz", - "integrity": "sha512-g3UB796vUFIY90VIv/WX3L2c8CS2MdWUww3CNrYmqza1Fg0DURc2K/O4YrnklBdQarSJ/y8JnJYDGc+1iumQjg==", - "dev": true + "node_modules/insight/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" }, - "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, - "dependencies": { - "json-buffer": "3.0.1" + "node_modules/insight/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==", + "bin": { + "uuid": "dist/bin/uuid" } }, - "node_modules/klaw": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/klaw/-/klaw-3.0.0.tgz", - "integrity": "sha512-0Fo5oir+O9jnXu5EefYbVK+mHMBeEVEy2cmctR1O1NECcCkPRreJKrS6Qt/j3KC2C148Dfo9i3pCmCMsdqGr0g==", - "dev": true, + "node_modules/internal-slot": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.6.tgz", + "integrity": "sha512-Xj6dv+PsbtwyPpEflsejS+oIZxmMlV44zAhG479uYu89MsjcYOhCFnNyKrkJrihbsiasQyY0afoCl/9BLR65bg==", "dependencies": { - "graceful-fs": "^4.1.9" + "get-intrinsic": "^1.2.2", + "hasown": "^2.0.0", + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" } }, - "node_modules/kuler": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/kuler/-/kuler-2.0.0.tgz", - "integrity": "sha512-Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A==" + "node_modules/interpret": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", + "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", + "engines": { + "node": ">= 0.10" + } }, - "node_modules/latest-version": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-7.0.0.tgz", - "integrity": "sha512-KvNT4XqAMzdcL6ka6Tl3i2lYeFDgXNCuIX+xNx6ZMVR1dFq+idXd9FLKNMOIx0t9mJ9/HudyX4oZWXZQ0UJHeg==", - "dev": true, - "dependencies": { - "package-json": "^8.1.0" - }, + "node_modules/invert-kv": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-3.0.1.tgz", + "integrity": "sha512-CYdFeFexxhv/Bcny+Q0BfOV+ltRlJcd4BBZBYFX/O0u4npJrgZtIcjokegtiSMAvlMTJ+Koq0GBCc//3bueQxw==", "engines": { - "node": ">=14.16" + "node": ">=8" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sindresorhus/invert-kv?sponsor=1" } }, - "node_modules/lcid": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/lcid/-/lcid-3.1.1.tgz", - "integrity": "sha512-M6T051+5QCGLBQb8id3hdvIW8+zeFV2FyBGFS9IEK5H9Wt4MueD4bW1eWikpHgZp+5xR3l5c8pZUkQsIA0BFZg==", + "node_modules/ip": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz", + "integrity": "sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==" + }, + "node_modules/is-array-buffer": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz", + "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==", "dependencies": { - "invert-kv": "^3.0.0" + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.0", + "is-typed-array": "^1.1.10" }, - "engines": { - "node": ">=8" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "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, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "dev": true + }, + "node_modules/is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" + "has-bigints": "^1.0.1" }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/lilconfig": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.0.0.tgz", - "integrity": "sha512-K2U4W2Ff5ibV7j7ydLr+zLAkIg5JJ4lPn1Ltsdt+Tz/IjQ8buJ55pZAxoP34lqIiwtF9iAvtLv3JGv7CAyAg+g==", - "dev": true, - "engines": { - "node": ">=14" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/lines-and-columns": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz", - "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=" - }, - "node_modules/linkify-it": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-3.0.3.tgz", - "integrity": "sha512-ynTsyrFSdE5oZ/O9GEf00kPngmOfVwazR5GKDq6EYfhlpFug3J2zybX56a2PRRpc9P+FuSoGNAwjlbDs9jJBPQ==", + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", "dev": true, "dependencies": { - "uc.micro": "^1.0.1" + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/lint-staged": { - "version": "15.2.0", - "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-15.2.0.tgz", - "integrity": "sha512-TFZzUEV00f+2YLaVPWBWGAMq7So6yQx+GG8YRMDeOEIf95Zn5RyiLMsEiX4KTNl9vq/w+NqRJkLA1kPIo15ufQ==", - "dev": true, + "node_modules/is-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", "dependencies": { - "chalk": "5.3.0", - "commander": "11.1.0", - "debug": "4.3.4", - "execa": "8.0.1", - "lilconfig": "3.0.0", - "listr2": "8.0.0", - "micromatch": "4.0.5", - "pidtree": "0.6.0", - "string-argv": "0.3.2", - "yaml": "2.3.4" - }, - "bin": { - "lint-staged": "bin/lint-staged.js" + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" }, "engines": { - "node": ">=18.12.0" + "node": ">= 0.4" }, "funding": { - "url": "https://opencollective.com/lint-staged" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/lint-staged/node_modules/chalk": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", - "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", - "dev": true, + "node_modules/is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", "engines": { - "node": "^12.17.0 || ^14.13 || >=16.0.0" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/lint-staged/node_modules/commander": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-11.1.0.tgz", - "integrity": "sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==", - "dev": true, - "engines": { - "node": ">=16" + "node_modules/is-core-module": { + "version": "2.13.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", + "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", + "dependencies": { + "hasown": "^2.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/lint-staged/node_modules/execa": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", - "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==", - "dev": true, + "node_modules/is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^8.0.1", - "human-signals": "^5.0.0", - "is-stream": "^3.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^5.1.0", - "onetime": "^6.0.0", - "signal-exit": "^4.1.0", - "strip-final-newline": "^3.0.0" + "has-tostringtag": "^1.0.0" }, "engines": { - "node": ">=16.17" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/lint-staged/node_modules/get-stream": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", - "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==", - "dev": true, + "node_modules/is-docker": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz", + "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==", + "bin": { + "is-docker": "cli.js" + }, "engines": { - "node": ">=16" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/lint-staged/node_modules/human-signals": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", - "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==", - "dev": true, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", "engines": { - "node": ">=16.17.0" + "node": ">=0.10.0" } }, - "node_modules/lint-staged/node_modules/is-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", - "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", + "node_modules/is-fullwidth-code-point": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz", + "integrity": "sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==", "dev": true, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "node": ">=12" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/lint-staged/node_modules/mimic-fn": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", - "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-in-ci": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-in-ci/-/is-in-ci-0.1.0.tgz", + "integrity": "sha512-d9PXLEY0v1iJ64xLiQMJ51J128EYHAaOR4yZqQi8aHGfw6KgifM3/Viw1oZZ1GCVmb3gBuyhLyHj0HgR2DhSXQ==", "dev": true, + "bin": { + "is-in-ci": "cli.js" + }, "engines": { - "node": ">=12" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/lint-staged/node_modules/npm-run-path": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.1.0.tgz", - "integrity": "sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==", - "dev": true, + "node_modules/is-inside-container": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz", + "integrity": "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==", "dependencies": { - "path-key": "^4.0.0" + "is-docker": "^3.0.0" + }, + "bin": { + "is-inside-container": "cli.js" }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "node": ">=14.16" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/lint-staged/node_modules/onetime": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", - "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", + "node_modules/is-installed-globally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-1.0.0.tgz", + "integrity": "sha512-K55T22lfpQ63N4KEN57jZUAaAYqYHEe8veb/TycJRk9DdSCLLcovXz/mL6mOnhQaZsQGwPhuFopdQIlqGSEjiQ==", "dev": true, "dependencies": { - "mimic-fn": "^4.0.0" + "global-directory": "^4.0.1", + "is-path-inside": "^4.0.0" }, "engines": { - "node": ">=12" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/lint-staged/node_modules/path-key": { + "node_modules/is-installed-globally/node_modules/is-path-inside": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", - "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-4.0.0.tgz", + "integrity": "sha512-lJJV/5dYS+RcL8uQdBDW9c9uWFLLBNRyFhnAKXw5tVqLlKZ4RMGZKv+YQ/IA3OhD+RpbJa1LLFM1FQPGyIXvOA==", "dev": true, "engines": { "node": ">=12" @@ -6655,2127 +7743,2060 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/lint-staged/node_modules/signal-exit": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", - "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "node_modules/is-interactive": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-2.0.0.tgz", + "integrity": "sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-lambda": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz", + "integrity": "sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==" + }, + "node_modules/is-name-taken": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-name-taken/-/is-name-taken-2.0.0.tgz", + "integrity": "sha512-W+FUWF5g7ONVJTx3rldZeVizmPzrMMUdscpSQ96vyYerx+4b2NcqaujLJJDWruGzE0FjzGZO9RFIipOGxx/WIw==", "dev": true, + "dependencies": { + "all-package-names": "^2.0.2", + "package-name-conflict": "^1.0.3", + "validate-npm-package-name": "^3.0.0" + } + }, + "node_modules/is-negative-zero": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", + "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", "engines": { - "node": ">=14" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/lint-staged/node_modules/strip-final-newline": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", - "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", + "node_modules/is-npm": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-6.0.0.tgz", + "integrity": "sha512-JEjxbSmtPSt1c8XTkVrlujcXdKV1/tvuQ7GwKcAlyiVLeYFQ2VHat8xfrDJsIkhCdF/tZ7CiIR3sy141c6+gPQ==", "dev": true, "engines": { - "node": ">=12" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/listr": { - "version": "0.14.3", - "resolved": "https://registry.npmjs.org/listr/-/listr-0.14.3.tgz", - "integrity": "sha512-RmAl7su35BFd/xoMamRjpIE4j3v+L28o8CT5YhAXQJm1fD+1l9ngXY8JAQRJ+tFK2i5njvi0iRUKV09vPwA0iA==", - "dev": true, - "dependencies": { - "@samverschueren/stream-to-observable": "^0.3.0", - "is-observable": "^1.1.0", - "is-promise": "^2.1.0", - "is-stream": "^1.1.0", - "listr-silent-renderer": "^1.1.1", - "listr-update-renderer": "^0.5.0", - "listr-verbose-renderer": "^0.5.0", - "p-map": "^2.0.0", - "rxjs": "^6.3.3" - }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", "engines": { - "node": ">=6" + "node": ">=0.12.0" } }, - "node_modules/listr-input": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/listr-input/-/listr-input-0.2.1.tgz", - "integrity": "sha512-oa8iVG870qJq+OuuMK3DjGqFcwsK1SDu+kULp9kEq09TY231aideIZenr3lFOQdASpAr6asuyJBbX62/a3IIhg==", - "dev": true, + "node_modules/is-number-object": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", "dependencies": { - "inquirer": "^7.0.0", - "inquirer-autosubmit-prompt": "^0.2.0", - "rxjs": "^6.5.3", - "through": "^2.3.8" + "has-tostringtag": "^1.0.0" }, "engines": { - "node": ">=6" - } - }, - "node_modules/listr-input/node_modules/ansi-escapes": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz", - "integrity": "sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==", - "dev": true, - "dependencies": { - "type-fest": "^0.11.0" + "node": ">= 0.4" }, - "engines": { - "node": ">=8" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/listr-input/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, + "node_modules/is-obj": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", + "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", "engines": { "node": ">=8" } }, - "node_modules/listr-input/node_modules/cli-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", - "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "node_modules/is-observable": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-observable/-/is-observable-1.1.0.tgz", + "integrity": "sha512-NqCa4Sa2d+u7BWc6CukaObG3Fh+CU9bvixbpcXYhy2VvYS7vVGIdAgnIS5Ks3A/cqk4rebLJ9s8zBstT2aKnIA==", "dev": true, "dependencies": { - "restore-cursor": "^3.1.0" + "symbol-observable": "^1.1.0" }, "engines": { - "node": ">=8" + "node": ">=4" } }, - "node_modules/listr-input/node_modules/cli-width": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", - "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", + "node_modules/is-observable/node_modules/symbol-observable": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz", + "integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==", "dev": true, "engines": { - "node": ">= 10" + "node": ">=0.10.0" } }, - "node_modules/listr-input/node_modules/figures": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", - "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "node_modules/is-path-cwd": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-3.0.0.tgz", + "integrity": "sha512-kyiNFFLU0Ampr6SDZitD/DwUo4Zs1nSdnygUBqsu3LooL00Qvb5j+UnvApUn/TTj1J3OuE6BTdQ5rudKmU2ZaA==", "dev": true, - "dependencies": { - "escape-string-regexp": "^1.0.5" + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", "engines": { "node": ">=8" } }, - "node_modules/listr-input/node_modules/inquirer": { - "version": "7.3.3", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz", - "integrity": "sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==", - "dev": true, - "dependencies": { - "ansi-escapes": "^4.2.1", - "chalk": "^4.1.0", - "cli-cursor": "^3.1.0", - "cli-width": "^3.0.0", - "external-editor": "^3.0.3", - "figures": "^3.0.0", - "lodash": "^4.17.19", - "mute-stream": "0.0.8", - "run-async": "^2.4.0", - "rxjs": "^6.6.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0", - "through": "^2.3.6" - }, + "node_modules/is-plain-obj": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", + "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", "engines": { - "node": ">=8.0.0" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/listr-input/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, + "node_modules/is-plain-object": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", + "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/listr-input/node_modules/mute-stream": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", - "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", + "node_modules/is-promise": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.2.2.tgz", + "integrity": "sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==", "dev": true }, - "node_modules/listr-input/node_modules/restore-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", - "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", - "dev": true, + "node_modules/is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", "dependencies": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" }, "engines": { - "node": ">=8" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/listr-input/node_modules/string-width": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", - "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", + "node_modules/is-scoped": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-scoped/-/is-scoped-3.0.0.tgz", + "integrity": "sha512-ezxLUq30kiTvP0w/5n9tj4qTOKlrA07Oty1hwTQ+lcqw11x6uc8sp7VRb2OVGRzKfCHZ2A22T5Zsau/Q2Akb0g==", "dev": true, "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" + "scoped-regex": "^3.0.0" }, "engines": { - "node": ">=8" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/listr-input/node_modules/strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dev": true, + "node_modules/is-shared-array-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", + "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", "dependencies": { - "ansi-regex": "^5.0.0" + "call-bind": "^1.0.2" }, - "engines": { - "node": ">=8" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/listr-input/node_modules/type-fest": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz", - "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==", - "dev": true, + "node_modules/is-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", + "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", "engines": { - "node": ">=8" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/listr-silent-renderer": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/listr-silent-renderer/-/listr-silent-renderer-1.1.1.tgz", - "integrity": "sha1-kktaN1cVN3C/Go4/v3S4u/P5JC4=", - "dev": true, + "node_modules/is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, "engines": { - "node": ">=4" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/listr-update-renderer": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/listr-update-renderer/-/listr-update-renderer-0.5.0.tgz", - "integrity": "sha512-tKRsZpKz8GSGqoI/+caPmfrypiaq+OQCbd+CovEC24uk1h952lVj5sC7SqyFUm+OaJ5HN/a1YLt5cit2FMNsFA==", - "dev": true, + "node_modules/is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", "dependencies": { - "chalk": "^1.1.3", - "cli-truncate": "^0.2.1", - "elegant-spinner": "^1.0.1", - "figures": "^1.7.0", - "indent-string": "^3.0.0", - "log-symbols": "^1.0.2", - "log-update": "^2.3.0", - "strip-ansi": "^3.0.1" + "has-symbols": "^1.0.2" }, "engines": { - "node": ">=6" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/listr-update-renderer/node_modules/ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true, + "node_modules/is-typed-array": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz", + "integrity": "sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==", + "dependencies": { + "which-typed-array": "^1.1.11" + }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/listr-update-renderer/node_modules/ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } + "node_modules/is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==" }, - "node_modules/listr-update-renderer/node_modules/chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "dependencies": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - }, + "node_modules/is-unicode-supported": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-1.3.0.tgz", + "integrity": "sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==", "engines": { - "node": ">=0.10.0" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/listr-update-renderer/node_modules/cli-truncate": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-0.2.1.tgz", - "integrity": "sha1-nxXPuwcFAFNpIWxiasfQWrkN1XQ=", + "node_modules/is-url-superb": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/is-url-superb/-/is-url-superb-6.1.0.tgz", + "integrity": "sha512-LXdhGlYqUPdvEyIhWPEEwYYK3yrUiPcBjmFGlZNv1u5GtIL5qQRf7ddDyPNAvsMFqdzS923FROpTQU97tLe3JQ==", "dev": true, - "dependencies": { - "slice-ansi": "0.0.4", - "string-width": "^1.0.1" - }, "engines": { - "node": ">=0.10.0" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/listr-update-renderer/node_modules/figures": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz", - "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=", - "dev": true, + "node_modules/is-utf8": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q==" + }, + "node_modules/is-weakref": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", "dependencies": { - "escape-string-regexp": "^1.0.5", - "object-assign": "^4.1.0" + "call-bind": "^1.0.2" }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/listr-update-renderer/node_modules/indent-string": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz", - "integrity": "sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok=", - "dev": true, - "engines": { - "node": ">=4" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/listr-update-renderer/node_modules/is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "dev": true, + "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==", "dependencies": { - "number-is-nan": "^1.0.0" + "is-docker": "^2.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/listr-update-renderer/node_modules/log-symbols": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-1.0.2.tgz", - "integrity": "sha1-N2/3tY6jCGoPCfrMdGF+ylAeGhg=", - "dev": true, - "dependencies": { - "chalk": "^1.0.0" + "node_modules/is-wsl/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==", + "bin": { + "is-docker": "cli.js" }, "engines": { - "node": ">=0.10.0" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/listr-update-renderer/node_modules/log-update": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/log-update/-/log-update-2.3.0.tgz", - "integrity": "sha1-iDKP19HOeTiykoN0bwsbwSayRwg=", - "dev": true, - "dependencies": { - "ansi-escapes": "^3.0.0", - "cli-cursor": "^2.0.0", - "wrap-ansi": "^3.0.1" - }, + "node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" + }, + "node_modules/isbinaryfile": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-5.0.0.tgz", + "integrity": "sha512-UDdnyGvMajJUWCkib7Cei/dvyJrrvo4FIrsvSFWdPpXSUorzXrDJ0S+X5Q4ZlasfPjca4yqCNNsjbCeiy8FFeg==", "engines": { - "node": ">=4" + "node": ">= 14.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/gjtorikian/" } }, - "node_modules/listr-update-renderer/node_modules/slice-ansi": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-0.0.4.tgz", - "integrity": "sha1-7b+JA/ZvfOL46v1s7tZeJkyDGzU=", + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" + }, + "node_modules/isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==" + }, + "node_modules/issue-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/issue-regex/-/issue-regex-4.1.0.tgz", + "integrity": "sha512-X3HBmm7+Th+l4/kMtqwcHHgELD0Lfl0Ina6S3+grr+mKmTxsrM84NAO1UuRPIxIbGLIl3TCEu45S1kdu21HYbQ==", "dev": true, "engines": { - "node": ">=0.10.0" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/listr-update-renderer/node_modules/string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "dev": true, + "node_modules/jackspeak": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz", + "integrity": "sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==", "dependencies": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" + "@isaacs/cliui": "^8.0.2" }, "engines": { - "node": ">=0.10.0" + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" } }, - "node_modules/listr-update-renderer/node_modules/strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dev": true, + "node_modules/jake": { + "version": "10.8.7", + "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.7.tgz", + "integrity": "sha512-ZDi3aP+fG/LchyBzUM804VjddnwfSfsdeYkwt8NcbKRvo4rFkjhs456iLFn3k2ZUWvNe4i48WACDbza8fhq2+w==", "dependencies": { - "ansi-regex": "^2.0.0" + "async": "^3.2.3", + "chalk": "^4.0.2", + "filelist": "^1.0.4", + "minimatch": "^3.1.2" + }, + "bin": { + "jake": "bin/cli.js" }, "engines": { - "node": ">=0.10.0" + "node": ">=10" } }, - "node_modules/listr-update-renderer/node_modules/supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true, - "engines": { - "node": ">=0.8.0" - } + "node_modules/jake/node_modules/async": { + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.5.tgz", + "integrity": "sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==" }, - "node_modules/listr-update-renderer/node_modules/wrap-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-3.0.1.tgz", - "integrity": "sha1-KIoE2H7aXChuBg3+jxNc6NAH+Lo=", - "dev": true, + "node_modules/java-lint": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/java-lint/-/java-lint-0.1.1.tgz", + "integrity": "sha512-YAiV7VevalS9ZeYROXdiMW/2VuZOXo31c945ml8t7d49LRgWsAwn2gd76h98vzxAzS6Mkg/jo5CEjd4WhDldww==", "dependencies": { - "string-width": "^2.1.1", - "strip-ansi": "^4.0.0" + "java-parser": "~2.0.5" }, "engines": { - "node": ">=4" - } - }, - "node_modules/listr-update-renderer/node_modules/wrap-ansi/node_modules/ansi-regex": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", - "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==", - "dev": true, - "engines": { - "node": ">=4" + "node": "^16.13.0 || ^18.13.0 || >= 20.2.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/marcelo-boveto-shima" } }, - "node_modules/listr-update-renderer/node_modules/wrap-ansi/node_modules/is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true, - "engines": { - "node": ">=4" + "node_modules/java-parser": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/java-parser/-/java-parser-2.0.5.tgz", + "integrity": "sha512-AwieTO24Itcu0GgP9pBXs8gkqBtkmReclpBgXF4NkbIjdS7cn7hqpebjTmb5ouYYLFR+m3yh5fR3nW1NRrthdg==", + "dependencies": { + "chevrotain": "6.5.0", + "lodash": "4.17.21" } }, - "node_modules/listr-update-renderer/node_modules/wrap-ansi/node_modules/string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "dev": true, + "node_modules/java-parser/node_modules/chevrotain": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/chevrotain/-/chevrotain-6.5.0.tgz", + "integrity": "sha512-BwqQ/AgmKJ8jcMEjaSnfMybnKMgGTrtDKowfTP3pX4jwVy0kNjRsT/AP6h+wC3+3NC+X8X15VWBnTCQlX+wQFg==", "dependencies": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - }, - "engines": { - "node": ">=4" + "regexp-to-ast": "0.4.0" } }, - "node_modules/listr-update-renderer/node_modules/wrap-ansi/node_modules/strip-ansi": { + "node_modules/js-tokens": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", "dependencies": { - "ansi-regex": "^3.0.0" + "argparse": "^2.0.1" }, - "engines": { - "node": ">=4" + "bin": { + "js-yaml": "bin/js-yaml.js" } }, - "node_modules/listr-verbose-renderer": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/listr-verbose-renderer/-/listr-verbose-renderer-0.5.0.tgz", - "integrity": "sha512-04PDPqSlsqIOaaaGZ+41vq5FejI9auqTInicFRndCBgE3bXG8D6W1I+mWhk+1nqbHmyhla/6BUrd5OSiHwKRXw==", + "node_modules/js2xmlparser": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/js2xmlparser/-/js2xmlparser-4.0.2.tgz", + "integrity": "sha512-6n4D8gLlLf1n5mNLQPRfViYzu9RATblzPEtm1SthMX1Pjao0r9YI9nw7ZIfRxQMERS87mcswrg+r/OYrPRX6jA==", "dev": true, "dependencies": { - "chalk": "^2.4.1", - "cli-cursor": "^2.1.0", - "date-fns": "^1.27.2", - "figures": "^2.0.0" - }, - "engines": { - "node": ">=4" + "xmlcreate": "^2.0.4" } }, - "node_modules/listr-verbose-renderer/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "node_modules/jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==" + }, + "node_modules/jsdoc": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/jsdoc/-/jsdoc-4.0.2.tgz", + "integrity": "sha512-e8cIg2z62InH7azBBi3EsSEqrKx+nUtAS5bBcYTSpZFA+vhNPyhv8PTFZ0WsjOPDj04/dOLlm08EDcQJDqaGQg==", "dev": true, "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/listr/node_modules/p-map": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz", - "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==", - "dev": true, + "@babel/parser": "^7.20.15", + "@jsdoc/salty": "^0.2.1", + "@types/markdown-it": "^12.2.3", + "bluebird": "^3.7.2", + "catharsis": "^0.9.0", + "escape-string-regexp": "^2.0.0", + "js2xmlparser": "^4.0.2", + "klaw": "^3.0.0", + "markdown-it": "^12.3.2", + "markdown-it-anchor": "^8.4.1", + "marked": "^4.0.10", + "mkdirp": "^1.0.4", + "requizzle": "^0.2.3", + "strip-json-comments": "^3.1.0", + "underscore": "~1.13.2" + }, + "bin": { + "jsdoc": "jsdoc.js" + }, "engines": { - "node": ">=6" + "node": ">=12.0.0" } }, - "node_modules/listr2": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/listr2/-/listr2-8.0.0.tgz", - "integrity": "sha512-u8cusxAcyqAiQ2RhYvV7kRKNLgUvtObIbhOX2NCXqvp1UU32xIg5CT22ykS2TPKJXZWJwtK3IKLiqAGlGNE+Zg==", + "node_modules/jsdoc/node_modules/escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", "dev": true, - "dependencies": { - "cli-truncate": "^4.0.0", - "colorette": "^2.0.20", - "eventemitter3": "^5.0.1", - "log-update": "^6.0.0", - "rfdc": "^1.3.0", - "wrap-ansi": "^9.0.0" - }, "engines": { - "node": ">=18.0.0" + "node": ">=8" } }, - "node_modules/listr2/node_modules/ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", - "dev": true, - "engines": { - "node": ">=12" - }, + "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==" + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" + }, + "node_modules/json-schema": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==" + }, + "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==" + }, + "node_modules/json-schema-typed": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/json-schema-typed/-/json-schema-typed-8.0.1.tgz", + "integrity": "sha512-XQmWYj2Sm4kn4WeTYvmpKEbyPsL7nBsb647c7pMe6l02/yx2+Jfc4dT6UZkEXnIUb5LhD55r2HPsJ1milQ4rDg==" + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==" + }, + "node_modules/json-stringify-nice": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/json-stringify-nice/-/json-stringify-nice-1.1.4.tgz", + "integrity": "sha512-5Z5RFW63yxReJ7vANgW6eZFGWaQvnPE3WNmZoOJrSkGju2etKA2L5rrOa1sm877TVTFt57A80BH1bArcmlLfPw==", "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/listr2/node_modules/ansi-styles": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", - "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", - "dev": true, - "engines": { - "node": ">=12" + "node_modules/json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==" + }, + "node_modules/json5": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", + "dependencies": { + "minimist": "^1.2.0" }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "bin": { + "json5": "lib/cli.js" } }, - "node_modules/listr2/node_modules/emoji-regex": { - "version": "10.3.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.3.0.tgz", - "integrity": "sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw==", - "dev": true - }, - "node_modules/listr2/node_modules/eventemitter3": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.1.tgz", - "integrity": "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==", + "node_modules/jsonc-parser": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", + "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==", "dev": true }, - "node_modules/listr2/node_modules/string-width": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.0.0.tgz", - "integrity": "sha512-GPQHj7row82Hjo9hKZieKcHIhaAIKOJvFSIZXuCU9OASVZrMNUaZuz++SPVrBjnLsnk4k+z9f2EIypgxf2vNFw==", - "dev": true, + "node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", "dependencies": { - "emoji-regex": "^10.3.0", - "get-east-asian-width": "^1.0.0", - "strip-ansi": "^7.1.0" - }, - "engines": { - "node": ">=18" + "universalify": "^2.0.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "optionalDependencies": { + "graceful-fs": "^4.1.6" } }, - "node_modules/listr2/node_modules/strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", - "dev": true, + "node_modules/jsonparse": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", + "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==", + "engines": [ + "node >= 0.2.0" + ] + }, + "node_modules/jsprim": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", + "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", "dependencies": { - "ansi-regex": "^6.0.1" + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.4.0", + "verror": "1.10.0" }, "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" + "node": ">=0.6.0" } }, - "node_modules/listr2/node_modules/wrap-ansi": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.0.tgz", - "integrity": "sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==", + "node_modules/just-diff": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/just-diff/-/just-diff-6.0.2.tgz", + "integrity": "sha512-S59eriX5u3/QhMNq3v/gm8Kd0w8OS6Tz2FS1NG4blv+z0MuQcBRJyFWjdovM0Rad4/P4aUPFtnkNjMjyMlMSYA==" + }, + "node_modules/just-diff-apply": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/just-diff-apply/-/just-diff-apply-5.5.0.tgz", + "integrity": "sha512-OYTthRfSh55WOItVqwpefPtNt2VdKsq5AnAK6apdtR6yCH8pr0CmSr710J0Mf+WdQy7K/OzMy7K2MgAfdQURDw==" + }, + "node_modules/just-extend": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/just-extend/-/just-extend-6.2.0.tgz", + "integrity": "sha512-cYofQu2Xpom82S6qD778jBDpwvvy39s1l/hrYij2u9AMdQcGRpaBu6kY4mVhuno5kJVi1DAz4aiphA2WI1/OAw==", + "devOptional": true + }, + "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==", + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/klaw": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/klaw/-/klaw-3.0.0.tgz", + "integrity": "sha512-0Fo5oir+O9jnXu5EefYbVK+mHMBeEVEy2cmctR1O1NECcCkPRreJKrS6Qt/j3KC2C148Dfo9i3pCmCMsdqGr0g==", "dev": true, "dependencies": { - "ansi-styles": "^6.2.1", - "string-width": "^7.0.0", - "strip-ansi": "^7.1.0" + "graceful-fs": "^4.1.9" + } + }, + "node_modules/kuler": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/kuler/-/kuler-2.0.0.tgz", + "integrity": "sha512-Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A==" + }, + "node_modules/latest-version": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-7.0.0.tgz", + "integrity": "sha512-KvNT4XqAMzdcL6ka6Tl3i2lYeFDgXNCuIX+xNx6ZMVR1dFq+idXd9FLKNMOIx0t9mJ9/HudyX4oZWXZQ0UJHeg==", + "dependencies": { + "package-json": "^8.1.0" }, "engines": { - "node": ">=18" + "node": ">=14.16" }, "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/load-yaml-file": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/load-yaml-file/-/load-yaml-file-0.2.0.tgz", - "integrity": "sha512-OfCBkGEw4nN6JLtgRidPX6QxjBQGQf72q3si2uvqyFEMbycSFFHwAZeXx6cJgFM9wmLrf9zBwCP3Ivqa+LLZPw==", + "node_modules/lcid": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-3.1.1.tgz", + "integrity": "sha512-M6T051+5QCGLBQb8id3hdvIW8+zeFV2FyBGFS9IEK5H9Wt4MueD4bW1eWikpHgZp+5xR3l5c8pZUkQsIA0BFZg==", "dependencies": { - "graceful-fs": "^4.1.5", - "js-yaml": "^3.13.0", - "pify": "^4.0.1", - "strip-bom": "^3.0.0" + "invert-kv": "^3.0.0" }, "engines": { - "node": ">=6" + "node": ">=8" } }, - "node_modules/load-yaml-file/node_modules/pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "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==", + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, "engines": { - "node": ">=6" + "node": ">= 0.8.0" } }, - "node_modules/load-yaml-file/node_modules/strip-bom": { + "node_modules/lilconfig": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.0.0.tgz", + "integrity": "sha512-K2U4W2Ff5ibV7j7ydLr+zLAkIg5JJ4lPn1Ltsdt+Tz/IjQ8buJ55pZAxoP34lqIiwtF9iAvtLv3JGv7CAyAg+g==", + "dev": true, "engines": { - "node": ">=4" + "node": ">=14" } }, - "node_modules/locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true + }, + "node_modules/linkify-it": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-3.0.3.tgz", + "integrity": "sha512-ynTsyrFSdE5oZ/O9GEf00kPngmOfVwazR5GKDq6EYfhlpFug3J2zybX56a2PRRpc9P+FuSoGNAwjlbDs9jJBPQ==", + "dev": true, "dependencies": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - }, - "engines": { - "node": ">=6" + "uc.micro": "^1.0.1" } }, - "node_modules/lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" - }, - "node_modules/lodash.debounce": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", - "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=" - }, - "node_modules/lodash.get": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", - "integrity": "sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=", - "dev": true - }, - "node_modules/lodash.isequal": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", - "integrity": "sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==", - "dev": true - }, - "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 - }, - "node_modules/lodash.zip": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/lodash.zip/-/lodash.zip-4.2.0.tgz", - "integrity": "sha512-C7IOaBBK/0gMORRBd8OETNx3kmOkgIWIPvyDpZSCTwUrpYmgZwJkjZeOD8ww4xbOUOs4/attY+pciKvadNfFbg==", - "dev": true - }, - "node_modules/log-symbols": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", - "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "node_modules/lint-staged": { + "version": "15.2.0", + "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-15.2.0.tgz", + "integrity": "sha512-TFZzUEV00f+2YLaVPWBWGAMq7So6yQx+GG8YRMDeOEIf95Zn5RyiLMsEiX4KTNl9vq/w+NqRJkLA1kPIo15ufQ==", + "dev": true, "dependencies": { - "chalk": "^4.1.0", - "is-unicode-supported": "^0.1.0" + "chalk": "5.3.0", + "commander": "11.1.0", + "debug": "4.3.4", + "execa": "8.0.1", + "lilconfig": "3.0.0", + "listr2": "8.0.0", + "micromatch": "4.0.5", + "pidtree": "0.6.0", + "string-argv": "0.3.2", + "yaml": "2.3.4" + }, + "bin": { + "lint-staged": "bin/lint-staged.js" }, "engines": { - "node": ">=10" + "node": ">=18.12.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://opencollective.com/lint-staged" } }, - "node_modules/log-update": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/log-update/-/log-update-6.0.0.tgz", - "integrity": "sha512-niTvB4gqvtof056rRIrTZvjNYE4rCUzO6X/X+kYjd7WFxXeJ0NwEFnRxX6ehkvv3jTwrXnNdtAak5XYZuIyPFw==", + "node_modules/lint-staged/node_modules/chalk": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", + "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", "dev": true, - "dependencies": { - "ansi-escapes": "^6.2.0", - "cli-cursor": "^4.0.0", - "slice-ansi": "^7.0.0", - "strip-ansi": "^7.1.0", - "wrap-ansi": "^9.0.0" - }, "engines": { - "node": ">=18" + "node": "^12.17.0 || ^14.13 || >=16.0.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/log-update/node_modules/ansi-escapes": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-6.2.0.tgz", - "integrity": "sha512-kzRaCqXnpzWs+3z5ABPQiVke+iq0KXkHo8xiWV4RPTi5Yli0l97BEQuhXV1s7+aSU/fu1kUuxgS4MsQ0fRuygw==", + "node_modules/listr": { + "version": "0.14.3", + "resolved": "https://registry.npmjs.org/listr/-/listr-0.14.3.tgz", + "integrity": "sha512-RmAl7su35BFd/xoMamRjpIE4j3v+L28o8CT5YhAXQJm1fD+1l9ngXY8JAQRJ+tFK2i5njvi0iRUKV09vPwA0iA==", "dev": true, "dependencies": { - "type-fest": "^3.0.0" + "@samverschueren/stream-to-observable": "^0.3.0", + "is-observable": "^1.1.0", + "is-promise": "^2.1.0", + "is-stream": "^1.1.0", + "listr-silent-renderer": "^1.1.1", + "listr-update-renderer": "^0.5.0", + "listr-verbose-renderer": "^0.5.0", + "p-map": "^2.0.0", + "rxjs": "^6.3.3" }, "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=6" } }, - "node_modules/log-update/node_modules/ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "node_modules/listr-input": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/listr-input/-/listr-input-0.2.1.tgz", + "integrity": "sha512-oa8iVG870qJq+OuuMK3DjGqFcwsK1SDu+kULp9kEq09TY231aideIZenr3lFOQdASpAr6asuyJBbX62/a3IIhg==", "dev": true, - "engines": { - "node": ">=12" + "dependencies": { + "inquirer": "^7.0.0", + "inquirer-autosubmit-prompt": "^0.2.0", + "rxjs": "^6.5.3", + "through": "^2.3.8" }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" + "engines": { + "node": ">=6" } }, - "node_modules/log-update/node_modules/ansi-styles": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", - "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "node_modules/listr-input/node_modules/cli-width": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", + "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", "dev": true, "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": ">= 10" } }, - "node_modules/log-update/node_modules/cli-cursor": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-4.0.0.tgz", - "integrity": "sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==", + "node_modules/listr-input/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", "dev": true, - "dependencies": { - "restore-cursor": "^4.0.0" - }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=0.8.0" } }, - "node_modules/log-update/node_modules/emoji-regex": { - "version": "10.3.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.3.0.tgz", - "integrity": "sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw==", - "dev": true - }, - "node_modules/log-update/node_modules/is-fullwidth-code-point": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-5.0.0.tgz", - "integrity": "sha512-OVa3u9kkBbw7b8Xw5F9P+D/T9X+Z4+JruYVNapTjPYZYUznQ5YfWeFkOj606XYYW8yugTfC8Pj0hYqvi4ryAhA==", + "node_modules/listr-input/node_modules/figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", "dev": true, "dependencies": { - "get-east-asian-width": "^1.0.0" + "escape-string-regexp": "^1.0.5" }, "engines": { - "node": ">=18" + "node": ">=8" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/log-update/node_modules/restore-cursor": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-4.0.0.tgz", - "integrity": "sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==", + "node_modules/listr-input/node_modules/inquirer": { + "version": "7.3.3", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz", + "integrity": "sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==", "dev": true, "dependencies": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" + "ansi-escapes": "^4.2.1", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-width": "^3.0.0", + "external-editor": "^3.0.3", + "figures": "^3.0.0", + "lodash": "^4.17.19", + "mute-stream": "0.0.8", + "run-async": "^2.4.0", + "rxjs": "^6.6.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", + "through": "^2.3.6" }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=8.0.0" } }, - "node_modules/log-update/node_modules/slice-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-7.1.0.tgz", - "integrity": "sha512-bSiSngZ/jWeX93BqeIAbImyTbEihizcwNjFoRUIY/T1wWQsfsm2Vw1agPKylXvQTU7iASGdHhyqRlqQzfz+Htg==", + "node_modules/listr-input/node_modules/mute-stream": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", + "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", + "dev": true + }, + "node_modules/listr-input/node_modules/run-async": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", + "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", "dev": true, - "dependencies": { - "ansi-styles": "^6.2.1", - "is-fullwidth-code-point": "^5.0.0" - }, "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/chalk/slice-ansi?sponsor=1" + "node": ">=0.12.0" } }, - "node_modules/log-update/node_modules/string-width": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.0.0.tgz", - "integrity": "sha512-GPQHj7row82Hjo9hKZieKcHIhaAIKOJvFSIZXuCU9OASVZrMNUaZuz++SPVrBjnLsnk4k+z9f2EIypgxf2vNFw==", + "node_modules/listr-input/node_modules/rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", "dev": true, "dependencies": { - "emoji-regex": "^10.3.0", - "get-east-asian-width": "^1.0.0", - "strip-ansi": "^7.1.0" + "tslib": "^1.9.0" }, "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "npm": ">=2.0.0" } }, - "node_modules/log-update/node_modules/strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "node_modules/listr-input/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, + "node_modules/listr-silent-renderer": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/listr-silent-renderer/-/listr-silent-renderer-1.1.1.tgz", + "integrity": "sha512-L26cIFm7/oZeSNVhWB6faeorXhMg4HNlb/dS/7jHhr708jxlXrtrBWo4YUxZQkc6dGoxEAe6J/D3juTRBUzjtA==", "dev": true, - "dependencies": { - "ansi-regex": "^6.0.1" - }, "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" + "node": ">=4" } }, - "node_modules/log-update/node_modules/type-fest": { - "version": "3.13.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-3.13.1.tgz", - "integrity": "sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g==", + "node_modules/listr-update-renderer": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/listr-update-renderer/-/listr-update-renderer-0.5.0.tgz", + "integrity": "sha512-tKRsZpKz8GSGqoI/+caPmfrypiaq+OQCbd+CovEC24uk1h952lVj5sC7SqyFUm+OaJ5HN/a1YLt5cit2FMNsFA==", "dev": true, + "dependencies": { + "chalk": "^1.1.3", + "cli-truncate": "^0.2.1", + "elegant-spinner": "^1.0.1", + "figures": "^1.7.0", + "indent-string": "^3.0.0", + "log-symbols": "^1.0.2", + "log-update": "^2.3.0", + "strip-ansi": "^3.0.1" + }, "engines": { - "node": ">=14.16" + "node": ">=6" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependencies": { + "listr": "^0.14.2" } }, - "node_modules/log-update/node_modules/wrap-ansi": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.0.tgz", - "integrity": "sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==", + "node_modules/listr-update-renderer/node_modules/ansi-escapes": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", + "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", "dev": true, - "dependencies": { - "ansi-styles": "^6.2.1", - "string-width": "^7.0.0", - "strip-ansi": "^7.1.0" - }, "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + "node": ">=4" } }, - "node_modules/logform": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/logform/-/logform-2.4.2.tgz", - "integrity": "sha512-W4c9himeAwXEdZ05dQNerhFz2XG80P9Oj0loPUMV23VC2it0orMHQhJm4hdnnor3rd1HsGf6a2lPwBM1zeXHGw==", - "dependencies": { - "@colors/colors": "1.5.0", - "fecha": "^4.2.0", - "ms": "^2.1.1", - "safe-stable-stringify": "^2.3.1", - "triple-beam": "^1.3.0" + "node_modules/listr-update-renderer/node_modules/ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", + "dev": true, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/loupe": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.6.tgz", - "integrity": "sha512-RaPMZKiMy8/JruncMU5Bt6na1eftNoo++R4Y+N2FrxkDVTrGvcyzFTsaGif4QTeKESheMGegbhw6iUAq+5A8zA==", + "node_modules/listr-update-renderer/node_modules/ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/listr-update-renderer/node_modules/chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==", "dev": true, "dependencies": { - "get-func-name": "^2.0.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/lowercase-keys": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", - "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", + "node_modules/listr-update-renderer/node_modules/cli-cursor": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", + "integrity": "sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw==", "dev": true, + "dependencies": { + "restore-cursor": "^2.0.0" + }, "engines": { - "node": ">=8" + "node": ">=4" } }, - "node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "node_modules/listr-update-renderer/node_modules/cli-truncate": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-0.2.1.tgz", + "integrity": "sha512-f4r4yJnbT++qUPI9NR4XLDLq41gQ+uqnPItWG0F5ZkehuNiTTa3EY0S4AqTSUOeJ7/zU41oWPQSNkW5BqPL9bg==", + "dev": true, "dependencies": { - "yallist": "^4.0.0" + "slice-ansi": "0.0.4", + "string-width": "^1.0.1" }, "engines": { - "node": ">=10" + "node": ">=0.10.0" } }, - "node_modules/macos-release": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/macos-release/-/macos-release-2.5.0.tgz", - "integrity": "sha512-EIgv+QZ9r+814gjJj0Bt5vSLJLzswGmSUbUpbi9AIr/fsN2IWFBl2NucV9PAiek+U1STK468tEkxmVYUtuAN3g==", + "node_modules/listr-update-renderer/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, "engines": { - "node": ">=6" + "node": ">=0.8.0" + } + }, + "node_modules/listr-update-renderer/node_modules/figures": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz", + "integrity": "sha512-UxKlfCRuCBxSXU4C6t9scbDyWZ4VlaFFdojKtzJuSkuOBQ5CNFum+zZXFwHjo+CxBC1t6zlYPgHIgFjL8ggoEQ==", + "dev": true, + "dependencies": { + "escape-string-regexp": "^1.0.5", + "object-assign": "^4.1.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/make-fetch-happen": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-9.1.0.tgz", - "integrity": "sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg==", + "node_modules/listr-update-renderer/node_modules/is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw==", + "dev": true, "dependencies": { - "agentkeepalive": "^4.1.3", - "cacache": "^15.2.0", - "http-cache-semantics": "^4.1.0", - "http-proxy-agent": "^4.0.1", - "https-proxy-agent": "^5.0.0", - "is-lambda": "^1.0.1", - "lru-cache": "^6.0.0", - "minipass": "^3.1.3", - "minipass-collect": "^1.0.2", - "minipass-fetch": "^1.3.2", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.4", - "negotiator": "^0.6.2", - "promise-retry": "^2.0.1", - "socks-proxy-agent": "^6.0.0", - "ssri": "^8.0.0" + "number-is-nan": "^1.0.0" }, "engines": { - "node": ">= 10" + "node": ">=0.10.0" } }, - "node_modules/map-age-cleaner": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz", - "integrity": "sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==", + "node_modules/listr-update-renderer/node_modules/log-symbols": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-1.0.2.tgz", + "integrity": "sha512-mmPrW0Fh2fxOzdBbFv4g1m6pR72haFLPJ2G5SJEELf1y+iaQrDG6cWCPjy54RHYbZAt7X+ls690Kw62AdWXBzQ==", + "dev": true, "dependencies": { - "p-defer": "^1.0.0" + "chalk": "^1.0.0" }, "engines": { - "node": ">=6" + "node": ">=0.10.0" } }, - "node_modules/markdown-it": { - "version": "12.3.2", - "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-12.3.2.tgz", - "integrity": "sha512-TchMembfxfNVpHkbtriWltGWc+m3xszaRD0CZup7GFFhzIgQqxIfn3eGj1yZpfuflzPvfkt611B2Q/Bsk1YnGg==", + "node_modules/listr-update-renderer/node_modules/log-update": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/log-update/-/log-update-2.3.0.tgz", + "integrity": "sha512-vlP11XfFGyeNQlmEn9tJ66rEW1coA/79m5z6BCkudjbAGE83uhAcGYrBFwfs3AdLiLzGRusRPAbSPK9xZteCmg==", "dev": true, "dependencies": { - "argparse": "^2.0.1", - "entities": "~2.1.0", - "linkify-it": "^3.0.1", - "mdurl": "^1.0.1", - "uc.micro": "^1.0.5" + "ansi-escapes": "^3.0.0", + "cli-cursor": "^2.0.0", + "wrap-ansi": "^3.0.1" }, - "bin": { - "markdown-it": "bin/markdown-it.js" + "engines": { + "node": ">=4" } }, - "node_modules/markdown-it-anchor": { - "version": "8.6.4", - "resolved": "https://registry.npmjs.org/markdown-it-anchor/-/markdown-it-anchor-8.6.4.tgz", - "integrity": "sha512-Ul4YVYZNxMJYALpKtu+ZRdrryYt/GlQ5CK+4l1bp/gWXOG2QWElt6AqF3Mih/wfUKdZbNAZVXGR73/n6U/8img==", + "node_modules/listr-update-renderer/node_modules/mimic-fn": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", "dev": true, - "peerDependencies": { - "@types/markdown-it": "*", - "markdown-it": "*" + "engines": { + "node": ">=4" } }, - "node_modules/markdown-it/node_modules/argparse": { + "node_modules/listr-update-renderer/node_modules/onetime": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true + "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", + "integrity": "sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ==", + "dev": true, + "dependencies": { + "mimic-fn": "^1.0.0" + }, + "engines": { + "node": ">=4" + } }, - "node_modules/marked": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/marked/-/marked-4.1.0.tgz", - "integrity": "sha512-+Z6KDjSPa6/723PQYyc1axYZpYYpDnECDaU6hkaf5gqBieBkMKYReL5hteF2QizhlMbgbo8umXl/clZ67+GlsA==", + "node_modules/listr-update-renderer/node_modules/restore-cursor": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", + "integrity": "sha512-6IzJLuGi4+R14vwagDHX+JrXmPVtPpn4mffDJ1UdR7/Edm87fl6yi8mMBIVvFtJaNTUvjughmW4hwLhRG7gC1Q==", "dev": true, - "bin": { - "marked": "bin/marked.js" + "dependencies": { + "onetime": "^2.0.0", + "signal-exit": "^3.0.2" }, "engines": { - "node": ">= 12" + "node": ">=4" } }, - "node_modules/mdurl": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", - "integrity": "sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==", + "node_modules/listr-update-renderer/node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", "dev": true }, - "node_modules/mem": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/mem/-/mem-5.1.1.tgz", - "integrity": "sha512-qvwipnozMohxLXG1pOqoLiZKNkC4r4qqRucSoDwXowsNGDSULiqFTRUF05vcZWnwJSG22qTsynQhxbaMtnX9gw==", - "dependencies": { - "map-age-cleaner": "^0.1.3", - "mimic-fn": "^2.1.0", - "p-is-promise": "^2.1.0" - }, + "node_modules/listr-update-renderer/node_modules/slice-ansi": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-0.0.4.tgz", + "integrity": "sha512-up04hB2hR92PgjpyU3y/eg91yIBILyjVY26NvvciY3EVVPjybkMszMpXQ9QAkcS3I5rtJBDLoTxxg+qvW8c7rw==", + "dev": true, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/mem-fs": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/mem-fs/-/mem-fs-2.3.0.tgz", - "integrity": "sha512-GftCCBs6EN8sz3BoWO1bCj8t7YBtT713d8bUgbhg9Iel5kFSqnSvCK06TYIDJAtJ51cSiWkM/YemlT0dfoFycw==", + "node_modules/listr-update-renderer/node_modules/string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw==", + "dev": true, "dependencies": { - "@types/node": "^15.6.2", - "@types/vinyl": "^2.0.4", - "vinyl": "^2.0.1", - "vinyl-file": "^3.0.0" + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" }, "engines": { - "node": ">=12" + "node": ">=0.10.0" } }, - "node_modules/mem-fs-editor": { - "version": "9.5.0", - "resolved": "https://registry.npmjs.org/mem-fs-editor/-/mem-fs-editor-9.5.0.tgz", - "integrity": "sha512-7p+bBDqsSisO20YIZf2ntYvST27fFJINn7CKE21XdPUQDcLV62b/yB5sTOooQeEoiZ3rldZQ+4RfONgL/gbRoA==", + "node_modules/listr-update-renderer/node_modules/strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", + "dev": true, "dependencies": { - "binaryextensions": "^4.16.0", - "commondir": "^1.0.1", - "deep-extend": "^0.6.0", - "ejs": "^3.1.8", - "globby": "^11.1.0", - "isbinaryfile": "^4.0.8", - "minimatch": "^3.1.2", - "multimatch": "^5.0.0", - "normalize-path": "^3.0.0", - "textextensions": "^5.13.0" + "ansi-regex": "^2.0.0" }, "engines": { - "node": ">=12.10.0" - }, - "peerDependencies": { - "mem-fs": "^2.1.0" - }, - "peerDependenciesMeta": { - "mem-fs": { - "optional": true - } + "node": ">=0.10.0" } }, - "node_modules/mem-fs-editor/node_modules/globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "node_modules/listr-update-renderer/node_modules/supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/listr-update-renderer/node_modules/wrap-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-3.0.1.tgz", + "integrity": "sha512-iXR3tDXpbnTpzjKSylUJRkLuOrEC7hwEB221cgn6wtF8wpmz28puFXAEfPT5zrjM3wahygB//VuWEr1vTkDcNQ==", + "dev": true, "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" + "string-width": "^2.1.1", + "strip-ansi": "^4.0.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=4" } }, - "node_modules/mem-fs/node_modules/@types/node": { - "version": "15.14.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-15.14.9.tgz", - "integrity": "sha512-qjd88DrCxupx/kJD5yQgZdcYKZKSIGBVDIBE1/LTGcNm3d2Np/jxojkdePDdfnBHJc5W7vSMpbJ1aB7p/Py69A==" - }, - "node_modules/meow": { - "version": "12.1.1", - "resolved": "https://registry.npmjs.org/meow/-/meow-12.1.1.tgz", - "integrity": "sha512-BhXM0Au22RwUneMPwSCnyhTOizdWoIEPU9sp0Aqa1PnDMR5Wv2FGXYDjuzJEIX+Eo2Rb8xuYe5jrnm5QowQFkw==", + "node_modules/listr-update-renderer/node_modules/wrap-ansi/node_modules/ansi-regex": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", + "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==", "dev": true, "engines": { - "node": ">=16.10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=4" } }, - "node_modules/merge-stream": { + "node_modules/listr-update-renderer/node_modules/wrap-ansi/node_modules/is-fullwidth-code-point": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" - }, - "node_modules/merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", + "dev": true, "engines": { - "node": ">= 8" + "node": ">=4" } }, - "node_modules/micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "node_modules/listr-update-renderer/node_modules/wrap-ansi/node_modules/string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, "dependencies": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" }, "engines": { - "node": ">=8.6" - } - }, - "node_modules/mime-db": { - "version": "1.47.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.47.0.tgz", - "integrity": "sha512-QBmA/G2y+IfeS4oktet3qRZ+P5kPhCKRXxXnQEudYqUaEioAU1/Lq2us3D/t1Jfo4hE9REQPrbB7K5sOczJVIw==", - "engines": { - "node": ">= 0.6" + "node": ">=4" } }, - "node_modules/mime-types": { - "version": "2.1.30", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.30.tgz", - "integrity": "sha512-crmjA4bLtR8m9qLpHvgxSChT+XoSlZi8J4n/aIdn3z92e/U47Z0V/yl+Wh9W046GgFVAmoNR/fmdbZYcSSIUeg==", + "node_modules/listr-update-renderer/node_modules/wrap-ansi/node_modules/strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==", + "dev": true, "dependencies": { - "mime-db": "1.47.0" + "ansi-regex": "^3.0.0" }, "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "engines": { - "node": ">=6" + "node": ">=4" } }, - "node_modules/mimic-function": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/mimic-function/-/mimic-function-5.0.0.tgz", - "integrity": "sha512-RBfQ+9X9DpXdEoK7Bu+KeEU6vFhumEIiXKWECPzRBmDserEq4uR2b/VCm0LwpMSosoq2k+Zuxj/GzOr0Fn6h/g==", + "node_modules/listr-verbose-renderer": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/listr-verbose-renderer/-/listr-verbose-renderer-0.5.0.tgz", + "integrity": "sha512-04PDPqSlsqIOaaaGZ+41vq5FejI9auqTInicFRndCBgE3bXG8D6W1I+mWhk+1nqbHmyhla/6BUrd5OSiHwKRXw==", "dev": true, - "engines": { - "node": ">=18" + "dependencies": { + "chalk": "^2.4.1", + "cli-cursor": "^2.1.0", + "date-fns": "^1.27.2", + "figures": "^2.0.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/mimic-response": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", - "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", - "dev": true, "engines": { "node": ">=4" } }, - "node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "node_modules/listr-verbose-renderer/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, "dependencies": { - "brace-expansion": "^1.1.7" + "color-convert": "^1.9.0" }, "engines": { - "node": "*" + "node": ">=4" } }, - "node_modules/minimist": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", - "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==" - }, - "node_modules/minipass": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.5.tgz", - "integrity": "sha512-+8NzxD82XQoNKNrl1d/FSi+X8wAEWR+sbYAfIvub4Nz0d22plFG72CEVVaufV8PNf4qSslFTD8VMOxNVhHCjTw==", + "node_modules/listr-verbose-renderer/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, "dependencies": { - "yallist": "^4.0.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" }, "engines": { - "node": ">=8" + "node": ">=4" } }, - "node_modules/minipass-collect": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz", - "integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==", + "node_modules/listr-verbose-renderer/node_modules/cli-cursor": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", + "integrity": "sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw==", + "dev": true, "dependencies": { - "minipass": "^3.0.0" + "restore-cursor": "^2.0.0" }, "engines": { - "node": ">= 8" + "node": ">=4" } }, - "node_modules/minipass-fetch": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-1.4.1.tgz", - "integrity": "sha512-CGH1eblLq26Y15+Azk7ey4xh0J/XfJfrCox5LDJiKqI2Q2iwOLOKrlmIaODiSQS8d18jalF6y2K2ePUm0CmShw==", + "node_modules/listr-verbose-renderer/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, "dependencies": { - "minipass": "^3.1.0", - "minipass-sized": "^1.0.3", - "minizlib": "^2.0.0" - }, - "engines": { - "node": ">=8" - }, - "optionalDependencies": { - "encoding": "^0.1.12" + "color-name": "1.1.3" } }, - "node_modules/minipass-flush": { + "node_modules/listr-verbose-renderer/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "node_modules/listr-verbose-renderer/node_modules/escape-string-regexp": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz", - "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==", - "dependencies": { - "minipass": "^3.0.0" - }, + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, "engines": { - "node": ">= 8" + "node": ">=0.8.0" } }, - "node_modules/minipass-json-stream": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minipass-json-stream/-/minipass-json-stream-1.0.1.tgz", - "integrity": "sha512-ODqY18UZt/I8k+b7rl2AENgbWE8IDYam+undIJONvigAz8KR5GWblsFTEfQs0WODsjbSXWlm+JHEv8Gr6Tfdbg==", + "node_modules/listr-verbose-renderer/node_modules/figures": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", + "integrity": "sha512-Oa2M9atig69ZkfwiApY8F2Yy+tzMbazyvqv21R0NsSC8floSOC09BbT1ITWAdoMGQvJ/aZnR1KMwdx9tvHnTNA==", + "dev": true, "dependencies": { - "jsonparse": "^1.3.1", - "minipass": "^3.0.0" + "escape-string-regexp": "^1.0.5" + }, + "engines": { + "node": ">=4" } }, - "node_modules/minipass-pipeline": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", - "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==", - "dependencies": { - "minipass": "^3.0.0" - }, + "node_modules/listr-verbose-renderer/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, "engines": { - "node": ">=8" + "node": ">=4" } }, - "node_modules/minipass-sized": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz", - "integrity": "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==", - "dependencies": { - "minipass": "^3.0.0" - }, + "node_modules/listr-verbose-renderer/node_modules/mimic-fn": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", + "dev": true, "engines": { - "node": ">=8" + "node": ">=4" } }, - "node_modules/minizlib": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", - "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", + "node_modules/listr-verbose-renderer/node_modules/onetime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", + "integrity": "sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ==", + "dev": true, "dependencies": { - "minipass": "^3.0.0", - "yallist": "^4.0.0" + "mimic-fn": "^1.0.0" }, "engines": { - "node": ">= 8" + "node": ">=4" } }, - "node_modules/mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "bin": { - "mkdirp": "bin/cmd.js" + "node_modules/listr-verbose-renderer/node_modules/restore-cursor": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", + "integrity": "sha512-6IzJLuGi4+R14vwagDHX+JrXmPVtPpn4mffDJ1UdR7/Edm87fl6yi8mMBIVvFtJaNTUvjughmW4hwLhRG7gC1Q==", + "dev": true, + "dependencies": { + "onetime": "^2.0.0", + "signal-exit": "^3.0.2" }, "engines": { - "node": ">=10" + "node": ">=4" } }, - "node_modules/mkdirp-infer-owner": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mkdirp-infer-owner/-/mkdirp-infer-owner-2.0.0.tgz", - "integrity": "sha512-sdqtiFt3lkOaYvTXSRIUjkIdPTcxgv5+fgqYE/5qgwdw12cOrAuzzgzvVExIkH/ul1oeHN3bCLOWSG3XOqbKKw==", + "node_modules/listr-verbose-renderer/node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + }, + "node_modules/listr-verbose-renderer/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, "dependencies": { - "chownr": "^2.0.0", - "infer-owner": "^1.0.4", - "mkdirp": "^1.0.3" + "has-flag": "^3.0.0" }, "engines": { - "node": ">=10" + "node": ">=4" } }, - "node_modules/mocha": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.2.0.tgz", - "integrity": "sha512-IDY7fl/BecMwFHzoqF2sg/SHHANeBoMMXFlS9r0OXKDssYE1M5O43wUY/9BVPeIvfH2zmEbBfseqN9gBQZzXkg==", + "node_modules/listr/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, - "dependencies": { - "ansi-colors": "4.1.1", - "browser-stdout": "1.3.1", - "chokidar": "3.5.3", - "debug": "4.3.4", - "diff": "5.0.0", - "escape-string-regexp": "4.0.0", - "find-up": "5.0.0", - "glob": "7.2.0", - "he": "1.2.0", - "js-yaml": "4.1.0", - "log-symbols": "4.1.0", - "minimatch": "5.0.1", - "ms": "2.1.3", - "nanoid": "3.3.3", - "serialize-javascript": "6.0.0", - "strip-json-comments": "3.1.1", - "supports-color": "8.1.1", - "workerpool": "6.2.1", - "yargs": "16.2.0", - "yargs-parser": "20.2.4", - "yargs-unparser": "2.0.0" - }, - "bin": { - "_mocha": "bin/_mocha", - "mocha": "bin/mocha.js" - }, "engines": { - "node": ">= 14.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/mochajs" + "node": ">=0.10.0" } }, - "node_modules/mocha/node_modules/ansi-colors": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", - "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", + "node_modules/listr/node_modules/p-map": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz", + "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==", "dev": true, "engines": { "node": ">=6" } }, - "node_modules/mocha/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==", - "dev": true - }, - "node_modules/mocha/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "node_modules/listr/node_modules/rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", "dev": true, "dependencies": { - "balanced-match": "^1.0.0" + "tslib": "^1.9.0" + }, + "engines": { + "npm": ">=2.0.0" } }, - "node_modules/mocha/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==", + "node_modules/listr/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, + "node_modules/listr2": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/listr2/-/listr2-8.0.0.tgz", + "integrity": "sha512-u8cusxAcyqAiQ2RhYvV7kRKNLgUvtObIbhOX2NCXqvp1UU32xIg5CT22ykS2TPKJXZWJwtK3IKLiqAGlGNE+Zg==", "dev": true, + "dependencies": { + "cli-truncate": "^4.0.0", + "colorette": "^2.0.20", + "eventemitter3": "^5.0.1", + "log-update": "^6.0.0", + "rfdc": "^1.3.0", + "wrap-ansi": "^9.0.0" + }, "engines": { - "node": ">=10" + "node": ">=18.0.0" } }, - "node_modules/mocha/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "node_modules/listr2/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", "dev": true, "engines": { - "node": ">=8" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" } }, - "node_modules/mocha/node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "node_modules/listr2/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", "dev": true, - "dependencies": { - "argparse": "^2.0.1" + "engines": { + "node": ">=12" }, - "bin": { - "js-yaml": "bin/js-yaml.js" + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/mocha/node_modules/minimatch": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz", - "integrity": "sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==", + "node_modules/listr2/node_modules/emoji-regex": { + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.3.0.tgz", + "integrity": "sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw==", + "dev": true + }, + "node_modules/listr2/node_modules/string-width": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.0.0.tgz", + "integrity": "sha512-GPQHj7row82Hjo9hKZieKcHIhaAIKOJvFSIZXuCU9OASVZrMNUaZuz++SPVrBjnLsnk4k+z9f2EIypgxf2vNFw==", "dev": true, "dependencies": { - "brace-expansion": "^2.0.1" + "emoji-regex": "^10.3.0", + "get-east-asian-width": "^1.0.0", + "strip-ansi": "^7.1.0" }, "engines": { - "node": ">=10" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/mocha/node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "node_modules/listr2/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", "dev": true, "dependencies": { - "has-flag": "^4.0.0" + "ansi-regex": "^6.0.1" }, "engines": { - "node": ">=10" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, - "node_modules/mocha/node_modules/yargs-parser": { - "version": "20.2.4", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", - "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==", + "node_modules/listr2/node_modules/wrap-ansi": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.0.tgz", + "integrity": "sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==", "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" - }, - "node_modules/multimatch": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/multimatch/-/multimatch-5.0.0.tgz", - "integrity": "sha512-ypMKuglUrZUD99Tk2bUQ+xNQj43lPEfAeX2o9cTteAmShXy2VHDJpuwu1o0xqoKCt9jLVAvwyFKdLTPXKAfJyA==", "dependencies": { - "@types/minimatch": "^3.0.3", - "array-differ": "^3.0.0", - "array-union": "^2.1.0", - "arrify": "^2.0.1", - "minimatch": "^3.0.4" + "ansi-styles": "^6.2.1", + "string-width": "^7.0.0", + "strip-ansi": "^7.1.0" }, "engines": { - "node": ">=10" + "node": ">=18" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/mute-stream": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", - "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=" - }, - "node_modules/nanoid": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.3.tgz", - "integrity": "sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==", - "dev": true, - "bin": { - "nanoid": "bin/nanoid.cjs" + "node_modules/load-yaml-file": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/load-yaml-file/-/load-yaml-file-0.2.0.tgz", + "integrity": "sha512-OfCBkGEw4nN6JLtgRidPX6QxjBQGQf72q3si2uvqyFEMbycSFFHwAZeXx6cJgFM9wmLrf9zBwCP3Ivqa+LLZPw==", + "dependencies": { + "graceful-fs": "^4.1.5", + "js-yaml": "^3.13.0", + "pify": "^4.0.1", + "strip-bom": "^3.0.0" }, "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + "node": ">=6" } }, - "node_modules/natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", - "dev": true + "node_modules/load-yaml-file/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dependencies": { + "sprintf-js": "~1.0.2" + } }, - "node_modules/negotiator": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", - "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==", - "engines": { - "node": ">= 0.6" + "node_modules/load-yaml-file/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/new-github-release-url": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/new-github-release-url/-/new-github-release-url-2.0.0.tgz", - "integrity": "sha512-NHDDGYudnvRutt/VhKFlX26IotXe1w0cmkDm6JGquh5bz/bDTw0LufSmH/GxTjEdpHEO+bVKFTwdrcGa/9XlKQ==", + "node_modules/local-pkg": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-0.5.0.tgz", + "integrity": "sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==", "dev": true, "dependencies": { - "type-fest": "^2.5.1" + "mlly": "^1.4.2", + "pkg-types": "^1.0.3" }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "node": ">=14" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/antfu" } }, - "node_modules/new-github-release-url/node_modules/type-fest": { - "version": "2.19.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz", - "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==", - "dev": true, - "engines": { - "node": ">=12.20" - }, + "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==", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/nise": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/nise/-/nise-5.1.5.tgz", - "integrity": "sha512-VJuPIfUFaXNRzETTQEEItTOP8Y171ijr+JLq42wHes3DiryR8vT+1TXQW/Rx8JNUhyYYWyIvjXTU6dOhJcs9Nw==", - "dev": true, - "dependencies": { - "@sinonjs/commons": "^2.0.0", - "@sinonjs/fake-timers": "^10.0.2", - "@sinonjs/text-encoding": "^0.7.1", - "just-extend": "^4.0.2", - "path-to-regexp": "^1.7.0" - } + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" }, - "node_modules/nise/node_modules/@sinonjs/commons": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-2.0.0.tgz", - "integrity": "sha512-uLa0j859mMrg2slwQYdO/AkrOfmH+X6LTVmNTS9CqexuE2IvVORIkSpJLqePAbEnKJ77aMmCwr1NUZ57120Xcg==", - "dev": true, - "dependencies": { - "type-detect": "4.0.8" - } + "node_modules/lodash-es": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz", + "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==" }, - "node_modules/nise/node_modules/@sinonjs/fake-timers": { - "version": "10.3.0", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", - "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", - "dev": true, - "dependencies": { - "@sinonjs/commons": "^3.0.0" - } + "node_modules/lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==" }, - "node_modules/nise/node_modules/@sinonjs/fake-timers/node_modules/@sinonjs/commons": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.0.tgz", - "integrity": "sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==", - "dev": true, - "dependencies": { - "type-detect": "4.0.8" - } + "node_modules/lodash.get": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", + "integrity": "sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==", + "devOptional": true }, - "node_modules/node-fetch": { - "version": "2.6.7", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", - "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", - "dependencies": { - "whatwg-url": "^5.0.0" - }, - "engines": { - "node": "4.x || >=6.0.0" - }, - "peerDependencies": { - "encoding": "^0.1.0" - }, - "peerDependenciesMeta": { - "encoding": { - "optional": true - } - } + "node_modules/lodash.isequal": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", + "integrity": "sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==", + "dev": true }, - "node_modules/node-gyp": { - "version": "8.4.1", - "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-8.4.1.tgz", - "integrity": "sha512-olTJRgUtAb/hOXG0E93wZDs5YiJlgbXxTwQAFHyNlRsXQnYzUaF2aGgujZbw+hR8aF4ZG/rST57bWMWD16jr9w==", - "dependencies": { - "env-paths": "^2.2.0", - "glob": "^7.1.4", - "graceful-fs": "^4.2.6", - "make-fetch-happen": "^9.1.0", - "nopt": "^5.0.0", - "npmlog": "^6.0.0", - "rimraf": "^3.0.2", - "semver": "^7.3.5", - "tar": "^6.1.2", - "which": "^2.0.2" - }, - "bin": { - "node-gyp": "bin/node-gyp.js" - }, - "engines": { - "node": ">= 10.12.0" - } + "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==" }, - "node_modules/node-gyp/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "engines": { - "node": ">=8" - } + "node_modules/lodash.zip": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.zip/-/lodash.zip-4.2.0.tgz", + "integrity": "sha512-C7IOaBBK/0gMORRBd8OETNx3kmOkgIWIPvyDpZSCTwUrpYmgZwJkjZeOD8ww4xbOUOs4/attY+pciKvadNfFbg==", + "dev": true }, - "node_modules/node-gyp/node_modules/gauge": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.0.tgz", - "integrity": "sha512-F8sU45yQpjQjxKkm1UOAhf0U/O0aFt//Fl7hsrNVto+patMHjs7dPI9mFOGUKbhrgKm0S3EjW3scMFuQmWSROw==", + "node_modules/log-symbols": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-5.1.0.tgz", + "integrity": "sha512-l0x2DvrW294C9uDCoQe1VSU4gf529FkSZ6leBl4TiqZH/e+0R7hSfHQBNut2mNygDgHwvYHfFLn6Oxb3VWj2rA==", "dependencies": { - "ansi-regex": "^5.0.1", - "aproba": "^1.0.3 || ^2.0.0", - "color-support": "^1.1.2", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.1", - "signal-exit": "^3.0.0", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "wide-align": "^1.1.2" + "chalk": "^5.0.0", + "is-unicode-supported": "^1.1.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/node-gyp/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==", + "node_modules/log-symbols/node_modules/chalk": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", + "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", "engines": { - "node": ">=8" + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/node-gyp/node_modules/npmlog": { + "node_modules/log-update": { "version": "6.0.0", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.0.tgz", - "integrity": "sha512-03ppFRGlsyUaQFbGC2C8QWJN/C/K7PsfyD9aQdhVKAQIH4sQBc8WASqFBP7O+Ut4d2oo5LoeoboB3cGdBZSp6Q==", + "resolved": "https://registry.npmjs.org/log-update/-/log-update-6.0.0.tgz", + "integrity": "sha512-niTvB4gqvtof056rRIrTZvjNYE4rCUzO6X/X+kYjd7WFxXeJ0NwEFnRxX6ehkvv3jTwrXnNdtAak5XYZuIyPFw==", + "dev": true, "dependencies": { - "are-we-there-yet": "^2.0.0", - "console-control-strings": "^1.1.0", - "gauge": "^4.0.0", - "set-blocking": "^2.0.0" + "ansi-escapes": "^6.2.0", + "cli-cursor": "^4.0.0", + "slice-ansi": "^7.0.0", + "strip-ansi": "^7.1.0", + "wrap-ansi": "^9.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/node-gyp/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==", + "node_modules/log-update/node_modules/ansi-escapes": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-6.2.0.tgz", + "integrity": "sha512-kzRaCqXnpzWs+3z5ABPQiVke+iq0KXkHo8xiWV4RPTi5Yli0l97BEQuhXV1s7+aSU/fu1kUuxgS4MsQ0fRuygw==", + "dev": true, "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" + "type-fest": "^3.0.0" }, "engines": { - "node": ">=8" + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/node-gyp/node_modules/strip-ansi": { + "node_modules/log-update/node_modules/ansi-regex": { "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dependencies": { - "ansi-regex": "^5.0.1" + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true, + "engines": { + "node": ">=12" }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/log-update/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true, "engines": { - "node": ">=8" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/nopt": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", - "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", + "node_modules/log-update/node_modules/cli-cursor": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-4.0.0.tgz", + "integrity": "sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==", + "dev": true, "dependencies": { - "abbrev": "1" - }, - "bin": { - "nopt": "bin/nopt.js" + "restore-cursor": "^4.0.0" }, "engines": { - "node": ">=6" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "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==", - "dependencies": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" - } + "node_modules/log-update/node_modules/emoji-regex": { + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.3.0.tgz", + "integrity": "sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw==", + "dev": true }, - "node_modules/normalize-package-data/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "bin": { - "semver": "bin/semver" + "node_modules/log-update/node_modules/is-fullwidth-code-point": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-5.0.0.tgz", + "integrity": "sha512-OVa3u9kkBbw7b8Xw5F9P+D/T9X+Z4+JruYVNapTjPYZYUznQ5YfWeFkOj606XYYW8yugTfC8Pj0hYqvi4ryAhA==", + "dev": true, + "dependencies": { + "get-east-asian-width": "^1.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "node_modules/log-update/node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">=6" } }, - "node_modules/normalize-url": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", - "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", + "node_modules/log-update/node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", "dev": true, + "dependencies": { + "mimic-fn": "^2.1.0" + }, "engines": { - "node": ">=10" + "node": ">=6" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/np": { - "version": "9.2.0", - "resolved": "https://registry.npmjs.org/np/-/np-9.2.0.tgz", - "integrity": "sha512-VYA8IKyx5XJqROr2vu8NAstfgBznrnOu3PUByFl3TBwzQVkeGC+gzOPzGbvYKM1QwlX6Gt7kVSPMzDP4qkSs1g==", + "node_modules/log-update/node_modules/restore-cursor": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-4.0.0.tgz", + "integrity": "sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==", "dev": true, "dependencies": { - "chalk": "^5.3.0", - "chalk-template": "^1.1.0", - "cosmiconfig": "^8.3.6", - "del": "^7.1.0", - "escape-goat": "^4.0.0", - "escape-string-regexp": "^5.0.0", - "execa": "^8.0.1", - "exit-hook": "^4.0.0", - "github-url-from-git": "^1.5.0", - "has-yarn": "^3.0.0", - "hosted-git-info": "^7.0.1", - "ignore-walk": "^6.0.3", - "import-local": "^3.1.0", - "inquirer": "^9.2.12", - "is-installed-globally": "^1.0.0", - "is-interactive": "^2.0.0", - "is-scoped": "^3.0.0", - "issue-regex": "^4.1.0", - "listr": "^0.14.3", - "listr-input": "^0.2.1", - "log-symbols": "^6.0.0", - "meow": "^12.1.1", - "new-github-release-url": "^2.0.0", - "npm-name": "^7.1.1", - "onetime": "^7.0.0", - "open": "^9.1.0", - "ow": "^1.1.1", - "p-memoize": "^7.1.1", - "p-timeout": "^6.1.2", - "path-exists": "^5.0.0", - "pkg-dir": "^8.0.0", - "read-package-up": "^11.0.0", - "read-pkg": "^9.0.1", - "rxjs": "^7.8.1", - "semver": "^7.5.4", - "symbol-observable": "^4.0.0", - "terminal-link": "^3.0.0", - "update-notifier": "^7.0.0" - }, - "bin": { - "np": "source/cli.js" + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" }, "engines": { - "git": ">=2.11.0", - "node": ">=18", - "npm": ">=9", - "yarn": ">=1.7.0" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, "funding": { - "url": "https://github.com/sindresorhus/np?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/np/node_modules/ansi-escapes": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", - "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "node_modules/log-update/node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + }, + "node_modules/log-update/node_modules/slice-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-7.1.0.tgz", + "integrity": "sha512-bSiSngZ/jWeX93BqeIAbImyTbEihizcwNjFoRUIY/T1wWQsfsm2Vw1agPKylXvQTU7iASGdHhyqRlqQzfz+Htg==", "dev": true, "dependencies": { - "type-fest": "^0.21.3" + "ansi-styles": "^6.2.1", + "is-fullwidth-code-point": "^5.0.0" }, "engines": { - "node": ">=8" + "node": ">=18" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/chalk/slice-ansi?sponsor=1" } }, - "node_modules/np/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "node_modules/log-update/node_modules/string-width": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.0.0.tgz", + "integrity": "sha512-GPQHj7row82Hjo9hKZieKcHIhaAIKOJvFSIZXuCU9OASVZrMNUaZuz++SPVrBjnLsnk4k+z9f2EIypgxf2vNFw==", "dev": true, + "dependencies": { + "emoji-regex": "^10.3.0", + "get-east-asian-width": "^1.0.0", + "strip-ansi": "^7.1.0" + }, "engines": { - "node": ">=8" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/np/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==", + "node_modules/log-update/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", "dev": true, "dependencies": { - "color-convert": "^2.0.1" + "ansi-regex": "^6.0.1" }, "engines": { - "node": ">=8" + "node": ">=12" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, - "node_modules/np/node_modules/chalk": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", - "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", + "node_modules/log-update/node_modules/type-fest": { + "version": "3.13.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-3.13.1.tgz", + "integrity": "sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g==", "dev": true, "engines": { - "node": "^12.17.0 || ^14.13 || >=16.0.0" + "node": ">=14.16" }, "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/np/node_modules/cli-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", - "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "node_modules/log-update/node_modules/wrap-ansi": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.0.tgz", + "integrity": "sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==", "dev": true, "dependencies": { - "restore-cursor": "^3.1.0" + "ansi-styles": "^6.2.1", + "string-width": "^7.0.0", + "strip-ansi": "^7.1.0" }, "engines": { - "node": ">=8" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/np/node_modules/cli-width": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-4.1.0.tgz", - "integrity": "sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==", - "dev": true, + "node_modules/logform": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/logform/-/logform-2.6.0.tgz", + "integrity": "sha512-1ulHeNPp6k/LD8H91o7VYFBng5i1BDE7HoKxVbZiGFidS1Rj65qcywLxX+pVfAPoQJEjRdvKcusKwOupHCVOVQ==", + "dependencies": { + "@colors/colors": "1.6.0", + "@types/triple-beam": "^1.3.2", + "fecha": "^4.2.0", + "ms": "^2.1.1", + "safe-stable-stringify": "^2.3.1", + "triple-beam": "^1.3.0" + }, "engines": { - "node": ">= 12" + "node": ">= 12.0.0" } }, - "node_modules/np/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "node_modules/loupe": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.7.tgz", + "integrity": "sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==", "dev": true, "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" + "get-func-name": "^2.0.1" } }, - "node_modules/np/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/np/node_modules/escape-string-regexp": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", - "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", + "node_modules/lowercase-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", + "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", "dev": true, "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=8" } }, - "node_modules/np/node_modules/execa": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", - "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==", - "dev": true, - "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^8.0.1", - "human-signals": "^5.0.0", - "is-stream": "^3.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^5.1.0", - "onetime": "^6.0.0", - "signal-exit": "^4.1.0", - "strip-final-newline": "^3.0.0" - }, + "node_modules/lru-cache": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.1.0.tgz", + "integrity": "sha512-/1clY/ui8CzjKFyjdvwPWJUYKiFVXG2I2cY0ssG7h4+hwk+XOIX7ZSG9Q7TW8TW3Kp3BUSqgFWBLgL4PJ+Blag==", "engines": { - "node": ">=16.17" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" + "node": "14 || >=16.14" } }, - "node_modules/np/node_modules/execa/node_modules/mimic-fn": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", - "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", - "dev": true, + "node_modules/macos-release": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/macos-release/-/macos-release-2.5.1.tgz", + "integrity": "sha512-DXqXhEM7gW59OjZO8NIjBCz9AQ1BEMrfiOAl4AYByHCtVHRF4KoGNO8mqQeM8lRCtQe/UnJ4imO/d2HdkKsd+A==", "engines": { - "node": ">=12" + "node": ">=6" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/np/node_modules/execa/node_modules/onetime": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", - "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", + "node_modules/magic-string": { + "version": "0.30.5", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.5.tgz", + "integrity": "sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA==", "dev": true, "dependencies": { - "mimic-fn": "^4.0.0" + "@jridgewell/sourcemap-codec": "^1.4.15" }, "engines": { "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/np/node_modules/figures": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-5.0.0.tgz", - "integrity": "sha512-ej8ksPF4x6e5wvK9yevct0UCXh8TTFlWGVLlgjZuoBH1HwjIfKE/IdL5mq89sFA7zELi1VhKpmtDnrs7zWyeyg==", - "dev": true, + "node_modules/make-fetch-happen": { + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-13.0.0.tgz", + "integrity": "sha512-7ThobcL8brtGo9CavByQrQi+23aIfgYU++wg4B87AIS8Rb2ZBt/MEaDqzA00Xwv/jUjAjYkLHjVolYuTLKda2A==", "dependencies": { - "escape-string-regexp": "^5.0.0", - "is-unicode-supported": "^1.2.0" + "@npmcli/agent": "^2.0.0", + "cacache": "^18.0.0", + "http-cache-semantics": "^4.1.1", + "is-lambda": "^1.0.1", + "minipass": "^7.0.2", + "minipass-fetch": "^3.0.0", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^0.6.3", + "promise-retry": "^2.0.1", + "ssri": "^10.0.0" }, "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": "^16.14.0 || >=18.0.0" } }, - "node_modules/np/node_modules/get-stream": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", - "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==", + "node_modules/markdown-it": { + "version": "12.3.2", + "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-12.3.2.tgz", + "integrity": "sha512-TchMembfxfNVpHkbtriWltGWc+m3xszaRD0CZup7GFFhzIgQqxIfn3eGj1yZpfuflzPvfkt611B2Q/Bsk1YnGg==", "dev": true, - "engines": { - "node": ">=16" + "dependencies": { + "argparse": "^2.0.1", + "entities": "~2.1.0", + "linkify-it": "^3.0.1", + "mdurl": "^1.0.1", + "uc.micro": "^1.0.5" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "bin": { + "markdown-it": "bin/markdown-it.js" } }, - "node_modules/np/node_modules/hosted-git-info": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-7.0.1.tgz", - "integrity": "sha512-+K84LB1DYwMHoHSgaOY/Jfhw3ucPmSET5v98Ke/HdNSw4a0UktWzyW1mjhjpuxxTqOOsfWT/7iVshHmVZ4IpOA==", + "node_modules/markdown-it-anchor": { + "version": "8.6.7", + "resolved": "https://registry.npmjs.org/markdown-it-anchor/-/markdown-it-anchor-8.6.7.tgz", + "integrity": "sha512-FlCHFwNnutLgVTflOYHPW2pPcl2AACqVzExlkGQNsi4CJgqOHN7YTgDd4LuhgN1BFO3TS0vLAruV1Td6dwWPJA==", "dev": true, - "dependencies": { - "lru-cache": "^10.0.1" - }, - "engines": { - "node": "^16.14.0 || >=18.0.0" + "peerDependencies": { + "@types/markdown-it": "*", + "markdown-it": "*" } }, - "node_modules/np/node_modules/human-signals": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", - "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==", + "node_modules/marked": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/marked/-/marked-4.3.0.tgz", + "integrity": "sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A==", "dev": true, + "bin": { + "marked": "bin/marked.js" + }, "engines": { - "node": ">=16.17.0" + "node": ">= 12" } }, - "node_modules/np/node_modules/inquirer": { - "version": "9.2.12", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-9.2.12.tgz", - "integrity": "sha512-mg3Fh9g2zfuVWJn6lhST0O7x4n03k7G8Tx5nvikJkbq8/CK47WDVm+UznF0G6s5Zi0KcyUisr6DU8T67N5U+1Q==", - "dev": true, + "node_modules/mdurl": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", + "integrity": "sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==", + "dev": true + }, + "node_modules/mem-fs": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mem-fs/-/mem-fs-4.0.0.tgz", + "integrity": "sha512-GCt8Xh5cRZ1ep45A8T+NlUYCPHzSj5JG2Xo7CA4Z8ISZ8Ovw0UQhQGt+J/z2xk7M3F9F4X9ZjSYk9UYlLLy4Wg==", "dependencies": { - "@ljharb/through": "^2.3.11", - "ansi-escapes": "^4.3.2", - "chalk": "^5.3.0", - "cli-cursor": "^3.1.0", - "cli-width": "^4.1.0", - "external-editor": "^3.1.0", - "figures": "^5.0.0", - "lodash": "^4.17.21", - "mute-stream": "1.0.0", - "ora": "^5.4.1", - "run-async": "^3.0.0", - "rxjs": "^7.8.1", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^6.2.0" + "@types/node": "^20.8.3", + "@types/vinyl": "^2.0.8", + "vinyl": "^3.0.0", + "vinyl-file": "^5.0.0" }, "engines": { - "node": ">=14.18.0" + "node": ">=18.0.0" } }, - "node_modules/np/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, + "node_modules/mem-fs-editor": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/mem-fs-editor/-/mem-fs-editor-11.0.0.tgz", + "integrity": "sha512-D9+DPIDohRxYUO95vR3RxJZUNkCmehOHqIoJVm9OxChMadCsNdiTB1nuU4zaHJonUMASYdfKN2USxnB9z0ccXg==", + "dependencies": { + "@types/ejs": "^3.1.3", + "@types/node": "^18.18.5", + "binaryextensions": "^4.18.0", + "commondir": "^1.0.1", + "deep-extend": "^0.6.0", + "ejs": "^3.1.9", + "globby": "^13.2.2", + "isbinaryfile": "^5.0.0", + "minimatch": "^9.0.3", + "multimatch": "^6.0.0", + "normalize-path": "^3.0.0", + "textextensions": "^5.16.0", + "vinyl": "^3.0.0" + }, "engines": { - "node": ">=8" + "node": ">=18.0.0" + }, + "peerDependencies": { + "mem-fs": "^4.0.0" } }, - "node_modules/np/node_modules/is-interactive": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-2.0.0.tgz", - "integrity": "sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node_modules/mem-fs-editor/node_modules/@types/node": { + "version": "18.19.6", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.6.tgz", + "integrity": "sha512-X36s5CXMrrJOs2lQCdDF68apW4Rfx9ixYMawlepwmE4Anezv/AV2LSpKD1Ub8DAc+urp5bk0BGZ6NtmBitfnsg==", + "dependencies": { + "undici-types": "~5.26.4" } }, - "node_modules/np/node_modules/is-scoped": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-scoped/-/is-scoped-3.0.0.tgz", - "integrity": "sha512-ezxLUq30kiTvP0w/5n9tj4qTOKlrA07Oty1hwTQ+lcqw11x6uc8sp7VRb2OVGRzKfCHZ2A22T5Zsau/Q2Akb0g==", - "dev": true, + "node_modules/mem-fs-editor/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "dependencies": { - "scoped-regex": "^3.0.0" + "balanced-match": "^1.0.0" + } + }, + "node_modules/mem-fs-editor/node_modules/ejs": { + "version": "3.1.9", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.9.tgz", + "integrity": "sha512-rC+QVNMJWv+MtPgkt0y+0rVEIdbtxVADApW9JXrUVlzHetgcyczP/E7DJmWJ4fJCZF2cPcBk0laWO9ZHMG3DmQ==", + "dependencies": { + "jake": "^10.8.5" }, - "engines": { - "node": ">=12" + "bin": { + "ejs": "bin/cli.js" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/np/node_modules/is-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", - "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", - "dev": true, + "node_modules/mem-fs-editor/node_modules/minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "dependencies": { + "brace-expansion": "^2.0.1" + }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "node": ">=16 || 14 >=14.17" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/np/node_modules/is-unicode-supported": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-1.3.0.tgz", - "integrity": "sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==", + "node_modules/meow": { + "version": "12.1.1", + "resolved": "https://registry.npmjs.org/meow/-/meow-12.1.1.tgz", + "integrity": "sha512-BhXM0Au22RwUneMPwSCnyhTOizdWoIEPU9sp0Aqa1PnDMR5Wv2FGXYDjuzJEIX+Eo2Rb8xuYe5jrnm5QowQFkw==", "dev": true, "engines": { - "node": ">=12" + "node": ">=16.10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/np/node_modules/log-symbols": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-6.0.0.tgz", - "integrity": "sha512-i24m8rpwhmPIS4zscNzK6MSEhk0DUWa/8iYQWxhffV8jkI4Phvs3F+quL5xvS0gdQR0FyTCMMH33Y78dDTzzIw==", - "dev": true, - "dependencies": { - "chalk": "^5.3.0", - "is-unicode-supported": "^1.3.0" - }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">= 8" } }, - "node_modules/np/node_modules/lru-cache": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.1.0.tgz", - "integrity": "sha512-/1clY/ui8CzjKFyjdvwPWJUYKiFVXG2I2cY0ssG7h4+hwk+XOIX7ZSG9Q7TW8TW3Kp3BUSqgFWBLgL4PJ+Blag==", - "dev": true, + "node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, "engines": { - "node": "14 || >=16.14" + "node": ">=8.6" } }, - "node_modules/np/node_modules/mute-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-1.0.0.tgz", - "integrity": "sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA==", - "dev": true, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": ">= 0.6" } }, - "node_modules/np/node_modules/normalize-package-data": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-6.0.0.tgz", - "integrity": "sha512-UL7ELRVxYBHBgYEtZCXjxuD5vPxnmvMGq0jp/dGPKKrN7tfsBh2IY7TlJ15WWwdjRWD3RJbnsygUurTK3xkPkg==", - "dev": true, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", "dependencies": { - "hosted-git-info": "^7.0.0", - "is-core-module": "^2.8.1", - "semver": "^7.3.5", - "validate-npm-package-license": "^3.0.4" + "mime-db": "1.52.0" }, "engines": { - "node": "^16.14.0 || >=18.0.0" + "node": ">= 0.6" } }, - "node_modules/np/node_modules/npm-run-path": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.1.0.tgz", - "integrity": "sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==", - "dev": true, - "dependencies": { - "path-key": "^4.0.0" - }, + "node_modules/mimic-fn": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", + "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "node": ">=12" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/np/node_modules/onetime": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-7.0.0.tgz", - "integrity": "sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==", + "node_modules/mimic-function": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/mimic-function/-/mimic-function-5.0.0.tgz", + "integrity": "sha512-RBfQ+9X9DpXdEoK7Bu+KeEU6vFhumEIiXKWECPzRBmDserEq4uR2b/VCm0LwpMSosoq2k+Zuxj/GzOr0Fn6h/g==", "dev": true, - "dependencies": { - "mimic-function": "^5.0.0" - }, "engines": { "node": ">=18" }, @@ -8783,826 +9804,883 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/np/node_modules/parse-json": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-8.1.0.tgz", - "integrity": "sha512-rum1bPifK5SSar35Z6EKZuYPJx85pkNaFrxBK3mwdfSJ1/WKbYrjoW/zTPSjRRamfmVX1ACBIdFAO0VRErW/EA==", + "node_modules/mimic-response": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", + "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dependencies": { - "@babel/code-frame": "^7.22.13", - "index-to-position": "^0.1.2", - "type-fest": "^4.7.1" + "brace-expansion": "^1.1.7" }, "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": "*" } }, - "node_modules/np/node_modules/parse-json/node_modules/type-fest": { - "version": "4.8.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.8.2.tgz", - "integrity": "sha512-mcvrCjixA5166hSrUoJgGb9gBQN4loMYyj9zxuMs/66ibHNEFd5JXMw37YVDx58L4/QID9jIzdTBB4mDwDJ6KQ==", - "dev": true, - "engines": { - "node": ">=16" - }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/np/node_modules/path-exists": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz", - "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==", - "dev": true, + "node_modules/minipass": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", + "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==", "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "node": ">=16 || 14 >=14.17" } }, - "node_modules/np/node_modules/path-key": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", - "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", - "dev": true, - "engines": { - "node": ">=12" + "node_modules/minipass-collect": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-2.0.1.tgz", + "integrity": "sha512-D7V8PO9oaz7PWGLbCACuI1qEOsq7UKfLotx/C0Aet43fCUB/wfQ7DYeq2oR/svFJGYDHPr38SHATeaj/ZoKHKw==", + "dependencies": { + "minipass": "^7.0.3" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">=16 || 14 >=14.17" } }, - "node_modules/np/node_modules/read-pkg": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-9.0.1.tgz", - "integrity": "sha512-9viLL4/n1BJUCT1NXVTdS1jtm80yDEgR5T4yCelII49Mbj0v1rZdKqj7zCiYdbB0CuCgdrvHcNogAKTFPBocFA==", - "dev": true, + "node_modules/minipass-fetch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-3.0.4.tgz", + "integrity": "sha512-jHAqnA728uUpIaFm7NWsCnqKT6UqZz7GcI/bDpPATuwYyKwJwW0remxSCxUlKiEty+eopHGa3oc8WxgQ1FFJqg==", "dependencies": { - "@types/normalize-package-data": "^2.4.3", - "normalize-package-data": "^6.0.0", - "parse-json": "^8.0.0", - "type-fest": "^4.6.0", - "unicorn-magic": "^0.1.0" + "minipass": "^7.0.3", + "minipass-sized": "^1.0.3", + "minizlib": "^2.1.2" }, "engines": { - "node": ">=18" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "optionalDependencies": { + "encoding": "^0.1.13" } }, - "node_modules/np/node_modules/read-pkg/node_modules/type-fest": { - "version": "4.8.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.8.2.tgz", - "integrity": "sha512-mcvrCjixA5166hSrUoJgGb9gBQN4loMYyj9zxuMs/66ibHNEFd5JXMw37YVDx58L4/QID9jIzdTBB4mDwDJ6KQ==", - "dev": true, - "engines": { - "node": ">=16" + "node_modules/minipass-flush": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz", + "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==", + "dependencies": { + "minipass": "^3.0.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">= 8" } }, - "node_modules/np/node_modules/restore-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", - "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", - "dev": true, + "node_modules/minipass-flush/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", "dependencies": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" + "yallist": "^4.0.0" }, "engines": { "node": ">=8" } }, - "node_modules/np/node_modules/restore-cursor/node_modules/onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "dev": true, + "node_modules/minipass-json-stream": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minipass-json-stream/-/minipass-json-stream-1.0.1.tgz", + "integrity": "sha512-ODqY18UZt/I8k+b7rl2AENgbWE8IDYam+undIJONvigAz8KR5GWblsFTEfQs0WODsjbSXWlm+JHEv8Gr6Tfdbg==", "dependencies": { - "mimic-fn": "^2.1.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "jsonparse": "^1.3.1", + "minipass": "^3.0.0" } }, - "node_modules/np/node_modules/restore-cursor/node_modules/signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dev": true - }, - "node_modules/np/node_modules/run-async": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/run-async/-/run-async-3.0.0.tgz", - "integrity": "sha512-540WwVDOMxA6dN6We19EcT9sc3hkXPw5mzRNGM3FkdN/vtE9NFvj5lFAPNwUDmJjXidm3v7TC1cTE7t17Ulm1Q==", - "dev": true, + "node_modules/minipass-json-stream/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dependencies": { + "yallist": "^4.0.0" + }, "engines": { - "node": ">=0.12.0" + "node": ">=8" } }, - "node_modules/np/node_modules/rxjs": { - "version": "7.8.1", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", - "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", - "dev": true, + "node_modules/minipass-pipeline": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", + "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==", "dependencies": { - "tslib": "^2.1.0" - } - }, - "node_modules/np/node_modules/scoped-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/scoped-regex/-/scoped-regex-3.0.0.tgz", - "integrity": "sha512-yEsN6TuxZhZ1Tl9iB81frTNS292m0I/IG7+w8lTvfcJQP2x3vnpOoevjBoE3Np5A6KnZM2+RtVenihj9t6NiYg==", - "dev": true, - "engines": { - "node": ">=12" + "minipass": "^3.0.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/np/node_modules/signal-exit": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", - "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", - "dev": true, "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": ">=8" } }, - "node_modules/np/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, + "node_modules/minipass-pipeline/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" + "yallist": "^4.0.0" }, "engines": { "node": ">=8" } }, - "node_modules/np/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, + "node_modules/minipass-sized": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz", + "integrity": "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==", "dependencies": { - "ansi-regex": "^5.0.1" + "minipass": "^3.0.0" }, "engines": { "node": ">=8" } }, - "node_modules/np/node_modules/strip-final-newline": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", - "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", - "dev": true, - "engines": { - "node": ">=12" + "node_modules/minipass-sized/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dependencies": { + "yallist": "^4.0.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">=8" } }, - "node_modules/np/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", - "dev": true - }, - "node_modules/np/node_modules/type-fest": { - "version": "0.21.3", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", - "dev": true, - "engines": { - "node": ">=10" + "node_modules/minizlib": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", + "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", + "dependencies": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">= 8" } }, - "node_modules/np/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, + "node_modules/minizlib/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" + "yallist": "^4.0.0" }, "engines": { "node": ">=8" } }, - "node_modules/npm-bundled": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.1.2.tgz", - "integrity": "sha512-x5DHup0SuyQcmL3s7Rx/YQ8sbw/Hzg0rj48eN0dV7hf5cmQq5PXIeioroH3raV1QC1yh3uTYuMThvEQF3iKgGQ==", - "dependencies": { - "npm-normalize-package-bin": "^1.0.1" + "node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" } }, - "node_modules/npm-install-checks": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-4.0.0.tgz", - "integrity": "sha512-09OmyDkNLYwqKPOnbI8exiOZU2GVVmQp7tgez2BPi5OZC8M82elDAps7sxC4l//uSUtotWqoEIDwjRvWH4qz8w==", + "node_modules/mkdirp-infer-owner": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mkdirp-infer-owner/-/mkdirp-infer-owner-2.0.0.tgz", + "integrity": "sha512-sdqtiFt3lkOaYvTXSRIUjkIdPTcxgv5+fgqYE/5qgwdw12cOrAuzzgzvVExIkH/ul1oeHN3bCLOWSG3XOqbKKw==", "dependencies": { - "semver": "^7.1.1" + "chownr": "^2.0.0", + "infer-owner": "^1.0.4", + "mkdirp": "^1.0.3" }, "engines": { "node": ">=10" } }, - "node_modules/npm-name": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/npm-name/-/npm-name-7.1.1.tgz", - "integrity": "sha512-lyOwsFndLoozriMEsaqJ5lXvhCATYOEhDvxlom8TNvB9a/htDXuLgpVhMUOBd9zCewUXCyBXAPxrGr2TK2adgQ==", + "node_modules/mlly": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.5.0.tgz", + "integrity": "sha512-NPVQvAY1xr1QoVeG0cy8yUYC7FQcOx6evl/RjT1wL5FvzPnzOysoqB/jmx/DhssT2dYa8nxECLAaFI/+gVLhDQ==", "dev": true, "dependencies": { - "got": "^11.8.5", - "is-name-taken": "^2.0.0", - "is-scoped": "^3.0.0", - "is-url-superb": "^6.1.0", - "lodash.zip": "^4.2.0", - "org-regex": "^1.0.0", - "p-map": "^5.5.0", - "registry-auth-token": "^4.2.2", - "registry-url": "^6.0.1", - "validate-npm-package-name": "^3.0.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "acorn": "^8.11.3", + "pathe": "^1.1.2", + "pkg-types": "^1.0.3", + "ufo": "^1.3.2" } }, - "node_modules/npm-name/node_modules/aggregate-error": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-4.0.1.tgz", - "integrity": "sha512-0poP0T7el6Vq3rstR8Mn4V/IQrpBLO6POkUSrN7RhyY+GF/InCFShQzsQ39T25gkHhLgSLByyAz+Kjb+c2L98w==", + "node_modules/mocha": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.2.0.tgz", + "integrity": "sha512-IDY7fl/BecMwFHzoqF2sg/SHHANeBoMMXFlS9r0OXKDssYE1M5O43wUY/9BVPeIvfH2zmEbBfseqN9gBQZzXkg==", "dev": true, "dependencies": { - "clean-stack": "^4.0.0", - "indent-string": "^5.0.0" + "ansi-colors": "4.1.1", + "browser-stdout": "1.3.1", + "chokidar": "3.5.3", + "debug": "4.3.4", + "diff": "5.0.0", + "escape-string-regexp": "4.0.0", + "find-up": "5.0.0", + "glob": "7.2.0", + "he": "1.2.0", + "js-yaml": "4.1.0", + "log-symbols": "4.1.0", + "minimatch": "5.0.1", + "ms": "2.1.3", + "nanoid": "3.3.3", + "serialize-javascript": "6.0.0", + "strip-json-comments": "3.1.1", + "supports-color": "8.1.1", + "workerpool": "6.2.1", + "yargs": "16.2.0", + "yargs-parser": "20.2.4", + "yargs-unparser": "2.0.0" + }, + "bin": { + "_mocha": "bin/_mocha", + "mocha": "bin/mocha.js" }, "engines": { - "node": ">=12" + "node": ">= 14.0.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "type": "opencollective", + "url": "https://opencollective.com/mochajs" } }, - "node_modules/npm-name/node_modules/clean-stack": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-4.2.0.tgz", - "integrity": "sha512-LYv6XPxoyODi36Dp976riBtSY27VmFo+MKqEU9QCCWyTrdEPDog+RWA7xQWHi6Vbp61j5c4cdzzX1NidnwtUWg==", + "node_modules/mocha/node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", "dev": true, "dependencies": { - "escape-string-regexp": "5.0.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" } }, - "node_modules/npm-name/node_modules/escape-string-regexp": { + "node_modules/mocha/node_modules/diff": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", - "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", + "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", + "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==", "dev": true, "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=0.3.1" } }, - "node_modules/npm-name/node_modules/indent-string": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-5.0.0.tgz", - "integrity": "sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==", + "node_modules/mocha/node_modules/glob": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, "engines": { - "node": ">=12" + "node": "*" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/npm-name/node_modules/is-scoped": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-scoped/-/is-scoped-3.0.0.tgz", - "integrity": "sha512-ezxLUq30kiTvP0w/5n9tj4qTOKlrA07Oty1hwTQ+lcqw11x6uc8sp7VRb2OVGRzKfCHZ2A22T5Zsau/Q2Akb0g==", + "node_modules/mocha/node_modules/glob/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, "dependencies": { - "scoped-regex": "^3.0.0" + "brace-expansion": "^1.1.7" }, "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": "*" } }, - "node_modules/npm-name/node_modules/p-map": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-5.5.0.tgz", - "integrity": "sha512-VFqfGDHlx87K66yZrNdI4YGtD70IRyd+zSvgks6mzHPRNkoKy+9EKP4SFC77/vTTQYmRmti7dvqC+m5jBrBAcg==", + "node_modules/mocha/node_modules/is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", "dev": true, - "dependencies": { - "aggregate-error": "^4.0.0" - }, "engines": { - "node": ">=12" + "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/npm-name/node_modules/scoped-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/scoped-regex/-/scoped-regex-3.0.0.tgz", - "integrity": "sha512-yEsN6TuxZhZ1Tl9iB81frTNS292m0I/IG7+w8lTvfcJQP2x3vnpOoevjBoE3Np5A6KnZM2+RtVenihj9t6NiYg==", + "node_modules/mocha/node_modules/log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", "dev": true, + "dependencies": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + }, "engines": { - "node": ">=12" + "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/npm-normalize-package-bin": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz", - "integrity": "sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==" - }, - "node_modules/npm-package-arg": { - "version": "8.1.5", - "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.1.5.tgz", - "integrity": "sha512-LhgZrg0n0VgvzVdSm1oiZworPbTxYHUJCgtsJW8mGvlDpxTM1vSJc3m5QZeUkhAHIzbz3VCHd/R4osi1L1Tg/Q==", + "node_modules/mocha/node_modules/minimatch": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz", + "integrity": "sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==", + "dev": true, "dependencies": { - "hosted-git-info": "^4.0.1", - "semver": "^7.3.4", - "validate-npm-package-name": "^3.0.0" + "brace-expansion": "^2.0.1" }, "engines": { "node": ">=10" } }, - "node_modules/npm-package-arg/node_modules/hosted-git-info": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.0.2.tgz", - "integrity": "sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg==", + "node_modules/mocha/node_modules/minimatch/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, "dependencies": { - "lru-cache": "^6.0.0" - }, - "engines": { - "node": ">=10" + "balanced-match": "^1.0.0" } }, - "node_modules/npm-packlist": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-3.0.0.tgz", - "integrity": "sha512-L/cbzmutAwII5glUcf2DBRNY/d0TFd4e/FnaZigJV6JD85RHZXJFGwCndjMWiiViiWSsWt3tiOLpI3ByTnIdFQ==", + "node_modules/mocha/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + }, + "node_modules/mocha/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, "dependencies": { - "glob": "^7.1.6", - "ignore-walk": "^4.0.1", - "npm-bundled": "^1.1.1", - "npm-normalize-package-bin": "^1.0.1" - }, - "bin": { - "npm-packlist": "bin/index.js" + "has-flag": "^4.0.0" }, "engines": { "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" } }, - "node_modules/npm-packlist/node_modules/ignore-walk": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-4.0.1.tgz", - "integrity": "sha512-rzDQLaW4jQbh2YrOFlJdCtX8qgJTehFRYiUB2r1osqTeDzV/3+Jh8fz1oAPzUThf3iku8Ds4IDqawI5d8mUiQw==", + "node_modules/mocha/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, "dependencies": { - "minimatch": "^3.0.4" + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" }, "engines": { "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/npm-pick-manifest": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-6.1.1.tgz", - "integrity": "sha512-dBsdBtORT84S8V8UTad1WlUyKIY9iMsAmqxHbLdeEeBNMLQDlDWWra3wYUx9EBEIiG/YwAy0XyNHDd2goAsfuA==", - "dependencies": { - "npm-install-checks": "^4.0.0", - "npm-normalize-package-bin": "^1.0.1", - "npm-package-arg": "^8.1.2", - "semver": "^7.3.4" - } - }, - "node_modules/npm-registry-fetch": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-11.0.0.tgz", - "integrity": "sha512-jmlgSxoDNuhAtxUIG6pVwwtz840i994dL14FoNVZisrmZW5kWd63IUTNv1m/hyRSGSqWjCUp/YZlS1BJyNp9XA==", + "node_modules/mocha/node_modules/yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dev": true, "dependencies": { - "make-fetch-happen": "^9.0.1", - "minipass": "^3.1.3", - "minipass-fetch": "^1.3.0", - "minipass-json-stream": "^1.0.1", - "minizlib": "^2.0.0", - "npm-package-arg": "^8.0.0" + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" }, "engines": { "node": ">=10" } }, - "node_modules/npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node_modules/multimatch": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/multimatch/-/multimatch-6.0.0.tgz", + "integrity": "sha512-I7tSVxHGPlmPN/enE3mS1aOSo6bWBfls+3HmuEeCUBCE7gWnm3cBXCBkpurzFjVRwC6Kld8lLaZ1Iv5vOcjvcQ==", "dependencies": { - "path-key": "^3.0.0" + "@types/minimatch": "^3.0.5", + "array-differ": "^4.0.0", + "array-union": "^3.0.1", + "minimatch": "^3.0.4" }, "engines": { - "node": ">=8" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/npmlog": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-5.0.1.tgz", - "integrity": "sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==", - "dependencies": { - "are-we-there-yet": "^2.0.0", - "console-control-strings": "^1.1.0", - "gauge": "^3.0.0", - "set-blocking": "^2.0.0" + "node_modules/mute-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-1.0.0.tgz", + "integrity": "sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA==", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/number-is-nan": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", + "node_modules/nanoid": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.3.tgz", + "integrity": "sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==", "dev": true, + "bin": { + "nanoid": "bin/nanoid.cjs" + }, "engines": { - "node": ">=0.10.0" + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" } }, - "node_modules/oauth-sign": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", - "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", - "engines": { - "node": "*" - } + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==" }, - "node_modules/object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", "engines": { - "node": ">=0.10.0" + "node": ">= 0.6" } }, - "node_modules/object-inspect": { - "version": "1.12.3", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", - "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==", + "node_modules/new-github-release-url": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/new-github-release-url/-/new-github-release-url-2.0.0.tgz", + "integrity": "sha512-NHDDGYudnvRutt/VhKFlX26IotXe1w0cmkDm6JGquh5bz/bDTw0LufSmH/GxTjEdpHEO+bVKFTwdrcGa/9XlKQ==", "dev": true, + "dependencies": { + "type-fest": "^2.5.1" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "node_modules/new-github-release-url/node_modules/type-fest": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz", + "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==", "dev": true, "engines": { - "node": ">= 0.4" + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/object.assign": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", - "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", - "dev": true, + "node_modules/nise": { + "version": "5.1.7", + "resolved": "https://registry.npmjs.org/nise/-/nise-5.1.7.tgz", + "integrity": "sha512-wWtNUhkT7k58uvWTB/Gy26eA/EJKtPZFVAhEilN5UYVmmGRYOURbejRUyKm0Uu9XVEW7K5nBOZfR8VMB4QR2RQ==", + "devOptional": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "has-symbols": "^1.0.3", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "@sinonjs/commons": "^3.0.0", + "@sinonjs/fake-timers": "^11.2.2", + "@sinonjs/text-encoding": "^0.7.2", + "just-extend": "^6.2.0", + "path-to-regexp": "^6.2.1" } }, - "node_modules/object.entries": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.5.tgz", - "integrity": "sha512-TyxmjUoZggd4OrrU1W66FMDG6CuqJxsFvymeyXI51+vQLN67zYfZseptRge703kKQdo4uccgAKebXFcRCzk4+g==", - "dev": true, + "node_modules/node-fetch": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.1" + "whatwg-url": "^5.0.0" }, "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.fromentries": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.7.tgz", - "integrity": "sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" + "node": "4.x || >=6.0.0" }, - "engines": { - "node": ">= 0.4" + "peerDependencies": { + "encoding": "^0.1.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "peerDependenciesMeta": { + "encoding": { + "optional": true + } } }, - "node_modules/object.groupby": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.1.tgz", - "integrity": "sha512-HqaQtqLnp/8Bn4GL16cj+CUYbnpe1bh0TtEaWvybszDG4tgxCJuRpV8VGuvNaI1fAnI4lUJzDG55MXcOH4JZcQ==", - "dev": true, + "node_modules/node-gyp": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-10.0.1.tgz", + "integrity": "sha512-gg3/bHehQfZivQVfqIyy8wTdSymF9yTyP4CJifK73imyNMU8AIGQE2pUa7dNWfmMeG9cDVF2eehiRMv0LC1iAg==", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "get-intrinsic": "^1.2.1" + "env-paths": "^2.2.0", + "exponential-backoff": "^3.1.1", + "glob": "^10.3.10", + "graceful-fs": "^4.2.6", + "make-fetch-happen": "^13.0.0", + "nopt": "^7.0.0", + "proc-log": "^3.0.0", + "semver": "^7.3.5", + "tar": "^6.1.2", + "which": "^4.0.0" + }, + "bin": { + "node-gyp": "bin/node-gyp.js" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" } }, - "node_modules/object.values": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.7.tgz", - "integrity": "sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" - }, + "node_modules/node-gyp/node_modules/env-paths": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=6" } }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dependencies": { - "wrappy": "1" + "node_modules/node-gyp/node_modules/isexe": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz", + "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==", + "engines": { + "node": ">=16" } }, - "node_modules/one-time": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/one-time/-/one-time-1.0.0.tgz", - "integrity": "sha512-5DXOiRKwuSEcQ/l0kGCF6Q3jcADFv5tSmRaJck/OqkVFcOzutB134KRSfF0xDrL39MNnqxbHBbUUcjZIhTgb2g==", + "node_modules/node-gyp/node_modules/which": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/which/-/which-4.0.0.tgz", + "integrity": "sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==", "dependencies": { - "fn.name": "1.x.x" + "isexe": "^3.1.1" + }, + "bin": { + "node-which": "bin/which.js" + }, + "engines": { + "node": "^16.13.0 || >=18.0.0" } }, - "node_modules/onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "node_modules/nopt": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-7.2.0.tgz", + "integrity": "sha512-CVDtwCdhYIvnAzFoJ6NJ6dX3oga9/HyciQDnG1vQDjSLMeKLJ4A93ZqYKDrgYSr1FBY5/hMYC+2VCi24pgpkGA==", "dependencies": { - "mimic-fn": "^2.1.0" + "abbrev": "^2.0.0" + }, + "bin": { + "nopt": "bin/nopt.js" }, "engines": { - "node": ">=6" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/open": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/open/-/open-9.1.0.tgz", - "integrity": "sha512-OS+QTnw1/4vrf+9hh1jc1jnYjzSG4ttTBB8UxOwAnInG3Uo4ssetzC1ihqaIHjLJnA5GGlRl6QlZXOTQhRBUvg==", - "dev": true, + "node_modules/normalize-package-data": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-6.0.0.tgz", + "integrity": "sha512-UL7ELRVxYBHBgYEtZCXjxuD5vPxnmvMGq0jp/dGPKKrN7tfsBh2IY7TlJ15WWwdjRWD3RJbnsygUurTK3xkPkg==", "dependencies": { - "default-browser": "^4.0.0", - "define-lazy-prop": "^3.0.0", - "is-inside-container": "^1.0.0", - "is-wsl": "^2.2.0" + "hosted-git-info": "^7.0.0", + "is-core-module": "^2.8.1", + "semver": "^7.3.5", + "validate-npm-package-license": "^3.0.4" }, "engines": { - "node": ">=14.16" + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-url": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", + "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", + "dev": true, + "engines": { + "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/optionator": { - "version": "0.9.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", - "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", + "node_modules/np": { + "version": "9.2.0", + "resolved": "https://registry.npmjs.org/np/-/np-9.2.0.tgz", + "integrity": "sha512-VYA8IKyx5XJqROr2vu8NAstfgBznrnOu3PUByFl3TBwzQVkeGC+gzOPzGbvYKM1QwlX6Gt7kVSPMzDP4qkSs1g==", "dev": true, "dependencies": { - "@aashutoshrathi/word-wrap": "^1.2.3", - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0" + "chalk": "^5.3.0", + "chalk-template": "^1.1.0", + "cosmiconfig": "^8.3.6", + "del": "^7.1.0", + "escape-goat": "^4.0.0", + "escape-string-regexp": "^5.0.0", + "execa": "^8.0.1", + "exit-hook": "^4.0.0", + "github-url-from-git": "^1.5.0", + "has-yarn": "^3.0.0", + "hosted-git-info": "^7.0.1", + "ignore-walk": "^6.0.3", + "import-local": "^3.1.0", + "inquirer": "^9.2.12", + "is-installed-globally": "^1.0.0", + "is-interactive": "^2.0.0", + "is-scoped": "^3.0.0", + "issue-regex": "^4.1.0", + "listr": "^0.14.3", + "listr-input": "^0.2.1", + "log-symbols": "^6.0.0", + "meow": "^12.1.1", + "new-github-release-url": "^2.0.0", + "npm-name": "^7.1.1", + "onetime": "^7.0.0", + "open": "^9.1.0", + "ow": "^1.1.1", + "p-memoize": "^7.1.1", + "p-timeout": "^6.1.2", + "path-exists": "^5.0.0", + "pkg-dir": "^8.0.0", + "read-package-up": "^11.0.0", + "read-pkg": "^9.0.1", + "rxjs": "^7.8.1", + "semver": "^7.5.4", + "symbol-observable": "^4.0.0", + "terminal-link": "^3.0.0", + "update-notifier": "^7.0.0" + }, + "bin": { + "np": "source/cli.js" }, "engines": { - "node": ">= 0.8.0" + "git": ">=2.11.0", + "node": ">=18", + "npm": ">=9", + "yarn": ">=1.7.0" + }, + "funding": { + "url": "https://github.com/sindresorhus/np?sponsor=1" } }, - "node_modules/ora": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", - "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", + "node_modules/np/node_modules/chalk": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", + "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", "dev": true, - "dependencies": { - "bl": "^4.1.0", - "chalk": "^4.1.0", - "cli-cursor": "^3.1.0", - "cli-spinners": "^2.5.0", - "is-interactive": "^1.0.0", - "is-unicode-supported": "^0.1.0", - "log-symbols": "^4.1.0", - "strip-ansi": "^6.0.0", - "wcwidth": "^1.0.1" - }, "engines": { - "node": ">=10" + "node": "^12.17.0 || ^14.13 || >=16.0.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/ora/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "node_modules/np/node_modules/escape-string-regexp": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", + "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", "dev": true, "engines": { - "node": ">=8" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/ora/node_modules/cli-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", - "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "node_modules/np/node_modules/log-symbols": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-6.0.0.tgz", + "integrity": "sha512-i24m8rpwhmPIS4zscNzK6MSEhk0DUWa/8iYQWxhffV8jkI4Phvs3F+quL5xvS0gdQR0FyTCMMH33Y78dDTzzIw==", "dev": true, "dependencies": { - "restore-cursor": "^3.1.0" + "chalk": "^5.3.0", + "is-unicode-supported": "^1.3.0" }, "engines": { - "node": ">=8" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/ora/node_modules/restore-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", - "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "node_modules/np/node_modules/onetime": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-7.0.0.tgz", + "integrity": "sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==", "dev": true, "dependencies": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" + "mimic-function": "^5.0.0" }, "engines": { - "node": ">=8" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/ora/node_modules/strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dev": true, - "dependencies": { - "ansi-regex": "^5.0.0" - }, + "node_modules/np/node_modules/path-exists": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz", + "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==", + "dev": true, "engines": { - "node": ">=8" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" } }, - "node_modules/org-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/org-regex/-/org-regex-1.0.0.tgz", - "integrity": "sha512-7bqkxkEJwzJQUAlyYniqEZ3Ilzjh0yoa62c7gL6Ijxj5bEpPL+8IE1Z0PFj0ywjjXQcdrwR51g9MIcLezR0hKQ==", - "dev": true, + "node_modules/npm-bundled": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-3.0.0.tgz", + "integrity": "sha512-Vq0eyEQy+elFpzsKjMss9kxqb9tG3YHg4dsyWuUENuzvSUWe1TCnW/vV9FkhvBk/brEDoDiVd+M1Btosa6ImdQ==", + "dependencies": { + "npm-normalize-package-bin": "^3.0.0" + }, "engines": { - "node": ">=8" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/os-locale": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-5.0.0.tgz", - "integrity": "sha512-tqZcNEDAIZKBEPnHPlVDvKrp7NzgLi7jRmhKiUoa2NUmhl13FtkAGLUVR+ZsYvApBQdBfYm43A4tXXQ4IrYLBA==", + "node_modules/npm-install-checks": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-6.3.0.tgz", + "integrity": "sha512-W29RiK/xtpCGqn6f3ixfRYGk+zRyr+Ew9F2E20BfXxT5/euLdA/Nm7fO7OeTGuAmTs30cpgInyJ0cYe708YTZw==", "dependencies": { - "execa": "^4.0.0", - "lcid": "^3.0.0", - "mem": "^5.0.0" + "semver": "^7.1.1" }, "engines": { - "node": ">=10" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/os-name": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/os-name/-/os-name-4.0.1.tgz", - "integrity": "sha512-xl9MAoU97MH1Xt5K9ERft2YfCAoaO6msy1OBA0ozxEC0x0TmIoE6K3QvgJMMZA9yKGLmHXNY/YZoDbiGDj4zYw==", + "node_modules/npm-name": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/npm-name/-/npm-name-7.1.1.tgz", + "integrity": "sha512-lyOwsFndLoozriMEsaqJ5lXvhCATYOEhDvxlom8TNvB9a/htDXuLgpVhMUOBd9zCewUXCyBXAPxrGr2TK2adgQ==", + "dev": true, "dependencies": { - "macos-release": "^2.5.0", - "windows-release": "^4.0.0" + "got": "^11.8.5", + "is-name-taken": "^2.0.0", + "is-scoped": "^3.0.0", + "is-url-superb": "^6.1.0", + "lodash.zip": "^4.2.0", + "org-regex": "^1.0.0", + "p-map": "^5.5.0", + "registry-auth-token": "^4.2.2", + "registry-url": "^6.0.1", + "validate-npm-package-name": "^3.0.0" }, "engines": { - "node": ">=10" + "node": ">=12" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", + "node_modules/npm-normalize-package-bin": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-3.0.1.tgz", + "integrity": "sha512-dMxCf+zZ+3zeQZXKxmyuCKlIDPGuv8EF940xbkC4kQVDTtqoh6rJFO+JTKSA6/Rwi0getWmtuy4Itup0AMcaDQ==", "engines": { - "node": ">=0.10.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/ow": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ow/-/ow-1.1.1.tgz", - "integrity": "sha512-sJBRCbS5vh1Jp9EOgwp1Ws3c16lJrUkJYlvWTYC03oyiYVwS/ns7lKRWow4w4XjDyTrA2pplQv4B2naWSR6yDA==", - "dev": true, + "node_modules/npm-package-arg": { + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-11.0.1.tgz", + "integrity": "sha512-M7s1BD4NxdAvBKUPqqRW957Xwcl/4Zvo8Aj+ANrzvIPzGJZElrH7Z//rSaec2ORcND6FHHLnZeY8qgTpXDMFQQ==", "dependencies": { - "@sindresorhus/is": "^5.3.0", - "callsites": "^4.0.0", - "dot-prop": "^7.2.0", - "lodash.isequal": "^4.5.0", - "vali-date": "^1.0.0" + "hosted-git-info": "^7.0.0", + "proc-log": "^3.0.0", + "semver": "^7.3.5", + "validate-npm-package-name": "^5.0.0" }, "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": "^16.14.0 || >=18.0.0" } }, - "node_modules/ow/node_modules/@sindresorhus/is": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-5.4.0.tgz", - "integrity": "sha512-Ggh6E9AnMpiNXlbXfFUcWE9qm408rL8jDi7+PMBBx7TMbwEmiqAiSmZ+zydYwxcJLqPGNDoLc9mXDuMDBZg0sA==", - "dev": true, + "node_modules/npm-package-arg/node_modules/builtins": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/builtins/-/builtins-5.0.1.tgz", + "integrity": "sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==", + "dependencies": { + "semver": "^7.0.0" + } + }, + "node_modules/npm-package-arg/node_modules/validate-npm-package-name": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-5.0.0.tgz", + "integrity": "sha512-YuKoXDAhBYxY7SfOKxHBDoSyENFeW5VvIIQp2TGQuit8gpK6MnWaQelBKxso72DoxTZfZdcP3W90LqpSkgPzLQ==", + "dependencies": { + "builtins": "^5.0.0" + }, "engines": { - "node": ">=14.16" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm-packlist": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-8.0.2.tgz", + "integrity": "sha512-shYrPFIS/JLP4oQmAwDyk5HcyysKW8/JLTEA32S0Z5TzvpaeeX2yMFfoK1fjEBnCBvVyIB/Jj/GBFdm0wsgzbA==", + "dependencies": { + "ignore-walk": "^6.0.4" }, - "funding": { - "url": "https://github.com/sindresorhus/is?sponsor=1" + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/ow/node_modules/callsites": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-4.0.0.tgz", - "integrity": "sha512-y3jRROutgpKdz5vzEhWM34TidDU8vkJppF8dszITeb1PQmSqV3DTxyV8G/lyO/DNvtE1YTedehmw9MPZsCBHxQ==", - "dev": true, + "node_modules/npm-pick-manifest": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-9.0.0.tgz", + "integrity": "sha512-VfvRSs/b6n9ol4Qb+bDwNGUXutpy76x6MARw/XssevE0TnctIKcmklJZM5Z7nqs5z5aW+0S63pgCNbpkUNNXBg==", + "dependencies": { + "npm-install-checks": "^6.0.0", + "npm-normalize-package-bin": "^3.0.0", + "npm-package-arg": "^11.0.0", + "semver": "^7.3.5" + }, "engines": { - "node": ">=12.20" + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/npm-registry-fetch": { + "version": "16.1.0", + "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-16.1.0.tgz", + "integrity": "sha512-PQCELXKt8Azvxnt5Y85GseQDJJlglTFM9L9U9gkv2y4e9s0k3GVDdOx3YoB6gm2Do0hlkzC39iCGXby+Wve1Bw==", + "dependencies": { + "make-fetch-happen": "^13.0.0", + "minipass": "^7.0.2", + "minipass-fetch": "^3.0.0", + "minipass-json-stream": "^1.0.1", + "minizlib": "^2.1.2", + "npm-package-arg": "^11.0.0", + "proc-log": "^3.0.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": "^16.14.0 || >=18.0.0" } }, - "node_modules/ow/node_modules/dot-prop": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-7.2.0.tgz", - "integrity": "sha512-Ol/IPXUARn9CSbkrdV4VJo7uCy1I3VuSiWCaFSg+8BdUOzF9n3jefIpcgAydvUZbTdEBZs2vEiTiS9m61ssiDA==", - "dev": true, + "node_modules/npm-run-path": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.2.0.tgz", + "integrity": "sha512-W4/tgAXFqFA0iL7fk0+uQ3g7wkL8xJmx3XdK0VGb4cHW//eZTtKGvFBBoRKVTpY7n6ze4NL9ly7rgXcHufqXKg==", "dependencies": { - "type-fest": "^2.11.2" + "path-key": "^4.0.0" }, "engines": { "node": "^12.20.0 || ^14.13.1 || >=16.0.0" @@ -9611,111 +10689,169 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/ow/node_modules/type-fest": { - "version": "2.19.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz", - "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==", - "dev": true, + "node_modules/npm-run-path/node_modules/path-key": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", + "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", "engines": { - "node": ">=12.20" + "node": ">=12" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/p-cancelable": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.1.1.tgz", - "integrity": "sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==", + "node_modules/npmlog": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-7.0.1.tgz", + "integrity": "sha512-uJ0YFk/mCQpLBt+bxN88AKd+gyqZvZDbtiNxk6Waqcj2aPRyfVx8ITawkyQynxUagInjdYT1+qj4NfA5KJJUxg==", + "dependencies": { + "are-we-there-yet": "^4.0.0", + "console-control-strings": "^1.1.0", + "gauge": "^5.0.0", + "set-blocking": "^2.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ==", "dev": true, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/p-defer": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz", - "integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=", + "node_modules/oauth-sign": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", "engines": { - "node": ">=4" + "node": "*" } }, - "node_modules/p-finally": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", "engines": { - "node": ">=4" + "node": ">=0.10.0" } }, - "node_modules/p-is-promise": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-2.1.0.tgz", - "integrity": "sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg==", + "node_modules/object-inspect": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", + "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", "engines": { - "node": ">=6" + "node": ">= 0.4" } }, - "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==", + "node_modules/object.assign": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz", + "integrity": "sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==", "dependencies": { - "p-try": "^2.0.0" + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" }, "engines": { - "node": ">=6" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "node_modules/object.entries": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.7.tgz", + "integrity": "sha512-jCBs/0plmPsOnrKAfFQXRG2NFjlhZgjjcBLSmTnEhU8U6vVTsVe8ANeQJCHTl3gSsI4J+0emOoCgoKlmQPMgmA==", + "dev": true, "dependencies": { - "p-limit": "^2.0.0" + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" }, "engines": { - "node": ">=6" + "node": ">= 0.4" } }, - "node_modules/p-lock": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/p-lock/-/p-lock-2.1.0.tgz", - "integrity": "sha512-pi2yT8gNhVrV4LgsUvJWQy58TXH1HG2+NXDby9+UrsS/9fXb0FJH9aCxbdHJ0EAQ6XC7ggSP6GAzuR5puDArUQ==", - "dev": true - }, - "node_modules/p-map": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", - "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "node_modules/object.fromentries": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.7.tgz", + "integrity": "sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA==", "dependencies": { - "aggregate-error": "^3.0.0" + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" }, "engines": { - "node": ">=10" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/p-memoize": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/p-memoize/-/p-memoize-7.1.1.tgz", - "integrity": "sha512-DZ/bONJILHkQ721hSr/E9wMz5Am/OTJ9P6LhLFo2Tu+jL8044tgc9LwHO8g4PiaYePnlVVRAJcKmgy8J9MVFrA==", - "dev": true, + "node_modules/object.groupby": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.1.tgz", + "integrity": "sha512-HqaQtqLnp/8Bn4GL16cj+CUYbnpe1bh0TtEaWvybszDG4tgxCJuRpV8VGuvNaI1fAnI4lUJzDG55MXcOH4JZcQ==", "dependencies": { - "mimic-fn": "^4.0.0", - "type-fest": "^3.0.0" + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "get-intrinsic": "^1.2.1" + } + }, + "node_modules/object.values": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.7.tgz", + "integrity": "sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" }, "engines": { - "node": ">=14.16" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sindresorhus/p-memoize?sponsor=1" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/p-memoize/node_modules/mimic-fn": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", - "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", - "dev": true, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/one-time": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/one-time/-/one-time-1.0.0.tgz", + "integrity": "sha512-5DXOiRKwuSEcQ/l0kGCF6Q3jcADFv5tSmRaJck/OqkVFcOzutB134KRSfF0xDrL39MNnqxbHBbUUcjZIhTgb2g==", + "dependencies": { + "fn.name": "1.x.x" + } + }, + "node_modules/onetime": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", + "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", + "dependencies": { + "mimic-fn": "^4.0.0" + }, "engines": { "node": ">=12" }, @@ -9723,11 +10859,16 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/p-memoize/node_modules/type-fest": { - "version": "3.11.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-3.11.1.tgz", - "integrity": "sha512-aCuRNRERRVh33lgQaJRlUxZqzfhzwTrsE98Mc3o3VXqmiaQdHacgUtJ0esp+7MvZ92qhtzKPeusaX6vIEcoreA==", - "dev": true, + "node_modules/open": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/open/-/open-9.1.0.tgz", + "integrity": "sha512-OS+QTnw1/4vrf+9hh1jc1jnYjzSG4ttTBB8UxOwAnInG3Uo4ssetzC1ihqaIHjLJnA5GGlRl6QlZXOTQhRBUvg==", + "dependencies": { + "default-browser": "^4.0.0", + "define-lazy-prop": "^3.0.0", + "is-inside-container": "^1.0.0", + "is-wsl": "^2.2.0" + }, "engines": { "node": ">=14.16" }, @@ -9735,138 +10876,167 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/p-queue": { - "version": "6.6.2", - "resolved": "https://registry.npmjs.org/p-queue/-/p-queue-6.6.2.tgz", - "integrity": "sha512-RwFpb72c/BhQLEXIZ5K2e+AhgNVmIejGlTgiB9MzZ0e93GRvqZ7uSi0dvRF7/XIXDeNkra2fNHBxTyPDGySpjQ==", + "node_modules/optionator": { + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", + "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", "dependencies": { - "eventemitter3": "^4.0.4", - "p-timeout": "^3.2.0" + "@aashutoshrathi/word-wrap": "^1.2.3", + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0" }, "engines": { - "node": ">=8" + "node": ">= 0.8.0" + } + }, + "node_modules/ora": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/ora/-/ora-6.3.1.tgz", + "integrity": "sha512-ERAyNnZOfqM+Ao3RAvIXkYh5joP220yf59gVe2X/cI6SiCxIdi4c9HZKZD8R6q/RDXEje1THBju6iExiSsgJaQ==", + "dependencies": { + "chalk": "^5.0.0", + "cli-cursor": "^4.0.0", + "cli-spinners": "^2.6.1", + "is-interactive": "^2.0.0", + "is-unicode-supported": "^1.1.0", + "log-symbols": "^5.1.0", + "stdin-discarder": "^0.1.0", + "strip-ansi": "^7.0.1", + "wcwidth": "^1.0.1" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/p-queue/node_modules/p-timeout": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-3.2.0.tgz", - "integrity": "sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==", - "dependencies": { - "p-finally": "^1.0.0" - }, + "node_modules/ora/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", "engines": { - "node": ">=8" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" } }, - "node_modules/p-timeout": { - "version": "6.1.2", - "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-6.1.2.tgz", - "integrity": "sha512-UbD77BuZ9Bc9aABo74gfXhNvzC9Tx7SxtHSh1fxvx3jTLLYvmVhiQZZrJzqqU0jKbN32kb5VOKiLEQI/3bIjgQ==", - "dev": true, + "node_modules/ora/node_modules/chalk": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", + "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", "engines": { - "node": ">=14.16" + "node": "^12.17.0 || ^14.13 || >=16.0.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/p-transform": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/p-transform/-/p-transform-1.3.0.tgz", - "integrity": "sha512-UJKdSzgd3KOnXXAtqN5+/eeHcvTn1hBkesEmElVgvO/NAYcxAvmjzIGmnNd3Tb/gRAvMBdNRFD4qAWdHxY6QXg==", + "node_modules/ora/node_modules/cli-cursor": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-4.0.0.tgz", + "integrity": "sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==", "dependencies": { - "debug": "^4.3.2", - "p-queue": "^6.6.2" + "restore-cursor": "^4.0.0" }, "engines": { - "node": ">=12.10.0" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "node_modules/ora/node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", "engines": { "node": ">=6" } }, - "node_modules/package-json": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/package-json/-/package-json-8.1.1.tgz", - "integrity": "sha512-cbH9IAIJHNj9uXi196JVsRlt7cHKak6u/e6AkL/bkRelZ7rlL3X1YKxsZwa36xipOEKAsdtmaG6aAJoM1fx2zA==", - "dev": true, + "node_modules/ora/node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", "dependencies": { - "got": "^12.1.0", - "registry-auth-token": "^5.0.1", - "registry-url": "^6.0.0", - "semver": "^7.3.7" + "mimic-fn": "^2.1.0" }, "engines": { - "node": ">=14.16" + "node": ">=6" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/package-json/node_modules/@sindresorhus/is": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-5.6.0.tgz", - "integrity": "sha512-TV7t8GKYaJWsn00tFDqBw8+Uqmr8A0fRU1tvTQhyZzGv0sJCGRQL3JGMI3ucuKo3XIZdUP+Lx7/gh2t3lewy7g==", - "dev": true, + "node_modules/ora/node_modules/restore-cursor": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-4.0.0.tgz", + "integrity": "sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==", + "dependencies": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + }, "engines": { - "node": ">=14.16" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, "funding": { - "url": "https://github.com/sindresorhus/is?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/package-json/node_modules/@szmarczak/http-timer": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-5.0.1.tgz", - "integrity": "sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw==", - "dev": true, + "node_modules/ora/node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" + }, + "node_modules/ora/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", "dependencies": { - "defer-to-connect": "^2.0.1" + "ansi-regex": "^6.0.1" }, "engines": { - "node": ">=14.16" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, - "node_modules/package-json/node_modules/cacheable-lookup": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-7.0.0.tgz", - "integrity": "sha512-+qJyx4xiKra8mZrcwhjMRMUhD5NR1R8esPkzIYxX96JiecFoxAXFuz/GpR3+ev4PE1WamHip78wV0vcmPQtp8w==", + "node_modules/org-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/org-regex/-/org-regex-1.0.0.tgz", + "integrity": "sha512-7bqkxkEJwzJQUAlyYniqEZ3Ilzjh0yoa62c7gL6Ijxj5bEpPL+8IE1Z0PFj0ywjjXQcdrwR51g9MIcLezR0hKQ==", "dev": true, "engines": { - "node": ">=14.16" + "node": ">=8" } }, - "node_modules/package-json/node_modules/cacheable-request": { - "version": "10.2.14", - "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-10.2.14.tgz", - "integrity": "sha512-zkDT5WAF4hSSoUgyfg5tFIxz8XQK+25W/TLVojJTMKBaxevLBBtLxgqguAuVQB8PVW79FVjHcU+GJ9tVbDZ9mQ==", - "dev": true, + "node_modules/os-locale": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-6.0.2.tgz", + "integrity": "sha512-qIb8bzRqaN/vVqEYZ7lTAg6PonskO7xOmM7OClD28F6eFa4s5XGe4bGpHUHMoCHbNNuR0pDYFeSLiW5bnjWXIA==", "dependencies": { - "@types/http-cache-semantics": "^4.0.2", - "get-stream": "^6.0.1", - "http-cache-semantics": "^4.1.1", - "keyv": "^4.5.3", - "mimic-response": "^4.0.0", - "normalize-url": "^8.0.0", - "responselike": "^3.0.0" + "lcid": "^3.1.1" }, "engines": { - "node": ">=14.16" + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/package-json/node_modules/get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", - "dev": true, + "node_modules/os-name": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/os-name/-/os-name-4.0.1.tgz", + "integrity": "sha512-xl9MAoU97MH1Xt5K9ERft2YfCAoaO6msy1OBA0ozxEC0x0TmIoE6K3QvgJMMZA9yKGLmHXNY/YZoDbiGDj4zYw==", + "dependencies": { + "macos-release": "^2.5.0", + "windows-release": "^4.0.0" + }, "engines": { "node": ">=10" }, @@ -9874,49 +11044,53 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/package-json/node_modules/got": { - "version": "12.6.1", - "resolved": "https://registry.npmjs.org/got/-/got-12.6.1.tgz", - "integrity": "sha512-mThBblvlAF1d4O5oqyvN+ZxLAYwIJK7bpMxgYqPD9okW0C3qm5FFn7k811QrcuEBwaogR3ngOFoCfs6mRv7teQ==", + "node_modules/os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ow": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ow/-/ow-1.1.1.tgz", + "integrity": "sha512-sJBRCbS5vh1Jp9EOgwp1Ws3c16lJrUkJYlvWTYC03oyiYVwS/ns7lKRWow4w4XjDyTrA2pplQv4B2naWSR6yDA==", "dev": true, "dependencies": { - "@sindresorhus/is": "^5.2.0", - "@szmarczak/http-timer": "^5.0.1", - "cacheable-lookup": "^7.0.0", - "cacheable-request": "^10.2.8", - "decompress-response": "^6.0.0", - "form-data-encoder": "^2.1.2", - "get-stream": "^6.0.1", - "http2-wrapper": "^2.1.10", - "lowercase-keys": "^3.0.0", - "p-cancelable": "^3.0.0", - "responselike": "^3.0.0" + "@sindresorhus/is": "^5.3.0", + "callsites": "^4.0.0", + "dot-prop": "^7.2.0", + "lodash.isequal": "^4.5.0", + "vali-date": "^1.0.0" }, "engines": { "node": ">=14.16" }, "funding": { - "url": "https://github.com/sindresorhus/got?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/package-json/node_modules/http2-wrapper": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-2.2.1.tgz", - "integrity": "sha512-V5nVw1PAOgfI3Lmeaj2Exmeg7fenjhRUgz1lPSezy1CuhPYbgQtbQj4jZfEAEMlaL+vupsvhjqCyjzob0yxsmQ==", + "node_modules/ow/node_modules/@sindresorhus/is": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-5.6.0.tgz", + "integrity": "sha512-TV7t8GKYaJWsn00tFDqBw8+Uqmr8A0fRU1tvTQhyZzGv0sJCGRQL3JGMI3ucuKo3XIZdUP+Lx7/gh2t3lewy7g==", "dev": true, - "dependencies": { - "quick-lru": "^5.1.1", - "resolve-alpn": "^1.2.0" - }, "engines": { - "node": ">=10.19.0" + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sindresorhus/is?sponsor=1" } }, - "node_modules/package-json/node_modules/lowercase-keys": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-3.0.0.tgz", - "integrity": "sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ==", + "node_modules/ow/node_modules/dot-prop": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-7.2.0.tgz", + "integrity": "sha512-Ol/IPXUARn9CSbkrdV4VJo7uCy1I3VuSiWCaFSg+8BdUOzF9n3jefIpcgAydvUZbTdEBZs2vEiTiS9m61ssiDA==", "dev": true, + "dependencies": { + "type-fest": "^2.11.2" + }, "engines": { "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, @@ -9924,2060 +11098,2200 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/package-json/node_modules/mimic-response": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-4.0.0.tgz", - "integrity": "sha512-e5ISH9xMYU0DzrT+jl8q2ze9D6eWBto+I8CNpe+VI+K2J/F/k3PdkdTdz4wvGVH4NTpo+NRYTVIuMQEMMcsLqg==", + "node_modules/ow/node_modules/type-fest": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz", + "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==", "dev": true, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "node": ">=12.20" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/package-json/node_modules/normalize-url": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-8.0.0.tgz", - "integrity": "sha512-uVFpKhj5MheNBJRTiMZ9pE/7hD1QTeEvugSJW/OmLzAp78PB5O6adfMNTvmfKhXBkvCzC+rqifWcVYpGFwTjnw==", + "node_modules/p-cancelable": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.1.1.tgz", + "integrity": "sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==", "dev": true, "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=8" } }, - "node_modules/package-json/node_modules/p-cancelable": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-3.0.0.tgz", - "integrity": "sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw==", - "dev": true, + "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==", "engines": { - "node": ">=12.20" + "node": ">=4" } }, - "node_modules/package-json/node_modules/registry-auth-token": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-5.0.2.tgz", - "integrity": "sha512-o/3ikDxtXaA59BmZuZrJZDJv8NMDGSj+6j6XaeBmHw8eY1i1qd9+6H+LjVvQXx3HN6aRCGa1cUdJ9RaJZUugnQ==", - "dev": true, + "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==", "dependencies": { - "@pnpm/npm-conf": "^2.1.0" + "yocto-queue": "^0.1.0" }, "engines": { - "node": ">=14" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/package-json/node_modules/responselike": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/responselike/-/responselike-3.0.0.tgz", - "integrity": "sha512-40yHxbNcl2+rzXvZuVkrYohathsSJlMTXKryG5y8uciHv1+xDLHQpgjG64JUO9nrEq2jGLH6IZ8BcZyw3wrweg==", - "dev": true, + "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==", "dependencies": { - "lowercase-keys": "^3.0.0" + "p-limit": "^3.0.2" }, "engines": { - "node": ">=14.16" + "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/package-name-conflict": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/package-name-conflict/-/package-name-conflict-1.0.3.tgz", - "integrity": "sha512-DPBNWSUWC0wPofXeNThao0uP4a93J7r90UyhagmJS0QcacTTkorZwXYsOop70phn1hKdcf/2e9lJIhazS8bx5A==", + "node_modules/p-lock": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/p-lock/-/p-lock-2.1.0.tgz", + "integrity": "sha512-pi2yT8gNhVrV4LgsUvJWQy58TXH1HG2+NXDby9+UrsS/9fXb0FJH9aCxbdHJ0EAQ6XC7ggSP6GAzuR5puDArUQ==", "dev": true }, - "node_modules/pacote": { - "version": "12.0.2", - "resolved": "https://registry.npmjs.org/pacote/-/pacote-12.0.2.tgz", - "integrity": "sha512-Ar3mhjcxhMzk+OVZ8pbnXdb0l8+pimvlsqBGRNkble2NVgyqOGE3yrCGi/lAYq7E7NRDMz89R1Wx5HIMCGgeYg==", + "node_modules/p-map": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-5.5.0.tgz", + "integrity": "sha512-VFqfGDHlx87K66yZrNdI4YGtD70IRyd+zSvgks6mzHPRNkoKy+9EKP4SFC77/vTTQYmRmti7dvqC+m5jBrBAcg==", + "dev": true, "dependencies": { - "@npmcli/git": "^2.1.0", - "@npmcli/installed-package-contents": "^1.0.6", - "@npmcli/promise-spawn": "^1.2.0", - "@npmcli/run-script": "^2.0.0", - "cacache": "^15.0.5", - "chownr": "^2.0.0", - "fs-minipass": "^2.1.0", - "infer-owner": "^1.0.4", - "minipass": "^3.1.3", - "mkdirp": "^1.0.3", - "npm-package-arg": "^8.0.1", - "npm-packlist": "^3.0.0", - "npm-pick-manifest": "^6.0.0", - "npm-registry-fetch": "^11.0.0", - "promise-retry": "^2.0.1", - "read-package-json-fast": "^2.0.1", - "rimraf": "^3.0.2", - "ssri": "^8.0.1", - "tar": "^6.1.0" - }, - "bin": { - "pacote": "lib/bin.js" + "aggregate-error": "^4.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "node_modules/p-memoize": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/p-memoize/-/p-memoize-7.1.1.tgz", + "integrity": "sha512-DZ/bONJILHkQ721hSr/E9wMz5Am/OTJ9P6LhLFo2Tu+jL8044tgc9LwHO8g4PiaYePnlVVRAJcKmgy8J9MVFrA==", "dev": true, "dependencies": { - "callsites": "^3.0.0" + "mimic-fn": "^4.0.0", + "type-fest": "^3.0.0" }, "engines": { - "node": ">=6" - } - }, - "node_modules/parse-cache-control": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parse-cache-control/-/parse-cache-control-1.0.1.tgz", - "integrity": "sha1-juqz5U+laSD+Fro493+iGqzC104=" - }, - "node_modules/parse-conflict-json": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/parse-conflict-json/-/parse-conflict-json-1.1.1.tgz", - "integrity": "sha512-4gySviBiW5TRl7XHvp1agcS7SOe0KZOjC//71dzZVWJrY9hCrgtvl5v3SyIxCZ4fZF47TxD9nfzmxcx76xmbUw==", - "dependencies": { - "json-parse-even-better-errors": "^2.3.0", - "just-diff": "^3.0.1", - "just-diff-apply": "^3.0.0" + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sindresorhus/p-memoize?sponsor=1" } }, - "node_modules/parse-gitignore": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/parse-gitignore/-/parse-gitignore-2.0.0.tgz", - "integrity": "sha512-RmVuCHWsfu0QPNW+mraxh/xjQVw/lhUCUru8Zni3Ctq3AoMhpDTq0OVdKS6iesd6Kqb7viCV3isAL43dciOSog==", + "node_modules/p-memoize/node_modules/type-fest": { + "version": "3.13.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-3.13.1.tgz", + "integrity": "sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g==", + "dev": true, "engines": { - "node": ">=14" + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "node_modules/p-queue": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/p-queue/-/p-queue-8.0.0.tgz", + "integrity": "sha512-7LAaj8F47D5963LiTIAb/4UWR6w6SnDrDlxXg9ev/U0Lg9h35Kg8C8KiBry0c6MUofSicdLsEvS0j25gHAyCuA==", "dependencies": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" + "eventemitter3": "^5.0.1", + "p-timeout": "^6.1.2" }, "engines": { - "node": ">=8" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/parse-json-object": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/parse-json-object/-/parse-json-object-2.0.1.tgz", - "integrity": "sha512-/oF7PUUBjCqHmMEE6xIQeX5ZokQ9+miudACzPt4KBU2qi6CxZYPdisPXx4ad7wpZJYi2ZpcW2PacLTU3De3ebw==", - "dev": true, - "dependencies": { - "types-json": "^1.2.0" - } - }, - "node_modules/path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "engines": { - "node": ">=4" - } - }, - "node_modules/path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "node_modules/p-timeout": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-6.1.2.tgz", + "integrity": "sha512-UbD77BuZ9Bc9aABo74gfXhNvzC9Tx7SxtHSh1fxvx3jTLLYvmVhiQZZrJzqqU0jKbN32kb5VOKiLEQI/3bIjgQ==", "engines": { - "node": ">=0.10.0" + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "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==", + "node_modules/p-transform": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/p-transform/-/p-transform-4.1.5.tgz", + "integrity": "sha512-CsXIiCOeBUYMBLpcY71DTq+fg8268ux31pAxI5TcoYEPfWCw5ozrbgWdZ9QmSDd8dUzvNXtmiwJOdTIxIFptfQ==", + "dependencies": { + "@types/node": "^16.18.31", + "p-queue": "^7.3.0", + "readable-stream": "^4.3.0" + }, "engines": { - "node": ">=8" + "node": ">=16.13.0" } }, - "node_modules/path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" + "node_modules/p-transform/node_modules/@types/node": { + "version": "16.18.70", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.70.tgz", + "integrity": "sha512-8eIk20G5VVVQNZNouHjLA2b8utE2NvGybLjMaF4lyhA9uhGwnmXF8o+icdXKGSQSNANJewXva/sFUoZLwAaYAg==" }, - "node_modules/path-to-regexp": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz", - "integrity": "sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==", - "dev": true, + "node_modules/p-transform/node_modules/p-queue": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/p-queue/-/p-queue-7.4.1.tgz", + "integrity": "sha512-vRpMXmIkYF2/1hLBKisKeVYJZ8S2tZ0zEAmIJgdVKP2nq0nh4qCdf8bgw+ZgKrkh71AOCaqzwbJJk1WtdcF3VA==", "dependencies": { - "isarray": "0.0.1" - } - }, - "node_modules/path-to-regexp/node_modules/isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", - "dev": true - }, - "node_modules/path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "engines": { - "node": ">=8" - } - }, - "node_modules/pathval": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", - "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==", - "dev": true, + "eventemitter3": "^5.0.1", + "p-timeout": "^5.0.2" + }, "engines": { - "node": "*" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/performance-now": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" - }, - "node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "node_modules/p-transform/node_modules/p-timeout": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-5.1.0.tgz", + "integrity": "sha512-auFDyzzzGZZZdHz3BtET9VEz0SE/uMEAx7uWfGPucfzEwwe/xH0iVeZibQmANYE/hp9T2+UUZT5m+BKyrDp3Ew==", "engines": { - "node": ">=8.6" + "node": ">=12" }, "funding": { - "url": "https://github.com/sponsors/jonschlinkert" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/pidtree": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/pidtree/-/pidtree-0.6.0.tgz", - "integrity": "sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==", - "dev": true, - "bin": { - "pidtree": "bin/pidtree.js" - }, + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", "engines": { - "node": ">=0.10" + "node": ">=6" } }, - "node_modules/pkg-dir": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-8.0.0.tgz", - "integrity": "sha512-4peoBq4Wks0riS0z8741NVv+/8IiTvqnZAr8QGgtdifrtpdXbNw/FxRS1l6NFqm4EMzuS0EDqNNx4XGaz8cuyQ==", - "dev": true, + "node_modules/package-json": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/package-json/-/package-json-8.1.1.tgz", + "integrity": "sha512-cbH9IAIJHNj9uXi196JVsRlt7cHKak6u/e6AkL/bkRelZ7rlL3X1YKxsZwa36xipOEKAsdtmaG6aAJoM1fx2zA==", "dependencies": { - "find-up-simple": "^1.0.0" + "got": "^12.1.0", + "registry-auth-token": "^5.0.1", + "registry-url": "^6.0.0", + "semver": "^7.3.7" }, "engines": { - "node": ">=18" + "node": ">=14.16" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/pkg-up": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz", - "integrity": "sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==", + "node_modules/package-json/node_modules/@sindresorhus/is": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-5.6.0.tgz", + "integrity": "sha512-TV7t8GKYaJWsn00tFDqBw8+Uqmr8A0fRU1tvTQhyZzGv0sJCGRQL3JGMI3ucuKo3XIZdUP+Lx7/gh2t3lewy7g==", + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sindresorhus/is?sponsor=1" + } + }, + "node_modules/package-json/node_modules/@szmarczak/http-timer": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-5.0.1.tgz", + "integrity": "sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw==", "dependencies": { - "find-up": "^3.0.0" + "defer-to-connect": "^2.0.1" }, "engines": { - "node": ">=8" + "node": ">=14.16" } }, - "node_modules/pkg-up/node_modules/find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "node_modules/package-json/node_modules/cacheable-lookup": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-7.0.0.tgz", + "integrity": "sha512-+qJyx4xiKra8mZrcwhjMRMUhD5NR1R8esPkzIYxX96JiecFoxAXFuz/GpR3+ev4PE1WamHip78wV0vcmPQtp8w==", + "engines": { + "node": ">=14.16" + } + }, + "node_modules/package-json/node_modules/cacheable-request": { + "version": "10.2.14", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-10.2.14.tgz", + "integrity": "sha512-zkDT5WAF4hSSoUgyfg5tFIxz8XQK+25W/TLVojJTMKBaxevLBBtLxgqguAuVQB8PVW79FVjHcU+GJ9tVbDZ9mQ==", "dependencies": { - "locate-path": "^3.0.0" + "@types/http-cache-semantics": "^4.0.2", + "get-stream": "^6.0.1", + "http-cache-semantics": "^4.1.1", + "keyv": "^4.5.3", + "mimic-response": "^4.0.0", + "normalize-url": "^8.0.0", + "responselike": "^3.0.0" }, "engines": { - "node": ">=6" + "node": ">=14.16" } }, - "node_modules/pluralize": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-8.0.0.tgz", - "integrity": "sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==", + "node_modules/package-json/node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", "engines": { - "node": ">=4" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/preferred-pm": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/preferred-pm/-/preferred-pm-3.0.3.tgz", - "integrity": "sha512-+wZgbxNES/KlJs9q40F/1sfOd/j7f1O9JaHcW5Dsn3aUUOZg3L2bjpVUcKV2jvtElYfoTuQiNeMfQJ4kwUAhCQ==", + "node_modules/package-json/node_modules/got": { + "version": "12.6.1", + "resolved": "https://registry.npmjs.org/got/-/got-12.6.1.tgz", + "integrity": "sha512-mThBblvlAF1d4O5oqyvN+ZxLAYwIJK7bpMxgYqPD9okW0C3qm5FFn7k811QrcuEBwaogR3ngOFoCfs6mRv7teQ==", "dependencies": { - "find-up": "^5.0.0", - "find-yarn-workspace-root2": "1.2.16", - "path-exists": "^4.0.0", - "which-pm": "2.0.0" + "@sindresorhus/is": "^5.2.0", + "@szmarczak/http-timer": "^5.0.1", + "cacheable-lookup": "^7.0.0", + "cacheable-request": "^10.2.8", + "decompress-response": "^6.0.0", + "form-data-encoder": "^2.1.2", + "get-stream": "^6.0.1", + "http2-wrapper": "^2.1.10", + "lowercase-keys": "^3.0.0", + "p-cancelable": "^3.0.0", + "responselike": "^3.0.0" }, "engines": { - "node": ">=10" + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sindresorhus/got?sponsor=1" } }, - "node_modules/preferred-pm/node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "node_modules/package-json/node_modules/http2-wrapper": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-2.2.1.tgz", + "integrity": "sha512-V5nVw1PAOgfI3Lmeaj2Exmeg7fenjhRUgz1lPSezy1CuhPYbgQtbQj4jZfEAEMlaL+vupsvhjqCyjzob0yxsmQ==", + "dependencies": { + "quick-lru": "^5.1.1", + "resolve-alpn": "^1.2.0" + }, "engines": { - "node": ">=8" + "node": ">=10.19.0" } }, - "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, + "node_modules/package-json/node_modules/lowercase-keys": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-3.0.0.tgz", + "integrity": "sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ==", "engines": { - "node": ">= 0.8.0" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/prettier": { - "version": "2.8.8", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", - "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", - "bin": { - "prettier": "bin-prettier.js" + "node_modules/package-json/node_modules/mimic-response": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-4.0.0.tgz", + "integrity": "sha512-e5ISH9xMYU0DzrT+jl8q2ze9D6eWBto+I8CNpe+VI+K2J/F/k3PdkdTdz4wvGVH4NTpo+NRYTVIuMQEMMcsLqg==", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/package-json/node_modules/normalize-url": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-8.0.0.tgz", + "integrity": "sha512-uVFpKhj5MheNBJRTiMZ9pE/7hD1QTeEvugSJW/OmLzAp78PB5O6adfMNTvmfKhXBkvCzC+rqifWcVYpGFwTjnw==", "engines": { - "node": ">=10.13.0" + "node": ">=14.16" }, "funding": { - "url": "https://github.com/prettier/prettier?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/prettier-linter-helpers": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", - "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", - "dev": true, + "node_modules/package-json/node_modules/p-cancelable": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-3.0.0.tgz", + "integrity": "sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw==", + "engines": { + "node": ">=12.20" + } + }, + "node_modules/package-json/node_modules/registry-auth-token": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-5.0.2.tgz", + "integrity": "sha512-o/3ikDxtXaA59BmZuZrJZDJv8NMDGSj+6j6XaeBmHw8eY1i1qd9+6H+LjVvQXx3HN6aRCGa1cUdJ9RaJZUugnQ==", "dependencies": { - "fast-diff": "^1.1.2" + "@pnpm/npm-conf": "^2.1.0" }, "engines": { - "node": ">=6.0.0" + "node": ">=14" } }, - "node_modules/prettier-plugin-java": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/prettier-plugin-java/-/prettier-plugin-java-1.6.2.tgz", - "integrity": "sha512-oVIUOkx50eb9skdRtEIU7MJUsizQ1ZocgXR1w1o8AnieNGpuPI/2pWnpjtbBm9wUG1dHtBGU8cVIr8h+xgzQIg==", + "node_modules/package-json/node_modules/responselike": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/responselike/-/responselike-3.0.0.tgz", + "integrity": "sha512-40yHxbNcl2+rzXvZuVkrYohathsSJlMTXKryG5y8uciHv1+xDLHQpgjG64JUO9nrEq2jGLH6IZ8BcZyw3wrweg==", "dependencies": { - "java-parser": "2.0.2", - "lodash": "4.17.21", - "prettier": "2.3.1" + "lowercase-keys": "^3.0.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/prettier-plugin-java/node_modules/prettier": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.3.1.tgz", - "integrity": "sha512-p+vNbgpLjif/+D+DwAZAbndtRrR0md0MwfmOVN9N+2RgyACMT+7tfaRnT+WDPkqnuVwleyuBIG2XBxKDme3hPA==", + "node_modules/package-name-conflict": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/package-name-conflict/-/package-name-conflict-1.0.3.tgz", + "integrity": "sha512-DPBNWSUWC0wPofXeNThao0uP4a93J7r90UyhagmJS0QcacTTkorZwXYsOop70phn1hKdcf/2e9lJIhazS8bx5A==", + "dev": true + }, + "node_modules/pacote": { + "version": "17.0.6", + "resolved": "https://registry.npmjs.org/pacote/-/pacote-17.0.6.tgz", + "integrity": "sha512-cJKrW21VRE8vVTRskJo78c/RCvwJCn1f4qgfxL4w77SOWrTCRcmfkYHlHtS0gqpgjv3zhXflRtgsrUCX5xwNnQ==", + "dependencies": { + "@npmcli/git": "^5.0.0", + "@npmcli/installed-package-contents": "^2.0.1", + "@npmcli/promise-spawn": "^7.0.0", + "@npmcli/run-script": "^7.0.0", + "cacache": "^18.0.0", + "fs-minipass": "^3.0.0", + "minipass": "^7.0.2", + "npm-package-arg": "^11.0.0", + "npm-packlist": "^8.0.0", + "npm-pick-manifest": "^9.0.0", + "npm-registry-fetch": "^16.0.0", + "proc-log": "^3.0.0", + "promise-retry": "^2.0.1", + "read-package-json": "^7.0.0", + "read-package-json-fast": "^3.0.0", + "sigstore": "^2.2.0", + "ssri": "^10.0.0", + "tar": "^6.1.11" + }, "bin": { - "prettier": "bin-prettier.js" + "pacote": "lib/bin.js" }, "engines": { - "node": ">=10.13.0" + "node": "^16.14.0 || >=18.0.0" } }, - "node_modules/prettier-plugin-packagejson": { - "version": "2.2.18", - "resolved": "https://registry.npmjs.org/prettier-plugin-packagejson/-/prettier-plugin-packagejson-2.2.18.tgz", - "integrity": "sha512-iBjQ3IY6IayFrQHhXvg+YvKprPUUiIJ04Vr9+EbeQPfwGajznArIqrN33c5bi4JcIvmLHGROIMOm9aYakJj/CA==", + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", "dependencies": { - "sort-package-json": "1.57.0" + "callsites": "^3.0.0" }, - "peerDependencies": { - "prettier": ">= 1.16.0" + "engines": { + "node": ">=6" } }, - "node_modules/pretty-bytes": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", - "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==", + "node_modules/parent-module/node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", "engines": { "node": ">=6" } }, - "node_modules/proc-log": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-1.0.0.tgz", - "integrity": "sha512-aCk8AO51s+4JyuYGg3Q/a6gnrlDO09NpVWePtjp7xwphcoQ04x5WAfCyugcsbLooWcMJ87CLkD4+604IckEdhg==" - }, - "node_modules/process": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", + "node_modules/parse-conflict-json": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/parse-conflict-json/-/parse-conflict-json-3.0.1.tgz", + "integrity": "sha512-01TvEktc68vwbJOtWZluyWeVGWjP+bZwXtPDMQVbBKzbJ/vZBif0L69KH1+cHv1SZ6e0FKLvjyHe8mqsIqYOmw==", + "dependencies": { + "json-parse-even-better-errors": "^3.0.0", + "just-diff": "^6.0.0", + "just-diff-apply": "^5.2.0" + }, "engines": { - "node": ">= 0.6.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" - }, - "node_modules/progress": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", - "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "node_modules/parse-conflict-json/node_modules/json-parse-even-better-errors": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.1.tgz", + "integrity": "sha512-aatBvbL26wVUCLmbWdCpeu9iF5wOyWpagiKkInA+kfws3sWdBrTnsvN2CKcyCYyUrc7rebNBlK6+kteg7ksecg==", "engines": { - "node": ">=0.4.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/promise": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/promise/-/promise-8.1.0.tgz", - "integrity": "sha512-W04AqnILOL/sPRXziNicCjSNRruLAuIHEOVBazepu0545DDNGYHz7ar9ZgZ1fMU8/MA4mVxp5rkBWRi6OXIy3Q==", - "dependencies": { - "asap": "~2.0.6" + "node_modules/parse-gitignore": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/parse-gitignore/-/parse-gitignore-2.0.0.tgz", + "integrity": "sha512-RmVuCHWsfu0QPNW+mraxh/xjQVw/lhUCUru8Zni3Ctq3AoMhpDTq0OVdKS6iesd6Kqb7viCV3isAL43dciOSog==", + "engines": { + "node": ">=14" } }, - "node_modules/promise-all-reject-late": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/promise-all-reject-late/-/promise-all-reject-late-1.0.1.tgz", - "integrity": "sha512-vuf0Lf0lOxyQREH7GDIOUMLS7kz+gs8i6B+Yi8dC68a2sychGrHTJYghMBD6k7eUcH0H5P73EckCA48xijWqXw==", + "node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/promise-call-limit": { + "node_modules/parse-json-object": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/parse-json-object/-/parse-json-object-2.0.1.tgz", + "integrity": "sha512-/oF7PUUBjCqHmMEE6xIQeX5ZokQ9+miudACzPt4KBU2qi6CxZYPdisPXx4ad7wpZJYi2ZpcW2PacLTU3De3ebw==", + "dev": true, + "dependencies": { + "types-json": "^1.2.0" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/promise-call-limit/-/promise-call-limit-1.0.1.tgz", - "integrity": "sha512-3+hgaa19jzCGLuSCbieeRsu5C2joKfYn8pY6JAuXFRVfF4IO+L7UPpFWNTeWT9pM7uhskvbPPd/oEOktCn317Q==", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "engines": { + "node": ">=0.10.0" + } + }, + "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==", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" + }, + "node_modules/path-scurry": { + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.1.tgz", + "integrity": "sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==", + "dependencies": { + "lru-cache": "^9.1.1 || ^10.0.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, "funding": { "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/promise-inflight": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", - "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=" + "node_modules/path-to-regexp": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.2.1.tgz", + "integrity": "sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw==", + "devOptional": true }, - "node_modules/promise-retry": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz", - "integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==", + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "engines": { + "node": ">=8" + } + }, + "node_modules/pathe": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.2.tgz", + "integrity": "sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==", + "dev": true + }, + "node_modules/pathval": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", + "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==" + }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pidtree": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/pidtree/-/pidtree-0.6.0.tgz", + "integrity": "sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==", + "dev": true, + "bin": { + "pidtree": "bin/pidtree.js" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-dir": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-8.0.0.tgz", + "integrity": "sha512-4peoBq4Wks0riS0z8741NVv+/8IiTvqnZAr8QGgtdifrtpdXbNw/FxRS1l6NFqm4EMzuS0EDqNNx4XGaz8cuyQ==", + "dev": true, "dependencies": { - "err-code": "^2.0.2", - "retry": "^0.12.0" + "find-up-simple": "^1.0.0" }, "engines": { - "node": ">=10" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/proto-list": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", - "integrity": "sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==", - "dev": true + "node_modules/pkg-types": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.0.3.tgz", + "integrity": "sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==", + "dev": true, + "dependencies": { + "jsonc-parser": "^3.2.0", + "mlly": "^1.2.0", + "pathe": "^1.1.0" + } }, - "node_modules/psl": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", - "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==" + "node_modules/pkg-up": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz", + "integrity": "sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==", + "dependencies": { + "find-up": "^3.0.0" + }, + "engines": { + "node": ">=8" + } }, - "node_modules/pump": { + "node_modules/pkg-up/node_modules/find-up": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" + "locate-path": "^3.0.0" + }, + "engines": { + "node": ">=6" } }, - "node_modules/punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "node_modules/pkg-up/node_modules/locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dependencies": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, "engines": { "node": ">=6" } }, - "node_modules/pupa": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/pupa/-/pupa-3.1.0.tgz", - "integrity": "sha512-FLpr4flz5xZTSJxSeaheeMKN/EDzMdK7b8PTOC6a5PYFKTucWbdqjgqaEyH0shFiSJrVB1+Qqi4Tk19ccU6Aug==", - "dev": true, + "node_modules/pkg-up/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==", "dependencies": { - "escape-goat": "^4.0.0" + "p-try": "^2.0.0" }, "engines": { - "node": ">=12.20" + "node": ">=6" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/qs": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz", - "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==", + "node_modules/pkg-up/node_modules/p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dependencies": { + "p-limit": "^2.0.0" + }, "engines": { - "node": ">=0.6" + "node": ">=6" } }, - "node_modules/querystring": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", - "integrity": "sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g==", - "deprecated": "The querystring API is considered Legacy. new code should use the URLSearchParams API instead.", + "node_modules/pkg-up/node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", "engines": { - "node": ">=0.4.x" + "node": ">=4" } }, - "node_modules/queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "node_modules/pluralize": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-8.0.0.tgz", + "integrity": "sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==", + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss": { + "version": "8.4.33", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.33.tgz", + "integrity": "sha512-Kkpbhhdjw2qQs2O2DGX+8m5OVqEcbB9HRBvuYM9pgrjEFUg30A9LmXNlTAUj4S9kgtGyrMbTzVjH7E+s5Re2yg==", + "dev": true, "funding": [ { - "type": "github", - "url": "https://github.com/sponsors/feross" + "type": "opencollective", + "url": "https://opencollective.com/postcss/" }, { - "type": "patreon", - "url": "https://www.patreon.com/feross" + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" }, { - "type": "consulting", - "url": "https://feross.org/support" + "type": "github", + "url": "https://github.com/sponsors/ai" } - ] - }, - "node_modules/quick-lru": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", - "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", - "dev": true, - "engines": { - "node": ">=10" + ], + "dependencies": { + "nanoid": "^3.3.7", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": "^10 || ^12 || >=14" } }, - "node_modules/randexp": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/randexp/-/randexp-0.5.3.tgz", - "integrity": "sha512-U+5l2KrcMNOUPYvazA3h5ekF80FHTUG+87SEAmHZmolh1M+i/WyTCxVzmi+tidIa1tM4BSe8g2Y/D3loWDjj+w==", + "node_modules/postcss-selector-parser": { + "version": "6.0.15", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.15.tgz", + "integrity": "sha512-rEYkQOMUCEMhsKbK66tbEU9QVIxbhN18YiniAwA7XQYTVBqrBy+P2p5JcdqsHgKM2zWylp8d7J6eszocfds5Sw==", "dependencies": { - "drange": "^1.0.2", - "ret": "^0.2.0" + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" }, "engines": { "node": ">=4" } }, - "node_modules/randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "node_modules/postcss/node_modules/nanoid": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", "dev": true, - "dependencies": { - "safe-buffer": "^5.1.0" + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" } }, - "node_modules/rc": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", - "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", - "dev": true, + "node_modules/preferred-pm": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/preferred-pm/-/preferred-pm-3.1.2.tgz", + "integrity": "sha512-nk7dKrcW8hfCZ4H6klWcdRknBOXWzNQByJ0oJyX97BOupsYD+FzLS4hflgEu/uPUEHZCuRfMxzCBsuWd7OzT8Q==", "dependencies": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" + "find-up": "^5.0.0", + "find-yarn-workspace-root2": "1.2.16", + "path-exists": "^4.0.0", + "which-pm": "2.0.0" }, - "bin": { - "rc": "cli.js" + "engines": { + "node": ">=10" } }, - "node_modules/rc/node_modules/ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", - "dev": true - }, - "node_modules/rc/node_modules/strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", - "dev": true, + "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==", "engines": { - "node": ">=0.10.0" + "node": ">= 0.8.0" } }, - "node_modules/read-cmd-shim": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/read-cmd-shim/-/read-cmd-shim-2.0.0.tgz", - "integrity": "sha512-HJpV9bQpkl6KwjxlJcBoqu9Ba0PQg8TqSNIOrulGt54a0uup0HtevreFHzYzkm0lpnleRdNBzXznKrgxglEHQw==" - }, - "node_modules/read-file-safe": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/read-file-safe/-/read-file-safe-1.0.10.tgz", - "integrity": "sha512-qW25fd2uMX3dV6Ui/R0jYK1MhTpjx8FO/VHaHTXzwWsGnkNwLRcqYfCXd9qDM+NZ273DPUvP2RaimYuLSu1K/g==", - "dev": true - }, - "node_modules/read-input": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/read-input/-/read-input-0.3.1.tgz", - "integrity": "sha1-WzFpMIATRk/9puyS5Y0tPOqUjfE=", - "dev": true + "node_modules/prettier": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.1.1.tgz", + "integrity": "sha512-22UbSzg8luF4UuZtzgiUOfcGM8s4tjBv6dJRT7j275NXsy2jb4aJa4NNveul5x4eqlF1wuhuR2RElK71RvmVaw==", + "bin": { + "prettier": "bin/prettier.cjs" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } }, - "node_modules/read-json-safe": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/read-json-safe/-/read-json-safe-1.0.5.tgz", - "integrity": "sha512-SJyNY/U9+vW35FPus22Qvv1oilnR7PCfN2E70uKQEGaJS313A5/cz9Yhv7ZtWzZ+XIwrtEPxXf10BOyYemHehA==", + "node_modules/prettier-linter-helpers": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", + "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", "dev": true, "dependencies": { - "parse-json-object": "^1.0.5", - "read-file-safe": "^1.0.5" + "fast-diff": "^1.1.2" + }, + "engines": { + "node": ">=6.0.0" } }, - "node_modules/read-json-safe/node_modules/parse-json-object": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/parse-json-object/-/parse-json-object-1.1.0.tgz", - "integrity": "sha512-4w5s6uJY1tW9REY8UwUOyaZKSKsrbQrMEzlV/Le/g5t4iMWuuyK83pZZ0OZimSOL9iyv2ORvRSgz71Ekd7iD3g==", - "dev": true, + "node_modules/prettier-plugin-java": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/prettier-plugin-java/-/prettier-plugin-java-2.5.0.tgz", + "integrity": "sha512-6Uc1yHVrLTwgl7D9hsBS3Xa2qXXlEd4v/6z1oio7u8O6mQdh/6cP0cbhS1daik9tNSMMES/VyzI+78918KRuGA==", "dependencies": { - "types-json": "^1.0.6" + "java-parser": "2.2.0", + "lodash": "4.17.21", + "prettier": "3.0.3" } }, - "node_modules/read-package-json-fast": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/read-package-json-fast/-/read-package-json-fast-2.0.3.tgz", - "integrity": "sha512-W/BKtbL+dUjTuRL2vziuYhp76s5HZ9qQhd/dKfWIZveD0O40453QNyZhC0e63lqZrAQ4jiOapVoeJ7JrszenQQ==", + "node_modules/prettier-plugin-java/node_modules/chevrotain": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/chevrotain/-/chevrotain-6.5.0.tgz", + "integrity": "sha512-BwqQ/AgmKJ8jcMEjaSnfMybnKMgGTrtDKowfTP3pX4jwVy0kNjRsT/AP6h+wC3+3NC+X8X15VWBnTCQlX+wQFg==", "dependencies": { - "json-parse-even-better-errors": "^2.3.0", - "npm-normalize-package-bin": "^1.0.1" - }, - "engines": { - "node": ">=10" + "regexp-to-ast": "0.4.0" } }, - "node_modules/read-package-up": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/read-package-up/-/read-package-up-11.0.0.tgz", - "integrity": "sha512-MbgfoNPANMdb4oRBNg5eqLbB2t2r+o5Ua1pNt8BqGp4I0FJZhuVSOj3PaBPni4azWuSzEdNn2evevzVmEk1ohQ==", - "dev": true, + "node_modules/prettier-plugin-java/node_modules/java-parser": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/java-parser/-/java-parser-2.2.0.tgz", + "integrity": "sha512-20/Rpuv4FnzTNgWkJBqs2M4qwBuPLMqOqNiwU5j7vKvrw4Ej+re8Aoc92KbDFb61M1u/Sd4Ygst+CpEcKXvhBQ==", "dependencies": { - "find-up-simple": "^1.0.0", - "read-pkg": "^9.0.0", - "type-fest": "^4.6.0" + "chevrotain": "6.5.0", + "lodash": "4.17.21" + } + }, + "node_modules/prettier-plugin-java/node_modules/prettier": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.0.3.tgz", + "integrity": "sha512-L/4pUDMxcNa8R/EthV08Zt42WBO4h1rarVtK0K+QJG0X187OLo7l699jWw0GKuwzkPQ//jMFA/8Xm6Fh3J/DAg==", + "bin": { + "prettier": "bin/prettier.cjs" }, "engines": { - "node": ">=18" + "node": ">=14" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/prettier/prettier?sponsor=1" } }, - "node_modules/read-package-up/node_modules/hosted-git-info": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-7.0.1.tgz", - "integrity": "sha512-+K84LB1DYwMHoHSgaOY/Jfhw3ucPmSET5v98Ke/HdNSw4a0UktWzyW1mjhjpuxxTqOOsfWT/7iVshHmVZ4IpOA==", - "dev": true, + "node_modules/prettier-plugin-packagejson": { + "version": "2.4.7", + "resolved": "https://registry.npmjs.org/prettier-plugin-packagejson/-/prettier-plugin-packagejson-2.4.7.tgz", + "integrity": "sha512-/n1HGcBbuJyTlD3tb2/tW1mT5WIR6FCo+bAijHF6pNoSBf8YoxoskawjSY2ku9/8d6mdzci7oMchziI7CYEWYg==", "dependencies": { - "lru-cache": "^10.0.1" + "sort-package-json": "2.6.0", + "synckit": "0.8.6" }, - "engines": { - "node": "^16.14.0 || >=18.0.0" - } - }, - "node_modules/read-package-up/node_modules/lru-cache": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.1.0.tgz", - "integrity": "sha512-/1clY/ui8CzjKFyjdvwPWJUYKiFVXG2I2cY0ssG7h4+hwk+XOIX7ZSG9Q7TW8TW3Kp3BUSqgFWBLgL4PJ+Blag==", - "dev": true, - "engines": { - "node": "14 || >=16.14" + "peerDependencies": { + "prettier": ">= 1.16.0" + }, + "peerDependenciesMeta": { + "prettier": { + "optional": true + } } }, - "node_modules/read-package-up/node_modules/normalize-package-data": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-6.0.0.tgz", - "integrity": "sha512-UL7ELRVxYBHBgYEtZCXjxuD5vPxnmvMGq0jp/dGPKKrN7tfsBh2IY7TlJ15WWwdjRWD3RJbnsygUurTK3xkPkg==", - "dev": true, + "node_modules/prettier-plugin-packagejson/node_modules/synckit": { + "version": "0.8.6", + "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.8.6.tgz", + "integrity": "sha512-laHF2savN6sMeHCjLRkheIU4wo3Zg9Ln5YOjOo7sZ5dVQW8yF5pPE5SIw1dsPhq3TRp1jisKRCdPhfs/1WMqDA==", "dependencies": { - "hosted-git-info": "^7.0.0", - "is-core-module": "^2.8.1", - "semver": "^7.3.5", - "validate-npm-package-license": "^3.0.4" + "@pkgr/utils": "^2.4.2", + "tslib": "^2.6.2" }, "engines": { - "node": "^16.14.0 || >=18.0.0" + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/unts" } }, - "node_modules/read-package-up/node_modules/parse-json": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-8.1.0.tgz", - "integrity": "sha512-rum1bPifK5SSar35Z6EKZuYPJx85pkNaFrxBK3mwdfSJ1/WKbYrjoW/zTPSjRRamfmVX1ACBIdFAO0VRErW/EA==", - "dev": true, + "node_modules/prettier-plugin-properties": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/prettier-plugin-properties/-/prettier-plugin-properties-0.3.0.tgz", + "integrity": "sha512-j2h4NbG6hIaRx0W7CDPUH+yDbzXHmI2urPC1EC8pYrsS5R5AYgAmcSDN0oea+C5mBiN6BK0AkiSKPj0RC17NDQ==", "dependencies": { - "@babel/code-frame": "^7.22.13", - "index-to-position": "^0.1.2", - "type-fest": "^4.7.1" + "dot-properties": "^1.0.0" }, + "peerDependencies": { + "prettier": ">= 2.3.0" + } + }, + "node_modules/pretty-bytes": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-6.1.1.tgz", + "integrity": "sha512-mQUvGU6aUFQ+rNvTIAcZuWGRT9a6f6Yrg9bHs4ImKF+HZCEK+plBvnAZYSIQztknZF2qnzNtr6F8s0+IuptdlQ==", "engines": { - "node": ">=18" + "node": "^14.13.1 || >=16.0.0" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/read-package-up/node_modules/read-pkg": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-9.0.1.tgz", - "integrity": "sha512-9viLL4/n1BJUCT1NXVTdS1jtm80yDEgR5T4yCelII49Mbj0v1rZdKqj7zCiYdbB0CuCgdrvHcNogAKTFPBocFA==", + "node_modules/pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", "dev": true, "dependencies": { - "@types/normalize-package-data": "^2.4.3", - "normalize-package-data": "^6.0.0", - "parse-json": "^8.0.0", - "type-fest": "^4.6.0", - "unicorn-magic": "^0.1.0" + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" }, "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/read-package-up/node_modules/type-fest": { - "version": "4.8.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.8.2.tgz", - "integrity": "sha512-mcvrCjixA5166hSrUoJgGb9gBQN4loMYyj9zxuMs/66ibHNEFd5JXMw37YVDx58L4/QID9jIzdTBB4mDwDJ6KQ==", + "node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, "engines": { - "node": ">=16" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "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==", - "dependencies": { - "@types/normalize-package-data": "^2.4.0", - "normalize-package-data": "^2.5.0", - "parse-json": "^5.0.0", - "type-fest": "^0.6.0" - }, + "node_modules/proc-log": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-3.0.0.tgz", + "integrity": "sha512-++Vn7NS4Xf9NacaU9Xq3URUuqZETPsf8L4j5/ckhaRYsfPeRyzGw+iDjFhV/Jr3uNmTvvddEJFWh5R1gRgUH8A==", "engines": { - "node": ">=8" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "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==", - "dependencies": { - "find-up": "^4.1.0", - "read-pkg": "^5.2.0", - "type-fest": "^0.8.1" - }, + "node_modules/process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", "engines": { - "node": ">=8" + "node": ">= 0.6.0" } }, - "node_modules/read-pkg-up/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==", - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + }, + "node_modules/progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", "engines": { - "node": ">=8" + "node": ">=0.4.0" } }, - "node_modules/read-pkg-up/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==", - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" + "node_modules/promise-all-reject-late": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/promise-all-reject-late/-/promise-all-reject-late-1.0.1.tgz", + "integrity": "sha512-vuf0Lf0lOxyQREH7GDIOUMLS7kz+gs8i6B+Yi8dC68a2sychGrHTJYghMBD6k7eUcH0H5P73EckCA48xijWqXw==", + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/read-pkg-up/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==", - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" + "node_modules/promise-call-limit": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/promise-call-limit/-/promise-call-limit-1.0.2.tgz", + "integrity": "sha512-1vTUnfI2hzui8AEIixbdAJlFY4LFDXqQswy/2eOlThAscXCY4It8FdVuI0fMJGAB2aWGbdQf/gv0skKYXmdrHA==", + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/read-pkg-up/node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "engines": { - "node": ">=8" - } - }, - "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==", - "engines": { - "node": ">=8" - } + "node_modules/promise-inflight": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", + "integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==" }, - "node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "node_modules/promise-retry": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz", + "integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==", "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" + "err-code": "^2.0.2", + "retry": "^0.12.0" }, "engines": { - "node": ">= 6" + "node": ">=10" } }, - "node_modules/readdir-scoped-modules": { + "node_modules/proto-list": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", + "integrity": "sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==" + }, + "node_modules/proxy-from-env": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/readdir-scoped-modules/-/readdir-scoped-modules-1.1.0.tgz", - "integrity": "sha512-asaikDeqAQg7JifRsZn1NJZXo9E+VwlyCfbkZhwyISinqk5zNS6266HS5kah6P0SaQKGF6SkNnZVHUzHFYxYDw==", - "dependencies": { - "debuglog": "^1.0.1", - "dezalgo": "^1.0.0", - "graceful-fs": "^4.1.2", - "once": "^1.3.0" - } + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" }, - "node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dev": true, + "node_modules/psl": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", + "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==" + }, + "node_modules/pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", "dependencies": { - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8.10.0" + "end-of-stream": "^1.1.0", + "once": "^1.3.1" } }, - "node_modules/rechoir": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", - "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", - "dependencies": { - "resolve": "^1.1.6" - }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", "engines": { - "node": ">= 0.10" + "node": ">=6" } }, - "node_modules/regexp-to-ast": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/regexp-to-ast/-/regexp-to-ast-0.5.0.tgz", - "integrity": "sha512-tlbJqcMHnPKI9zSrystikWKwHkBqu2a/Sgw01h3zFjvYrMxEDYHzzoMZnUrbIfpTFEsoRnnviOXNCzFiSc54Qw==" - }, - "node_modules/regexp.prototype.flags": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz", - "integrity": "sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==", + "node_modules/pupa": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/pupa/-/pupa-3.1.0.tgz", + "integrity": "sha512-FLpr4flz5xZTSJxSeaheeMKN/EDzMdK7b8PTOC6a5PYFKTucWbdqjgqaEyH0shFiSJrVB1+Qqi4Tk19ccU6Aug==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "functions-have-names": "^1.2.3" + "escape-goat": "^4.0.0" }, "engines": { - "node": ">= 0.4" + "node": ">=12.20" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/registry-auth-token": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-4.2.2.tgz", - "integrity": "sha512-PC5ZysNb42zpFME6D/XlIgtNGdTl8bBOCw90xQLVMpzuuubJKYDWFAEuUNc+Cn8Z8724tg2SDhDRrkVEsqfDMg==", - "dev": true, - "dependencies": { - "rc": "1.2.8" - }, + "node_modules/qs": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz", + "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==", "engines": { - "node": ">=6.0.0" + "node": ">=0.6" } }, - "node_modules/registry-url": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-6.0.1.tgz", - "integrity": "sha512-+crtS5QjFRqFCoQmvGduwYWEBng99ZvmFvF+cUJkGYF1L1BfU8C6Zp9T7f5vPAwyLkUExpvK+ANVZmGU49qi4Q==", - "dev": true, - "dependencies": { - "rc": "1.2.8" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } + "node_modules/querystringify": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", + "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==" }, - "node_modules/remove-trailing-separator": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", - "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=" + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] }, - "node_modules/replace-ext": { + "node_modules/queue-tick": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.1.tgz", - "integrity": "sha512-yD5BHCe7quCgBph4rMQ+0KkIRKwWCrHDOX1p1Gp6HwjPM5kVoCdKGNhN7ydqqsX6lJEnQDKZ/tFMiEdQ1dvPEw==", + "resolved": "https://registry.npmjs.org/queue-tick/-/queue-tick-1.0.1.tgz", + "integrity": "sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==" + }, + "node_modules/quick-lru": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", + "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", "engines": { - "node": ">= 0.10" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/request": { - "version": "2.88.2", - "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", - "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", + "node_modules/randexp": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/randexp/-/randexp-0.5.3.tgz", + "integrity": "sha512-U+5l2KrcMNOUPYvazA3h5ekF80FHTUG+87SEAmHZmolh1M+i/WyTCxVzmi+tidIa1tM4BSe8g2Y/D3loWDjj+w==", "dependencies": { - "aws-sign2": "~0.7.0", - "aws4": "^1.8.0", - "caseless": "~0.12.0", - "combined-stream": "~1.0.6", - "extend": "~3.0.2", - "forever-agent": "~0.6.1", - "form-data": "~2.3.2", - "har-validator": "~5.1.3", - "http-signature": "~1.2.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.19", - "oauth-sign": "~0.9.0", - "performance-now": "^2.1.0", - "qs": "~6.5.2", - "safe-buffer": "^5.1.2", - "tough-cookie": "~2.5.0", - "tunnel-agent": "^0.6.0", - "uuid": "^3.3.2" + "drange": "^1.0.2", + "ret": "^0.2.0" }, "engines": { - "node": ">= 6" + "node": ">=4" } }, - "node_modules/request/node_modules/tough-cookie": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", - "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, "dependencies": { - "psl": "^1.1.28", - "punycode": "^2.1.1" - }, - "engines": { - "node": ">=0.8" + "safe-buffer": "^5.1.0" } }, - "node_modules/request/node_modules/uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "node_modules/rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "dependencies": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, "bin": { - "uuid": "bin/uuid" + "rc": "cli.js" } }, - "node_modules/require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", - "dev": true, + "node_modules/rc/node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" + }, + "node_modules/rc/node_modules/strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", "engines": { "node": ">=0.10.0" } }, - "node_modules/require-from-string": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "node_modules/react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "dev": true + }, + "node_modules/read-cmd-shim": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/read-cmd-shim/-/read-cmd-shim-4.0.0.tgz", + "integrity": "sha512-yILWifhaSEEytfXI76kB9xEEiG1AiozaCJZ83A87ytjRiN+jVibXjedjCRNjoZviinhG+4UkalO3mWTd8u5O0Q==", "engines": { - "node": ">=0.10.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/requizzle": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/requizzle/-/requizzle-0.2.3.tgz", - "integrity": "sha512-YanoyJjykPxGHii0fZP0uUPEXpvqfBDxWV7s6GKAiiOsiqhX6vHNyW3Qzdmqp/iq/ExbhaGbVrjB4ruEVSM4GQ==", + "node_modules/read-file-safe": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/read-file-safe/-/read-file-safe-1.0.10.tgz", + "integrity": "sha512-qW25fd2uMX3dV6Ui/R0jYK1MhTpjx8FO/VHaHTXzwWsGnkNwLRcqYfCXd9qDM+NZ273DPUvP2RaimYuLSu1K/g==", + "dev": true + }, + "node_modules/read-input": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/read-input/-/read-input-0.3.1.tgz", + "integrity": "sha512-J1ZkWCnB4altU7RTe+62PSfa21FrEtfKyO9fuqR3yP8kZku3nIwaw2Krj383JC7egAIl5Zyz2w+EOu9uXH5HZw==", + "dev": true + }, + "node_modules/read-json-safe": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/read-json-safe/-/read-json-safe-1.0.5.tgz", + "integrity": "sha512-SJyNY/U9+vW35FPus22Qvv1oilnR7PCfN2E70uKQEGaJS313A5/cz9Yhv7ZtWzZ+XIwrtEPxXf10BOyYemHehA==", "dev": true, "dependencies": { - "lodash": "^4.17.14" + "parse-json-object": "^1.0.5", + "read-file-safe": "^1.0.5" } }, - "node_modules/resolve": { - "version": "1.22.4", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.4.tgz", - "integrity": "sha512-PXNdCiPqDqeUou+w1C2eTQbNfxKSuMxqTCuvlmmMsk1NWHL5fRrhY6Pl0qEYYc6+QqGClco1Qj8XnjPego4wfg==", + "node_modules/read-json-safe/node_modules/parse-json-object": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/parse-json-object/-/parse-json-object-1.1.0.tgz", + "integrity": "sha512-4w5s6uJY1tW9REY8UwUOyaZKSKsrbQrMEzlV/Le/g5t4iMWuuyK83pZZ0OZimSOL9iyv2ORvRSgz71Ekd7iD3g==", + "dev": true, "dependencies": { - "is-core-module": "^2.13.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "types-json": "^1.0.6" } }, - "node_modules/resolve-alpn": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.2.1.tgz", - "integrity": "sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==", - "dev": true - }, - "node_modules/resolve-cwd": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", - "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", - "dev": true, + "node_modules/read-package-json": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/read-package-json/-/read-package-json-7.0.0.tgz", + "integrity": "sha512-uL4Z10OKV4p6vbdvIXB+OzhInYtIozl/VxUBPgNkBuUi2DeRonnuspmaVAMcrkmfjKGNmRndyQAbE7/AmzGwFg==", "dependencies": { - "resolve-from": "^5.0.0" + "glob": "^10.2.2", + "json-parse-even-better-errors": "^3.0.0", + "normalize-package-data": "^6.0.0", + "npm-normalize-package-bin": "^3.0.0" }, "engines": { - "node": ">=8" - } - }, - "node_modules/resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true, - "engines": { - "node": ">=8" + "node": "^16.14.0 || >=18.0.0" } }, - "node_modules/responselike": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/responselike/-/responselike-2.0.1.tgz", - "integrity": "sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw==", - "dev": true, + "node_modules/read-package-json-fast": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/read-package-json-fast/-/read-package-json-fast-3.0.2.tgz", + "integrity": "sha512-0J+Msgym3vrLOUB3hzQCuZHII0xkNGCtz/HJH9xZshwv9DbDwkw1KaE3gx/e2J5rpEY5rtOy6cyhKOPrkP7FZw==", "dependencies": { - "lowercase-keys": "^2.0.0" + "json-parse-even-better-errors": "^3.0.0", + "npm-normalize-package-bin": "^3.0.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/restore-cursor": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", - "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", - "dependencies": { - "onetime": "^2.0.0", - "signal-exit": "^3.0.2" - }, + "node_modules/read-package-json-fast/node_modules/json-parse-even-better-errors": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.1.tgz", + "integrity": "sha512-aatBvbL26wVUCLmbWdCpeu9iF5wOyWpagiKkInA+kfws3sWdBrTnsvN2CKcyCYyUrc7rebNBlK6+kteg7ksecg==", "engines": { - "node": ">=4" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/restore-cursor/node_modules/mimic-fn": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", - "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", + "node_modules/read-package-json/node_modules/json-parse-even-better-errors": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.1.tgz", + "integrity": "sha512-aatBvbL26wVUCLmbWdCpeu9iF5wOyWpagiKkInA+kfws3sWdBrTnsvN2CKcyCYyUrc7rebNBlK6+kteg7ksecg==", "engines": { - "node": ">=4" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/restore-cursor/node_modules/onetime": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", - "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", + "node_modules/read-package-up": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/read-package-up/-/read-package-up-11.0.0.tgz", + "integrity": "sha512-MbgfoNPANMdb4oRBNg5eqLbB2t2r+o5Ua1pNt8BqGp4I0FJZhuVSOj3PaBPni4azWuSzEdNn2evevzVmEk1ohQ==", "dependencies": { - "mimic-fn": "^1.0.0" + "find-up-simple": "^1.0.0", + "read-pkg": "^9.0.0", + "type-fest": "^4.6.0" }, "engines": { - "node": ">=4" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/ret": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/ret/-/ret-0.2.2.tgz", - "integrity": "sha512-M0b3YWQs7R3Z917WRQy1HHA7Ba7D8hvZg6UE5mLykJxQVE2ju0IXbGlaHPPlkY+WN7wFP+wUMXmBFA0aV6vYGQ==", + "node_modules/read-pkg": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-9.0.1.tgz", + "integrity": "sha512-9viLL4/n1BJUCT1NXVTdS1jtm80yDEgR5T4yCelII49Mbj0v1rZdKqj7zCiYdbB0CuCgdrvHcNogAKTFPBocFA==", + "dependencies": { + "@types/normalize-package-data": "^2.4.3", + "normalize-package-data": "^6.0.0", + "parse-json": "^8.0.0", + "type-fest": "^4.6.0", + "unicorn-magic": "^0.1.0" + }, "engines": { - "node": ">=4" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/retry": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", - "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=", + "node_modules/read-pkg/node_modules/parse-json": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-8.1.0.tgz", + "integrity": "sha512-rum1bPifK5SSar35Z6EKZuYPJx85pkNaFrxBK3mwdfSJ1/WKbYrjoW/zTPSjRRamfmVX1ACBIdFAO0VRErW/EA==", + "dependencies": { + "@babel/code-frame": "^7.22.13", + "index-to-position": "^0.1.2", + "type-fest": "^4.7.1" + }, "engines": { - "node": ">= 4" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "node_modules/readable-stream": { + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.5.2.tgz", + "integrity": "sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==", + "dependencies": { + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10", + "string_decoder": "^1.3.0" + }, "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, - "node_modules/rfdc": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.3.0.tgz", - "integrity": "sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==", - "dev": true - }, - "node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "node_modules/readdir-scoped-modules": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/readdir-scoped-modules/-/readdir-scoped-modules-1.1.0.tgz", + "integrity": "sha512-asaikDeqAQg7JifRsZn1NJZXo9E+VwlyCfbkZhwyISinqk5zNS6266HS5kah6P0SaQKGF6SkNnZVHUzHFYxYDw==", + "deprecated": "This functionality has been moved to @npmcli/fs", "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" + "debuglog": "^1.0.1", + "dezalgo": "^1.0.0", + "graceful-fs": "^4.1.2", + "once": "^1.3.0" } }, - "node_modules/run-applescript": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/run-applescript/-/run-applescript-5.0.0.tgz", - "integrity": "sha512-XcT5rBksx1QdIhlFOCtgZkB99ZEouFZ1E2Kc2LHqNW13U3/74YGdkQRmThTwxy4QIyookibDKYZOPqX//6BlAg==", + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", "dev": true, "dependencies": { - "execa": "^5.0.0" + "picomatch": "^2.2.1" }, "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=8.10.0" } }, - "node_modules/run-applescript/node_modules/execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", - "dev": true, + "node_modules/rechoir": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", + "integrity": "sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==", "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" + "resolve": "^1.1.6" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" + "node": ">= 0.10" } }, - "node_modules/run-applescript/node_modules/get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", - "dev": true, + "node_modules/regexp-to-ast": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/regexp-to-ast/-/regexp-to-ast-0.4.0.tgz", + "integrity": "sha512-4qf/7IsIKfSNHQXSwial1IFmfM1Cc/whNBQqRwe0V2stPe7KmN1U0tWQiIx6JiirgSrisjE0eECdNf7Tav1Ntw==" + }, + "node_modules/regexp.prototype.flags": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.1.tgz", + "integrity": "sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "set-function-name": "^2.0.0" + }, "engines": { - "node": ">=10" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/run-applescript/node_modules/human-signals": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", - "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "node_modules/registry-auth-token": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-4.2.2.tgz", + "integrity": "sha512-PC5ZysNb42zpFME6D/XlIgtNGdTl8bBOCw90xQLVMpzuuubJKYDWFAEuUNc+Cn8Z8724tg2SDhDRrkVEsqfDMg==", "dev": true, + "dependencies": { + "rc": "1.2.8" + }, "engines": { - "node": ">=10.17.0" + "node": ">=6.0.0" } }, - "node_modules/run-applescript/node_modules/is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", - "dev": true, + "node_modules/registry-url": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-6.0.1.tgz", + "integrity": "sha512-+crtS5QjFRqFCoQmvGduwYWEBng99ZvmFvF+cUJkGYF1L1BfU8C6Zp9T7f5vPAwyLkUExpvK+ANVZmGU49qi4Q==", + "dependencies": { + "rc": "1.2.8" + }, "engines": { - "node": ">=8" + "node": ">=12" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/run-async": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", - "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", + "node_modules/remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==" + }, + "node_modules/replace-ext": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-2.0.0.tgz", + "integrity": "sha512-UszKE5KVK6JvyD92nzMn9cDapSk6w/CaFZ96CnmDMUqH9oowfxF/ZjRITD25H4DnOQClLA4/j7jLGXXLVKxAug==", "engines": { - "node": ">=0.12.0" + "node": ">= 10" } }, - "node_modules/run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], + "node_modules/request": { + "version": "2.88.2", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", + "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", + "deprecated": "request has been deprecated, see https://github.com/request/request/issues/3142", "dependencies": { - "queue-microtask": "^1.2.2" + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.3", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.5.0", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" + }, + "engines": { + "node": ">= 6" } }, - "node_modules/rxjs": { - "version": "6.6.7", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", - "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "node_modules/request/node_modules/form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", "dependencies": { - "tslib": "^1.9.0" + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" }, "engines": { - "npm": ">=2.0.0" + "node": ">= 0.12" } }, - "node_modules/safe-array-concat": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.0.0.tgz", - "integrity": "sha512-9dVEFruWIsnie89yym+xWTAYASdpw3CJV7Li/6zBewGf9z2i1j31rP6jnY0pHEO4QZh6N0K11bFjWmdR8UGdPQ==", - "dev": true, + "node_modules/request/node_modules/tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.0", - "has-symbols": "^1.0.3", - "isarray": "^2.0.5" + "psl": "^1.1.28", + "punycode": "^2.1.1" }, "engines": { - "node": ">=0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=0.8" } }, - "node_modules/safe-array-concat/node_modules/isarray": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", - "dev": true + "node_modules/request/node_modules/uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", + "bin": { + "uuid": "bin/uuid" + } }, - "node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, - "node_modules/safe-regex-test": { + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/requires-port": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", - "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==" + }, + "node_modules/requizzle": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/requizzle/-/requizzle-0.2.4.tgz", + "integrity": "sha512-JRrFk1D4OQ4SqovXOgdav+K8EAhSB/LJZqCz8tbX0KObcdeM15Ss59ozWMBWmmINMagCwmqn4ZNryUGpBsl6Jw==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.3", - "is-regex": "^1.1.4" + "lodash": "^4.17.21" + } + }, + "node_modules/resolve": { + "version": "1.22.8", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/safe-stable-stringify": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-2.3.1.tgz", - "integrity": "sha512-kYBSfT+troD9cDA85VDnHZ1rpHC50O0g1e6WlGHVCz/g+JS+9WKLj+XwFYyR8UbrZN8ll9HUpDAAddY58MGisg==", - "engines": { - "node": ">=10" - } - }, - "node_modules/safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" - }, - "node_modules/sax": { + "node_modules/resolve-alpn": { "version": "1.2.1", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.1.tgz", - "integrity": "sha512-8I2a3LovHTOpm7NV5yOyO8IHqgVsfK4+UuySrXU8YXkSRX7k6hCV9b3HrkKCr3nMpgj+0bmocaJJWpvp1oc7ZA==" + "resolved": "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.2.1.tgz", + "integrity": "sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==" }, - "node_modules/scoped-regex": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/scoped-regex/-/scoped-regex-2.1.0.tgz", - "integrity": "sha512-g3WxHrqSWCZHGHlSrF51VXFdjImhwvH8ZO/pryFH56Qi0cDsZfylQa/t0jCzVQFNbNvM00HfHjkDPEuarKDSWQ==", + "node_modules/resolve-cwd": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", + "dev": true, + "dependencies": { + "resolve-from": "^5.0.0" + }, "engines": { "node": ">=8" } }, - "node_modules/semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, + "node_modules/resolve-cwd/node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, "engines": { - "node": ">=10" + "node": ">=8" } }, - "node_modules/semver-diff": { + "node_modules/resolve-from": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-4.0.0.tgz", - "integrity": "sha512-0Ju4+6A8iOnpL/Thra7dZsSlOHYAHIeMxfhWQRI1/VLcT3WDBZKKtQt/QkBOsiIN9ZpuvHE6cGZ0x4glCMmfiA==", - "dev": true, - "dependencies": { - "semver": "^7.3.5" - }, + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=4" } }, - "node_modules/serialize-javascript": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", - "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", + "node_modules/responselike": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/responselike/-/responselike-2.0.1.tgz", + "integrity": "sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw==", "dev": true, "dependencies": { - "randombytes": "^2.1.0" + "lowercase-keys": "^2.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" - }, - "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==", + "node_modules/restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", "dependencies": { - "shebang-regex": "^3.0.0" + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" }, "engines": { "node": ">=8" } }, - "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==", + "node_modules/restore-cursor/node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", "engines": { - "node": ">=8" + "node": ">=6" } }, - "node_modules/shelljs": { - "version": "0.8.5", - "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz", - "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==", + "node_modules/restore-cursor/node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", "dependencies": { - "glob": "^7.0.0", - "interpret": "^1.0.0", - "rechoir": "^0.6.2" - }, - "bin": { - "shjs": "bin/shjs" + "mimic-fn": "^2.1.0" }, "engines": { - "node": ">=4" - } - }, - "node_modules/side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" + "node": ">=6" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/signal-exit": { + "node_modules/restore-cursor/node_modules/signal-exit": { "version": "3.0.7", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" }, - "node_modules/simple-git": { - "version": "3.13.0", - "resolved": "https://registry.npmjs.org/simple-git/-/simple-git-3.13.0.tgz", - "integrity": "sha512-VYrs3joeHvWGcN3K135RpGpPjm4AHYeOrclwew6LlfHgq6ozQYIW2yMnmjf4PCgVOuSYCbXkdUjyiFawuJz8MA==", - "dependencies": { - "@kwsites/file-exists": "^1.1.1", - "@kwsites/promise-deferred": "^1.1.1", - "debug": "^4.3.4" - }, - "funding": { - "type": "github", - "url": "https://github.com/steveukx/git-js?sponsor=1" + "node_modules/ret": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.2.2.tgz", + "integrity": "sha512-M0b3YWQs7R3Z917WRQy1HHA7Ba7D8hvZg6UE5mLykJxQVE2ju0IXbGlaHPPlkY+WN7wFP+wUMXmBFA0aV6vYGQ==", + "engines": { + "node": ">=4" } }, - "node_modules/simple-swizzle": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", - "integrity": "sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==", - "dependencies": { - "is-arrayish": "^0.3.1" + "node_modules/retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", + "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==", + "engines": { + "node": ">= 4" } }, - "node_modules/sinon": { - "version": "17.0.1", - "resolved": "https://registry.npmjs.org/sinon/-/sinon-17.0.1.tgz", - "integrity": "sha512-wmwE19Lie0MLT+ZYNpDymasPHUKTaZHUH/pKEubRXIzySv9Atnlw+BUMGCzWgV7b7wO+Hw6f1TEOr0IUnmU8/g==", - "dev": true, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rfdc": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.3.0.tgz", + "integrity": "sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==", + "dev": true + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", "dependencies": { - "@sinonjs/commons": "^3.0.0", - "@sinonjs/fake-timers": "^11.2.2", - "@sinonjs/samsam": "^8.0.0", - "diff": "^5.1.0", - "nise": "^5.1.5", - "supports-color": "^7.2.0" + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/sinon" + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/sinon/node_modules/@sinonjs/commons": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.0.tgz", - "integrity": "sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==", - "dev": true, + "node_modules/rimraf/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "dependencies": { - "type-detect": "4.0.8" - } - }, - "node_modules/sinon/node_modules/diff": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-5.1.0.tgz", - "integrity": "sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==", - "dev": true, - "engines": { - "node": ">=0.3.1" - } - }, - "node_modules/sinon/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, "engines": { - "node": ">=8" + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/sinon/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "node_modules/rollup": { + "version": "4.9.5", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.9.5.tgz", + "integrity": "sha512-E4vQW0H/mbNMw2yLSqJyjtkHY9dslf/p0zuT1xehNRqUTBOFMqEjguDvqhXr7N7r/4ttb2jr4T41d3dncmIgbQ==", "dev": true, "dependencies": { - "has-flag": "^4.0.0" + "@types/estree": "1.0.5" + }, + "bin": { + "rollup": "dist/bin/rollup" }, "engines": { - "node": ">=8" - } - }, - "node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "engines": { - "node": ">=8" + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.9.5", + "@rollup/rollup-android-arm64": "4.9.5", + "@rollup/rollup-darwin-arm64": "4.9.5", + "@rollup/rollup-darwin-x64": "4.9.5", + "@rollup/rollup-linux-arm-gnueabihf": "4.9.5", + "@rollup/rollup-linux-arm64-gnu": "4.9.5", + "@rollup/rollup-linux-arm64-musl": "4.9.5", + "@rollup/rollup-linux-riscv64-gnu": "4.9.5", + "@rollup/rollup-linux-x64-gnu": "4.9.5", + "@rollup/rollup-linux-x64-musl": "4.9.5", + "@rollup/rollup-win32-arm64-msvc": "4.9.5", + "@rollup/rollup-win32-ia32-msvc": "4.9.5", + "@rollup/rollup-win32-x64-msvc": "4.9.5", + "fsevents": "~2.3.2" } }, - "node_modules/slice-ansi": { + "node_modules/run-applescript": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-5.0.0.tgz", - "integrity": "sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==", - "dev": true, + "resolved": "https://registry.npmjs.org/run-applescript/-/run-applescript-5.0.0.tgz", + "integrity": "sha512-XcT5rBksx1QdIhlFOCtgZkB99ZEouFZ1E2Kc2LHqNW13U3/74YGdkQRmThTwxy4QIyookibDKYZOPqX//6BlAg==", "dependencies": { - "ansi-styles": "^6.0.0", - "is-fullwidth-code-point": "^4.0.0" + "execa": "^5.0.0" }, "engines": { "node": ">=12" }, "funding": { - "url": "https://github.com/chalk/slice-ansi?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/slice-ansi/node_modules/ansi-styles": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", - "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", - "dev": true, + "node_modules/run-applescript/node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, "engines": { - "node": ">=12" + "node": ">=10" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, - "node_modules/slice-ansi/node_modules/is-fullwidth-code-point": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz", - "integrity": "sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==", - "dev": true, + "node_modules/run-applescript/node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", "engines": { - "node": ">=12" + "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/smart-buffer": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", - "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", + "node_modules/run-applescript/node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", "engines": { - "node": ">= 6.0.0", - "npm": ">= 3.0.0" + "node": ">=10.17.0" } }, - "node_modules/socks": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/socks/-/socks-2.6.1.tgz", - "integrity": "sha512-kLQ9N5ucj8uIcxrDwjm0Jsqk06xdpBjGNQtpXy4Q8/QY2k+fY7nZH8CARy+hkbG+SGAovmzzuauCpBlb8FrnBA==", - "dependencies": { - "ip": "^1.1.5", - "smart-buffer": "^4.1.0" + "node_modules/run-applescript/node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "engines": { + "node": ">=8" }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/run-applescript/node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", "engines": { - "node": ">= 10.13.0", - "npm": ">= 3.0.0" + "node": ">=6" } }, - "node_modules/socks-proxy-agent": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.1.1.tgz", - "integrity": "sha512-t8J0kG3csjA4g6FTbsMOWws+7R7vuRC8aQ/wy3/1OWmsgwA68zs/+cExQ0koSitUDXqhufF/YJr9wtNMZHw5Ew==", + "node_modules/run-applescript/node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", "dependencies": { - "agent-base": "^6.0.2", - "debug": "^4.3.1", - "socks": "^2.6.1" + "path-key": "^3.0.0" }, "engines": { - "node": ">= 10" + "node": ">=8" } }, - "node_modules/sort-keys": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-4.2.0.tgz", - "integrity": "sha512-aUYIEU/UviqPgc8mHR6IW1EGxkAXpeRETYcrzg8cLAvUPZcpAlleSXHV2mY7G12GphSH6Gzv+4MMVSSkbdteHg==", + "node_modules/run-applescript/node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", "dependencies": { - "is-plain-obj": "^2.0.0" + "mimic-fn": "^2.1.0" }, "engines": { - "node": ">=8" + "node": ">=6" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/sort-keys/node_modules/is-plain-obj": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", - "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", - "engines": { - "node": ">=8" - } - }, - "node_modules/sort-object-keys": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/sort-object-keys/-/sort-object-keys-1.1.3.tgz", - "integrity": "sha512-855pvK+VkU7PaKYPc+Jjnmt4EzejQHyhhF33q31qG8x7maDzkeFhAAThdCYay11CISO+qAMwjOBP+fPZe0IPyg==" + "node_modules/run-applescript/node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" }, - "node_modules/sort-package-json": { - "version": "1.57.0", - "resolved": "https://registry.npmjs.org/sort-package-json/-/sort-package-json-1.57.0.tgz", - "integrity": "sha512-FYsjYn2dHTRb41wqnv+uEqCUvBpK3jZcTp9rbz2qDTmel7Pmdtf+i2rLaaPMRZeSVM60V3Se31GyWFpmKs4Q5Q==", - "dependencies": { - "detect-indent": "^6.0.0", - "detect-newline": "3.1.0", - "git-hooks-list": "1.0.3", - "globby": "10.0.0", - "is-plain-obj": "2.1.0", - "sort-object-keys": "^1.1.3" - }, - "bin": { - "sort-package-json": "cli.js" + "node_modules/run-applescript/node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "engines": { + "node": ">=6" } }, - "node_modules/sort-package-json/node_modules/is-plain-obj": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", - "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", + "node_modules/run-async": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-3.0.0.tgz", + "integrity": "sha512-540WwVDOMxA6dN6We19EcT9sc3hkXPw5mzRNGM3FkdN/vtE9NFvj5lFAPNwUDmJjXidm3v7TC1cTE7t17Ulm1Q==", "engines": { - "node": ">=8" + "node": ">=0.12.0" } }, - "node_modules/spdx-correct": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", - "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], "dependencies": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" + "queue-microtask": "^1.2.2" } }, - "node_modules/spdx-exceptions": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", - "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==" - }, - "node_modules/spdx-expression-parse": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", - "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "node_modules/rxjs": { + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", + "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", "dependencies": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" + "tslib": "^2.1.0" } }, - "node_modules/spdx-license-ids": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.6.tgz", - "integrity": "sha512-+orQK83kyMva3WyPf59k1+Y525csj5JejicWut55zeTWANuN17qSiSLUXWtzHeNWORSvT7GLDJ/E/XiIWoXBTw==" - }, - "node_modules/sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" - }, - "node_modules/sshpk": { - "version": "1.16.1", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", - "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", + "node_modules/safe-array-concat": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.0.1.tgz", + "integrity": "sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q==", "dependencies": { - "asn1": "~0.2.3", - "assert-plus": "^1.0.0", - "bcrypt-pbkdf": "^1.0.0", - "dashdash": "^1.12.0", - "ecc-jsbn": "~0.1.1", - "getpass": "^0.1.1", - "jsbn": "~0.1.0", - "safer-buffer": "^2.0.2", - "tweetnacl": "~0.14.0" - }, - "bin": { - "sshpk-conv": "bin/sshpk-conv", - "sshpk-sign": "bin/sshpk-sign", - "sshpk-verify": "bin/sshpk-verify" + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.1", + "has-symbols": "^1.0.3", + "isarray": "^2.0.5" }, "engines": { - "node": ">=0.10.0" + "node": ">=0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/ssri": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz", - "integrity": "sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==", + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/safe-regex-test": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.2.tgz", + "integrity": "sha512-83S9w6eFq12BBIJYvjMux6/dkirb8+4zJRA9cxNBVb7Wq5fJBW+Xze48WqR8pxua7bDuAaaAxtVVd4Idjp1dBQ==", "dependencies": { - "minipass": "^3.1.1" + "call-bind": "^1.0.5", + "get-intrinsic": "^1.2.2", + "is-regex": "^1.1.4" }, "engines": { - "node": ">= 8" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/stack-trace": { - "version": "0.0.10", - "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz", - "integrity": "sha512-KGzahc7puUKkzyMt+IqAep+TVNbKP+k2Lmwhub39m1AsTSkaDutx56aDCo+HLDzf/D26BIHTJWNiTG1KAJiQCg==", + "node_modules/safe-stable-stringify": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-2.4.3.tgz", + "integrity": "sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g==", "engines": { - "node": "*" + "node": ">=10" } }, - "node_modules/string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "dependencies": { - "safe-buffer": "~5.2.0" - } + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, - "node_modules/string-argv": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.3.2.tgz", - "integrity": "sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==", + "node_modules/scoped-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/scoped-regex/-/scoped-regex-3.0.0.tgz", + "integrity": "sha512-yEsN6TuxZhZ1Tl9iB81frTNS292m0I/IG7+w8lTvfcJQP2x3vnpOoevjBoE3Np5A6KnZM2+RtVenihj9t6NiYg==", "dev": true, "engines": { - "node": ">=0.6.19" - } - }, - "node_modules/string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "dependencies": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" + "node": ">=12" }, - "engines": { - "node": ">=4" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/string-width/node_modules/strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", "dependencies": { - "ansi-regex": "^3.0.0" + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" }, "engines": { - "node": ">=4" + "node": ">=10" } }, - "node_modules/string.prototype.trim": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.7.tgz", - "integrity": "sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg==", + "node_modules/semver-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-4.0.0.tgz", + "integrity": "sha512-0Ju4+6A8iOnpL/Thra7dZsSlOHYAHIeMxfhWQRI1/VLcT3WDBZKKtQt/QkBOsiIN9ZpuvHE6cGZ0x4glCMmfiA==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "semver": "^7.3.5" }, "engines": { - "node": ">= 0.4" + "node": ">=12" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/string.prototype.trimend": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz", - "integrity": "sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==", - "dev": true, + "node_modules/semver/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "yallist": "^4.0.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=10" } }, - "node_modules/string.prototype.trimstart": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz", - "integrity": "sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==", + "node_modules/serialize-javascript": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", + "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dependencies": { - "ansi-regex": "^4.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/strip-ansi/node_modules/ansi-regex": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", - "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", - "engines": { - "node": ">=6" + "randombytes": "^2.1.0" } }, - "node_modules/strip-bom": { + "node_modules/set-blocking": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", - "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==" + }, + "node_modules/set-function-length": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.1.1.tgz", + "integrity": "sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==", "dependencies": { - "is-utf8": "^0.2.0" + "define-data-property": "^1.1.1", + "get-intrinsic": "^1.2.1", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.4" } }, - "node_modules/strip-bom-buf": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-bom-buf/-/strip-bom-buf-1.0.0.tgz", - "integrity": "sha1-HLRar1dTD0yvhsf3UXnSyaUd1XI=", + "node_modules/set-function-name": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.1.tgz", + "integrity": "sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==", "dependencies": { - "is-utf8": "^0.2.1" + "define-data-property": "^1.0.1", + "functions-have-names": "^1.2.3", + "has-property-descriptors": "^1.0.0" }, "engines": { - "node": ">=4" + "node": ">= 0.4" } }, - "node_modules/strip-bom-stream": { + "node_modules/shebang-command": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-bom-stream/-/strip-bom-stream-2.0.0.tgz", - "integrity": "sha1-+H217yYT9paKpUWr/h7HKLaoKco=", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", "dependencies": { - "first-chunk-stream": "^2.0.0", - "strip-bom": "^2.0.0" + "shebang-regex": "^3.0.0" }, "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/strip-final-newline": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", - "engines": { - "node": ">=6" + "node": ">=8" } }, - "node_modules/strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true, + "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==", "engines": { "node": ">=8" } }, - "node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "node_modules/shelljs": { + "version": "0.8.5", + "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz", + "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==", "dependencies": { - "has-flag": "^3.0.0" + "glob": "^7.0.0", + "interpret": "^1.0.0", + "rechoir": "^0.6.2" + }, + "bin": { + "shjs": "bin/shjs" }, "engines": { "node": ">=4" } }, - "node_modules/supports-hyperlinks": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz", - "integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==", - "dev": true, + "node_modules/shelljs/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "dependencies": { - "has-flag": "^4.0.0", - "supports-color": "^7.0.0" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" }, "engines": { - "node": ">=8" - } - }, - "node_modules/supports-hyperlinks/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/supports-hyperlinks/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, + "node_modules/side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", "dependencies": { - "has-flag": "^4.0.0" + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" }, - "engines": { - "node": ">=8" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "node_modules/siginfo": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz", + "integrity": "sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==", + "dev": true + }, + "node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", "engines": { - "node": ">= 0.4" + "node": ">=14" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/symbol-observable": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-4.0.0.tgz", - "integrity": "sha512-b19dMThMV4HVFynSAM1++gBHAbk2Tc/osgLIBZMKsyqh34jb2e8Os7T6ZW/Bt3pJFdBTd2JwAnAAEQV7rSNvcQ==", - "dev": true, + "node_modules/sigstore": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/sigstore/-/sigstore-2.2.0.tgz", + "integrity": "sha512-fcU9clHwEss2/M/11FFM8Jwc4PjBgbhXoNskoK5guoK0qGQBSeUbQZRJ+B2fDFIvhyf0gqCaPrel9mszbhAxug==", + "dependencies": { + "@sigstore/bundle": "^2.1.1", + "@sigstore/core": "^0.2.0", + "@sigstore/protobuf-specs": "^0.2.1", + "@sigstore/sign": "^2.2.1", + "@sigstore/tuf": "^2.3.0", + "@sigstore/verify": "^0.1.0" + }, "engines": { - "node": ">=0.10" + "node": "^16.14.0 || >=18.0.0" } }, - "node_modules/syntax-error": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/syntax-error/-/syntax-error-1.4.0.tgz", - "integrity": "sha512-YPPlu67mdnHGTup2A8ff7BC2Pjq0e0Yp/IyTFN03zWO0RcK07uLcbi7C2KpGR2FvWbaB0+bfE27a+sBKebSo7w==", - "dev": true, + "node_modules/simple-git": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/simple-git/-/simple-git-3.21.0.tgz", + "integrity": "sha512-oTzw9248AF5bDTMk9MrxsRzEzivMlY+DWH0yWS4VYpMhNLhDWnN06pCtaUyPnqv/FpsdeNmRqmZugMABHRPdDA==", "dependencies": { - "acorn-node": "^1.2.0" + "@kwsites/file-exists": "^1.1.1", + "@kwsites/promise-deferred": "^1.1.1", + "debug": "^4.3.4" + }, + "funding": { + "type": "github", + "url": "https://github.com/steveukx/git-js?sponsor=1" } }, - "node_modules/tar": { - "version": "6.1.11", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.11.tgz", - "integrity": "sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA==", + "node_modules/simple-swizzle": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", + "integrity": "sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==", "dependencies": { - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "minipass": "^3.0.0", - "minizlib": "^2.1.1", - "mkdirp": "^1.0.3", - "yallist": "^4.0.0" - }, - "engines": { - "node": ">= 10" + "is-arrayish": "^0.3.1" } }, - "node_modules/temp-dir": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-2.0.0.tgz", - "integrity": "sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==", - "dev": true, - "engines": { - "node": ">=8" - } + "node_modules/simple-swizzle/node_modules/is-arrayish": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", + "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==" }, - "node_modules/terminal-link": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-3.0.0.tgz", - "integrity": "sha512-flFL3m4wuixmf6IfhFJd1YPiLiMuxEc8uHRM1buzIeZPm22Au2pDqBJQgdo7n1WfPU1ONFGv7YDwpFBmHGF6lg==", + "node_modules/sinon": { + "version": "17.0.1", + "resolved": "https://registry.npmjs.org/sinon/-/sinon-17.0.1.tgz", + "integrity": "sha512-wmwE19Lie0MLT+ZYNpDymasPHUKTaZHUH/pKEubRXIzySv9Atnlw+BUMGCzWgV7b7wO+Hw6f1TEOr0IUnmU8/g==", "dev": true, "dependencies": { - "ansi-escapes": "^5.0.0", - "supports-hyperlinks": "^2.2.0" + "@sinonjs/commons": "^3.0.0", + "@sinonjs/fake-timers": "^11.2.2", + "@sinonjs/samsam": "^8.0.0", + "diff": "^5.1.0", + "nise": "^5.1.5", + "supports-color": "^7.2.0" }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/sinon" + } + }, + "node_modules/slash": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-5.1.0.tgz", + "integrity": "sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==", "engines": { - "node": ">=12" + "node": ">=14.16" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/terminal-link/node_modules/ansi-escapes": { + "node_modules/slice-ansi": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-5.0.0.tgz", - "integrity": "sha512-5GFMVX8HqE/TB+FuBJGuO5XG0WrsA6ptUqoODaT/n9mmUaZFkqnBueB4leqGBCmrUHnCnC4PCZTCd0E7QQ83bA==", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-5.0.0.tgz", + "integrity": "sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==", "dev": true, "dependencies": { - "type-fest": "^1.0.2" + "ansi-styles": "^6.0.0", + "is-fullwidth-code-point": "^4.0.0" }, "engines": { "node": ">=12" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/chalk/slice-ansi?sponsor=1" } }, - "node_modules/terminal-link/node_modules/type-fest": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz", - "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==", + "node_modules/slice-ansi/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", "dev": true, "engines": { - "node": ">=10" + "node": ">=12" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/text-hex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/text-hex/-/text-hex-1.0.0.tgz", - "integrity": "sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg==" - }, - "node_modules/text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=" - }, - "node_modules/textextensions": { - "version": "5.14.0", - "resolved": "https://registry.npmjs.org/textextensions/-/textextensions-5.14.0.tgz", - "integrity": "sha512-4cAYwNFNYlIAHBUo7p6zw8POUvWbZor+/R0Tanv+rIhsauEyV9QSrEXL40pI+GfTQxKX8k6Tyw6CmdSDSmASrg==", + "node_modules/smart-buffer": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", + "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", "engines": { - "node": ">=0.8" - }, - "funding": { - "url": "https://bevry.me/fund" + "node": ">= 6.0.0", + "npm": ">= 3.0.0" } }, - "node_modules/then-request": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/then-request/-/then-request-6.0.2.tgz", - "integrity": "sha512-3ZBiG7JvP3wbDzA9iNY5zJQcHL4jn/0BWtXIkagfz7QgOL/LqjCEOBQuJNZfu0XYnv5JhKh+cDxCPM4ILrqruA==", + "node_modules/socks": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.7.1.tgz", + "integrity": "sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ==", "dependencies": { - "@types/concat-stream": "^1.6.0", - "@types/form-data": "0.0.33", - "@types/node": "^8.0.0", - "@types/qs": "^6.2.31", - "caseless": "~0.12.0", - "concat-stream": "^1.6.0", - "form-data": "^2.2.0", - "http-basic": "^8.1.1", - "http-response-object": "^3.0.1", - "promise": "^8.0.0", - "qs": "^6.4.0" + "ip": "^2.0.0", + "smart-buffer": "^4.2.0" }, "engines": { - "node": ">=6.0.0" + "node": ">= 10.13.0", + "npm": ">= 3.0.0" } }, - "node_modules/through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" + "node_modules/socks-proxy-agent": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.2.tgz", + "integrity": "sha512-8zuqoLv1aP/66PHF5TqwJ7Czm3Yv32urJQHrVyhD7mmA6d61Zv8cIXQYPTWwmg6qlupnPvs/QKDmfa4P/qct2g==", + "dependencies": { + "agent-base": "^7.0.2", + "debug": "^4.3.4", + "socks": "^2.7.1" + }, + "engines": { + "node": ">= 14" + } }, - "node_modules/titleize": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/titleize/-/titleize-3.0.0.tgz", - "integrity": "sha512-KxVu8EYHDPBdUYdKZdKtU2aj2XfEx9AfjXxE/Aj0vT06w2icA09Vus1rh6eSu1y01akYg6BjIK/hxyLJINoMLQ==", - "dev": true, + "node_modules/sort-keys": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-5.0.0.tgz", + "integrity": "sha512-Pdz01AvCAottHTPQGzndktFNdbRA75BgOfeT1hH+AMnJFv8lynkPi42rfeEhpx1saTEI3YNMWxfqu0sFD1G8pw==", + "dependencies": { + "is-plain-obj": "^4.0.0" + }, "engines": { "node": ">=12" }, @@ -11985,159 +13299,216 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/tmp": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", - "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "node_modules/sort-object-keys": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/sort-object-keys/-/sort-object-keys-1.1.3.tgz", + "integrity": "sha512-855pvK+VkU7PaKYPc+Jjnmt4EzejQHyhhF33q31qG8x7maDzkeFhAAThdCYay11CISO+qAMwjOBP+fPZe0IPyg==" + }, + "node_modules/sort-package-json": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/sort-package-json/-/sort-package-json-2.6.0.tgz", + "integrity": "sha512-XSQ+lY9bAYA8ZsoChcEoPlgcSMaheziEp1beox1JVxy1SV4F2jSq9+h2rJ+3mC/Dhu9Ius1DLnInD5AWcsDXZw==", "dependencies": { - "os-tmpdir": "~1.0.2" + "detect-indent": "^7.0.1", + "detect-newline": "^4.0.0", + "get-stdin": "^9.0.0", + "git-hooks-list": "^3.0.0", + "globby": "^13.1.2", + "is-plain-obj": "^4.1.0", + "sort-object-keys": "^1.1.3" }, + "bin": { + "sort-package-json": "cli.js" + } + }, + "node_modules/source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "dev": true, "engines": { - "node": ">=0.6.0" + "node": ">=0.10.0" } }, - "node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "node_modules/spdx-correct": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", + "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" } }, - "node_modules/tough-cookie": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.0.0.tgz", - "integrity": "sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg==", + "node_modules/spdx-exceptions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==" + }, + "node_modules/spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", "dependencies": { - "psl": "^1.1.33", - "punycode": "^2.1.1", - "universalify": "^0.1.2" + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-license-ids": { + "version": "3.0.16", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.16.tgz", + "integrity": "sha512-eWN+LnM3GR6gPu35WxNgbGl8rmY1AEmoMDvL/QD6zYmPWgywxWqJWNdLGT+ke8dKNWrcYgYjPpG5gbTfghP8rw==" + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" + }, + "node_modules/sshpk": { + "version": "1.18.0", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.18.0.tgz", + "integrity": "sha512-2p2KJZTSqQ/I3+HX42EpYOa2l3f8Erv8MWKsy2I9uf4wA7yFIkXRffYdsx86y6z4vHtV8u7g+pPlr8/4ouAxsQ==", + "dependencies": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + }, + "bin": { + "sshpk-conv": "bin/sshpk-conv", + "sshpk-sign": "bin/sshpk-sign", + "sshpk-verify": "bin/sshpk-verify" }, "engines": { - "node": ">=6" + "node": ">=0.10.0" } }, - "node_modules/tough-cookie/node_modules/universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "node_modules/ssri": { + "version": "10.0.5", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-10.0.5.tgz", + "integrity": "sha512-bSf16tAFkGeRlUNDjXu8FzaMQt6g2HZJrun7mtMbIPOddxt3GLMSz5VWUWcqTJUPfLEaDIepGxv+bYQW49596A==", + "dependencies": { + "minipass": "^7.0.3" + }, "engines": { - "node": ">= 4.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/tr46": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" + "node_modules/stack-trace": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz", + "integrity": "sha512-KGzahc7puUKkzyMt+IqAep+TVNbKP+k2Lmwhub39m1AsTSkaDutx56aDCo+HLDzf/D26BIHTJWNiTG1KAJiQCg==", + "engines": { + "node": "*" + } }, - "node_modules/treeverse": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/treeverse/-/treeverse-1.0.4.tgz", - "integrity": "sha512-whw60l7r+8ZU8Tu/Uc2yxtc4ZTZbR/PF3u1IPNKGQ6p8EICLb3Z2lAgoqw9bqYd8IkgnsaOcLzYHFckjqNsf0g==" + "node_modules/stackback": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz", + "integrity": "sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==", + "dev": true }, - "node_modules/triple-beam": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/triple-beam/-/triple-beam-1.3.0.tgz", - "integrity": "sha512-XrHUvV5HpdLmIj4uVMxHggLbFSZYIn7HEWsqePZcI50pco+MPqJ50wMGY794X7AOOhxOBAjbkqfAbEe/QMp2Lw==" + "node_modules/std-env": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.7.0.tgz", + "integrity": "sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==", + "dev": true }, - "node_modules/tsconfig-paths": { - "version": "3.15.0", - "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz", - "integrity": "sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==", - "dev": true, + "node_modules/stdin-discarder": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/stdin-discarder/-/stdin-discarder-0.1.0.tgz", + "integrity": "sha512-xhV7w8S+bUwlPTb4bAOUQhv8/cSS5offJuX8GQGq32ONF0ZtDWKfkdomM3HMRA+LhX6um/FZ0COqlwsjD53LeQ==", "dependencies": { - "@types/json5": "^0.0.29", - "json5": "^1.0.2", - "minimist": "^1.2.6", - "strip-bom": "^3.0.0" - } - }, - "node_modules/tsconfig-paths/node_modules/strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", - "dev": true, + "bl": "^5.0.0" + }, "engines": { - "node": ">=4" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - }, - "node_modules/tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "node_modules/streamx": { + "version": "2.15.6", + "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.15.6.tgz", + "integrity": "sha512-q+vQL4AAz+FdfT137VF69Cc/APqUbxy+MDOImRrMvchJpigHj9GksgDU2LYbO9rx7RX6osWgxJB2WxhYv4SZAw==", "dependencies": { - "safe-buffer": "^5.0.1" - }, - "engines": { - "node": "*" + "fast-fifo": "^1.1.0", + "queue-tick": "^1.0.1" } }, - "node_modules/tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=" + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dependencies": { + "safe-buffer": "~5.2.0" + } }, - "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==", + "node_modules/string-argv": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.3.2.tgz", + "integrity": "sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==", "dev": true, + "engines": { + "node": ">=0.6.19" + } + }, + "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==", "dependencies": { - "prelude-ls": "^1.2.1" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" }, "engines": { - "node": ">= 0.8.0" + "node": ">=8" } }, - "node_modules/type-detect": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", - "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", - "dev": true, + "node_modules/string-width-cjs": { + "name": "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==", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, "engines": { - "node": ">=4" + "node": ">=8" } }, - "node_modules/type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "node_modules/string-width-cjs/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==", "engines": { "node": ">=8" } }, - "node_modules/typed-array-buffer": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.0.tgz", - "integrity": "sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.1", - "is-typed-array": "^1.1.10" - }, + "node_modules/string-width/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==", "engines": { - "node": ">= 0.4" + "node": ">=8" } }, - "node_modules/typed-array-byte-length": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz", - "integrity": "sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==", - "dev": true, + "node_modules/string.prototype.trim": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.8.tgz", + "integrity": "sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==", "dependencies": { "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "has-proto": "^1.0.1", - "is-typed-array": "^1.1.10" + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" }, "engines": { "node": ">= 0.4" @@ -12146,1268 +13517,1182 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/typed-array-byte-offset": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz", - "integrity": "sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==", - "dev": true, + "node_modules/string.prototype.trimend": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.7.tgz", + "integrity": "sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==", "dependencies": { - "available-typed-arrays": "^1.0.5", "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "has-proto": "^1.0.1", - "is-typed-array": "^1.1.10" - }, - "engines": { - "node": ">= 0.4" + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/typed-array-length": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz", - "integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==", - "dev": true, + "node_modules/string.prototype.trimstart": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.7.tgz", + "integrity": "sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==", "dependencies": { "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "is-typed-array": "^1.1.9" + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/typedarray": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" - }, - "node_modules/typedarray-to-buffer": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", - "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", + "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==", "dependencies": { - "is-typedarray": "^1.0.0" + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" } }, - "node_modules/types-eslintrc": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/types-eslintrc/-/types-eslintrc-1.0.3.tgz", - "integrity": "sha512-zKTR6aKHEudQpl+JoZjS3qh0B5IzSpQK/BCpYBECujcnKtqL87DJJ1sJKe5B8k/y8/UJ5sukq42QDvlaJyCO2w==", - "dev": true, + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dependencies": { - "types-json": "^1.2.2" + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" } }, - "node_modules/types-json": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/types-json/-/types-json-1.2.2.tgz", - "integrity": "sha512-VfVLISHypS7ayIHvhacOESOTib4Sm4mAhnsgR8fzQdGp89YoBwMqvGmqENjtYehUQzgclT+7NafpEXkK/MHKwA==", - "dev": true - }, - "node_modules/types-pkg-json": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/types-pkg-json/-/types-pkg-json-1.2.1.tgz", - "integrity": "sha512-Wj75lCkPwfj1BhmaJxMPpTQj9YGpihjs3WICigt1IjTAswr7zPXP0iJYPZjU0Rw/IriODhMJjAImkCIxt9KeuQ==", - "dev": true, - "dependencies": { - "types-eslintrc": "^1.0.3", - "types-json": "^1.2.2" + "node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "engines": { + "node": ">=4" } }, - "node_modules/uc.micro": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz", - "integrity": "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==", - "dev": true - }, - "node_modules/unbox-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", - "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", - "dev": true, + "node_modules/strip-bom-buf": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-bom-buf/-/strip-bom-buf-3.0.1.tgz", + "integrity": "sha512-iJaWw2WroigLHzQysdc5WWeUc99p7ea7AEgB6JkY8CMyiO1yTVAA1gIlJJgORElUIR+lcZJkNl1OGChMhvc2Cw==", "dependencies": { - "call-bind": "^1.0.2", - "has-bigints": "^1.0.2", - "has-symbols": "^1.0.3", - "which-boxed-primitive": "^1.0.2" + "is-utf8": "^0.2.1" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/underscore": { - "version": "1.13.4", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.4.tgz", - "integrity": "sha512-BQFnUDuAQ4Yf/cYY5LNrK9NCJFKriaRbD9uR1fTeXnBeoa97W0i41qkZfGO9pSo8I5KzjAcSY2XYtdf0oKd7KQ==", - "dev": true - }, - "node_modules/unicorn-magic": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.1.0.tgz", - "integrity": "sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==", - "dev": true, + "node_modules/strip-bom-stream": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/strip-bom-stream/-/strip-bom-stream-5.0.0.tgz", + "integrity": "sha512-Yo472mU+3smhzqeKlIxClre4s4pwtYZEvDNQvY/sJpnChdaxmKuwU28UVx/v1ORKNMxkmj1GBuvxJQyBk6wYMQ==", + "dependencies": { + "first-chunk-stream": "^5.0.0", + "strip-bom-buf": "^3.0.0" + }, "engines": { - "node": ">=18" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/unique-filename": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", - "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", - "dependencies": { - "unique-slug": "^2.0.0" + "node_modules/strip-final-newline": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", + "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/unique-slug": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", - "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", - "dependencies": { - "imurmurhash": "^0.1.4" + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/unique-string": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-3.0.0.tgz", - "integrity": "sha512-VGXBUVwxKMBUznyffQweQABPRRW1vHZAbadFZud4pLFAqRGvv/96vafgjWFqzourzr8YonlQiPgH0YCJfawoGQ==", + "node_modules/strip-literal": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/strip-literal/-/strip-literal-1.3.0.tgz", + "integrity": "sha512-PugKzOsyXpArk0yWmUwqOZecSO0GH0bPoctLcqNDH9J04pVW3lflYE0ujElBGTloevcxF5MofAOZ7C5l2b+wLg==", "dev": true, "dependencies": { - "crypto-random-string": "^4.0.0" - }, - "engines": { - "node": ">=12" + "acorn": "^8.10.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/antfu" } }, - "node_modules/universal-user-agent": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.0.tgz", - "integrity": "sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w==" + "node_modules/strnum": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/strnum/-/strnum-1.0.5.tgz", + "integrity": "sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==" }, - "node_modules/universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", - "engines": { - "node": ">= 10.0.0" - } + "node_modules/stubborn-fs": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/stubborn-fs/-/stubborn-fs-1.2.5.tgz", + "integrity": "sha512-H2N9c26eXjzL/S/K+i/RHHcFanE74dptvvjM8iwzwbVcWY/zjBbgRqF3K0DY4+OD+uTTASTBvDoxPDaPN02D7g==" }, - "node_modules/untildify": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/untildify/-/untildify-4.0.0.tgz", - "integrity": "sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==", + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, "engines": { "node": ">=8" } }, - "node_modules/update-notifier": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-7.0.0.tgz", - "integrity": "sha512-Hv25Bh+eAbOLlsjJreVPOs4vd51rrtCrmhyOJtbpAojro34jS4KQaEp4/EvlHJX7jSO42VvEFpkastVyXyIsdQ==", + "node_modules/supports-hyperlinks": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz", + "integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==", "dev": true, "dependencies": { - "boxen": "^7.1.1", - "chalk": "^5.3.0", - "configstore": "^6.0.0", - "import-lazy": "^4.0.0", - "is-in-ci": "^0.1.0", - "is-installed-globally": "^0.4.0", - "is-npm": "^6.0.0", - "latest-version": "^7.0.0", - "pupa": "^3.1.0", - "semver": "^7.5.4", - "semver-diff": "^4.0.0", - "xdg-basedir": "^5.1.0" + "has-flag": "^4.0.0", + "supports-color": "^7.0.0" }, "engines": { - "node": ">=18" + "node": ">=8" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "engines": { + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/yeoman/update-notifier?sponsor=1" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/update-notifier/node_modules/chalk": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", - "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", + "node_modules/symbol-observable": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-4.0.0.tgz", + "integrity": "sha512-b19dMThMV4HVFynSAM1++gBHAbk2Tc/osgLIBZMKsyqh34jb2e8Os7T6ZW/Bt3pJFdBTd2JwAnAAEQV7rSNvcQ==", "dev": true, "engines": { - "node": "^12.17.0 || ^14.13 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "node": ">=0.10" } }, - "node_modules/update-notifier/node_modules/is-installed-globally": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz", - "integrity": "sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==", + "node_modules/synckit": { + "version": "0.8.8", + "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.8.8.tgz", + "integrity": "sha512-HwOKAP7Wc5aRGYdKH+dw0PRRpbO841v2DENBtjnR5HFWoiNByAl7vrx3p0G/rCyYXQsrxqtX48TImFtPcIHSpQ==", "dev": true, "dependencies": { - "global-dirs": "^3.0.0", - "is-path-inside": "^3.0.2" + "@pkgr/core": "^0.1.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=10" + "node": "^14.18.0 || >=16.0.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://opencollective.com/unts" } }, - "node_modules/uri-js": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.0.tgz", - "integrity": "sha512-B0yRTzYdUCCn9n+F4+Gh4yIDtMQcaJsmYBDsTSG8g/OejKBodLQ2IHfN3bM7jUsRXndopT7OIXWdYqc1fjmV6g==", + "node_modules/syntax-error": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/syntax-error/-/syntax-error-1.4.0.tgz", + "integrity": "sha512-YPPlu67mdnHGTup2A8ff7BC2Pjq0e0Yp/IyTFN03zWO0RcK07uLcbi7C2KpGR2FvWbaB0+bfE27a+sBKebSo7w==", + "dev": true, "dependencies": { - "punycode": "^2.1.0" + "acorn-node": "^1.2.0" } }, - "node_modules/url": { - "version": "0.10.3", - "resolved": "https://registry.npmjs.org/url/-/url-0.10.3.tgz", - "integrity": "sha512-hzSUW2q06EqL1gKM/a+obYHLIO6ct2hwPuviqTTOcfFVc61UbfJ2Q32+uGL/HCPxKqrdGB5QUwIe7UqlDgwsOQ==", + "node_modules/tar": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.0.tgz", + "integrity": "sha512-/Wo7DcT0u5HUV486xg675HtjNd3BXZ6xDbzsCUZPt5iw8bTQ63bP0Raut3mvro9u+CUyq7YQd8Cx55fsZXxqLQ==", "dependencies": { - "punycode": "1.3.2", - "querystring": "0.2.0" + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^5.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" } }, - "node_modules/url/node_modules/punycode": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", - "integrity": "sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw==" - }, - "node_modules/util": { - "version": "0.12.4", - "resolved": "https://registry.npmjs.org/util/-/util-0.12.4.tgz", - "integrity": "sha512-bxZ9qtSlGUWSOy9Qa9Xgk11kSslpuZwaxCg4sNIDj6FLucDab2JxnHwyNTCpHMtK1MjoQiWQ6DiUMZYbSrO+Sw==", + "node_modules/tar/node_modules/fs-minipass": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", "dependencies": { - "inherits": "^2.0.3", - "is-arguments": "^1.0.4", - "is-generator-function": "^1.0.7", - "is-typed-array": "^1.1.3", - "safe-buffer": "^5.1.2", - "which-typed-array": "^1.1.2" + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" } }, - "node_modules/util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" - }, - "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==", - "bin": { - "uuid": "dist/bin/uuid" + "node_modules/tar/node_modules/fs-minipass/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/vali-date": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/vali-date/-/vali-date-1.0.0.tgz", - "integrity": "sha512-sgECfZthyaCKW10N0fm27cg8HYTFK5qMWgypqkXMQ4Wbl/zZKx7xZICgcoxIIE+WFAP/MBL2EFwC/YvLxw3Zeg==", - "dev": true, + "node_modules/tar/node_modules/minipass": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", + "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/validate-npm-package-license": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", - "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "node_modules/teex": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/teex/-/teex-1.0.1.tgz", + "integrity": "sha512-eYE6iEI62Ni1H8oIa7KlDU6uQBtqr4Eajni3wX7rpfXD8ysFx8z0+dri+KWEPWpBsxXfxu58x/0jvTVT1ekOSg==", "dependencies": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" + "streamx": "^2.12.5" } }, - "node_modules/validate-npm-package-name": { + "node_modules/temp-dir": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-3.0.0.tgz", - "integrity": "sha1-X6kS2B630MdK/BQN5zF/DKffQ34=", - "dependencies": { - "builtins": "^1.0.3" - } - }, - "node_modules/verror": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", - "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", - "engines": [ - "node >=0.6.0" - ], - "dependencies": { - "assert-plus": "^1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" + "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-3.0.0.tgz", + "integrity": "sha512-nHc6S/bwIilKHNRgK/3jlhDoIHcp45YgyiwcAk46Tr0LfEqGBVpmiAyuiuxeVE44m3mXnEeVhaipLOEWmH+Njw==", + "devOptional": true, + "engines": { + "node": ">=14.16" } }, - "node_modules/vinyl": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-2.2.1.tgz", - "integrity": "sha512-LII3bXRFBZLlezoG5FfZVcXflZgWP/4dCwKtxd5ky9+LOtM4CS3bIRQsmR1KMnMW07jpE8fqR2lcxPZ+8sJIcw==", + "node_modules/terminal-link": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-3.0.0.tgz", + "integrity": "sha512-flFL3m4wuixmf6IfhFJd1YPiLiMuxEc8uHRM1buzIeZPm22Au2pDqBJQgdo7n1WfPU1ONFGv7YDwpFBmHGF6lg==", + "dev": true, "dependencies": { - "clone": "^2.1.1", - "clone-buffer": "^1.0.0", - "clone-stats": "^1.0.0", - "cloneable-readable": "^1.0.0", - "remove-trailing-separator": "^1.0.1", - "replace-ext": "^1.0.0" + "ansi-escapes": "^5.0.0", + "supports-hyperlinks": "^2.2.0" }, "engines": { - "node": ">= 0.10" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/vinyl-file": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/vinyl-file/-/vinyl-file-3.0.0.tgz", - "integrity": "sha1-sQTZ5ECf+jJfqt1SBkLQo7SIs2U=", + "node_modules/terminal-link/node_modules/ansi-escapes": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-5.0.0.tgz", + "integrity": "sha512-5GFMVX8HqE/TB+FuBJGuO5XG0WrsA6ptUqoODaT/n9mmUaZFkqnBueB4leqGBCmrUHnCnC4PCZTCd0E7QQ83bA==", + "dev": true, "dependencies": { - "graceful-fs": "^4.1.2", - "pify": "^2.3.0", - "strip-bom-buf": "^1.0.0", - "strip-bom-stream": "^2.0.0", - "vinyl": "^2.0.1" + "type-fest": "^1.0.2" }, "engines": { - "node": ">=4" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/vinyl-file/node_modules/pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "node_modules/terminal-link/node_modules/type-fest": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz", + "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==", + "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/vinyl/node_modules/clone": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", - "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=", + "node_modules/text-hex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/text-hex/-/text-hex-1.0.0.tgz", + "integrity": "sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg==" + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==" + }, + "node_modules/textextensions": { + "version": "5.16.0", + "resolved": "https://registry.npmjs.org/textextensions/-/textextensions-5.16.0.tgz", + "integrity": "sha512-7D/r3s6uPZyU//MCYrX6I14nzauDwJ5CxazouuRGNuvSCihW87ufN6VLoROLCrHg6FblLuJrT6N2BVaPVzqElw==", "engines": { "node": ">=0.8" + }, + "funding": { + "url": "https://bevry.me/fund" } }, - "node_modules/walk-up-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/walk-up-path/-/walk-up-path-1.0.0.tgz", - "integrity": "sha512-hwj/qMDUEjCU5h0xr90KGCf0tg0/LgJbmOWgrWKYlcJZM7XvquvUJZ0G/HMGr7F7OQMOUuPHWP9JpriinkAlkg==" + "node_modules/through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==" }, - "node_modules/wcwidth": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", - "integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=", + "node_modules/tinybench": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.5.1.tgz", + "integrity": "sha512-65NKvSuAVDP/n4CqH+a9w2kTlLReS9vhsAP06MWx+/89nMinJyB2icyl58RIcqCmIggpojIGeuJGhjU1aGMBSg==", + "dev": true + }, + "node_modules/tinypool": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-0.8.1.tgz", + "integrity": "sha512-zBTCK0cCgRROxvs9c0CGK838sPkeokNGdQVUUwHAbynHFlmyJYj825f/oRs528HaIJ97lo0pLIlDUzwN+IorWg==", "dev": true, - "dependencies": { - "defaults": "^1.0.3" + "engines": { + "node": ">=14.0.0" } }, - "node_modules/webidl-conversions": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" + "node_modules/tinyspy": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-2.2.0.tgz", + "integrity": "sha512-d2eda04AN/cPOR89F7Xv5bK/jrQEhmcLFe6HFldoeO9AJtps+fqEnh486vnT/8y4bw38pSyxDcTCAq+Ks2aJTg==", + "dev": true, + "engines": { + "node": ">=14.0.0" + } }, - "node_modules/whatwg-url": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", - "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", - "dependencies": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" + "node_modules/titleize": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/titleize/-/titleize-3.0.0.tgz", + "integrity": "sha512-KxVu8EYHDPBdUYdKZdKtU2aj2XfEx9AfjXxE/Aj0vT06w2icA09Vus1rh6eSu1y01akYg6BjIK/hxyLJINoMLQ==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "node_modules/tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" + "os-tmpdir": "~1.0.2" }, "engines": { - "node": ">= 8" + "node": ">=0.6.0" } }, - "node_modules/which-boxed-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", - "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", - "dev": true, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", "dependencies": { - "is-bigint": "^1.0.1", - "is-boolean-object": "^1.1.0", - "is-number-object": "^1.0.4", - "is-string": "^1.0.5", - "is-symbol": "^1.0.3" + "is-number": "^7.0.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=8.0" } }, - "node_modules/which-pm": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-pm/-/which-pm-2.0.0.tgz", - "integrity": "sha512-Lhs9Pmyph0p5n5Z3mVnN0yWcbQYUAD7rbQUiMsQxOJ3T57k7RFe35SUwWMf7dsbDZks1uOmw4AecB/JMDj3v/w==", + "node_modules/tough-cookie": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.3.tgz", + "integrity": "sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==", "dependencies": { - "load-yaml-file": "^0.2.0", - "path-exists": "^4.0.0" + "psl": "^1.1.33", + "punycode": "^2.1.1", + "universalify": "^0.2.0", + "url-parse": "^1.5.3" }, "engines": { - "node": ">=8.15" + "node": ">=6" } }, - "node_modules/which-pm/node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "node_modules/tough-cookie/node_modules/universalify": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", + "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", "engines": { - "node": ">=8" + "node": ">= 4.0.0" } }, - "node_modules/which-typed-array": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.11.tgz", - "integrity": "sha512-qe9UWWpkeG5yzZ0tNYxDmd7vo58HDBc39mZ0xWWpolAGADdFOzkfamWLDxkOWcvHQKVmdTyQdLD4NOfjLWTKew==", - "dependencies": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-tostringtag": "^1.0.0" - }, + "node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" + }, + "node_modules/treeverse": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/treeverse/-/treeverse-3.0.0.tgz", + "integrity": "sha512-gcANaAnd2QDZFmHFEOF4k7uc1J/6a6z3DJMd/QwEyxLoKGiptJRwid582r7QIsFlFMIZ3SnxfS52S4hm2DHkuQ==", "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/wide-align": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz", - "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==", - "dependencies": { - "string-width": "^1.0.2 || 2 || 3 || 4" + "node_modules/triple-beam": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/triple-beam/-/triple-beam-1.4.1.tgz", + "integrity": "sha512-aZbgViZrg1QNcG+LULa7nhZpJTZSLm/mXnHXnbAbjmN5aSa0y7V+wvv6+4WaBtpISJzThKy+PIPxc1Nq1EJ9mg==", + "engines": { + "node": ">= 14.0.0" } }, - "node_modules/widest-line": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-4.0.1.tgz", - "integrity": "sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==", - "dev": true, - "dependencies": { - "string-width": "^5.0.1" - }, + "node_modules/ts-api-utils": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.0.3.tgz", + "integrity": "sha512-wNMeqtMz5NtwpT/UZGY5alT+VoKdSsOOP/kqHFcUW1P/VRhH2wJ48+DN2WwUliNbQ976ETwDL0Ifd2VVvgonvg==", "engines": { - "node": ">=12" + "node": ">=16.13.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependencies": { + "typescript": ">=4.2.0" } }, - "node_modules/widest-line/node_modules/ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" + "node_modules/tsconfig-paths": { + "version": "3.15.0", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz", + "integrity": "sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==", + "dependencies": { + "@types/json5": "^0.0.29", + "json5": "^1.0.2", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" } }, - "node_modules/widest-line/node_modules/emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", - "dev": true + "node_modules/tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" }, - "node_modules/widest-line/node_modules/string-width": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", - "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", - "dev": true, + "node_modules/tuf-js": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tuf-js/-/tuf-js-2.2.0.tgz", + "integrity": "sha512-ZSDngmP1z6zw+FIkIBjvOp/II/mIub/O7Pp12j1WNsiCpg5R5wAc//i555bBQsE44O94btLt0xM/Zr2LQjwdCg==", "dependencies": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" + "@tufjs/models": "2.0.0", + "debug": "^4.3.4", + "make-fetch-happen": "^13.0.0" }, "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": "^16.14.0 || >=18.0.0" } }, - "node_modules/widest-line/node_modules/strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", - "dev": true, + "node_modules/tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", "dependencies": { - "ansi-regex": "^6.0.1" + "safe-buffer": "^5.0.1" }, "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" + "node": "*" } }, - "node_modules/windows-release": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/windows-release/-/windows-release-4.0.0.tgz", - "integrity": "sha512-OxmV4wzDKB1x7AZaZgXMVsdJ1qER1ed83ZrTYd5Bwq2HfJVg3DJS8nqlAG4sMoJ7mu8cuRmLEYyU13BKwctRAg==", + "node_modules/tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==" + }, + "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==", "dependencies": { - "execa": "^4.0.2" + "prelude-ls": "^1.2.1" }, "engines": { - "node": ">=10" + "node": ">= 0.8.0" + } + }, + "node_modules/type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "devOptional": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/type-fest": { + "version": "4.8.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.8.3.tgz", + "integrity": "sha512-//BaTm14Q/gHBn09xlnKNqfI8t6bmdzx2DXYfPBNofN0WUybCEUDcbCWcTa0oF09lzLjZgPphXAsvRiMK0V6Bw==", + "engines": { + "node": ">=16" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/winston": { - "version": "3.8.1", - "resolved": "https://registry.npmjs.org/winston/-/winston-3.8.1.tgz", - "integrity": "sha512-r+6YAiCR4uI3N8eQNOg8k3P3PqwAm20cLKlzVD9E66Ch39+LZC+VH1UKf9JemQj2B3QoUHfKD7Poewn0Pr3Y1w==", + "node_modules/typed-array-buffer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.0.tgz", + "integrity": "sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==", "dependencies": { - "@dabh/diagnostics": "^2.0.2", - "async": "^3.2.3", - "is-stream": "^2.0.0", - "logform": "^2.4.0", - "one-time": "^1.0.0", - "readable-stream": "^3.4.0", - "safe-stable-stringify": "^2.3.1", - "stack-trace": "0.0.x", - "triple-beam": "^1.3.0", - "winston-transport": "^4.5.0" + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.1", + "is-typed-array": "^1.1.10" }, "engines": { - "node": ">= 12.0.0" + "node": ">= 0.4" } }, - "node_modules/winston-transport": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/winston-transport/-/winston-transport-4.5.0.tgz", - "integrity": "sha512-YpZzcUzBedhlTAfJg6vJDlyEai/IFMIVcaEZZyl3UXIl4gmqRpU7AE89AHLkbzLUsv0NVmw7ts+iztqKxxPW1Q==", + "node_modules/typed-array-byte-length": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz", + "integrity": "sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==", "dependencies": { - "logform": "^2.3.2", - "readable-stream": "^3.6.0", - "triple-beam": "^1.3.0" + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "has-proto": "^1.0.1", + "is-typed-array": "^1.1.10" }, "engines": { - "node": ">= 6.4.0" - } - }, - "node_modules/winston/node_modules/is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", - "engines": { - "node": ">=8" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/workerpool": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.2.1.tgz", - "integrity": "sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw==", - "dev": true - }, - "node_modules/wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, + "node_modules/typed-array-byte-offset": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz", + "integrity": "sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==", "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "has-proto": "^1.0.1", + "is-typed-array": "^1.1.10" }, "engines": { - "node": ">=10" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/wrap-ansi/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "engines": { - "node": ">=8" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/wrap-ansi/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, + "node_modules/typed-array-length": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz", + "integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==", "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "is-typed-array": "^1.1.9" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/wrap-ansi/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "node_modules/typedarray-to-buffer": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", + "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", "dev": true, "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" + "is-typedarray": "^1.0.0" } }, - "node_modules/wrap-ansi/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/wrap-ansi/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==", + "node_modules/types-eslintrc": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/types-eslintrc/-/types-eslintrc-1.0.3.tgz", + "integrity": "sha512-zKTR6aKHEudQpl+JoZjS3qh0B5IzSpQK/BCpYBECujcnKtqL87DJJ1sJKe5B8k/y8/UJ5sukq42QDvlaJyCO2w==", "dev": true, - "engines": { - "node": ">=8" + "dependencies": { + "types-json": "^1.2.2" } }, - "node_modules/wrap-ansi/node_modules/string-width": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", - "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", + "node_modules/types-json": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/types-json/-/types-json-1.2.2.tgz", + "integrity": "sha512-VfVLISHypS7ayIHvhacOESOTib4Sm4mAhnsgR8fzQdGp89YoBwMqvGmqENjtYehUQzgclT+7NafpEXkK/MHKwA==", + "dev": true + }, + "node_modules/types-pkg-json": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/types-pkg-json/-/types-pkg-json-1.2.1.tgz", + "integrity": "sha512-Wj75lCkPwfj1BhmaJxMPpTQj9YGpihjs3WICigt1IjTAswr7zPXP0iJYPZjU0Rw/IriODhMJjAImkCIxt9KeuQ==", "dev": true, "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=8" + "types-eslintrc": "^1.0.3", + "types-json": "^1.2.2" } }, - "node_modules/wrap-ansi/node_modules/strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dev": true, - "dependencies": { - "ansi-regex": "^5.0.0" + "node_modules/typescript": { + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.3.3.tgz", + "integrity": "sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==", + "peer": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" }, "engines": { - "node": ">=8" + "node": ">=14.17" } }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + "node_modules/uc.micro": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz", + "integrity": "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==", + "dev": true }, - "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==", - "dependencies": { - "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" - } + "node_modules/ufo": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.3.2.tgz", + "integrity": "sha512-o+ORpgGwaYQXgqGDwd+hkS4PuZ3QnmqMMxRuajK/a38L6fTpcE5GPIfrf+L/KemFzfUpeUQc1rRS1iDBozvnFA==", + "dev": true }, - "node_modules/xdg-basedir": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-5.1.0.tgz", - "integrity": "sha512-GCPAHLvrIH13+c0SuacwvRYj2SxJXQ4kaVTT5xgL3kPrz56XxkF21IGhjSE1+W0aw7gpBWRGXLCPnPby6lSpmQ==", - "dev": true, + "node_modules/uint8array-extras": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/uint8array-extras/-/uint8array-extras-0.3.0.tgz", + "integrity": "sha512-erJsJwQ0tKdwuqI0359U8ijkFmfiTcq25JvvzRVc1VP+2son1NJRXhxcAKJmAW3ajM8JSGAfsAXye8g4s+znxA==", "engines": { - "node": ">=12" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/xml2js": { - "version": "0.4.19", - "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.19.tgz", - "integrity": "sha512-esZnJZJOiJR9wWKMyuvSE1y6Dq5LCuJanqhxslH2bxM6duahNZ+HMpCLhBQGZkbX6xRf8x1Y2eJlgt2q3qo49Q==", + "node_modules/unbox-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", + "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", "dependencies": { - "sax": ">=0.6.0", - "xmlbuilder": "~9.0.1" - } - }, - "node_modules/xmlbuilder": { - "version": "9.0.7", - "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz", - "integrity": "sha512-7YXTQc3P2l9+0rjaUbLwMKRhtmwg1M1eDf6nag7urC7pIPYLD9W/jmzQ4ptRSUbodw5S0jfoGTflLemQibSpeQ==", - "engines": { - "node": ">=4.0" + "call-bind": "^1.0.2", + "has-bigints": "^1.0.2", + "has-symbols": "^1.0.3", + "which-boxed-primitive": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/xmlcreate": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/xmlcreate/-/xmlcreate-2.0.4.tgz", - "integrity": "sha512-nquOebG4sngPmGPICTS5EnxqhKbCmz5Ox5hsszI2T6U5qdrJizBc+0ilYSEjTSzU0yZcmvppztXe/5Al5fUwdg==", + "node_modules/underscore": { + "version": "1.13.6", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.6.tgz", + "integrity": "sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A==", "dev": true }, - "node_modules/xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", - "dev": true, - "engines": { - "node": ">=0.4" - } - }, - "node_modules/y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + "node_modules/undici-types": { + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==" }, - "node_modules/yaml": { - "version": "2.3.4", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.4.tgz", - "integrity": "sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==", - "dev": true, + "node_modules/unicorn-magic": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.1.0.tgz", + "integrity": "sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==", "engines": { - "node": ">= 14" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", - "dev": true, + "node_modules/unique-filename": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-3.0.0.tgz", + "integrity": "sha512-afXhuC55wkAmZ0P18QsVE6kp8JaxrEokN2HGIoIVv2ijHQd419H0+6EigAFcIzXeMIkcIkNBpB3L/DXB3cTS/g==", "dependencies": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" + "unique-slug": "^4.0.0" }, "engines": { - "node": ">=10" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/yargs-parser": { - "version": "20.2.7", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.7.tgz", - "integrity": "sha512-FiNkvbeHzB/syOjIUxFDCnhSfzAL8R5vs40MgLFBorXACCOAEaWu0gRZl14vG8MR9AOJIZbmkjhusqBYZ3HTHw==", - "dev": true, + "node_modules/unique-slug": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-4.0.0.tgz", + "integrity": "sha512-WrcA6AyEfqDX5bWige/4NQfPZMtASNVxdmWR76WESYQVAACSgWcR6e9i0mofqqBxYFtL4oAxPIptY73/0YE1DQ==", + "dependencies": { + "imurmurhash": "^0.1.4" + }, "engines": { - "node": ">=10" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/yargs-unparser": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz", - "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==", + "node_modules/unique-string": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-3.0.0.tgz", + "integrity": "sha512-VGXBUVwxKMBUznyffQweQABPRRW1vHZAbadFZud4pLFAqRGvv/96vafgjWFqzourzr8YonlQiPgH0YCJfawoGQ==", "dev": true, "dependencies": { - "camelcase": "^6.0.0", - "decamelize": "^4.0.0", - "flat": "^5.0.2", - "is-plain-obj": "^2.1.0" + "crypto-random-string": "^4.0.0" }, "engines": { - "node": ">=10" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/yargs-unparser/node_modules/camelcase": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz", - "integrity": "sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==", - "dev": true, - "engines": { - "node": ">=10" - } + "node_modules/universal-user-agent": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.1.tgz", + "integrity": "sha512-yCzhz6FN2wU1NiiQRogkTQszlQSlpWaw8SvVegAc+bDxbzHgh1vX8uIe8OYyMH6DwH+sdTJsgMl36+mSMdRJIQ==" }, - "node_modules/yargs-unparser/node_modules/decamelize": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz", - "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==", - "dev": true, + "node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", "engines": { - "node": ">=10" + "node": ">= 10.0.0" } }, - "node_modules/yargs-unparser/node_modules/is-plain-obj": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", - "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", - "dev": true, + "node_modules/untildify": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/untildify/-/untildify-4.0.0.tgz", + "integrity": "sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==", "engines": { "node": ">=8" } }, - "node_modules/yargs/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "node_modules/update-notifier": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-7.0.0.tgz", + "integrity": "sha512-Hv25Bh+eAbOLlsjJreVPOs4vd51rrtCrmhyOJtbpAojro34jS4KQaEp4/EvlHJX7jSO42VvEFpkastVyXyIsdQ==", "dev": true, + "dependencies": { + "boxen": "^7.1.1", + "chalk": "^5.3.0", + "configstore": "^6.0.0", + "import-lazy": "^4.0.0", + "is-in-ci": "^0.1.0", + "is-installed-globally": "^0.4.0", + "is-npm": "^6.0.0", + "latest-version": "^7.0.0", + "pupa": "^3.1.0", + "semver": "^7.5.4", + "semver-diff": "^4.0.0", + "xdg-basedir": "^5.1.0" + }, "engines": { - "node": ">=8" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/yeoman/update-notifier?sponsor=1" } }, - "node_modules/yargs/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==", + "node_modules/update-notifier/node_modules/chalk": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", + "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", "dev": true, "engines": { - "node": ">=8" - } - }, - "node_modules/yargs/node_modules/string-width": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", - "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", - "dev": true, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" + "node": "^12.17.0 || ^14.13 || >=16.0.0" }, - "engines": { - "node": ">=8" + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/yargs/node_modules/strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "node_modules/update-notifier/node_modules/is-installed-globally": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz", + "integrity": "sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==", "dev": true, "dependencies": { - "ansi-regex": "^5.0.0" + "global-dirs": "^3.0.0", + "is-path-inside": "^3.0.2" }, "engines": { - "node": ">=8" - } - }, - "node_modules/yeoman-assert": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yeoman-assert/-/yeoman-assert-3.1.1.tgz", - "integrity": "sha512-bCuLb/j/WzpvrJZCTdJJLFzm7KK8IYQJ3+dF9dYtNs2CUYyezFJDuULiZ2neM4eqjf45GN1KH/MzCTT3i90wUQ==", - "dev": true, - "engines": { - "node": ">=4" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/yeoman-environment": { - "version": "3.19.3", - "resolved": "https://registry.npmjs.org/yeoman-environment/-/yeoman-environment-3.19.3.tgz", - "integrity": "sha512-/+ODrTUHtlDPRH9qIC0JREH8+7nsRcjDl3Bxn2Xo/rvAaVvixH5275jHwg0C85g4QsF4P6M2ojfScPPAl+pLAg==", + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", "dependencies": { - "@npmcli/arborist": "^4.0.4", - "are-we-there-yet": "^2.0.0", - "arrify": "^2.0.1", - "binaryextensions": "^4.15.0", - "chalk": "^4.1.0", - "cli-table": "^0.3.1", - "commander": "7.1.0", - "dateformat": "^4.5.0", - "debug": "^4.1.1", - "diff": "^5.0.0", - "error": "^10.4.0", - "escape-string-regexp": "^4.0.0", - "execa": "^5.0.0", - "find-up": "^5.0.0", - "globby": "^11.0.1", - "grouped-queue": "^2.0.0", - "inquirer": "^8.0.0", - "is-scoped": "^2.1.0", - "isbinaryfile": "^4.0.10", - "lodash": "^4.17.10", - "log-symbols": "^4.0.0", - "mem-fs": "^1.2.0 || ^2.0.0", - "mem-fs-editor": "^8.1.2 || ^9.0.0", - "minimatch": "^3.0.4", - "npmlog": "^5.0.1", - "p-queue": "^6.6.2", - "p-transform": "^1.3.0", - "pacote": "^12.0.2", - "preferred-pm": "^3.0.3", - "pretty-bytes": "^5.3.0", - "readable-stream": "^4.3.0", - "semver": "^7.1.3", - "slash": "^3.0.0", - "strip-ansi": "^6.0.0", - "text-table": "^0.2.0", - "textextensions": "^5.12.0", - "untildify": "^4.0.0" - }, - "bin": { - "yoe": "cli/index.js" - }, - "engines": { - "node": ">=12.10.0" + "punycode": "^2.1.0" } }, - "node_modules/yeoman-environment/node_modules/ansi-escapes": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", - "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "node_modules/url-parse": { + "version": "1.5.10", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", + "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", "dependencies": { - "type-fest": "^0.21.3" - }, - "engines": { - "node": ">=8" + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" } }, - "node_modules/yeoman-environment/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "engines": { - "node": ">=8" - } + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" }, - "node_modules/yeoman-environment/node_modules/buffer": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", - "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", + "node_modules/uuid": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", + "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==", "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } + "https://github.com/sponsors/broofa", + "https://github.com/sponsors/ctavan" ], - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.2.1" + "bin": { + "uuid": "dist/bin/uuid" } }, - "node_modules/yeoman-environment/node_modules/cli-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", - "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", - "dependencies": { - "restore-cursor": "^3.1.0" - }, + "node_modules/vali-date": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/vali-date/-/vali-date-1.0.0.tgz", + "integrity": "sha512-sgECfZthyaCKW10N0fm27cg8HYTFK5qMWgypqkXMQ4Wbl/zZKx7xZICgcoxIIE+WFAP/MBL2EFwC/YvLxw3Zeg==", + "dev": true, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/yeoman-environment/node_modules/cli-width": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", - "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", - "engines": { - "node": ">= 10" + "node_modules/validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dependencies": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" } }, - "node_modules/yeoman-environment/node_modules/commander": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-7.1.0.tgz", - "integrity": "sha512-pRxBna3MJe6HKnBGsDyMv8ETbptw3axEdYHoqNh7gu5oDcew8fs0xnivZGm06Ogk8zGAJ9VX+OPEr2GXEQK4dg==", - "engines": { - "node": ">= 10" + "node_modules/validate-npm-package-name": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-3.0.0.tgz", + "integrity": "sha512-M6w37eVCMMouJ9V/sdPGnC5H4uDr73/+xdq0FBLO3TFFX1+7wiUY6Es328NN+y43tmY+doUdN9g9J21vqB7iLw==", + "dependencies": { + "builtins": "^1.0.3" } }, - "node_modules/yeoman-environment/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==", - "engines": { - "node": ">=10" + "node_modules/verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==", + "engines": [ + "node >=0.6.0" + ], + "dependencies": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" } }, - "node_modules/yeoman-environment/node_modules/events": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", - "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "node_modules/vinyl": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-3.0.0.tgz", + "integrity": "sha512-rC2VRfAVVCGEgjnxHUnpIVh3AGuk62rP3tqVrn+yab0YH7UULisC085+NYH+mnqf3Wx4SpSi1RQMwudL89N03g==", + "dependencies": { + "clone": "^2.1.2", + "clone-stats": "^1.0.0", + "remove-trailing-separator": "^1.1.0", + "replace-ext": "^2.0.0", + "teex": "^1.0.1" + }, "engines": { - "node": ">=0.8.x" + "node": ">=10.13.0" } }, - "node_modules/yeoman-environment/node_modules/execa": { + "node_modules/vinyl-file": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.0.0.tgz", - "integrity": "sha512-ov6w/2LCiuyO4RLYGdpFGjkcs0wMTgGE8PrkTHikeUy5iJekXyPIKUjifk5CsE0pt7sMCrMZ3YNqoCj6idQOnQ==", + "resolved": "https://registry.npmjs.org/vinyl-file/-/vinyl-file-5.0.0.tgz", + "integrity": "sha512-MvkPF/yA1EX7c6p+juVIvp9+Lxp70YUfNKzEWeHMKpUNVSnTZh2coaOqLxI0pmOe2V9nB+OkgFaMDkodaJUyGw==", "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" + "@types/vinyl": "^2.0.7", + "strip-bom-buf": "^3.0.1", + "strip-bom-stream": "^5.0.0", + "vinyl": "^3.0.0" }, "engines": { - "node": ">=10" + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/yeoman-environment/node_modules/figures": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", - "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "node_modules/vite": { + "version": "5.0.11", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.0.11.tgz", + "integrity": "sha512-XBMnDjZcNAw/G1gEiskiM1v6yzM4GE5aMGvhWTlHAYYhxb7S3/V1s3m2LDHa8Vh6yIWYYB0iJwsEaS523c4oYA==", + "dev": true, "dependencies": { - "escape-string-regexp": "^1.0.5" + "esbuild": "^0.19.3", + "postcss": "^8.4.32", + "rollup": "^4.2.0" + }, + "bin": { + "vite": "bin/vite.js" }, "engines": { - "node": ">=8" - } - }, - "node_modules/yeoman-environment/node_modules/figures/node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/yeoman-environment/node_modules/get-stream": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.0.tgz", - "integrity": "sha512-A1B3Bh1UmL0bidM/YX2NsCOTnGJePL9rO/M+Mw3m9f2gUpfokS0hi5Eah0WSUEWZdZhIZtMjkIYS7mDfOqNHbg==", - "engines": { - "node": ">=10" + "node": "^18.0.0 || >=20.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^18.0.0 || >=20.0.0", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + } } }, - "node_modules/yeoman-environment/node_modules/globby": { - "version": "11.0.3", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.3.tgz", - "integrity": "sha512-ffdmosjA807y7+lA1NM0jELARVmYul/715xiILEjo3hBLPTcirgQNnXECn5g3mtR8TOLCVbkfua1Hpen25/Xcg==", + "node_modules/vite-node": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-1.1.0.tgz", + "integrity": "sha512-jV48DDUxGLEBdHCQvxL1mEh7+naVy+nhUUUaPAZLd3FJgXuxQiewHcfeZebbJ6onDqNGkP4r3MhQ342PRlG81Q==", + "dev": true, "dependencies": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.1.1", - "ignore": "^5.1.4", - "merge2": "^1.3.0", - "slash": "^3.0.0" + "cac": "^6.7.14", + "debug": "^4.3.4", + "pathe": "^1.1.1", + "picocolors": "^1.0.0", + "vite": "^5.0.0" + }, + "bin": { + "vite-node": "vite-node.mjs" }, "engines": { - "node": ">=10" + "node": "^18.0.0 || >=20.0.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" } }, - "node_modules/yeoman-environment/node_modules/human-signals": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", - "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "node_modules/vitest": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-1.1.0.tgz", + "integrity": "sha512-oDFiCrw7dd3Jf06HoMtSRARivvyjHJaTxikFxuqJjO76U436PqlVw1uLn7a8OSPrhSfMGVaRakKpA2lePdw79A==", + "dev": true, + "dependencies": { + "@vitest/expect": "1.1.0", + "@vitest/runner": "1.1.0", + "@vitest/snapshot": "1.1.0", + "@vitest/spy": "1.1.0", + "@vitest/utils": "1.1.0", + "acorn-walk": "^8.3.0", + "cac": "^6.7.14", + "chai": "^4.3.10", + "debug": "^4.3.4", + "execa": "^8.0.1", + "local-pkg": "^0.5.0", + "magic-string": "^0.30.5", + "pathe": "^1.1.1", + "picocolors": "^1.0.0", + "std-env": "^3.5.0", + "strip-literal": "^1.3.0", + "tinybench": "^2.5.1", + "tinypool": "^0.8.1", + "vite": "^5.0.0", + "vite-node": "1.1.0", + "why-is-node-running": "^2.2.2" + }, + "bin": { + "vitest": "vitest.mjs" + }, "engines": { - "node": ">=10.17.0" - } - }, - "node_modules/yeoman-environment/node_modules/ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" + "node": "^18.0.0 || >=20.0.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "@edge-runtime/vm": "*", + "@types/node": "^18.0.0 || >=20.0.0", + "@vitest/browser": "^1.0.0", + "@vitest/ui": "^1.0.0", + "happy-dom": "*", + "jsdom": "*" + }, + "peerDependenciesMeta": { + "@edge-runtime/vm": { + "optional": true }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" + "@types/node": { + "optional": true }, - { - "type": "consulting", - "url": "https://feross.org/support" + "@vitest/browser": { + "optional": true + }, + "@vitest/ui": { + "optional": true + }, + "happy-dom": { + "optional": true + }, + "jsdom": { + "optional": true } - ] - }, - "node_modules/yeoman-environment/node_modules/inquirer": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.0.0.tgz", - "integrity": "sha512-ON8pEJPPCdyjxj+cxsYRe6XfCJepTxANdNnTebsTuQgXpRyZRRT9t4dJwjRubgmvn20CLSEnozRUayXyM9VTXA==", - "dependencies": { - "ansi-escapes": "^4.2.1", - "chalk": "^4.1.0", - "cli-cursor": "^3.1.0", - "cli-width": "^3.0.0", - "external-editor": "^3.0.3", - "figures": "^3.0.0", - "lodash": "^4.17.21", - "mute-stream": "0.0.8", - "run-async": "^2.4.0", - "rxjs": "^6.6.6", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0", - "through": "^2.3.6" - }, - "engines": { - "node": ">=8.0.0" } }, - "node_modules/yeoman-environment/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==", + "node_modules/vitest/node_modules/acorn-walk": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.2.tgz", + "integrity": "sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==", + "dev": true, "engines": { - "node": ">=8" + "node": ">=0.4.0" } }, - "node_modules/yeoman-environment/node_modules/is-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz", - "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==", - "engines": { - "node": ">=8" - } + "node_modules/vscode-languageserver-textdocument": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.11.tgz", + "integrity": "sha512-X+8T3GoiwTVlJbicx/sIAF+yuJAqz8VvwJyoMVhwEMoEKE/fkDmrqUgDMyBECcM2A2frVZIUj5HI/ErRXCfOeA==" }, - "node_modules/yeoman-environment/node_modules/mute-stream": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", - "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==" + "node_modules/vscode-languageserver-types": { + "version": "3.17.5", + "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.5.tgz", + "integrity": "sha512-Ld1VelNuX9pdF39h2Hgaeb5hEZM2Z3jUrrMgWQAu82jMtZp7p3vJT3BzToKtZI7NgQssZje5o0zryOrhQvzQAg==" }, - "node_modules/yeoman-environment/node_modules/readable-stream": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.4.0.tgz", - "integrity": "sha512-kDMOq0qLtxV9f/SQv522h8cxZBqNZXuXNyjyezmfAAuribMyVXziljpQ/uQhfE1XLg2/TLTW2DsnoE4VAi/krg==", + "node_modules/walk-up-path": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/walk-up-path/-/walk-up-path-3.0.1.tgz", + "integrity": "sha512-9YlCL/ynK3CTlrSRrDxZvUauLzAswPCrsaCgilqFevUYpeEW0/3ScEjaa3kbW/T0ghhkEr7mv+fpjqn1Y1YuTA==" + }, + "node_modules/wcwidth": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", + "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", "dependencies": { - "abort-controller": "^3.0.0", - "buffer": "^6.0.3", - "events": "^3.3.0", - "process": "^0.11.10" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "defaults": "^1.0.3" } }, - "node_modules/yeoman-environment/node_modules/restore-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", - "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" + }, + "node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", "dependencies": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" - }, - "engines": { - "node": ">=8" + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" } }, - "node_modules/yeoman-environment/node_modules/string-width": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", - "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", + "node_modules/when-exit": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/when-exit/-/when-exit-2.1.2.tgz", + "integrity": "sha512-u9J+toaf3CCxCAzM/484qNAxQE75rFdVgiFEEV8Xps2gzYhf0tx73s1WXDQhkwV17E3MxRMz40m7Ekd2/121Lg==" + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" }, "engines": { - "node": ">=8" + "node": ">= 8" } }, - "node_modules/yeoman-environment/node_modules/strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "node_modules/which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", "dependencies": { - "ansi-regex": "^5.0.0" + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" }, - "engines": { - "node": ">=8" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/yeoman-environment/node_modules/type-fest": { - "version": "0.21.3", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "node_modules/which-package-manager": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/which-package-manager/-/which-package-manager-0.0.1.tgz", + "integrity": "sha512-a+bCExXd8OdYky5J59nimHxTCRPhxZSQtwKh3Ew6lpC4oY9f3KH77XDxcPrComVhSEPtvMjZigS2vZgZfgJuxA==", + "dependencies": { + "execa": "^7.1.1", + "find-up": "^6.3.0", + "micromatch": "^4.0.5" + }, "engines": { - "node": ">=10" + "node": "^16.13.0 || >=18.12.0" } }, - "node_modules/yeoman-generator": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/yeoman-generator/-/yeoman-generator-5.7.0.tgz", - "integrity": "sha512-z9ZwgKoDOd+llPDCwn8Ax2l4In5FMhlslxdeByW4AMxhT+HbTExXKEAahsClHSbwZz1i5OzRwLwRIUdOJBr5Bw==", + "node_modules/which-package-manager/node_modules/execa": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-7.2.0.tgz", + "integrity": "sha512-UduyVP7TLB5IcAQl+OzLyLcS/l32W/GLg+AhHJ+ow40FOk2U3SAllPwR44v4vmdFwIWqpdwxxpQbF1n5ta9seA==", "dependencies": { - "chalk": "^4.1.0", - "dargs": "^7.0.0", - "debug": "^4.1.1", - "execa": "^5.1.1", - "github-username": "^6.0.0", - "lodash": "^4.17.11", - "minimist": "^1.2.5", - "read-pkg-up": "^7.0.1", - "run-async": "^2.0.0", - "semver": "^7.2.1", - "shelljs": "^0.8.5", - "sort-keys": "^4.2.0", - "text-table": "^0.2.0" + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.1", + "human-signals": "^4.3.0", + "is-stream": "^3.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^5.1.0", + "onetime": "^6.0.0", + "signal-exit": "^3.0.7", + "strip-final-newline": "^3.0.0" }, "engines": { - "node": ">=12.10.0" - }, - "peerDependencies": { - "yeoman-environment": "^3.2.0" + "node": "^14.18.0 || ^16.14.0 || >=18.0.0" }, - "peerDependenciesMeta": { - "yeoman-environment": { - "optional": true - } + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, - "node_modules/yeoman-generator/node_modules/execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "node_modules/which-package-manager/node_modules/find-up": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-6.3.0.tgz", + "integrity": "sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==", "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" + "locate-path": "^7.1.0", + "path-exists": "^5.0.0" }, "engines": { - "node": ">=10" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/yeoman-generator/node_modules/get-stream": { + "node_modules/which-package-manager/node_modules/get-stream": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", @@ -13418,583 +14703,644 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/yeoman-generator/node_modules/human-signals": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", - "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "node_modules/which-package-manager/node_modules/human-signals": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-4.3.1.tgz", + "integrity": "sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==", "engines": { - "node": ">=10.17.0" + "node": ">=14.18.0" } }, - "node_modules/yeoman-generator/node_modules/is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "node_modules/which-package-manager/node_modules/locate-path": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-7.2.0.tgz", + "integrity": "sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==", + "dependencies": { + "p-locate": "^6.0.0" + }, "engines": { - "node": ">=8" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/yeoman-test": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/yeoman-test/-/yeoman-test-6.3.0.tgz", - "integrity": "sha512-FpaLV5AiVFlYe4pizAB/QLWc+5BSyttk/TcFQfi/r8g/rz290uqEkV4waN3rHEvP/DCmoMNSJykKTZNWL2y07g==", - "dev": true, + "node_modules/which-package-manager/node_modules/p-limit": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz", + "integrity": "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==", "dependencies": { - "inquirer": "^8.0.0", - "lodash": "^4.17.21", - "mem-fs-editor": "^9.0.0", - "sinon": "^10.0.0", - "temp-dir": "^2.0.0" + "yocto-queue": "^1.0.0" }, "engines": { - "node": ">=12.10.0" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, - "peerDependencies": { - "mem-fs": "^2.1.0", - "yeoman-environment": "^3.3.0", - "yeoman-generator": "*" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/yeoman-test/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, + "node_modules/which-package-manager/node_modules/p-locate": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-6.0.0.tgz", + "integrity": "sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==", "dependencies": { - "@sinonjs/commons": "^1.7.0" - } - }, - "node_modules/yeoman-test/node_modules/@sinonjs/samsam": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-5.3.1.tgz", - "integrity": "sha512-1Hc0b1TtyfBu8ixF/tpfSHTVWKwCBLY4QJbkgnE7HcwyvT2xArDxb4K7dMgqRm3szI+LJbzmW/s4xxEhv6hwDg==", - "dev": true, - "dependencies": { - "@sinonjs/commons": "^1.6.0", - "lodash.get": "^4.4.2", - "type-detect": "^4.0.8" - } - }, - "node_modules/yeoman-test/node_modules/ansi-escapes": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", - "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", - "dev": true, - "dependencies": { - "type-fest": "^0.21.3" + "p-limit": "^4.0.0" }, "engines": { - "node": ">=8" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/yeoman-test/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, + "node_modules/which-package-manager/node_modules/path-exists": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz", + "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==", "engines": { - "node": ">=8" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" } }, - "node_modules/yeoman-test/node_modules/cli-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", - "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", - "dev": true, - "dependencies": { - "restore-cursor": "^3.1.0" - }, - "engines": { - "node": ">=8" - } + "node_modules/which-package-manager/node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" }, - "node_modules/yeoman-test/node_modules/cli-width": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", - "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", - "dev": true, + "node_modules/which-package-manager/node_modules/yocto-queue": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.0.0.tgz", + "integrity": "sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==", "engines": { - "node": ">= 10" + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/yeoman-test/node_modules/diff": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", - "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", - "dev": true, + "node_modules/which-pm": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-pm/-/which-pm-2.0.0.tgz", + "integrity": "sha512-Lhs9Pmyph0p5n5Z3mVnN0yWcbQYUAD7rbQUiMsQxOJ3T57k7RFe35SUwWMf7dsbDZks1uOmw4AecB/JMDj3v/w==", + "dependencies": { + "load-yaml-file": "^0.2.0", + "path-exists": "^4.0.0" + }, "engines": { - "node": ">=0.3.1" + "node": ">=8.15" } }, - "node_modules/yeoman-test/node_modules/figures": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", - "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", - "dev": true, + "node_modules/which-typed-array": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.13.tgz", + "integrity": "sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow==", "dependencies": { - "escape-string-regexp": "^1.0.5" + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.4", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.0" }, "engines": { - "node": ">=8" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/yeoman-test/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "node_modules/why-is-node-running": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.2.2.tgz", + "integrity": "sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==", "dev": true, + "dependencies": { + "siginfo": "^2.0.0", + "stackback": "0.0.2" + }, + "bin": { + "why-is-node-running": "cli.js" + }, "engines": { "node": ">=8" } }, - "node_modules/yeoman-test/node_modules/inquirer": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.1.0.tgz", - "integrity": "sha512-1nKYPoalt1vMBfCMtpomsUc32wmOoWXAoq3kM/5iTfxyQ2f/BxjixQpC+mbZ7BI0JUXHED4/XPXekDVtJNpXYw==", + "node_modules/wide-align": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz", + "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==", + "dependencies": { + "string-width": "^1.0.2 || 2 || 3 || 4" + } + }, + "node_modules/widest-line": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-4.0.1.tgz", + "integrity": "sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==", "dev": true, "dependencies": { - "ansi-escapes": "^4.2.1", - "chalk": "^4.1.1", - "cli-cursor": "^3.1.0", - "cli-width": "^3.0.0", - "external-editor": "^3.0.3", - "figures": "^3.0.0", - "lodash": "^4.17.21", - "mute-stream": "0.0.8", - "ora": "^5.3.0", - "run-async": "^2.4.0", - "rxjs": "^6.6.6", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0", - "through": "^2.3.6" + "string-width": "^5.0.1" }, "engines": { - "node": ">=8.0.0" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/yeoman-test/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==", + "node_modules/widest-line/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", "dev": true, "engines": { - "node": ">=8" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" } }, - "node_modules/yeoman-test/node_modules/mute-stream": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", - "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", + "node_modules/widest-line/node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", "dev": true }, - "node_modules/yeoman-test/node_modules/nise": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/nise/-/nise-4.1.0.tgz", - "integrity": "sha512-eQMEmGN/8arp0xsvGoQ+B1qvSkR73B1nWSCh7nOt5neMCtwcQVYQGdzQMhcNscktTsWB54xnlSQFzOAPJD8nXA==", + "node_modules/widest-line/node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", "dev": true, "dependencies": { - "@sinonjs/commons": "^1.7.0", - "@sinonjs/fake-timers": "^6.0.0", - "@sinonjs/text-encoding": "^0.7.1", - "just-extend": "^4.0.2", - "path-to-regexp": "^1.7.0" + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/yeoman-test/node_modules/restore-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", - "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "node_modules/widest-line/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", "dev": true, "dependencies": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" + "ansi-regex": "^6.0.1" }, "engines": { - "node": ">=8" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, - "node_modules/yeoman-test/node_modules/sinon": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/sinon/-/sinon-10.0.0.tgz", - "integrity": "sha512-XAn5DxtGVJBlBWYrcYKEhWCz7FLwZGdyvANRyK06419hyEpdT0dMc5A8Vcxg5SCGHc40CsqoKsc1bt1CbJPfNw==", - "dev": true, + "node_modules/windows-release": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/windows-release/-/windows-release-4.0.0.tgz", + "integrity": "sha512-OxmV4wzDKB1x7AZaZgXMVsdJ1qER1ed83ZrTYd5Bwq2HfJVg3DJS8nqlAG4sMoJ7mu8cuRmLEYyU13BKwctRAg==", "dependencies": { - "@sinonjs/commons": "^1.8.1", - "@sinonjs/fake-timers": "^6.0.1", - "@sinonjs/samsam": "^5.3.1", - "diff": "^4.0.2", - "nise": "^4.1.0", - "supports-color": "^7.1.0" + "execa": "^4.0.2" + }, + "engines": { + "node": ">=10" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/sinon" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/yeoman-test/node_modules/string-width": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", - "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", - "dev": true, + "node_modules/windows-release/node_modules/execa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", + "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" + "cross-spawn": "^7.0.0", + "get-stream": "^5.0.0", + "human-signals": "^1.1.1", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.0", + "onetime": "^5.1.0", + "signal-exit": "^3.0.2", + "strip-final-newline": "^2.0.0" }, "engines": { - "node": ">=8" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, - "node_modules/yeoman-test/node_modules/strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dev": true, + "node_modules/windows-release/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==", "dependencies": { - "ansi-regex": "^5.0.0" + "pump": "^3.0.0" }, "engines": { "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/yeoman-test/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, + "node_modules/windows-release/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==", "engines": { - "node": ">=8" + "node": ">=8.12.0" } }, - "node_modules/yeoman-test/node_modules/type-fest": { - "version": "0.21.3", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", - "dev": true, + "node_modules/windows-release/node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", "engines": { - "node": ">=10" + "node": ">=8" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "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==", + "node_modules/windows-release/node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", "engines": { - "node": ">=10" + "node": ">=6" } - } - }, - "dependencies": { - "@aashutoshrathi/word-wrap": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", - "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", - "dev": true }, - "@babel/code-frame": { - "version": "7.23.5", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.5.tgz", - "integrity": "sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==", - "requires": { - "@babel/highlight": "^7.23.4", - "chalk": "^2.4.2" - }, + "node_modules/windows-release/node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", "dependencies": { - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - } + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" } }, - "@babel/helper-validator-identifier": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", - "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==" - }, - "@babel/highlight": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz", - "integrity": "sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==", - "requires": { - "@babel/helper-validator-identifier": "^7.22.20", - "chalk": "^2.4.2", - "js-tokens": "^4.0.0" - }, + "node_modules/windows-release/node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", "dependencies": { - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - } + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "@babel/parser": { - "version": "7.21.1", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.21.1.tgz", - "integrity": "sha512-JzhBFpkuhBNYUY7qs+wTzNmyCWUHEaAFpQQD2YfU1rPL38/L43Wvid0fFkiOCnHvsGncRZgEPyGnltABLcVDTg==", - "dev": true + "node_modules/windows-release/node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" }, - "@bconnorwhite/module": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@bconnorwhite/module/-/module-2.0.2.tgz", - "integrity": "sha512-ck1me5WMgZKp06gnJrVKEkytpehTTQbvsAMbF1nGPeHri/AZNhj87++PSE2LOxmZqM0EtGMaqeLdx7Lw7SUnTA==", - "dev": true, - "requires": { - "find-up": "^5.0.0", - "read-json-safe": "^1.0.5", - "types-pkg-json": "^1.1.0" + "node_modules/windows-release/node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "engines": { + "node": ">=6" } }, - "@chevrotain/cst-dts-gen": { - "version": "10.3.0", - "resolved": "https://registry.npmjs.org/@chevrotain/cst-dts-gen/-/cst-dts-gen-10.3.0.tgz", - "integrity": "sha512-7DJPfCtfK1SU1/F3ZmmVv5IsTTcP/iiKFqU1m0H4VzJNvG3/GNxJFQjy4t/veWTAFSPWSj1WCNyq+sc5XKq9yA==", - "requires": { - "@chevrotain/gast": "10.3.0", - "@chevrotain/types": "10.3.0", - "lodash": "4.17.21" + "node_modules/winston": { + "version": "3.11.0", + "resolved": "https://registry.npmjs.org/winston/-/winston-3.11.0.tgz", + "integrity": "sha512-L3yR6/MzZAOl0DsysUXHVjOwv8mKZ71TrA/41EIduGpOOV5LQVodqN+QdQ6BS6PJ/RdIshZhq84P/fStEZkk7g==", + "dependencies": { + "@colors/colors": "^1.6.0", + "@dabh/diagnostics": "^2.0.2", + "async": "^3.2.3", + "is-stream": "^2.0.0", + "logform": "^2.4.0", + "one-time": "^1.0.0", + "readable-stream": "^3.4.0", + "safe-stable-stringify": "^2.3.1", + "stack-trace": "0.0.x", + "triple-beam": "^1.3.0", + "winston-transport": "^4.5.0" + }, + "engines": { + "node": ">= 12.0.0" } }, - "@chevrotain/gast": { - "version": "10.3.0", - "resolved": "https://registry.npmjs.org/@chevrotain/gast/-/gast-10.3.0.tgz", - "integrity": "sha512-kLbGubyLprlyFZ1/c5pkpciCi6WTcRcnKhkfflSdKsZuoy0OmVTEXzrmFCQWzJ+QtmQNtPZTKwIBXJ6Zixp6nA==", - "requires": { - "@chevrotain/types": "10.3.0", - "lodash": "4.17.21" + "node_modules/winston-transport": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/winston-transport/-/winston-transport-4.6.0.tgz", + "integrity": "sha512-wbBA9PbPAHxKiygo7ub7BYRiKxms0tpfU2ljtWzb3SjRjv5yl6Ozuy/TkXf00HTAt+Uylo3gSkNwzc4ME0wiIg==", + "dependencies": { + "logform": "^2.3.2", + "readable-stream": "^3.6.0", + "triple-beam": "^1.3.0" + }, + "engines": { + "node": ">= 12.0.0" } }, - "@chevrotain/types": { - "version": "10.3.0", - "resolved": "https://registry.npmjs.org/@chevrotain/types/-/types-10.3.0.tgz", - "integrity": "sha512-LGesL4c5+FyweDsmFukcxmsowpagj1iC4iqkQSIDG3Y7krV2rIOmCDDq4kZff51Asr6yQHEJsWTyvGVHeWQLkw==" - }, - "@chevrotain/utils": { - "version": "10.3.0", - "resolved": "https://registry.npmjs.org/@chevrotain/utils/-/utils-10.3.0.tgz", - "integrity": "sha512-KCpFcX+kNyKlVZQW60ZUGRW5Nsg5u0F2CIgHiDQyg282ouHS9xap2ZEKqhwGE/0nYP46nAPnGPdb/IYh7ZHOsA==" + "node_modules/winston-transport/node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } }, - "@colors/colors": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", - "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==" + "node_modules/winston/node_modules/async": { + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.5.tgz", + "integrity": "sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==" }, - "@dabh/diagnostics": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@dabh/diagnostics/-/diagnostics-2.0.3.tgz", - "integrity": "sha512-hrlQOIi7hAfzsMqlGSFyVucrx38O+j6wiGOf//H2ecvIEqYN4ADBSS2iLMh5UFyDunCNniUIPk/q3riFv45xRA==", - "requires": { - "colorspace": "1.1.x", - "enabled": "2.0.x", - "kuler": "^2.0.0" + "node_modules/winston/node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "@eslint-community/eslint-utils": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.2.0.tgz", - "integrity": "sha512-gB8T4H4DEfX2IV9zGDJPOBgP1e/DbfCPDTtEqUMckpvzS1OYtva8JdFYBqMwYk7xAQ429WGF/UPqn8uQ//h2vQ==", - "dev": true, - "requires": { - "eslint-visitor-keys": "^3.3.0" + "node_modules/winston/node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" } }, - "@eslint-community/regexpp": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.6.2.tgz", - "integrity": "sha512-pPTNuaAG3QMH+buKyBIGJs3g/S5y0caxw0ygM3YyE6yJFySwiGGSzA+mM3KJ8QQvzeLh3blwgSonkFjgQdxzMw==", + "node_modules/workerpool": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.2.1.tgz", + "integrity": "sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw==", "dev": true }, - "@eslint/eslintrc": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", - "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", - "dev": true, - "requires": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^9.6.0", - "globals": "^13.19.0", - "ignore": "^5.2.0", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "minimatch": "^3.1.2", - "strip-json-comments": "^3.1.1" - }, + "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==", "dependencies": { - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true - }, - "js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dev": true, - "requires": { - "argparse": "^2.0.1" - } - }, - "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 - } + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" } }, - "@eslint/js": { - "version": "8.56.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.56.0.tgz", - "integrity": "sha512-gMsVel9D7f2HLkBma9VbtzZRehRogVRfbr++f06nL2vnCGCNlzOD+/MUov/F4p8myyAHspEhVobgjpX64q5m6A==", - "dev": true - }, - "@faker-js/faker": { - "version": "5.5.3", - "resolved": "https://registry.npmjs.org/@faker-js/faker/-/faker-5.5.3.tgz", - "integrity": "sha512-R11tGE6yIFwqpaIqcfkcg7AICXzFg14+5h5v0TfF/9+RMDL6jhzCy/pxHVOfbALGdtVYdt6JdR21tuxEgl34dw==" + "node_modules/wrap-ansi-cjs": { + "name": "wrap-ansi", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } }, - "@gar/promisify": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.2.tgz", - "integrity": "sha512-82cpyJyKRoQoRi+14ibCeGPu0CwypgtBAdBhq1WfvagpCZNKqwXbKwXllYSMG91DhmG4jt9gN8eP6lGOtozuaw==" + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" }, - "@humanwhocodes/config-array": { - "version": "0.11.13", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.13.tgz", - "integrity": "sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ==", + "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, - "requires": { - "@humanwhocodes/object-schema": "^2.0.1", - "debug": "^4.1.1", - "minimatch": "^3.0.5" + "dependencies": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" } }, - "@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 - }, - "@humanwhocodes/object-schema": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.1.tgz", - "integrity": "sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==", + "node_modules/write-file-atomic/node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", "dev": true }, - "@isaacs/string-locale-compare": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@isaacs/string-locale-compare/-/string-locale-compare-1.1.0.tgz", - "integrity": "sha512-SQ7Kzhh9+D+ZW9MA0zkYv3VXhIDNx+LzM6EJ+/65I3QY+enU6Itte7E5XX7EWrqLW2FN4n06GWzBnPoC3th2aQ==" - }, - "@jsdoc/salty": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/@jsdoc/salty/-/salty-0.2.1.tgz", - "integrity": "sha512-JXwylDNSHa549N9uceDYu8D4GMXwSo3H8CCPYEQqxhhHpxD28+lRl2b3bS/caaPj5w1YD3SWtrficJNTnUjGpg==", + "node_modules/xdg-basedir": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-5.1.0.tgz", + "integrity": "sha512-GCPAHLvrIH13+c0SuacwvRYj2SxJXQ4kaVTT5xgL3kPrz56XxkF21IGhjSE1+W0aw7gpBWRGXLCPnPby6lSpmQ==", "dev": true, - "requires": { - "lodash": "^4.17.21" - } - }, - "@kwsites/file-exists": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@kwsites/file-exists/-/file-exists-1.1.1.tgz", - "integrity": "sha512-m9/5YGR18lIwxSFDwfE3oA7bWuq9kdau6ugN4H2rJeyhFQZcG9AgSHkQtSD15a8WvTgfz9aikZMrKPHvbpqFiw==", - "requires": { - "debug": "^4.1.1" + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "@kwsites/promise-deferred": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@kwsites/promise-deferred/-/promise-deferred-1.1.1.tgz", - "integrity": "sha512-GaHYm+c0O9MjZRu0ongGBRbinu8gVAMd2UZjji6jVmqKtZluZnptXGWhz1E8j8D2HJ3f/yMxKAUC0b+57wncIw==" + "node_modules/xmlcreate": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/xmlcreate/-/xmlcreate-2.0.4.tgz", + "integrity": "sha512-nquOebG4sngPmGPICTS5EnxqhKbCmz5Ox5hsszI2T6U5qdrJizBc+0ilYSEjTSzU0yZcmvppztXe/5Al5fUwdg==", + "dev": true }, - "@ljharb/through": { - "version": "2.3.11", - "resolved": "https://registry.npmjs.org/@ljharb/through/-/through-2.3.11.tgz", - "integrity": "sha512-ccfcIDlogiXNq5KcbAwbaO7lMh3Tm1i3khMPYpxlK8hH/W53zN81KM9coerRLOnTGu3nfXIniAmQbRI9OxbC0w==", + "node_modules/xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", "dev": true, - "requires": { - "call-bind": "^1.0.2" + "engines": { + "node": ">=0.4" } }, - "@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "requires": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true, + "engines": { + "node": ">=10" } }, - "@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==" + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" }, - "@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "requires": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" + "node_modules/yaml": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.4.tgz", + "integrity": "sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==", + "engines": { + "node": ">= 14" } }, - "@npmcli/arborist": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/@npmcli/arborist/-/arborist-4.0.5.tgz", - "integrity": "sha512-WR2cqxzjsvmHJ9sKCdqBYG/qeiAXB9ev1iq1W2Rry7LxeJ7eDtTr4mOWe/TBvp6xFzevGecQc2YEWwExTuLZLg==", - "requires": { - "@isaacs/string-locale-compare": "^1.1.0", - "@npmcli/installed-package-contents": "^1.0.7", - "@npmcli/map-workspaces": "^2.0.0", - "@npmcli/metavuln-calculator": "^2.0.0", - "@npmcli/move-file": "^1.1.0", - "@npmcli/name-from-folder": "^1.0.1", - "@npmcli/node-gyp": "^1.0.3", - "@npmcli/package-json": "^1.0.1", + "node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "dev": true, + "dependencies": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs-parser": { + "version": "20.2.4", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", + "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/yargs-unparser": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz", + "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==", + "dev": true, + "dependencies": { + "camelcase": "^6.0.0", + "decamelize": "^4.0.0", + "flat": "^5.0.2", + "is-plain-obj": "^2.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/yargs-unparser/node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/yargs-unparser/node_modules/is-plain-obj": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", + "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/yargs/node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/yeoman-assert": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yeoman-assert/-/yeoman-assert-3.1.1.tgz", + "integrity": "sha512-bCuLb/j/WzpvrJZCTdJJLFzm7KK8IYQJ3+dF9dYtNs2CUYyezFJDuULiZ2neM4eqjf45GN1KH/MzCTT3i90wUQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/yeoman-environment": { + "version": "3.19.3", + "resolved": "https://registry.npmjs.org/yeoman-environment/-/yeoman-environment-3.19.3.tgz", + "integrity": "sha512-/+ODrTUHtlDPRH9qIC0JREH8+7nsRcjDl3Bxn2Xo/rvAaVvixH5275jHwg0C85g4QsF4P6M2ojfScPPAl+pLAg==", + "dependencies": { + "@npmcli/arborist": "^4.0.4", + "are-we-there-yet": "^2.0.0", + "arrify": "^2.0.1", + "binaryextensions": "^4.15.0", + "chalk": "^4.1.0", + "cli-table": "^0.3.1", + "commander": "7.1.0", + "dateformat": "^4.5.0", + "debug": "^4.1.1", + "diff": "^5.0.0", + "error": "^10.4.0", + "escape-string-regexp": "^4.0.0", + "execa": "^5.0.0", + "find-up": "^5.0.0", + "globby": "^11.0.1", + "grouped-queue": "^2.0.0", + "inquirer": "^8.0.0", + "is-scoped": "^2.1.0", + "isbinaryfile": "^4.0.10", + "lodash": "^4.17.10", + "log-symbols": "^4.0.0", + "mem-fs": "^1.2.0 || ^2.0.0", + "mem-fs-editor": "^8.1.2 || ^9.0.0", + "minimatch": "^3.0.4", + "npmlog": "^5.0.1", + "p-queue": "^6.6.2", + "p-transform": "^1.3.0", + "pacote": "^12.0.2", + "preferred-pm": "^3.0.3", + "pretty-bytes": "^5.3.0", + "readable-stream": "^4.3.0", + "semver": "^7.1.3", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0", + "text-table": "^0.2.0", + "textextensions": "^5.12.0", + "untildify": "^4.0.0" + }, + "bin": { + "yoe": "cli/index.js" + }, + "engines": { + "node": ">=12.10.0" + } + }, + "node_modules/yeoman-environment/node_modules/@npmcli/arborist": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/@npmcli/arborist/-/arborist-4.3.1.tgz", + "integrity": "sha512-yMRgZVDpwWjplorzt9SFSaakWx6QIK248Nw4ZFgkrAy/GvJaFRaSZzE6nD7JBK5r8g/+PTxFq5Wj/sfciE7x+A==", + "dependencies": { + "@isaacs/string-locale-compare": "^1.1.0", + "@npmcli/installed-package-contents": "^1.0.7", + "@npmcli/map-workspaces": "^2.0.0", + "@npmcli/metavuln-calculator": "^2.0.0", + "@npmcli/move-file": "^1.1.0", + "@npmcli/name-from-folder": "^1.0.1", + "@npmcli/node-gyp": "^1.0.3", + "@npmcli/package-json": "^1.0.1", "@npmcli/run-script": "^2.0.0", - "bin-links": "^2.3.0", + "bin-links": "^3.0.0", "cacache": "^15.0.3", "common-ancestor-path": "^1.0.1", "json-parse-even-better-errors": "^2.3.1", @@ -14004,9 +15350,9 @@ "npm-install-checks": "^4.0.0", "npm-package-arg": "^8.1.5", "npm-pick-manifest": "^6.1.0", - "npm-registry-fetch": "^11.0.0", + "npm-registry-fetch": "^12.0.1", "pacote": "^12.0.2", - "parse-conflict-json": "^1.1.1", + "parse-conflict-json": "^2.0.1", "proc-log": "^1.0.0", "promise-all-reject-late": "^1.0.0", "promise-call-limit": "^1.0.1", @@ -14017,22 +15363,28 @@ "ssri": "^8.0.1", "treeverse": "^1.0.4", "walk-up-path": "^1.0.0" + }, + "bin": { + "arborist": "bin/index.js" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16" } }, - "@npmcli/fs": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-1.0.0.tgz", - "integrity": "sha512-8ltnOpRR/oJbOp8vaGUnipOi3bqkcW+sLHFlyXIr08OGHmVJLB1Hn7QtGXbYcpVtH1gAYZTlmDXtE4YV0+AMMQ==", - "requires": { + "node_modules/yeoman-environment/node_modules/@npmcli/fs": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-1.1.1.tgz", + "integrity": "sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ==", + "dependencies": { "@gar/promisify": "^1.0.1", "semver": "^7.3.5" } }, - "@npmcli/git": { + "node_modules/yeoman-environment/node_modules/@npmcli/git": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/@npmcli/git/-/git-2.1.0.tgz", "integrity": "sha512-/hBFX/QG1b+N7PZBFs0bi+evgRZcK9nWBxQKZkGoXUT5hJSwl5c4d7y8/hm+NQZRPhQ67RzFaj5UM9YeyKoryw==", - "requires": { + "dependencies": { "@npmcli/promise-spawn": "^1.3.2", "lru-cache": "^6.0.0", "mkdirp": "^1.0.4", @@ -14043,9870 +15395,1819 @@ "which": "^2.0.2" } }, - "@npmcli/installed-package-contents": { + "node_modules/yeoman-environment/node_modules/@npmcli/installed-package-contents": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/@npmcli/installed-package-contents/-/installed-package-contents-1.0.7.tgz", "integrity": "sha512-9rufe0wnJusCQoLpV9ZPKIVP55itrM5BxOXs10DmdbRfgWtHy1LDyskbwRnBghuB0PrF7pNPOqREVtpz4HqzKw==", - "requires": { + "dependencies": { "npm-bundled": "^1.1.1", "npm-normalize-package-bin": "^1.0.1" + }, + "bin": { + "installed-package-contents": "index.js" + }, + "engines": { + "node": ">= 10" } }, - "@npmcli/map-workspaces": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@npmcli/map-workspaces/-/map-workspaces-2.0.0.tgz", - "integrity": "sha512-QBJfpCY1NOAkkW3lFfru9VTdqvMB2TN0/vrevl5xBCv5Fi0XDVcA6rqqSau4Ysi4Iw3fBzyXV7hzyTBDfadf7g==", - "requires": { + "node_modules/yeoman-environment/node_modules/@npmcli/map-workspaces": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@npmcli/map-workspaces/-/map-workspaces-2.0.4.tgz", + "integrity": "sha512-bMo0aAfwhVwqoVM5UzX1DJnlvVvzDCHae821jv48L1EsrYwfOZChlqWYXEtto/+BkBXetPbEWgau++/brh4oVg==", + "dependencies": { "@npmcli/name-from-folder": "^1.0.1", - "glob": "^7.1.6", - "minimatch": "^3.0.4", - "read-package-json-fast": "^2.0.1" + "glob": "^8.0.1", + "minimatch": "^5.0.1", + "read-package-json-fast": "^2.0.3" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/yeoman-environment/node_modules/@npmcli/map-workspaces/node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" } }, - "@npmcli/metavuln-calculator": { + "node_modules/yeoman-environment/node_modules/@npmcli/metavuln-calculator": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/@npmcli/metavuln-calculator/-/metavuln-calculator-2.0.0.tgz", "integrity": "sha512-VVW+JhWCKRwCTE+0xvD6p3uV4WpqocNYYtzyvenqL/u1Q3Xx6fGTJ+6UoIoii07fbuEO9U3IIyuGY0CYHDv1sg==", - "requires": { + "dependencies": { "cacache": "^15.0.5", "json-parse-even-better-errors": "^2.3.1", "pacote": "^12.0.0", "semver": "^7.3.2" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16" } }, - "@npmcli/move-file": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-1.1.2.tgz", - "integrity": "sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==", - "requires": { - "mkdirp": "^1.0.4", - "rimraf": "^3.0.2" - } - }, - "@npmcli/name-from-folder": { + "node_modules/yeoman-environment/node_modules/@npmcli/name-from-folder": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/@npmcli/name-from-folder/-/name-from-folder-1.0.1.tgz", "integrity": "sha512-qq3oEfcLFwNfEYOQ8HLimRGKlD8WSeGEdtUa7hmzpR8Sa7haL1KVQrvgO6wqMjhWFFVjgtrh1gIxDz+P8sjUaA==" }, - "@npmcli/node-gyp": { + "node_modules/yeoman-environment/node_modules/@npmcli/node-gyp": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/@npmcli/node-gyp/-/node-gyp-1.0.3.tgz", "integrity": "sha512-fnkhw+fmX65kiLqk6E3BFLXNC26rUhK90zVwe2yncPliVT/Qos3xjhTLE59Df8KnPlcwIERXKVlU1bXoUQ+liA==" }, - "@npmcli/package-json": { + "node_modules/yeoman-environment/node_modules/@npmcli/package-json": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/@npmcli/package-json/-/package-json-1.0.1.tgz", "integrity": "sha512-y6jnu76E9C23osz8gEMBayZmaZ69vFOIk8vR1FJL/wbEJ54+9aVG9rLTjQKSXfgYZEr50nw1txBBFfBZZe+bYg==", - "requires": { + "dependencies": { "json-parse-even-better-errors": "^2.3.1" } }, - "@npmcli/promise-spawn": { + "node_modules/yeoman-environment/node_modules/@npmcli/promise-spawn": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/@npmcli/promise-spawn/-/promise-spawn-1.3.2.tgz", "integrity": "sha512-QyAGYo/Fbj4MXeGdJcFzZ+FkDkomfRBrPM+9QYJSg+PxgAUL+LU3FneQk37rKR2/zjqkCV1BLHccX98wRXG3Sg==", - "requires": { + "dependencies": { "infer-owner": "^1.0.4" } }, - "@npmcli/run-script": { + "node_modules/yeoman-environment/node_modules/@npmcli/run-script": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-2.0.0.tgz", "integrity": "sha512-fSan/Pu11xS/TdaTpTB0MRn9guwGU8dye+x56mEVgBEd/QsybBbYcAL0phPXi8SGWFEChkQd6M9qL4y6VOpFig==", - "requires": { + "dependencies": { "@npmcli/node-gyp": "^1.0.2", "@npmcli/promise-spawn": "^1.3.2", "node-gyp": "^8.2.0", "read-package-json-fast": "^2.0.1" } }, - "@octokit/auth-token": { - "version": "2.4.5", - "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-2.4.5.tgz", - "integrity": "sha512-BpGYsPgJt05M7/L/5FoE1PiAbdxXFZkX/3kDYcsvd1v6UhlnE5e96dTDr0ezX/EFwciQxf3cNV0loipsURU+WA==", - "requires": { - "@octokit/types": "^6.0.3" - } + "node_modules/yeoman-environment/node_modules/@types/node": { + "version": "15.14.9", + "resolved": "https://registry.npmjs.org/@types/node/-/node-15.14.9.tgz", + "integrity": "sha512-qjd88DrCxupx/kJD5yQgZdcYKZKSIGBVDIBE1/LTGcNm3d2Np/jxojkdePDdfnBHJc5W7vSMpbJ1aB7p/Py69A==" }, - "@octokit/core": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@octokit/core/-/core-3.4.0.tgz", - "integrity": "sha512-6/vlKPP8NF17cgYXqucdshWqmMZGXkuvtcrWCgU5NOI0Pl2GjlmZyWgBMrU8zJ3v2MJlM6++CiB45VKYmhiWWg==", - "requires": { - "@octokit/auth-token": "^2.4.4", - "@octokit/graphql": "^4.5.8", - "@octokit/request": "^5.4.12", - "@octokit/request-error": "^2.0.5", - "@octokit/types": "^6.0.3", - "before-after-hook": "^2.2.0", - "universal-user-agent": "^6.0.0" - } + "node_modules/yeoman-environment/node_modules/abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" }, - "@octokit/endpoint": { - "version": "6.0.11", - "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-6.0.11.tgz", - "integrity": "sha512-fUIPpx+pZyoLW4GCs3yMnlj2LfoXTWDUVPTC4V3MUEKZm48W+XYpeWSZCv+vYF1ZABUm2CqnDVf1sFtIYrj7KQ==", - "requires": { - "@octokit/types": "^6.0.3", - "is-plain-object": "^5.0.0", - "universal-user-agent": "^6.0.0" - }, + "node_modules/yeoman-environment/node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", "dependencies": { - "is-plain-object": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", - "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==" - } + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" } }, - "@octokit/graphql": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-4.6.1.tgz", - "integrity": "sha512-2lYlvf4YTDgZCTXTW4+OX+9WTLFtEUc6hGm4qM1nlZjzxj+arizM4aHWzBVBCxY9glh7GIs0WEuiSgbVzv8cmA==", - "requires": { - "@octokit/request": "^5.3.0", - "@octokit/types": "^6.0.3", - "universal-user-agent": "^6.0.0" + "node_modules/yeoman-environment/node_modules/aggregate-error": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "dependencies": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "@octokit/openapi-types": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-6.0.0.tgz", - "integrity": "sha512-CnDdK7ivHkBtJYzWzZm7gEkanA7gKH6a09Eguz7flHw//GacPJLmkHA3f3N++MJmlxD1Fl+mB7B32EEpSCwztQ==" - }, - "@octokit/plugin-paginate-rest": { - "version": "2.13.3", - "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.13.3.tgz", - "integrity": "sha512-46lptzM9lTeSmIBt/sVP/FLSTPGx6DCzAdSX3PfeJ3mTf4h9sGC26WpaQzMEq/Z44cOcmx8VsOhO+uEgE3cjYg==", - "requires": { - "@octokit/types": "^6.11.0" + "node_modules/yeoman-environment/node_modules/are-we-there-yet": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz", + "integrity": "sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==", + "dependencies": { + "delegates": "^1.0.0", + "readable-stream": "^3.6.0" + }, + "engines": { + "node": ">=10" } }, - "@octokit/plugin-request-log": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@octokit/plugin-request-log/-/plugin-request-log-1.0.3.tgz", - "integrity": "sha512-4RFU4li238jMJAzLgAwkBAw+4Loile5haQMQr+uhFq27BmyJXcXSKvoQKqh0agsZEiUlW6iSv3FAgvmGkur7OQ==" - }, - "@octokit/plugin-rest-endpoint-methods": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-5.0.0.tgz", - "integrity": "sha512-Jc7CLNUueIshXT+HWt6T+M0sySPjF32mSFQAK7UfAg8qGeRI6OM1GSBxDLwbXjkqy2NVdnqCedJcP1nC785JYg==", - "requires": { - "@octokit/types": "^6.13.0", - "deprecation": "^2.3.1" + "node_modules/yeoman-environment/node_modules/are-we-there-yet/node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" } }, - "@octokit/request": { - "version": "5.4.14", - "resolved": "https://registry.npmjs.org/@octokit/request/-/request-5.4.14.tgz", - "integrity": "sha512-VkmtacOIQp9daSnBmDI92xNIeLuSRDOIuplp/CJomkvzt7M18NXgG044Cx/LFKLgjKt9T2tZR6AtJayba9GTSA==", - "requires": { - "@octokit/endpoint": "^6.0.1", - "@octokit/request-error": "^2.0.0", - "@octokit/types": "^6.7.1", - "deprecation": "^2.0.0", - "is-plain-object": "^5.0.0", - "node-fetch": "^2.6.1", - "once": "^1.4.0", - "universal-user-agent": "^6.0.0" - }, - "dependencies": { - "is-plain-object": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", - "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==" - } + "node_modules/yeoman-environment/node_modules/array-differ": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-3.0.0.tgz", + "integrity": "sha512-THtfYS6KtME/yIAhKjZ2ul7XI96lQGHRputJQHO80LAWQnuGP4iCIN8vdMRboGbIEYBwU33q8Tch1os2+X0kMg==", + "engines": { + "node": ">=8" } }, - "@octokit/request-error": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-2.0.5.tgz", - "integrity": "sha512-T/2wcCFyM7SkXzNoyVNWjyVlUwBvW3igM3Btr/eKYiPmucXTtkxt2RBsf6gn3LTzaLSLTQtNmvg+dGsOxQrjZg==", - "requires": { - "@octokit/types": "^6.0.3", - "deprecation": "^2.0.0", - "once": "^1.4.0" + "node_modules/yeoman-environment/node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "engines": { + "node": ">=8" } }, - "@octokit/rest": { - "version": "18.5.2", - "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-18.5.2.tgz", - "integrity": "sha512-Kz03XYfKS0yYdi61BkL9/aJ0pP2A/WK5vF/syhu9/kY30J8He3P68hv9GRpn8bULFx2K0A9MEErn4v3QEdbZcw==", - "requires": { - "@octokit/core": "^3.2.3", - "@octokit/plugin-paginate-rest": "^2.6.2", - "@octokit/plugin-request-log": "^1.0.2", - "@octokit/plugin-rest-endpoint-methods": "5.0.0" + "node_modules/yeoman-environment/node_modules/arrify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz", + "integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==", + "engines": { + "node": ">=8" } }, - "@octokit/types": { - "version": "6.13.0", - "resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.13.0.tgz", - "integrity": "sha512-W2J9qlVIU11jMwKHUp5/rbVUeErqelCsO5vW5PKNb7wAXQVUz87Rc+imjlEvpvbH8yUb+KHmv8NEjVZdsdpyxA==", - "requires": { - "@octokit/openapi-types": "^6.0.0" + "node_modules/yeoman-environment/node_modules/bin-links": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/bin-links/-/bin-links-3.0.3.tgz", + "integrity": "sha512-zKdnMPWEdh4F5INR07/eBrodC7QrF5JKvqskjz/ZZRXg5YSAZIbn8zGhbhUrElzHBZ2fvEQdOU59RHcTG3GiwA==", + "dependencies": { + "cmd-shim": "^5.0.0", + "mkdirp-infer-owner": "^2.0.0", + "npm-normalize-package-bin": "^2.0.0", + "read-cmd-shim": "^3.0.0", + "rimraf": "^3.0.0", + "write-file-atomic": "^4.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "@pnpm/config.env-replace": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@pnpm/config.env-replace/-/config.env-replace-1.1.0.tgz", - "integrity": "sha512-htyl8TWnKL7K/ESFa1oW2UB5lVDxuF5DpM7tBi6Hu2LNL3mWkIzNLG6N4zoCUP1lCKNxWy/3iu8mS8MvToGd6w==", - "dev": true + "node_modules/yeoman-environment/node_modules/bin-links/node_modules/npm-normalize-package-bin": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-2.0.0.tgz", + "integrity": "sha512-awzfKUO7v0FscrSpRoogyNm0sajikhBWpU0QMrW09AMi9n1PoKU6WaIqUzuJSQnpciZZmJ/jMZ2Egfmb/9LiWQ==", + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } }, - "@pnpm/network.ca-file": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@pnpm/network.ca-file/-/network.ca-file-1.0.2.tgz", - "integrity": "sha512-YcPQ8a0jwYU9bTdJDpXjMi7Brhkr1mXsXrUJvjqM2mQDgkRiz8jFaQGOdaLxgjtUfQgZhKy/O3cG/YwmgKaxLA==", - "dev": true, - "requires": { - "graceful-fs": "4.2.10" - }, + "node_modules/yeoman-environment/node_modules/bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", "dependencies": { - "graceful-fs": { - "version": "4.2.10", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", - "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", - "dev": true - } + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" } }, - "@pnpm/npm-conf": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/@pnpm/npm-conf/-/npm-conf-2.2.2.tgz", - "integrity": "sha512-UA91GwWPhFExt3IizW6bOeY/pQ0BkuNwKjk9iQW9KqxluGCrg4VenZ0/L+2Y0+ZOtme72EVvg6v0zo3AMQRCeA==", - "dev": true, - "requires": { - "@pnpm/config.env-replace": "^1.1.0", - "@pnpm/network.ca-file": "^1.0.1", - "config-chain": "^1.1.11" + "node_modules/yeoman-environment/node_modules/bl/node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" } }, - "@samverschueren/stream-to-observable": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/@samverschueren/stream-to-observable/-/stream-to-observable-0.3.1.tgz", - "integrity": "sha512-c/qwwcHyafOQuVQJj0IlBjf5yYgBI7YPJ77k4fOJYesb41jio65eaJODRUmfYKhTOFBrIZ66kgvGPlNbjuoRdQ==", - "dev": true, - "requires": { - "any-observable": "^0.3.0" - }, + "node_modules/yeoman-environment/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "dependencies": { - "any-observable": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/any-observable/-/any-observable-0.3.0.tgz", - "integrity": "sha512-/FQM1EDkTsf63Ub2C6O7GuYFDsSXUwsaZDurV0np41ocwq0jthUAYCmhBX9f+KwlaCgIuWyr/4WlUQUBfKfZog==", - "dev": true - } + "balanced-match": "^1.0.0" } }, - "@sindresorhus/is": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.6.0.tgz", - "integrity": "sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==", - "dev": true - }, - "@sinonjs/commons": { - "version": "1.8.3", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.3.tgz", - "integrity": "sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ==", - "dev": true, - "requires": { - "type-detect": "4.0.8" + "node_modules/yeoman-environment/node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" } }, - "@sinonjs/fake-timers": { - "version": "11.2.2", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-11.2.2.tgz", - "integrity": "sha512-G2piCSxQ7oWOxwGSAyFHfPIsyeJGXYtc6mFbnFA+kRXkiEnTl8c/8jul2S329iFBnDI9HGoeWWAZvuvOkZccgw==", - "dev": true, - "requires": { - "@sinonjs/commons": "^3.0.0" - }, + "node_modules/yeoman-environment/node_modules/cacache": { + "version": "15.3.0", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.3.0.tgz", + "integrity": "sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==", "dependencies": { - "@sinonjs/commons": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.0.tgz", - "integrity": "sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==", - "dev": true, - "requires": { - "type-detect": "4.0.8" - } - } + "@npmcli/fs": "^1.0.0", + "@npmcli/move-file": "^1.0.1", + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "glob": "^7.1.4", + "infer-owner": "^1.0.4", + "lru-cache": "^6.0.0", + "minipass": "^3.1.1", + "minipass-collect": "^1.0.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.2", + "mkdirp": "^1.0.3", + "p-map": "^4.0.0", + "promise-inflight": "^1.0.1", + "rimraf": "^3.0.2", + "ssri": "^8.0.1", + "tar": "^6.0.2", + "unique-filename": "^1.1.1" + }, + "engines": { + "node": ">= 10" } }, - "@sinonjs/samsam": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-8.0.0.tgz", - "integrity": "sha512-Bp8KUVlLp8ibJZrnvq2foVhP0IVX2CIprMJPK0vqGqgrDa0OHVKeZyBykqskkrdxV6yKBPmGasO8LVjAKR3Gew==", - "dev": true, - "requires": { - "@sinonjs/commons": "^2.0.0", - "lodash.get": "^4.4.2", - "type-detect": "^4.0.8" - }, + "node_modules/yeoman-environment/node_modules/cacache/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "dependencies": { - "@sinonjs/commons": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-2.0.0.tgz", - "integrity": "sha512-uLa0j859mMrg2slwQYdO/AkrOfmH+X6LTVmNTS9CqexuE2IvVORIkSpJLqePAbEnKJ77aMmCwr1NUZ57120Xcg==", - "dev": true, - "requires": { - "type-detect": "4.0.8" - } - } + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "@sinonjs/text-encoding": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/@sinonjs/text-encoding/-/text-encoding-0.7.1.tgz", - "integrity": "sha512-+iTbntw2IZPb/anVDbypzfQa+ay64MW0Zo8aJ8gZPWMMK6/OubMVb6lUPMagqjOPnmtauXnFCACVl3O7ogjeqQ==", - "dev": true - }, - "@szmarczak/http-timer": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-4.0.6.tgz", - "integrity": "sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==", - "dev": true, - "requires": { - "defer-to-connect": "^2.0.0" + "node_modules/yeoman-environment/node_modules/clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "engines": { + "node": ">=6" } }, - "@tootallnate/once": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", - "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==" - }, - "@types/cacheable-request": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/@types/cacheable-request/-/cacheable-request-6.0.3.tgz", - "integrity": "sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw==", - "dev": true, - "requires": { - "@types/http-cache-semantics": "*", - "@types/keyv": "^3.1.4", - "@types/node": "*", - "@types/responselike": "^1.0.0" + "node_modules/yeoman-environment/node_modules/cli-width": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", + "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", + "engines": { + "node": ">= 10" } }, - "@types/concat-stream": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/@types/concat-stream/-/concat-stream-1.6.0.tgz", - "integrity": "sha1-OU2+C7X+5Gs42JZzXoto7yOQ0A0=", - "requires": { - "@types/node": "*" + "node_modules/yeoman-environment/node_modules/cmd-shim": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cmd-shim/-/cmd-shim-5.0.0.tgz", + "integrity": "sha512-qkCtZ59BidfEwHltnJwkyVZn+XQojdAySM1D1gSeh11Z4pW1Kpolkyo53L5noc0nrxmIvyFwTmJRo4xs7FFLPw==", + "dependencies": { + "mkdirp-infer-owner": "^2.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "@types/expect": { - "version": "1.20.4", - "resolved": "https://registry.npmjs.org/@types/expect/-/expect-1.20.4.tgz", - "integrity": "sha512-Q5Vn3yjTDyCMV50TB6VRIbQNxSE4OmZR86VSbGaNpfUolm0iePBB4KdEEHmxoY5sT2+2DIvXW0rvMDP2nHZ4Mg==" - }, - "@types/form-data": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/@types/form-data/-/form-data-0.0.33.tgz", - "integrity": "sha1-yayFsqX9GENbjIXZ7LUObWyJP/g=", - "requires": { - "@types/node": "*" + "node_modules/yeoman-environment/node_modules/commander": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.1.0.tgz", + "integrity": "sha512-pRxBna3MJe6HKnBGsDyMv8ETbptw3axEdYHoqNh7gu5oDcew8fs0xnivZGm06Ogk8zGAJ9VX+OPEr2GXEQK4dg==", + "engines": { + "node": ">= 10" } }, - "@types/glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==", - "requires": { - "@types/minimatch": "*", - "@types/node": "*" + "node_modules/yeoman-environment/node_modules/dateformat": { + "version": "4.6.3", + "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-4.6.3.tgz", + "integrity": "sha512-2P0p0pFGzHS5EMnhdxQi7aJN+iMheud0UhG4dlE1DLAlvL8JHjJJTX/CSm4JXwV0Ka5nGk3zC5mcb5bUQUxxMA==", + "engines": { + "node": "*" } }, - "@types/http-cache-semantics": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.4.tgz", - "integrity": "sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA==", - "dev": true + "node_modules/yeoman-environment/node_modules/env-paths": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", + "engines": { + "node": ">=6" + } }, - "@types/json5": { - "version": "0.0.29", - "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", - "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", - "dev": true + "node_modules/yeoman-environment/node_modules/eventemitter3": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==" }, - "@types/keyv": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/@types/keyv/-/keyv-3.1.4.tgz", - "integrity": "sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==", - "dev": true, - "requires": { - "@types/node": "*" + "node_modules/yeoman-environment/node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, - "@types/linkify-it": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@types/linkify-it/-/linkify-it-3.0.2.tgz", - "integrity": "sha512-HZQYqbiFVWufzCwexrvh694SOim8z2d+xJl5UNamcvQFejLY/2YUtzXHYi3cHdI7PMlS8ejH2slRAOJQ32aNbA==", - "dev": true - }, - "@types/markdown-it": { - "version": "12.2.3", - "resolved": "https://registry.npmjs.org/@types/markdown-it/-/markdown-it-12.2.3.tgz", - "integrity": "sha512-GKMHFfv3458yYy+v/N8gjufHO6MSZKCOXpZc5GXIWWy8uldwfmPn98vp81gZ5f9SVw8YYBctgfJ22a2d7AOMeQ==", - "dev": true, - "requires": { - "@types/linkify-it": "*", - "@types/mdurl": "*" + "node_modules/yeoman-environment/node_modules/figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "dependencies": { + "escape-string-regexp": "^1.0.5" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "@types/mdurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@types/mdurl/-/mdurl-1.0.2.tgz", - "integrity": "sha512-eC4U9MlIcu2q0KQmXszyn5Akca/0jrQmwDRgpAMJai7qBWq4amIQhZyNau4VYGtCeALvW1/NtjzJJ567aZxfKA==", - "dev": true - }, - "@types/minimatch": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz", - "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==" - }, - "@types/node": { - "version": "8.10.66", - "resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.66.tgz", - "integrity": "sha512-tktOkFUA4kXx2hhhrB8bIFb5TbwzS4uOhKEmwiD+NoiL0qtP2OQ9mFldbgD4dV1djrlBYP6eBuQZiWjuHUpqFw==" - }, - "@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==" + "node_modules/yeoman-environment/node_modules/figures/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "engines": { + "node": ">=0.8.0" + } }, - "@types/qs": { - "version": "6.9.6", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.6.tgz", - "integrity": "sha512-0/HnwIfW4ki2D8L8c9GVcG5I72s9jP5GSLVF0VIXDW00kmIpA6O33G7a8n59Tmh7Nz0WUC3rSb7PTY/sdW2JzA==" + "node_modules/yeoman-environment/node_modules/first-chunk-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/first-chunk-stream/-/first-chunk-stream-2.0.0.tgz", + "integrity": "sha512-X8Z+b/0L4lToKYq+lwnKqi9X/Zek0NibLpsJgVsSxpoYq7JtiCtRb5HqKVEjEw/qAb/4AKKRLOwwKHlWNpm2Eg==", + "dependencies": { + "readable-stream": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" + } }, - "@types/responselike": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@types/responselike/-/responselike-1.0.3.tgz", - "integrity": "sha512-H/+L+UkTV33uf49PH5pCAUBVPNj2nDBXTN+qS1dOwyyg24l3CcicicCA7ca+HMvJBZcFgl5r8e+RR6elsb4Lyw==", - "dev": true, - "requires": { - "@types/node": "*" + "node_modules/yeoman-environment/node_modules/first-chunk-stream/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" } }, - "@types/vinyl": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@types/vinyl/-/vinyl-2.0.4.tgz", - "integrity": "sha512-2o6a2ixaVI2EbwBPg1QYLGQoHK56p/8X/sGfKbFC8N6sY9lfjsMf/GprtkQkSya0D4uRiutRZ2BWj7k3JvLsAQ==", - "requires": { - "@types/expect": "^1.20.4", - "@types/node": "*" + "node_modules/yeoman-environment/node_modules/fs-minipass": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" } }, - "@ungap/structured-clone": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", - "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", - "dev": true + "node_modules/yeoman-environment/node_modules/gauge": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-3.0.2.tgz", + "integrity": "sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==", + "dependencies": { + "aproba": "^1.0.3 || ^2.0.0", + "color-support": "^1.1.2", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.1", + "object-assign": "^4.1.1", + "signal-exit": "^3.0.0", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wide-align": "^1.1.2" + }, + "engines": { + "node": ">=10" + } }, - "abbrev": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" + "node_modules/yeoman-environment/node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "abort-controller": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", - "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", - "requires": { - "event-target-shim": "^5.0.0" + "node_modules/yeoman-environment/node_modules/glob": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", + "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", - "dev": true + "node_modules/yeoman-environment/node_modules/glob/node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } }, - "acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, - "requires": {} + "node_modules/yeoman-environment/node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "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" + } }, - "acorn-node": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz", - "integrity": "sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==", - "dev": true, - "requires": { - "acorn": "^7.0.0", - "acorn-walk": "^7.0.0", - "xtend": "^4.0.2" + "node_modules/yeoman-environment/node_modules/hosted-git-info": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", + "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "engines": { + "node": ">=10" } }, - "acorn-walk": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", - "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", - "dev": true + "node_modules/yeoman-environment/node_modules/http-proxy-agent": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", + "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", + "dependencies": { + "@tootallnate/once": "1", + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } }, - "agent-base": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", - "requires": { + "node_modules/yeoman-environment/node_modules/https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "dependencies": { + "agent-base": "6", "debug": "4" + }, + "engines": { + "node": ">= 6" } }, - "agentkeepalive": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.1.4.tgz", - "integrity": "sha512-+V/rGa3EuU74H6wR04plBb7Ks10FbtUQgRj/FQOG7uUIEuaINI+AiqJR1k6t3SVNs7o7ZjIdus6706qqzVq8jQ==", - "requires": { - "debug": "^4.1.0", - "depd": "^1.1.2", - "humanize-ms": "^1.2.1" + "node_modules/yeoman-environment/node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "engines": { + "node": ">=10.17.0" } }, - "aggregate-error": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", - "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", - "requires": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" + "node_modules/yeoman-environment/node_modules/ignore-walk": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-4.0.1.tgz", + "integrity": "sha512-rzDQLaW4jQbh2YrOFlJdCtX8qgJTehFRYiUB2r1osqTeDzV/3+Jh8fz1oAPzUThf3iku8Ds4IDqawI5d8mUiQw==", + "dependencies": { + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=10" } }, - "ajv": { - "version": "8.8.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.8.2.tgz", - "integrity": "sha512-x9VuX+R/jcFj1DHo/fCp99esgGDWiHENrKxaCENuCxpoMCmAt/COCGVDwA7kleEpEzJjDnvh3yGoOuLu0Dtllw==", - "requires": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" + "node_modules/yeoman-environment/node_modules/indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "engines": { + "node": ">=8" } }, - "ajv-formats": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", - "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", - "requires": { - "ajv": "^8.0.0" + "node_modules/yeoman-environment/node_modules/inquirer": { + "version": "8.2.6", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.2.6.tgz", + "integrity": "sha512-M1WuAmb7pn9zdFRtQYk26ZBoY043Sse0wVDdk4Bppr+JOXyQYybdtvK+l9wUibhtjdjvtoiNy8tk+EgsYIUqKg==", + "dependencies": { + "ansi-escapes": "^4.2.1", + "chalk": "^4.1.1", + "cli-cursor": "^3.1.0", + "cli-width": "^3.0.0", + "external-editor": "^3.0.3", + "figures": "^3.0.0", + "lodash": "^4.17.21", + "mute-stream": "0.0.8", + "ora": "^5.4.1", + "run-async": "^2.4.0", + "rxjs": "^7.5.5", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", + "through": "^2.3.6", + "wrap-ansi": "^6.0.1" + }, + "engines": { + "node": ">=12.0.0" } }, - "all-package-names": { - "version": "2.0.786", - "resolved": "https://registry.npmjs.org/all-package-names/-/all-package-names-2.0.786.tgz", - "integrity": "sha512-yYrNZRks3kjvJjysP7cbeMhUnTgeyNfQDB1p1X8huoE5PBrJ5JMyLZFNbJcVFMP8L1LZduya+PRbdn4u2CHvrg==", - "dev": true, - "requires": { - "commander-version": "^1.1.0", - "p-lock": "^2.0.0", - "parse-json-object": "^2.0.1", - "progress": "^2.0.3", - "types-json": "^1.2.2" + "node_modules/yeoman-environment/node_modules/is-interactive": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", + "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", + "engines": { + "node": ">=8" } }, - "ansi-align": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", - "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==", - "dev": true, - "requires": { - "string-width": "^4.1.0" - }, + "node_modules/yeoman-environment/node_modules/is-scoped": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-scoped/-/is-scoped-2.1.0.tgz", + "integrity": "sha512-Cv4OpPTHAK9kHYzkzCrof3VJh7H/PrG2MBUMvvJebaaUMbqhm0YAtXnvh0I3Hnj2tMZWwrRROWLSgfJrKqWmlQ==", "dependencies": { - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true - }, - "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 - }, - "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, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - }, - "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, - "requires": { - "ansi-regex": "^5.0.1" - } - } + "scoped-regex": "^2.0.0" + }, + "engines": { + "node": ">=8" } }, - "ansi-escapes": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", - "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==" + "node_modules/yeoman-environment/node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "ansi-regex": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", - "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==" - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "requires": { - "color-convert": "^1.9.0" - } - }, - "anymatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", - "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", - "dev": true, - "requires": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - } - }, - "aproba": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz", - "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==" - }, - "are-we-there-yet": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz", - "integrity": "sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==", - "requires": { - "delegates": "^1.0.0", - "readable-stream": "^3.6.0" - } - }, - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "requires": { - "sprintf-js": "~1.0.2" - } - }, - "array-buffer-byte-length": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz", - "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "is-array-buffer": "^3.0.1" - } - }, - "array-differ": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-3.0.0.tgz", - "integrity": "sha512-THtfYS6KtME/yIAhKjZ2ul7XI96lQGHRputJQHO80LAWQnuGP4iCIN8vdMRboGbIEYBwU33q8Tch1os2+X0kMg==" - }, - "array-includes": { - "version": "3.1.7", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.7.tgz", - "integrity": "sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "get-intrinsic": "^1.2.1", - "is-string": "^1.0.7" - } - }, - "array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==" - }, - "array.prototype.findlastindex": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.3.tgz", - "integrity": "sha512-LzLoiOMAxvy+Gd3BAq3B7VeIgPdo+Q8hthvKtXybMvRV0jrXfJM/t8mw7nNlpEcVlVUnCnM2KSX4XU5HmpodOA==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "es-shim-unscopables": "^1.0.0", - "get-intrinsic": "^1.2.1" - } - }, - "array.prototype.flat": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz", - "integrity": "sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "es-shim-unscopables": "^1.0.0" - } - }, - "array.prototype.flatmap": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz", - "integrity": "sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "es-shim-unscopables": "^1.0.0" - } - }, - "arraybuffer.prototype.slice": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.1.tgz", - "integrity": "sha512-09x0ZWFEjj4WD8PDbykUwo3t9arLn8NIzmmYEJFpYekOAQjpkGSyrQhNoRTcwwcFRu+ycWF78QZ63oWTqSjBcw==", - "dev": true, - "requires": { - "array-buffer-byte-length": "^1.0.0", - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "get-intrinsic": "^1.2.1", - "is-array-buffer": "^3.0.2", - "is-shared-array-buffer": "^1.0.2" - } - }, - "arrify": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz", - "integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==" - }, - "asap": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", - "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=" - }, - "asn1": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", - "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", - "requires": { - "safer-buffer": "~2.1.0" - } - }, - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" - }, - "assertion-error": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", - "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", - "dev": true - }, - "async": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", - "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==" - }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" - }, - "atomically": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/atomically/-/atomically-1.7.0.tgz", - "integrity": "sha512-Xcz9l0z7y9yQ9rdDaxlmaI4uJHf/T8g9hOEzJcsEqX2SjCj4J20uK7+ldkDHMbpJDK76wF7xEIgxc/vSlsfw5w==" - }, - "available-typed-arrays": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", - "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==" - }, - "aws-sdk": { - "version": "2.1204.0", - "resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1204.0.tgz", - "integrity": "sha512-H3dRQBdgzAfZ/e/dfiW44fhQrgAuCfIzWhI5y5J9122caI4uZY6TEUd003UXP4nXq2eMfuPWg0bA/mPwbj8RkA==", - "requires": { - "buffer": "4.9.2", - "events": "1.1.1", - "ieee754": "1.1.13", - "jmespath": "0.16.0", - "querystring": "0.2.0", - "sax": "1.2.1", - "url": "0.10.3", - "util": "^0.12.4", - "uuid": "8.0.0", - "xml2js": "0.4.19" - }, - "dependencies": { - "uuid": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.0.0.tgz", - "integrity": "sha512-jOXGuXZAWdsTH7eZLtyXMqUb9EcWMGZNbL9YcGBJl4MH4nrxHmZJhEHvyLFrkxo+28uLb/NYRcStH48fnD0Vzw==" - } - } - }, - "aws-sign2": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=" - }, - "aws4": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", - "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==" - }, - "axios": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.27.2.tgz", - "integrity": "sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==", - "requires": { - "follow-redirects": "^1.14.9", - "form-data": "^4.0.0" - }, - "dependencies": { - "form-data": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", - "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - } - } - } - }, - "balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" - }, - "base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" - }, - "bcrypt-pbkdf": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", - "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", - "requires": { - "tweetnacl": "^0.14.3" - } - }, - "before-after-hook": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.1.tgz", - "integrity": "sha512-/6FKxSTWoJdbsLDF8tdIjaRiFXiE6UHsEHE3OPI/cwPURCVi1ukP0gmLn7XWEiFk5TcwQjjY5PWsU+j+tgXgmw==" - }, - "big-integer": { - "version": "1.6.51", - "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.51.tgz", - "integrity": "sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg==", - "dev": true - }, - "bin-links": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/bin-links/-/bin-links-2.3.0.tgz", - "integrity": "sha512-JzrOLHLwX2zMqKdyYZjkDgQGT+kHDkIhv2/IK2lJ00qLxV4TmFoHi8drDBb6H5Zrz1YfgHkai4e2MGPqnoUhqA==", - "requires": { - "cmd-shim": "^4.0.1", - "mkdirp-infer-owner": "^2.0.0", - "npm-normalize-package-bin": "^1.0.0", - "read-cmd-shim": "^2.0.0", - "rimraf": "^3.0.0", - "write-file-atomic": "^3.0.3" - } - }, - "binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", - "dev": true - }, - "binaryextensions": { - "version": "4.18.0", - "resolved": "https://registry.npmjs.org/binaryextensions/-/binaryextensions-4.18.0.tgz", - "integrity": "sha512-PQu3Kyv9dM4FnwB7XGj1+HucW+ShvJzJqjuw1JkKVs1mWdwOKVcRjOi+pV9X52A0tNvrPCsPkbFFQb+wE1EAXw==" - }, - "bl": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", - "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", - "dev": true, - "requires": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" - }, - "dependencies": { - "buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "dev": true, - "requires": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - } - } - }, - "bluebird": { - "version": "3.7.2", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", - "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", - "dev": true - }, - "boxen": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/boxen/-/boxen-7.1.1.tgz", - "integrity": "sha512-2hCgjEmP8YLWQ130n2FerGv7rYpfBmnmp9Uy2Le1vge6X3gZIfSmEzP5QTDElFxcvVcXlEn8Aq6MU/PZygIOog==", - "dev": true, - "requires": { - "ansi-align": "^3.0.1", - "camelcase": "^7.0.1", - "chalk": "^5.2.0", - "cli-boxes": "^3.0.0", - "string-width": "^5.1.2", - "type-fest": "^2.13.0", - "widest-line": "^4.0.1", - "wrap-ansi": "^8.1.0" - }, - "dependencies": { - "ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", - "dev": true - }, - "ansi-styles": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", - "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", - "dev": true - }, - "chalk": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", - "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", - "dev": true - }, - "emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", - "dev": true - }, - "string-width": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", - "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", - "dev": true, - "requires": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" - } - }, - "strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", - "dev": true, - "requires": { - "ansi-regex": "^6.0.1" - } - }, - "type-fest": { - "version": "2.19.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz", - "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==", - "dev": true - }, - "wrap-ansi": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", - "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", - "dev": true, - "requires": { - "ansi-styles": "^6.1.0", - "string-width": "^5.0.1", - "strip-ansi": "^7.0.1" - } - } - } - }, - "bplist-parser": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.2.0.tgz", - "integrity": "sha512-z0M+byMThzQmD9NILRniCUXYsYpjwnlO8N5uCFaCqIOpqRsJCrQL9NK3JsD67CN5a08nF5oIL2bD6loTdHOuKw==", - "dev": true, - "requires": { - "big-integer": "^1.6.44" - } - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "requires": { - "fill-range": "^7.0.1" - } - }, - "browser-stdout": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", - "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==", - "dev": true - }, - "buffer": { - "version": "4.9.2", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", - "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", - "requires": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4", - "isarray": "^1.0.0" - } - }, - "buffer-from": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", - "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==" - }, - "builtins": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/builtins/-/builtins-1.0.3.tgz", - "integrity": "sha1-y5T662HIaWRR2zZTThQi+U8K7og=" - }, - "bundle-name": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bundle-name/-/bundle-name-3.0.0.tgz", - "integrity": "sha512-PKA4BeSvBpQKQ8iPOGCSiell+N8P+Tf1DlwqmYhpe2gAhKPHn8EYOxVT+ShuGmhg8lN8XiSlS80yiExKXrURlw==", - "dev": true, - "requires": { - "run-applescript": "^5.0.0" - } - }, - "cacache": { - "version": "15.3.0", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.3.0.tgz", - "integrity": "sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==", - "requires": { - "@npmcli/fs": "^1.0.0", - "@npmcli/move-file": "^1.0.1", - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "glob": "^7.1.4", - "infer-owner": "^1.0.4", - "lru-cache": "^6.0.0", - "minipass": "^3.1.1", - "minipass-collect": "^1.0.2", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.2", - "mkdirp": "^1.0.3", - "p-map": "^4.0.0", - "promise-inflight": "^1.0.1", - "rimraf": "^3.0.2", - "ssri": "^8.0.1", - "tar": "^6.0.2", - "unique-filename": "^1.1.1" - } - }, - "cacheable-lookup": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz", - "integrity": "sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==", - "dev": true - }, - "cacheable-request": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-7.0.4.tgz", - "integrity": "sha512-v+p6ongsrp0yTGbJXjgxPow2+DL93DASP4kXCDKb8/bwRtt9OEF3whggkkDkGNzgcWy2XaF4a8nZglC7uElscg==", - "dev": true, - "requires": { - "clone-response": "^1.0.2", - "get-stream": "^5.1.0", - "http-cache-semantics": "^4.0.0", - "keyv": "^4.0.0", - "lowercase-keys": "^2.0.0", - "normalize-url": "^6.0.1", - "responselike": "^2.0.0" - } - }, - "call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", - "requires": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" - } - }, - "callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true - }, - "camelcase": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-7.0.1.tgz", - "integrity": "sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==", - "dev": true - }, - "caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" - }, - "catharsis": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/catharsis/-/catharsis-0.9.0.tgz", - "integrity": "sha512-prMTQVpcns/tzFgFVkVp6ak6RykZyWb3gu8ckUpd6YkTlacOd3DXGJjIpD4Q6zJirizvaiAjSSHlOsA+6sNh2A==", - "dev": true, - "requires": { - "lodash": "^4.17.15" - } - }, - "chai": { - "version": "4.3.10", - "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.10.tgz", - "integrity": "sha512-0UXG04VuVbruMUYbJ6JctvH0YnC/4q3/AkT18q4NaITo91CUm0liMS9VqzT9vZhVQ/1eqPanMWjBM+Juhfb/9g==", - "dev": true, - "requires": { - "assertion-error": "^1.1.0", - "check-error": "^1.0.3", - "deep-eql": "^4.1.3", - "get-func-name": "^2.0.2", - "loupe": "^2.3.6", - "pathval": "^1.1.1", - "type-detect": "^4.0.8" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "chalk-template": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/chalk-template/-/chalk-template-1.1.0.tgz", - "integrity": "sha512-T2VJbcDuZQ0Tb2EWwSotMPJjgpy1/tGee1BTpUNsGZ/qgNjV2t7Mvu+d4600U564nbLesN1x2dPL+xii174Ekg==", - "dev": true, - "requires": { - "chalk": "^5.2.0" - }, - "dependencies": { - "chalk": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", - "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", - "dev": true - } - } - }, - "chardet": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", - "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==" - }, - "check-error": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.3.tgz", - "integrity": "sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==", - "dev": true, - "requires": { - "get-func-name": "^2.0.2" - } - }, - "chevrotain": { - "version": "10.3.0", - "resolved": "https://registry.npmjs.org/chevrotain/-/chevrotain-10.3.0.tgz", - "integrity": "sha512-sy3yTBfvNJmxzYOGWaDStZFuA7va5/MXwzBU+XBIol0bR0aYlfGqTjzgedeu32Ki/j7IVyvYAZO2PInBjmmMjg==", - "requires": { - "@chevrotain/cst-dts-gen": "10.3.0", - "@chevrotain/gast": "10.3.0", - "@chevrotain/types": "10.3.0", - "@chevrotain/utils": "10.3.0", - "lodash": "4.17.21", - "regexp-to-ast": "0.5.0" - } - }, - "chokidar": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", - "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", - "dev": true, - "requires": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "fsevents": "~2.3.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - } - }, - "chownr": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", - "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==" - }, - "clean-stack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", - "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==" - }, - "cli-boxes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-3.0.0.tgz", - "integrity": "sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==", - "dev": true - }, - "cli-cursor": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", - "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", - "requires": { - "restore-cursor": "^2.0.0" - } - }, - "cli-spinners": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.6.0.tgz", - "integrity": "sha512-t+4/y50K/+4xcCRosKkA7W4gTr1MySvLV0q+PxmG7FJ5g+66ChKurYjxBCjHggHH3HA5Hh9cy+lcUGWDqVH+4Q==", - "dev": true - }, - "cli-table": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/cli-table/-/cli-table-0.3.6.tgz", - "integrity": "sha512-ZkNZbnZjKERTY5NwC2SeMeLeifSPq/pubeRoTpdr3WchLlnZg6hEgvHkK5zL7KNFdd9PmHN8lxrENUwI3cE8vQ==", - "requires": { - "colors": "1.0.3" - }, - "dependencies": { - "colors": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz", - "integrity": "sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs=" - } - } - }, - "cli-truncate": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-4.0.0.tgz", - "integrity": "sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA==", - "dev": true, - "requires": { - "slice-ansi": "^5.0.0", - "string-width": "^7.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", - "dev": true - }, - "emoji-regex": { - "version": "10.3.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.3.0.tgz", - "integrity": "sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw==", - "dev": true - }, - "string-width": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.0.0.tgz", - "integrity": "sha512-GPQHj7row82Hjo9hKZieKcHIhaAIKOJvFSIZXuCU9OASVZrMNUaZuz++SPVrBjnLsnk4k+z9f2EIypgxf2vNFw==", - "dev": true, - "requires": { - "emoji-regex": "^10.3.0", - "get-east-asian-width": "^1.0.0", - "strip-ansi": "^7.1.0" - } - }, - "strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", - "dev": true, - "requires": { - "ansi-regex": "^6.0.1" - } - } - } - }, - "cli-width": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.1.tgz", - "integrity": "sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==" - }, - "cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", - "dev": true, - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true - }, - "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 - }, - "string-width": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", - "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" - } - }, - "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.0" - } - } - } - }, - "clone": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", - "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=", - "dev": true - }, - "clone-buffer": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/clone-buffer/-/clone-buffer-1.0.0.tgz", - "integrity": "sha1-4+JbIHrE5wGvch4staFnksrD3Fg=" - }, - "clone-response": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.3.tgz", - "integrity": "sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==", - "dev": true, - "requires": { - "mimic-response": "^1.0.0" - } - }, - "clone-stats": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-1.0.0.tgz", - "integrity": "sha1-s3gt/4u1R04Yuba/D9/ngvh3doA=" - }, - "cloneable-readable": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/cloneable-readable/-/cloneable-readable-1.1.3.tgz", - "integrity": "sha512-2EF8zTQOxYq70Y4XKtorQupqF0m49MBz2/yf5Bj+MHjvpG3Hy7sImifnqD6UA+TKYxeSV+u6qqQPawN5UvnpKQ==", - "requires": { - "inherits": "^2.0.1", - "process-nextick-args": "^2.0.0", - "readable-stream": "^2.3.5" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "cmd-shim": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/cmd-shim/-/cmd-shim-4.1.0.tgz", - "integrity": "sha512-lb9L7EM4I/ZRVuljLPEtUJOP+xiQVknZ4ZMpMgEp4JzNldPb27HU03hi6K1/6CoIuit/Zm/LQXySErFeXxDprw==", - "requires": { - "mkdirp-infer-owner": "^2.0.0" - } - }, - "code-point-at": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", - "dev": true - }, - "color": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/color/-/color-3.2.1.tgz", - "integrity": "sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==", - "requires": { - "color-convert": "^1.9.3", - "color-string": "^1.6.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" - }, - "color-string": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz", - "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==", - "requires": { - "color-name": "^1.0.0", - "simple-swizzle": "^0.2.2" - } - }, - "color-support": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", - "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==" - }, - "colorette": { - "version": "2.0.20", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", - "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", - "dev": true - }, - "colorspace": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/colorspace/-/colorspace-1.1.4.tgz", - "integrity": "sha512-BgvKJiuVu1igBUF2kEjRCZXol6wiiGbY5ipL/oVPwm0BL9sIpMIzM8IK7vwuxIIzOXMV3Ey5w+vxhm0rR/TN8w==", - "requires": { - "color": "^3.1.3", - "text-hex": "1.0.x" - } - }, - "combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "requires": { - "delayed-stream": "~1.0.0" - } - }, - "commander": { - "version": "9.4.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-9.4.0.tgz", - "integrity": "sha512-sRPT+umqkz90UA8M1yqYfnHlZA7fF6nSphDtxeywPZ49ysjxDQybzk13CL+mXekDRG92skbcqCLVovuCusNmFw==" - }, - "commander-version": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/commander-version/-/commander-version-1.1.0.tgz", - "integrity": "sha512-9aNW4N6q6EPDUszLRH6k9IwO6OoGYh3HRgUF/fA7Zs+Mz1v1x5akSqT7QGB8JsGY7AG7qMA7oRRB/4yyn33FYA==", - "dev": true, - "requires": { - "@bconnorwhite/module": "^2.0.2", - "commander": "^6.1.0" - }, - "dependencies": { - "commander": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz", - "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==", - "dev": true - } - } - }, - "common-ancestor-path": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/common-ancestor-path/-/common-ancestor-path-1.0.1.tgz", - "integrity": "sha512-L3sHRo1pXXEqX8VU28kfgUY+YGsk09hPqZiZmLacNib6XNTCM8ubYeT7ryXQw8asB1sKgcU5lkB7ONug08aB8w==" - }, - "commondir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=" - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" - }, - "concat-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", - "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", - "requires": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "conf": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/conf/-/conf-10.2.0.tgz", - "integrity": "sha512-8fLl9F04EJqjSqH+QjITQfJF8BrOVaYr1jewVgSRAEWePfxT0sku4w2hrGQ60BC/TNLGQ2pgxNlTbWQmMPFvXg==", - "requires": { - "ajv": "^8.6.3", - "ajv-formats": "^2.1.1", - "atomically": "^1.7.0", - "debounce-fn": "^4.0.0", - "dot-prop": "^6.0.1", - "env-paths": "^2.2.1", - "json-schema-typed": "^7.0.3", - "onetime": "^5.1.2", - "pkg-up": "^3.1.0", - "semver": "^7.3.5" - } - }, - "config-chain": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.13.tgz", - "integrity": "sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==", - "dev": true, - "requires": { - "ini": "^1.3.4", - "proto-list": "~1.2.1" - }, - "dependencies": { - "ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", - "dev": true - } - } - }, - "configstore": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/configstore/-/configstore-6.0.0.tgz", - "integrity": "sha512-cD31W1v3GqUlQvbBCGcXmd2Nj9SvLDOP1oQ0YFuLETufzSPaKp11rYBsSOm7rCsW3OnIRAFM3OxRhceaXNYHkA==", - "dev": true, - "requires": { - "dot-prop": "^6.0.1", - "graceful-fs": "^4.2.6", - "unique-string": "^3.0.0", - "write-file-atomic": "^3.0.3", - "xdg-basedir": "^5.0.1" - } - }, - "confusing-browser-globals": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.10.tgz", - "integrity": "sha512-gNld/3lySHwuhaVluJUKLePYirM3QNCKzVxqAdhJII9/WXKVX5PURzMVJspS1jTslSqjeuG4KMVTSouit5YPHA==", - "dev": true - }, - "console-control-strings": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", - "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=" - }, - "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" - }, - "cosmiconfig": { - "version": "8.3.6", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.6.tgz", - "integrity": "sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==", - "dev": true, - "requires": { - "import-fresh": "^3.3.0", - "js-yaml": "^4.1.0", - "parse-json": "^5.2.0", - "path-type": "^4.0.0" - }, - "dependencies": { - "argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true - }, - "js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dev": true, - "requires": { - "argparse": "^2.0.1" - } - } - } - }, - "cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - } - }, - "crypto-random-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-4.0.0.tgz", - "integrity": "sha512-x8dy3RnvYdlUcPOjkEHqozhiwzKNSq7GcPuXFbnyMOCHxX8V3OgIg/pYuabl2sbUPfIJaeAQB7PMOK8DFIdoRA==", - "dev": true, - "requires": { - "type-fest": "^1.0.1" - }, - "dependencies": { - "type-fest": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz", - "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==", - "dev": true - } - } - }, - "dargs": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/dargs/-/dargs-7.0.0.tgz", - "integrity": "sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg==" - }, - "dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", - "requires": { - "assert-plus": "^1.0.0" - } - }, - "date-fns": { - "version": "1.30.1", - "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-1.30.1.tgz", - "integrity": "sha512-hBSVCvSmWC+QypYObzwGOd9wqdDpOt+0wl0KbU+R+uuZBS1jN8VsD1ss3irQDknRj5NvxiTF6oj/nDRnN/UQNw==", - "dev": true - }, - "dateformat": { - "version": "4.5.1", - "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-4.5.1.tgz", - "integrity": "sha512-OD0TZ+B7yP7ZgpJf5K2DIbj3FZvFvxgFUuaqA/V5zTjAtAAXZ1E8bktHxmAGs4x5b7PflqA9LeQ84Og7wYtF7Q==" - }, - "debounce-fn": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/debounce-fn/-/debounce-fn-4.0.0.tgz", - "integrity": "sha512-8pYCQiL9Xdcg0UPSD3d+0KMlOjp+KGU5EPwYddgzQ7DATsg4fuUDjQtsYLmWjnk2obnNHgV3vE2Y4jejSOJVBQ==", - "requires": { - "mimic-fn": "^3.0.0" - }, - "dependencies": { - "mimic-fn": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-3.1.0.tgz", - "integrity": "sha512-Ysbi9uYW9hFyfrThdDEQuykN4Ey6BuwPD2kpI5ES/nFTDn/98yxYNLZJcgUAKPT/mcrLLKaGzJR9YVxJrIdASQ==" - } - } - }, - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "requires": { - "ms": "2.1.2" - }, - "dependencies": { - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - } - } - }, - "debuglog": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/debuglog/-/debuglog-1.0.1.tgz", - "integrity": "sha1-qiT/uaw9+aI1GDfPstJ5NgzXhJI=" - }, - "decompress-response": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", - "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", - "dev": true, - "requires": { - "mimic-response": "^3.1.0" - }, - "dependencies": { - "mimic-response": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", - "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", - "dev": true - } - } - }, - "deep-eql": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.3.tgz", - "integrity": "sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==", - "dev": true, - "requires": { - "type-detect": "^4.0.0" - } - }, - "deep-extend": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", - "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==" - }, - "deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true - }, - "default-browser": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/default-browser/-/default-browser-4.0.0.tgz", - "integrity": "sha512-wX5pXO1+BrhMkSbROFsyxUm0i/cJEScyNhA4PPxc41ICuv05ZZB/MX28s8aZx6xjmatvebIapF6hLEKEcpneUA==", - "dev": true, - "requires": { - "bundle-name": "^3.0.0", - "default-browser-id": "^3.0.0", - "execa": "^7.1.1", - "titleize": "^3.0.0" - }, - "dependencies": { - "execa": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-7.1.1.tgz", - "integrity": "sha512-wH0eMf/UXckdUYnO21+HDztteVv05rq2GXksxT4fCGeHkBhw1DROXh40wcjMcRqDOWE7iPJ4n3M7e2+YFP+76Q==", - "dev": true, - "requires": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.1", - "human-signals": "^4.3.0", - "is-stream": "^3.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^5.1.0", - "onetime": "^6.0.0", - "signal-exit": "^3.0.7", - "strip-final-newline": "^3.0.0" - } - }, - "get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", - "dev": true - }, - "human-signals": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-4.3.1.tgz", - "integrity": "sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==", - "dev": true - }, - "is-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", - "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", - "dev": true - }, - "mimic-fn": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", - "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", - "dev": true - }, - "npm-run-path": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.1.0.tgz", - "integrity": "sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==", - "dev": true, - "requires": { - "path-key": "^4.0.0" - } - }, - "onetime": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", - "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", - "dev": true, - "requires": { - "mimic-fn": "^4.0.0" - } - }, - "path-key": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", - "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", - "dev": true - }, - "strip-final-newline": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", - "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", - "dev": true - } - } - }, - "default-browser-id": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/default-browser-id/-/default-browser-id-3.0.0.tgz", - "integrity": "sha512-OZ1y3y0SqSICtE8DE4S8YOE9UZOJ8wO16fKWVP5J1Qz42kV9jcnMVFrEE/noXb/ss3Q4pZIH79kxofzyNNtUNA==", - "dev": true, - "requires": { - "bplist-parser": "^0.2.0", - "untildify": "^4.0.0" - } - }, - "defaults": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", - "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=", - "dev": true, - "requires": { - "clone": "^1.0.2" - } - }, - "defer-to-connect": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz", - "integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==", - "dev": true - }, - "define-lazy-prop": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz", - "integrity": "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==", - "dev": true - }, - "define-properties": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz", - "integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==", - "dev": true, - "requires": { - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" - } - }, - "del": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/del/-/del-7.1.0.tgz", - "integrity": "sha512-v2KyNk7efxhlyHpjEvfyxaAihKKK0nWCuf6ZtqZcFFpQRG0bJ12Qsr0RpvsICMjAAZ8DOVCxrlqpxISlMHC4Kg==", - "dev": true, - "requires": { - "globby": "^13.1.2", - "graceful-fs": "^4.2.10", - "is-glob": "^4.0.3", - "is-path-cwd": "^3.0.0", - "is-path-inside": "^4.0.0", - "p-map": "^5.5.0", - "rimraf": "^3.0.2", - "slash": "^4.0.0" - }, - "dependencies": { - "aggregate-error": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-4.0.1.tgz", - "integrity": "sha512-0poP0T7el6Vq3rstR8Mn4V/IQrpBLO6POkUSrN7RhyY+GF/InCFShQzsQ39T25gkHhLgSLByyAz+Kjb+c2L98w==", - "dev": true, - "requires": { - "clean-stack": "^4.0.0", - "indent-string": "^5.0.0" - } - }, - "clean-stack": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-4.2.0.tgz", - "integrity": "sha512-LYv6XPxoyODi36Dp976riBtSY27VmFo+MKqEU9QCCWyTrdEPDog+RWA7xQWHi6Vbp61j5c4cdzzX1NidnwtUWg==", - "dev": true, - "requires": { - "escape-string-regexp": "5.0.0" - } - }, - "escape-string-regexp": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", - "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", - "dev": true - }, - "globby": { - "version": "13.2.2", - "resolved": "https://registry.npmjs.org/globby/-/globby-13.2.2.tgz", - "integrity": "sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==", - "dev": true, - "requires": { - "dir-glob": "^3.0.1", - "fast-glob": "^3.3.0", - "ignore": "^5.2.4", - "merge2": "^1.4.1", - "slash": "^4.0.0" - } - }, - "indent-string": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-5.0.0.tgz", - "integrity": "sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==", - "dev": true - }, - "is-path-inside": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-4.0.0.tgz", - "integrity": "sha512-lJJV/5dYS+RcL8uQdBDW9c9uWFLLBNRyFhnAKXw5tVqLlKZ4RMGZKv+YQ/IA3OhD+RpbJa1LLFM1FQPGyIXvOA==", - "dev": true - }, - "p-map": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-5.5.0.tgz", - "integrity": "sha512-VFqfGDHlx87K66yZrNdI4YGtD70IRyd+zSvgks6mzHPRNkoKy+9EKP4SFC77/vTTQYmRmti7dvqC+m5jBrBAcg==", - "dev": true, - "requires": { - "aggregate-error": "^4.0.0" - } - }, - "slash": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", - "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", - "dev": true - } - } - }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" - }, - "delegates": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", - "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=" - }, - "depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" - }, - "deprecation": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz", - "integrity": "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==" - }, - "detect-indent": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-6.1.0.tgz", - "integrity": "sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==" - }, - "detect-newline": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", - "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==" - }, - "dezalgo": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.3.tgz", - "integrity": "sha1-f3Qt4Gb8dIvI24IFad3c5Jvw1FY=", - "requires": { - "asap": "^2.0.0", - "wrappy": "1" - } - }, - "didyoumean": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", - "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==" - }, - "diff": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", - "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==" - }, - "dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "requires": { - "path-type": "^4.0.0" - } - }, - "doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dev": true, - "requires": { - "esutils": "^2.0.2" - } - }, - "dot-prop": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-6.0.1.tgz", - "integrity": "sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA==", - "requires": { - "is-obj": "^2.0.0" - } - }, - "drange": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/drange/-/drange-1.1.1.tgz", - "integrity": "sha512-pYxfDYpued//QpnLIm4Avk7rsNtAtQkUES2cwAYSvD/wd2pKD71gN2Ebj3e7klzXwjocvE8c5vx/1fxwpqmSxA==" - }, - "eastasianwidth": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", - "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", - "dev": true - }, - "ecc-jsbn": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", - "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", - "requires": { - "jsbn": "~0.1.0", - "safer-buffer": "^2.1.0" - } - }, - "ejs": { - "version": "3.1.8", - "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.8.tgz", - "integrity": "sha512-/sXZeMlhS0ArkfX2Aw780gJzXSMPnKjtspYZv+f3NiKLlubezAHDU5+9xz6gd3/NhG3txQCo6xlglmTS+oTGEQ==", - "requires": { - "jake": "^10.8.5" - } - }, - "ejs-include-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/ejs-include-regex/-/ejs-include-regex-1.0.0.tgz", - "integrity": "sha1-4vcVdcv9VRrIALJHTB9io45wCTo=", - "dev": true - }, - "ejs-lint": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ejs-lint/-/ejs-lint-2.0.0.tgz", - "integrity": "sha512-zt3E6MWLBYpWuUEOFRRqzB74gxCOZJAzoKmJR810U2mIrLnP1v6Xyk8tc6tl4pbT63cFoEqELPx9K8URjmpyZg==", - "dev": true, - "requires": { - "chalk": "^5.0.0", - "ejs": "3.1.8", - "ejs-include-regex": "^1.0.0", - "globby": "^13.0.0", - "read-input": "^0.3.1", - "slash": "^5.0.0", - "syntax-error": "^1.1.6", - "yargs": "^17.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true - }, - "chalk": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.1.2.tgz", - "integrity": "sha512-E5CkT4jWURs1Vy5qGJye+XwCkNj7Od3Af7CP6SujMetSMkLs8Do2RWJK5yx1wamHV/op8Rz+9rltjaTQWDnEFQ==", - "dev": true - }, - "cliui": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", - "dev": true, - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" - } - }, - "globby": { - "version": "13.1.2", - "resolved": "https://registry.npmjs.org/globby/-/globby-13.1.2.tgz", - "integrity": "sha512-LKSDZXToac40u8Q1PQtZihbNdTYSNMuWe+K5l+oa6KgDzSvVrHXlJy40hUP522RjAIoNLJYBJi7ow+rbFpIhHQ==", - "dev": true, - "requires": { - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.11", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^4.0.0" - }, - "dependencies": { - "slash": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", - "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", - "dev": true - } - } - }, - "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 - }, - "slash": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-5.0.0.tgz", - "integrity": "sha512-n6KkmvKS0623igEVj3FF0OZs1gYYJ0o0Hj939yc1fyxl2xt+xYpLnzJB6xBSqOfV9ZFLEWodBBN/heZJahuIJQ==", - "dev": true - }, - "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, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - }, - "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, - "requires": { - "ansi-regex": "^5.0.1" - } - }, - "yargs": { - "version": "17.6.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.6.2.tgz", - "integrity": "sha512-1/9UrdHjDZc0eOU0HxOHoS78C69UD3JRMvzlJ7S79S2nTaWRA/whGCTV8o9e/N/1Va9YIV7Q4sOxD8VV4pCWOw==", - "dev": true, - "requires": { - "cliui": "^8.0.1", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.3", - "y18n": "^5.0.5", - "yargs-parser": "^21.1.1" - } - }, - "yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", - "dev": true - } - } - }, - "elegant-spinner": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/elegant-spinner/-/elegant-spinner-1.0.1.tgz", - "integrity": "sha1-2wQ1IcldfjA/2PNFvtwzSc+wcp4=", - "dev": true - }, - "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==" - }, - "enabled": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/enabled/-/enabled-2.0.0.tgz", - "integrity": "sha512-AKrN98kuwOzMIdAizXGI86UFBoo26CL21UM763y1h/GMSJ4/OHU9k2YlsmBpyScFo/wbLzWQJBMCW4+IO3/+OQ==" - }, - "encoding": { - "version": "0.1.13", - "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", - "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", - "optional": true, - "requires": { - "iconv-lite": "^0.6.2" - }, - "dependencies": { - "iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "optional": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - } - } - } - }, - "end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "requires": { - "once": "^1.4.0" - } - }, - "entities": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.1.0.tgz", - "integrity": "sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==", - "dev": true - }, - "env-paths": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", - "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==" - }, - "err-code": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", - "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==" - }, - "error": { - "version": "10.4.0", - "resolved": "https://registry.npmjs.org/error/-/error-10.4.0.tgz", - "integrity": "sha512-YxIFEJuhgcICugOUvRx5th0UM+ActZ9sjY0QJmeVwsQdvosZ7kYzc9QqS0Da3R5iUmgU5meGIxh0xBeZpMVeLw==" - }, - "error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "requires": { - "is-arrayish": "^0.2.1" - }, - "dependencies": { - "is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" - } - } - }, - "es-abstract": { - "version": "1.22.1", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.1.tgz", - "integrity": "sha512-ioRRcXMO6OFyRpyzV3kE1IIBd4WG5/kltnzdxSCqoP8CMGs/Li+M1uF5o7lOkZVFjDs+NLesthnF66Pg/0q0Lw==", - "dev": true, - "requires": { - "array-buffer-byte-length": "^1.0.0", - "arraybuffer.prototype.slice": "^1.0.1", - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "es-set-tostringtag": "^2.0.1", - "es-to-primitive": "^1.2.1", - "function.prototype.name": "^1.1.5", - "get-intrinsic": "^1.2.1", - "get-symbol-description": "^1.0.0", - "globalthis": "^1.0.3", - "gopd": "^1.0.1", - "has": "^1.0.3", - "has-property-descriptors": "^1.0.0", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3", - "internal-slot": "^1.0.5", - "is-array-buffer": "^3.0.2", - "is-callable": "^1.2.7", - "is-negative-zero": "^2.0.2", - "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.2", - "is-string": "^1.0.7", - "is-typed-array": "^1.1.10", - "is-weakref": "^1.0.2", - "object-inspect": "^1.12.3", - "object-keys": "^1.1.1", - "object.assign": "^4.1.4", - "regexp.prototype.flags": "^1.5.0", - "safe-array-concat": "^1.0.0", - "safe-regex-test": "^1.0.0", - "string.prototype.trim": "^1.2.7", - "string.prototype.trimend": "^1.0.6", - "string.prototype.trimstart": "^1.0.6", - "typed-array-buffer": "^1.0.0", - "typed-array-byte-length": "^1.0.0", - "typed-array-byte-offset": "^1.0.0", - "typed-array-length": "^1.0.4", - "unbox-primitive": "^1.0.2", - "which-typed-array": "^1.1.10" - } - }, - "es-set-tostringtag": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz", - "integrity": "sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==", - "dev": true, - "requires": { - "get-intrinsic": "^1.1.3", - "has": "^1.0.3", - "has-tostringtag": "^1.0.0" - } - }, - "es-shim-unscopables": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz", - "integrity": "sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==", - "dev": true, - "requires": { - "hasown": "^2.0.0" - } - }, - "es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", - "dev": true, - "requires": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - } - }, - "escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", - "dev": true - }, - "escape-goat": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-goat/-/escape-goat-4.0.0.tgz", - "integrity": "sha512-2Sd4ShcWxbx6OY1IHyla/CVNwvg7XwZVoXZHcSu9w9SReNP1EzzD5T8NWKIR38fIqEns9kDWKUQTXXAmlDrdPg==", - "dev": true - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" - }, - "eslint": { - "version": "8.56.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.56.0.tgz", - "integrity": "sha512-Go19xM6T9puCOWntie1/P997aXxFsOi37JIHRWI514Hc6ZnaHGKY9xFhrU65RT6CcBEzZoGG1e6Nq+DT04ZtZQ==", - "dev": true, - "requires": { - "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.6.1", - "@eslint/eslintrc": "^2.1.4", - "@eslint/js": "8.56.0", - "@humanwhocodes/config-array": "^0.11.13", - "@humanwhocodes/module-importer": "^1.0.1", - "@nodelib/fs.walk": "^1.2.8", - "@ungap/structured-clone": "^1.2.0", - "ajv": "^6.12.4", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.3.2", - "doctrine": "^3.0.0", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.2.2", - "eslint-visitor-keys": "^3.4.3", - "espree": "^9.6.1", - "esquery": "^1.4.2", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "globals": "^13.19.0", - "graphemer": "^1.4.0", - "ignore": "^5.2.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "is-path-inside": "^3.0.3", - "js-yaml": "^4.1.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.1.2", - "natural-compare": "^1.4.0", - "optionator": "^0.9.3", - "strip-ansi": "^6.0.1", - "text-table": "^0.2.0" - }, - "dependencies": { - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true - }, - "argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true - }, - "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 - }, - "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, - "requires": { - "flat-cache": "^3.0.4" - } - }, - "flat-cache": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", - "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", - "dev": true, - "requires": { - "flatted": "^3.1.0", - "rimraf": "^3.0.2" - } - }, - "flatted": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.1.1.tgz", - "integrity": "sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA==", - "dev": true - }, - "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, - "requires": { - "is-glob": "^4.0.3" - } - }, - "js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dev": true, - "requires": { - "argparse": "^2.0.1" - } - }, - "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 - }, - "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, - "requires": { - "ansi-regex": "^5.0.1" - } - } - } - }, - "eslint-config-airbnb-base": { - "version": "15.0.0", - "resolved": "https://registry.npmjs.org/eslint-config-airbnb-base/-/eslint-config-airbnb-base-15.0.0.tgz", - "integrity": "sha512-xaX3z4ZZIcFLvh2oUNvcX5oEofXda7giYmuplVxoOg5A7EXJMrUyqRgR+mhDhPK8LZ4PttFOBvCYDbX3sUoUig==", - "dev": true, - "requires": { - "confusing-browser-globals": "^1.0.10", - "object.assign": "^4.1.2", - "object.entries": "^1.1.5", - "semver": "^6.3.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "eslint-config-prettier": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-9.1.0.tgz", - "integrity": "sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==", - "dev": true, - "requires": {} - }, - "eslint-import-resolver-node": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz", - "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==", - "dev": true, - "requires": { - "debug": "^3.2.7", - "is-core-module": "^2.13.0", - "resolve": "^1.22.4" - }, - "dependencies": { - "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - } - } - }, - "eslint-module-utils": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.0.tgz", - "integrity": "sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==", - "dev": true, - "requires": { - "debug": "^3.2.7" - }, - "dependencies": { - "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - } - } - }, - "eslint-plugin-import": { - "version": "2.29.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.29.1.tgz", - "integrity": "sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==", - "dev": true, - "requires": { - "array-includes": "^3.1.7", - "array.prototype.findlastindex": "^1.2.3", - "array.prototype.flat": "^1.3.2", - "array.prototype.flatmap": "^1.3.2", - "debug": "^3.2.7", - "doctrine": "^2.1.0", - "eslint-import-resolver-node": "^0.3.9", - "eslint-module-utils": "^2.8.0", - "hasown": "^2.0.0", - "is-core-module": "^2.13.1", - "is-glob": "^4.0.3", - "minimatch": "^3.1.2", - "object.fromentries": "^2.0.7", - "object.groupby": "^1.0.1", - "object.values": "^1.1.7", - "semver": "^6.3.1", - "tsconfig-paths": "^3.15.0" - }, - "dependencies": { - "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", - "dev": true, - "requires": { - "esutils": "^2.0.2" - } - }, - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true - } - } - }, - "eslint-plugin-prettier": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-4.2.1.tgz", - "integrity": "sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ==", - "dev": true, - "requires": { - "prettier-linter-helpers": "^1.0.0" - } - }, - "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, - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - } - }, - "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 - }, - "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, - "requires": { - "acorn": "^8.9.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.4.1" - }, - "dependencies": { - "acorn": { - "version": "8.11.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.2.tgz", - "integrity": "sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==", - "dev": true - } - } - }, - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" - }, - "esquery": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.2.tgz", - "integrity": "sha512-JVSoLdTlTDkmjFmab7H/9SL9qGSyjElT3myyKp7krqjVFQCDLmj1QFaCLRFBszBKI0XVZaiiXvuPIX3ZwHe1Ng==", - "dev": true, - "requires": { - "estraverse": "^5.1.0" - } - }, - "esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, - "requires": { - "estraverse": "^5.2.0" - } - }, - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true - }, - "esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true - }, - "event-target-shim": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", - "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==" - }, - "eventemitter3": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", - "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==" - }, - "events": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz", - "integrity": "sha512-kEcvvCBByWXGnZy6JUlgAp2gBIUjfCAV6P6TgT1/aaQKcmuAEC4OZTV1I4EWQLz2gxZw76atuVyvHhTxvi0Flw==" - }, - "execa": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", - "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", - "requires": { - "cross-spawn": "^7.0.0", - "get-stream": "^5.0.0", - "human-signals": "^1.1.1", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.0", - "onetime": "^5.1.0", - "signal-exit": "^3.0.2", - "strip-final-newline": "^2.0.0" - }, - "dependencies": { - "is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==" - } - } - }, - "exit-hook": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/exit-hook/-/exit-hook-4.0.0.tgz", - "integrity": "sha512-Fqs7ChZm72y40wKjOFXBKg7nJZvQJmewP5/7LtePDdnah/+FH9Hp5sgMujSCMPXlxOAW2//1jrW9pnsY7o20vQ==", - "dev": true - }, - "extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" - }, - "external-editor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", - "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", - "requires": { - "chardet": "^0.7.0", - "iconv-lite": "^0.4.24", - "tmp": "^0.0.33" - } - }, - "extsprintf": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=" - }, - "fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" - }, - "fast-diff": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz", - "integrity": "sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==", - "dev": true - }, - "fast-glob": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", - "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", - "requires": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" - } - }, - "fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" - }, - "fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true - }, - "fastq": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.8.0.tgz", - "integrity": "sha512-SMIZoZdLh/fgofivvIkmknUXyPnvxRE3DhtZ5Me3Mrsk5gyPL42F0xr51TdRXskBxHfMp+07bcYzfsYEsSQA9Q==", - "requires": { - "reusify": "^1.0.4" - } - }, - "fecha": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/fecha/-/fecha-4.2.3.tgz", - "integrity": "sha512-OP2IUU6HeYKJi3i0z4A19kHMQoLVs4Hc+DPqqxI2h/DPZHTm/vjsfC6P0b4jCMy14XizLBqvndQ+UilD7707Jw==" - }, - "figures": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", - "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", - "requires": { - "escape-string-regexp": "^1.0.5" - } - }, - "filelist": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.1.tgz", - "integrity": "sha512-8zSK6Nu0DQIC08mUC46sWGXi+q3GGpKydAG36k+JDba6VRpkevvOWUW5a/PhShij4+vHT9M+ghgG7eM+a9JDUQ==", - "requires": { - "minimatch": "^3.0.4" - } - }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "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==", - "requires": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "dependencies": { - "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==", - "requires": { - "p-locate": "^5.0.0" - } - }, - "p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "requires": { - "yocto-queue": "^0.1.0" - } - }, - "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==", - "requires": { - "p-limit": "^3.0.2" - } - }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==" - } - } - }, - "find-up-simple": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/find-up-simple/-/find-up-simple-1.0.0.tgz", - "integrity": "sha512-q7Us7kcjj2VMePAa02hDAF6d+MzsdsAWEwYyOpwUtlerRBkOEPBCRZrAV4XfcSN8fHAgaD0hP7miwoay6DCprw==", - "dev": true - }, - "find-yarn-workspace-root2": { - "version": "1.2.16", - "resolved": "https://registry.npmjs.org/find-yarn-workspace-root2/-/find-yarn-workspace-root2-1.2.16.tgz", - "integrity": "sha512-hr6hb1w8ePMpPVUK39S4RlwJzi+xPLuVuG8XlwXU3KD5Yn3qgBWVfy3AzNlDhWvE1EORCE65/Qm26rFQt3VLVA==", - "requires": { - "micromatch": "^4.0.2", - "pkg-dir": "^4.2.0" - }, - "dependencies": { - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "requires": { - "p-locate": "^4.1.0" - } - }, - "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==", - "requires": { - "p-limit": "^2.2.0" - } - }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==" - }, - "pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", - "requires": { - "find-up": "^4.0.0" - } - } - } - }, - "first-chunk-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/first-chunk-stream/-/first-chunk-stream-2.0.0.tgz", - "integrity": "sha1-G97NuOCDwGZLkZRVgVd6Q6nzHXA=", - "requires": { - "readable-stream": "^2.0.2" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "flat": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", - "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", - "dev": true - }, - "fn.name": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fn.name/-/fn.name-1.1.0.tgz", - "integrity": "sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw==" - }, - "follow-redirects": { - "version": "1.15.4", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.4.tgz", - "integrity": "sha512-Cr4D/5wlrb0z9dgERpUL3LrmPKVDsETIJhaCMeDfuFYcqa5bldGV6wBsAN6X/vxlXQtFBMrXdXxdL8CbDTGniw==" - }, - "for-each": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", - "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", - "requires": { - "is-callable": "^1.1.3" - } - }, - "forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=" - }, - "form-data": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", - "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" - } - }, - "form-data-encoder": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/form-data-encoder/-/form-data-encoder-2.1.4.tgz", - "integrity": "sha512-yDYSgNMraqvnxiEXO4hi88+YZxaHC6QKzb5N84iRCTDeRO7ZALpir/lVmf/uXUhnwUr2O4HU8s/n6x+yNjQkHw==", - "dev": true - }, - "fs-extra": { - "version": "11.2.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz", - "integrity": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==", - "requires": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - } - }, - "fs-minipass": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", - "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", - "requires": { - "minipass": "^3.0.0" - } - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" - }, - "fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "dev": true, - "optional": true - }, - "function-bind": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==" - }, - "function.prototype.name": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", - "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.0", - "functions-have-names": "^1.2.2" - } - }, - "functions-have-names": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", - "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", - "dev": true - }, - "gauge": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-3.0.1.tgz", - "integrity": "sha512-6STz6KdQgxO4S/ko+AbjlFGGdGcknluoqU+79GOFCDqqyYj5OanQf9AjxwN0jCidtT+ziPMmPSt9E4hfQ0CwIQ==", - "requires": { - "aproba": "^1.0.3 || ^2.0.0", - "color-support": "^1.1.2", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.1", - "object-assign": "^4.1.1", - "signal-exit": "^3.0.0", - "string-width": "^1.0.1 || ^2.0.0", - "strip-ansi": "^3.0.1 || ^4.0.0", - "wide-align": "^1.1.2" - }, - "dependencies": { - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "requires": { - "ansi-regex": "^3.0.0" - } - } - } - }, - "generator-jhipster": { - "version": "7.9.4", - "resolved": "https://registry.npmjs.org/generator-jhipster/-/generator-jhipster-7.9.4.tgz", - "integrity": "sha512-O9f/2RVlC1l/b/9bZ7FMJKeIWkFMlCcDC+lPaDMnc39dWn/dVa22PDzZtGR19BCoQ+hHTlKsndvXiwVwkBbKVA==", - "requires": { - "@faker-js/faker": "5.5.3", - "aws-sdk": "2.1204.0", - "axios": "0.27.2", - "chalk": "4.1.2", - "chevrotain": "10.3.0", - "commander": "9.4.0", - "conf": "10.2.0", - "debug": "4.3.4", - "didyoumean": "1.2.2", - "ejs": "3.1.8", - "escape-string-regexp": "4.0.0", - "glob": "8.0.3", - "insight": "0.11.1", - "isbinaryfile": "4.0.10", - "js-yaml": "4.1.0", - "lodash": "4.17.21", - "mem-fs-editor": "9.5.0", - "minimatch": "5.1.0", - "normalize-path": "3.0.0", - "os-locale": "5.0.0", - "p-queue": "6.6.2", - "p-transform": "1.3.0", - "parse-gitignore": "2.0.0", - "pluralize": "8.0.0", - "prettier": "2.7.1", - "prettier-plugin-java": "1.6.2", - "prettier-plugin-packagejson": "2.2.18", - "progress": "2.0.3", - "randexp": "0.5.3", - "semver": "7.3.7", - "shelljs": "0.8.5", - "simple-git": "3.13.0", - "then-request": "6.0.2", - "uuid": "8.3.2", - "winston": "3.8.1", - "yeoman-environment": "3.19.3", - "yeoman-generator": "5.7.0" - }, - "dependencies": { - "argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" - }, - "brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "requires": { - "balanced-match": "^1.0.0" - } - }, - "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==" - }, - "glob": { - "version": "8.0.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-8.0.3.tgz", - "integrity": "sha512-ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ==", - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^5.0.1", - "once": "^1.3.0" - } - }, - "js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "requires": { - "argparse": "^2.0.1" - } - }, - "minimatch": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz", - "integrity": "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==", - "requires": { - "brace-expansion": "^2.0.1" - } - }, - "prettier": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.7.1.tgz", - "integrity": "sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g==" - }, - "semver": { - "version": "7.3.7", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", - "requires": { - "lru-cache": "^6.0.0" - } - } - } - }, - "get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true - }, - "get-east-asian-width": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.2.0.tgz", - "integrity": "sha512-2nk+7SIVb14QrgXFHcm84tD4bKQz0RxPuMT8Ag5KPOq7J5fEmAg0UbXdTOSHqNuHSU28k55qnceesxXRZGzKWA==", - "dev": true - }, - "get-func-name": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.2.tgz", - "integrity": "sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==", - "dev": true - }, - "get-intrinsic": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz", - "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==", - "requires": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3" - } - }, - "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==", - "requires": { - "pump": "^3.0.0" - } - }, - "get-symbol-description": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", - "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" - } - }, - "getpass": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", - "requires": { - "assert-plus": "^1.0.0" - } - }, - "git-hooks-list": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/git-hooks-list/-/git-hooks-list-1.0.3.tgz", - "integrity": "sha512-Y7wLWcrLUXwk2noSka166byGCvhMtDRpgHdzCno1UQv/n/Hegp++a2xBWJL1lJarnKD3SWaljD+0z1ztqxuKyQ==" - }, - "github-url-from-git": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/github-url-from-git/-/github-url-from-git-1.5.0.tgz", - "integrity": "sha1-+YX+3MCpqledyI16/waNVcxiUaA=", - "dev": true - }, - "github-username": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/github-username/-/github-username-6.0.0.tgz", - "integrity": "sha512-7TTrRjxblSI5l6adk9zd+cV5d6i1OrJSo3Vr9xdGqFLBQo0mz5P9eIfKCDJ7eekVGGFLbce0qbPSnktXV2BjDQ==", - "requires": { - "@octokit/rest": "^18.0.6" - } - }, - "glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "requires": { - "is-glob": "^4.0.1" - } - }, - "global-directory": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/global-directory/-/global-directory-4.0.1.tgz", - "integrity": "sha512-wHTUcDUoZ1H5/0iVqEudYW4/kAlN5cZ3j/bXn0Dpbizl9iaUVeWSHqiOjsgk6OW2bkLclbBjzewBz6weQ1zA2Q==", - "dev": true, - "requires": { - "ini": "4.1.1" - } - }, - "global-dirs": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.1.tgz", - "integrity": "sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==", - "dev": true, - "requires": { - "ini": "2.0.0" - }, - "dependencies": { - "ini": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz", - "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==", - "dev": true - } - } - }, - "globals": { - "version": "13.23.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.23.0.tgz", - "integrity": "sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==", - "dev": true, - "requires": { - "type-fest": "^0.20.2" - }, - "dependencies": { - "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 - } - } - }, - "globalthis": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", - "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", - "dev": true, - "requires": { - "define-properties": "^1.1.3" - } - }, - "globby": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-10.0.0.tgz", - "integrity": "sha512-3LifW9M4joGZasyYPz2A1U74zbC/45fvpXUvO/9KbSa+VV0aGZarWkfdgKyR9sExNP0t0x0ss/UMJpNpcaTspw==", - "requires": { - "@types/glob": "^7.1.1", - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.0.3", - "glob": "^7.1.3", - "ignore": "^5.1.1", - "merge2": "^1.2.3", - "slash": "^3.0.0" - } - }, - "gopd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", - "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", - "requires": { - "get-intrinsic": "^1.1.3" - } - }, - "got": { - "version": "11.8.6", - "resolved": "https://registry.npmjs.org/got/-/got-11.8.6.tgz", - "integrity": "sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g==", - "dev": true, - "requires": { - "@sindresorhus/is": "^4.0.0", - "@szmarczak/http-timer": "^4.0.5", - "@types/cacheable-request": "^6.0.1", - "@types/responselike": "^1.0.0", - "cacheable-lookup": "^5.0.3", - "cacheable-request": "^7.0.2", - "decompress-response": "^6.0.0", - "http2-wrapper": "^1.0.0-beta.5.2", - "lowercase-keys": "^2.0.0", - "p-cancelable": "^2.0.0", - "responselike": "^2.0.0" - } - }, - "graceful-fs": { - "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" - }, - "graphemer": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", - "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", - "dev": true - }, - "grouped-queue": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/grouped-queue/-/grouped-queue-2.0.0.tgz", - "integrity": "sha512-/PiFUa7WIsl48dUeCvhIHnwNmAAzlI/eHoJl0vu3nsFA366JleY7Ff8EVTplZu5kO0MIdZjKTTnzItL61ahbnw==" - }, - "har-schema": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=" - }, - "har-validator": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", - "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", - "requires": { - "ajv": "^6.12.3", - "har-schema": "^2.0.0" - }, - "dependencies": { - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "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==" - } - } - }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "requires": { - "function-bind": "^1.1.1" - } - }, - "has-ansi": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", - "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", - "dev": true, - "requires": { - "ansi-regex": "^2.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true - } - } - }, - "has-bigints": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", - "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", - "dev": true - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" - }, - "has-property-descriptors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", - "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", - "dev": true, - "requires": { - "get-intrinsic": "^1.1.1" - } - }, - "has-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", - "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==" - }, - "has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" - }, - "has-tostringtag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", - "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", - "requires": { - "has-symbols": "^1.0.2" - } - }, - "has-unicode": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", - "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=" - }, - "has-yarn": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-yarn/-/has-yarn-3.0.0.tgz", - "integrity": "sha512-IrsVwUHhEULx3R8f/aA8AHuEzAorplsab/v8HBzEiIukwq5i/EC+xmOW+HfP1OaDP+2JkgT1yILHN2O3UFIbcA==", - "dev": true - }, - "hasown": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz", - "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==", - "requires": { - "function-bind": "^1.1.2" - } - }, - "he": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", - "dev": true - }, - "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==" - }, - "http-basic": { - "version": "8.1.3", - "resolved": "https://registry.npmjs.org/http-basic/-/http-basic-8.1.3.tgz", - "integrity": "sha512-/EcDMwJZh3mABI2NhGfHOGOeOZITqfkEO4p/xK+l3NpyncIHUQBoMvCSF/b5GqvKtySC2srL/GGG3+EtlqlmCw==", - "requires": { - "caseless": "^0.12.0", - "concat-stream": "^1.6.2", - "http-response-object": "^3.0.1", - "parse-cache-control": "^1.0.1" - } - }, - "http-cache-semantics": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", - "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==" - }, - "http-proxy-agent": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", - "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", - "requires": { - "@tootallnate/once": "1", - "agent-base": "6", - "debug": "4" - } - }, - "http-response-object": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/http-response-object/-/http-response-object-3.0.2.tgz", - "integrity": "sha512-bqX0XTF6fnXSQcEJ2Iuyr75yVakyjIDCqroJQ/aHfSdlM743Cwqoi2nDYMzLGWUcuTWGWy8AAvOKXTfiv6q9RA==", - "requires": { - "@types/node": "^10.0.3" - }, - "dependencies": { - "@types/node": { - "version": "10.17.56", - "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.56.tgz", - "integrity": "sha512-LuAa6t1t0Bfw4CuSR0UITsm1hP17YL+u82kfHGrHUWdhlBtH7sa7jGY5z7glGaIj/WDYDkRtgGd+KCjCzxBW1w==" - } - } - }, - "http-signature": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", - "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", - "requires": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" - } - }, - "http2-wrapper": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-1.0.3.tgz", - "integrity": "sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==", - "dev": true, - "requires": { - "quick-lru": "^5.1.1", - "resolve-alpn": "^1.0.0" - } - }, - "https-proxy-agent": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz", - "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==", - "requires": { - "agent-base": "6", - "debug": "4" - } - }, - "human-signals": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", - "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==" - }, - "humanize-ms": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz", - "integrity": "sha1-xG4xWaKT9riW2ikxbYtv6Lt5u+0=", - "requires": { - "ms": "^2.0.0" - } - }, - "husky": { - "version": "8.0.3", - "resolved": "https://registry.npmjs.org/husky/-/husky-8.0.3.tgz", - "integrity": "sha512-+dQSyqPh4x1hlO1swXBiNb2HzTDN1I2IGLQx1GrBuiqFJfoMrnZWwVmatvSiO+Iz8fBUnf+lekwNo4c2LlXItg==", - "dev": true - }, - "iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, - "ieee754": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz", - "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==" - }, - "ignore": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.0.tgz", - "integrity": "sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg==" - }, - "ignore-walk": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-6.0.3.tgz", - "integrity": "sha512-C7FfFoTA+bI10qfeydT8aZbvr91vAEU+2W5BZUlzPec47oNb07SsOfwYrtxuvOYdUApPP/Qlh4DtAO51Ekk2QA==", - "dev": true, - "requires": { - "minimatch": "^9.0.0" - }, - "dependencies": { - "brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0" - } - }, - "minimatch": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.1.tgz", - "integrity": "sha512-0jWhJpD/MdhPXwPuiRkCbfYfSKp2qnn2eOc279qI7f+osl/l+prKSrvhg157zSYvx/1nmgn2NqdT6k2Z7zSH9w==", - "dev": true, - "requires": { - "brace-expansion": "^2.0.1" - } - } - } - }, - "import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "dev": true, - "requires": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "dependencies": { - "resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true - } - } - }, - "import-lazy": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-4.0.0.tgz", - "integrity": "sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==", - "dev": true - }, - "import-local": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", - "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", - "dev": true, - "requires": { - "pkg-dir": "^4.2.0", - "resolve-cwd": "^3.0.0" - }, - "dependencies": { - "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, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "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, - "requires": { - "p-locate": "^4.1.0" - } - }, - "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, - "requires": { - "p-limit": "^2.2.0" - } - }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true - }, - "pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", - "dev": true, - "requires": { - "find-up": "^4.0.0" - } - } - } - }, - "imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=" - }, - "indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==" - }, - "index-to-position": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/index-to-position/-/index-to-position-0.1.2.tgz", - "integrity": "sha512-MWDKS3AS1bGCHLBA2VLImJz42f7bJh8wQsTGCzI3j519/CASStoDONUBVz2I/VID0MpiX3SGSnbOD2xUalbE5g==", - "dev": true - }, - "infer-owner": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", - "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==" - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "ini": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ini/-/ini-4.1.1.tgz", - "integrity": "sha512-QQnnxNyfvmHFIsj7gkPcYymR8Jdw/o7mp5ZFihxn6h8Ci6fh3Dx4E1gPjpQEpIuPo9XVNY/ZUwh4BPMjGyL01g==", - "dev": true - }, - "inquirer": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.5.2.tgz", - "integrity": "sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ==", - "requires": { - "ansi-escapes": "^3.2.0", - "chalk": "^2.4.2", - "cli-cursor": "^2.1.0", - "cli-width": "^2.0.0", - "external-editor": "^3.0.3", - "figures": "^2.0.0", - "lodash": "^4.17.12", - "mute-stream": "0.0.7", - "run-async": "^2.2.0", - "rxjs": "^6.4.0", - "string-width": "^2.1.0", - "strip-ansi": "^5.1.0", - "through": "^2.3.6" - }, - "dependencies": { - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - } - } - }, - "inquirer-autosubmit-prompt": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/inquirer-autosubmit-prompt/-/inquirer-autosubmit-prompt-0.2.0.tgz", - "integrity": "sha512-mzNrusCk5L6kSzlN0Ioddn8yzrhYNLli+Sn2ZxMuLechMYAzakiFCIULxsxlQb5YKzthLGfrFACcWoAvM7p04Q==", - "dev": true, - "requires": { - "chalk": "^2.4.1", - "inquirer": "^6.2.1", - "rxjs": "^6.3.3" - }, - "dependencies": { - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - } - } - }, - "insight": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/insight/-/insight-0.11.1.tgz", - "integrity": "sha512-TBcZ0qC9dgdmcxL93OoqkY/RZXJtIi0i07phX/QyYk2ysmJtZex59dgTj4Doq50N9CG9dLRe/RIudc/5CCoFNw==", - "requires": { - "async": "^2.6.2", - "chalk": "^4.1.1", - "conf": "^10.0.1", - "inquirer": "^6.3.1", - "lodash.debounce": "^4.0.8", - "os-name": "^4.0.1", - "request": "^2.88.0", - "tough-cookie": "^4.0.0", - "uuid": "^8.3.2" - }, - "dependencies": { - "async": { - "version": "2.6.4", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", - "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", - "requires": { - "lodash": "^4.17.14" - } - } - } - }, - "internal-slot": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz", - "integrity": "sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==", - "dev": true, - "requires": { - "get-intrinsic": "^1.2.0", - "has": "^1.0.3", - "side-channel": "^1.0.4" - } - }, - "interpret": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", - "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==" - }, - "invert-kv": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-3.0.1.tgz", - "integrity": "sha512-CYdFeFexxhv/Bcny+Q0BfOV+ltRlJcd4BBZBYFX/O0u4npJrgZtIcjokegtiSMAvlMTJ+Koq0GBCc//3bueQxw==" - }, - "ip": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", - "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=" - }, - "is-arguments": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", - "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", - "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - } - }, - "is-array-buffer": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz", - "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.0", - "is-typed-array": "^1.1.10" - } - }, - "is-arrayish": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", - "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==" - }, - "is-bigint": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", - "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", - "dev": true, - "requires": { - "has-bigints": "^1.0.1" - } - }, - "is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dev": true, - "requires": { - "binary-extensions": "^2.0.0" - } - }, - "is-boolean-object": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", - "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - } - }, - "is-callable": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", - "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==" - }, - "is-core-module": { - "version": "2.13.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", - "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", - "requires": { - "hasown": "^2.0.0" - } - }, - "is-date-object": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz", - "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==", - "dev": true - }, - "is-docker": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz", - "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==", - "dev": true - }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" - }, - "is-generator-function": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", - "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "requires": { - "is-extglob": "^2.1.1" - } - }, - "is-in-ci": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/is-in-ci/-/is-in-ci-0.1.0.tgz", - "integrity": "sha512-d9PXLEY0v1iJ64xLiQMJ51J128EYHAaOR4yZqQi8aHGfw6KgifM3/Viw1oZZ1GCVmb3gBuyhLyHj0HgR2DhSXQ==", - "dev": true - }, - "is-inside-container": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz", - "integrity": "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==", - "dev": true, - "requires": { - "is-docker": "^3.0.0" - } - }, - "is-installed-globally": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-1.0.0.tgz", - "integrity": "sha512-K55T22lfpQ63N4KEN57jZUAaAYqYHEe8veb/TycJRk9DdSCLLcovXz/mL6mOnhQaZsQGwPhuFopdQIlqGSEjiQ==", - "dev": true, - "requires": { - "global-directory": "^4.0.1", - "is-path-inside": "^4.0.0" - }, - "dependencies": { - "is-path-inside": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-4.0.0.tgz", - "integrity": "sha512-lJJV/5dYS+RcL8uQdBDW9c9uWFLLBNRyFhnAKXw5tVqLlKZ4RMGZKv+YQ/IA3OhD+RpbJa1LLFM1FQPGyIXvOA==", - "dev": true - } - } - }, - "is-interactive": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", - "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", - "dev": true - }, - "is-lambda": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz", - "integrity": "sha1-PZh3iZ5qU+/AFgUEzeFfgubwYdU=" - }, - "is-name-taken": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-name-taken/-/is-name-taken-2.0.0.tgz", - "integrity": "sha512-W+FUWF5g7ONVJTx3rldZeVizmPzrMMUdscpSQ96vyYerx+4b2NcqaujLJJDWruGzE0FjzGZO9RFIipOGxx/WIw==", - "dev": true, - "requires": { - "all-package-names": "^2.0.2", - "package-name-conflict": "^1.0.3", - "validate-npm-package-name": "^3.0.0" - } - }, - "is-negative-zero": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", - "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", - "dev": true - }, - "is-npm": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-6.0.0.tgz", - "integrity": "sha512-JEjxbSmtPSt1c8XTkVrlujcXdKV1/tvuQ7GwKcAlyiVLeYFQ2VHat8xfrDJsIkhCdF/tZ7CiIR3sy141c6+gPQ==", - "dev": true - }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" - }, - "is-number-object": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", - "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", - "dev": true, - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "is-obj": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", - "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==" - }, - "is-observable": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-observable/-/is-observable-1.1.0.tgz", - "integrity": "sha512-NqCa4Sa2d+u7BWc6CukaObG3Fh+CU9bvixbpcXYhy2VvYS7vVGIdAgnIS5Ks3A/cqk4rebLJ9s8zBstT2aKnIA==", - "dev": true, - "requires": { - "symbol-observable": "^1.1.0" - }, - "dependencies": { - "symbol-observable": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz", - "integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==", - "dev": true - } - } - }, - "is-path-cwd": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-3.0.0.tgz", - "integrity": "sha512-kyiNFFLU0Ampr6SDZitD/DwUo4Zs1nSdnygUBqsu3LooL00Qvb5j+UnvApUn/TTj1J3OuE6BTdQ5rudKmU2ZaA==", - "dev": true - }, - "is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", - "dev": true - }, - "is-promise": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.2.2.tgz", - "integrity": "sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==", - "dev": true - }, - "is-regex": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", - "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - } - }, - "is-scoped": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-scoped/-/is-scoped-2.1.0.tgz", - "integrity": "sha512-Cv4OpPTHAK9kHYzkzCrof3VJh7H/PrG2MBUMvvJebaaUMbqhm0YAtXnvh0I3Hnj2tMZWwrRROWLSgfJrKqWmlQ==", - "requires": { - "scoped-regex": "^2.0.0" - } - }, - "is-shared-array-buffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", - "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", - "dev": true, - "requires": { - "call-bind": "^1.0.2" - } - }, - "is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", - "dev": true - }, - "is-string": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", - "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", - "dev": true, - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "is-symbol": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz", - "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==", - "dev": true, - "requires": { - "has-symbols": "^1.0.1" - } - }, - "is-typed-array": { - "version": "1.1.10", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz", - "integrity": "sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==", - "requires": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-tostringtag": "^1.0.0" - } - }, - "is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" - }, - "is-unicode-supported": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", - "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==" - }, - "is-url-superb": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/is-url-superb/-/is-url-superb-6.1.0.tgz", - "integrity": "sha512-LXdhGlYqUPdvEyIhWPEEwYYK3yrUiPcBjmFGlZNv1u5GtIL5qQRf7ddDyPNAvsMFqdzS923FROpTQU97tLe3JQ==", - "dev": true - }, - "is-utf8": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", - "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=" - }, - "is-weakref": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", - "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", - "dev": true, - "requires": { - "call-bind": "^1.0.2" - } - }, - "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, - "requires": { - "is-docker": "^2.0.0" - }, - "dependencies": { - "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 - } - } - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" - }, - "isbinaryfile": { - "version": "4.0.10", - "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-4.0.10.tgz", - "integrity": "sha512-iHrqe5shvBUcFbmZq9zOQHBoeOhZJu6RQGrDpBgenUm/Am+F3JM2MgQj+rK3Z601fzrL5gLZWtAPH2OBaSVcyw==" - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" - }, - "isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" - }, - "issue-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/issue-regex/-/issue-regex-4.1.0.tgz", - "integrity": "sha512-X3HBmm7+Th+l4/kMtqwcHHgELD0Lfl0Ina6S3+grr+mKmTxsrM84NAO1UuRPIxIbGLIl3TCEu45S1kdu21HYbQ==", - "dev": true - }, - "jake": { - "version": "10.8.5", - "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.5.tgz", - "integrity": "sha512-sVpxYeuAhWt0OTWITwT98oyV0GsXyMlXCF+3L1SuafBVUIr/uILGRB+NqwkzhgXKvoJpDIpQvqkUALgdmQsQxw==", - "requires": { - "async": "^3.2.3", - "chalk": "^4.0.2", - "filelist": "^1.0.1", - "minimatch": "^3.0.4" - } - }, - "java-parser": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/java-parser/-/java-parser-2.0.2.tgz", - "integrity": "sha512-fwv1eDYE4OIAN+XS7cD8aB7UdQyAh3Uz36ydWqemvnDKXEdLbxq7qIbvsjpSvS1NHFR+r81N7AjGcpnamjVxJw==", - "requires": { - "chevrotain": "6.5.0", - "lodash": "4.17.21" - }, - "dependencies": { - "chevrotain": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/chevrotain/-/chevrotain-6.5.0.tgz", - "integrity": "sha512-BwqQ/AgmKJ8jcMEjaSnfMybnKMgGTrtDKowfTP3pX4jwVy0kNjRsT/AP6h+wC3+3NC+X8X15VWBnTCQlX+wQFg==", - "requires": { - "regexp-to-ast": "0.4.0" - } - }, - "regexp-to-ast": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/regexp-to-ast/-/regexp-to-ast-0.4.0.tgz", - "integrity": "sha512-4qf/7IsIKfSNHQXSwial1IFmfM1Cc/whNBQqRwe0V2stPe7KmN1U0tWQiIx6JiirgSrisjE0eECdNf7Tav1Ntw==" - } - } - }, - "jmespath": { - "version": "0.16.0", - "resolved": "https://registry.npmjs.org/jmespath/-/jmespath-0.16.0.tgz", - "integrity": "sha512-9FzQjJ7MATs1tSpnco1K6ayiYE3figslrXA72G2HQ/n76RzvYlofyi5QM+iX4YRs/pu3yzxlVQSST23+dMDknw==" - }, - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" - }, - "js-yaml": { - "version": "3.14.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz", - "integrity": "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==", - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - }, - "js2xmlparser": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/js2xmlparser/-/js2xmlparser-4.0.2.tgz", - "integrity": "sha512-6n4D8gLlLf1n5mNLQPRfViYzu9RATblzPEtm1SthMX1Pjao0r9YI9nw7ZIfRxQMERS87mcswrg+r/OYrPRX6jA==", - "dev": true, - "requires": { - "xmlcreate": "^2.0.4" - } - }, - "jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=" - }, - "jsdoc": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/jsdoc/-/jsdoc-4.0.2.tgz", - "integrity": "sha512-e8cIg2z62InH7azBBi3EsSEqrKx+nUtAS5bBcYTSpZFA+vhNPyhv8PTFZ0WsjOPDj04/dOLlm08EDcQJDqaGQg==", - "dev": true, - "requires": { - "@babel/parser": "^7.20.15", - "@jsdoc/salty": "^0.2.1", - "@types/markdown-it": "^12.2.3", - "bluebird": "^3.7.2", - "catharsis": "^0.9.0", - "escape-string-regexp": "^2.0.0", - "js2xmlparser": "^4.0.2", - "klaw": "^3.0.0", - "markdown-it": "^12.3.2", - "markdown-it-anchor": "^8.4.1", - "marked": "^4.0.10", - "mkdirp": "^1.0.4", - "requizzle": "^0.2.3", - "strip-json-comments": "^3.1.0", - "underscore": "~1.13.2" - }, - "dependencies": { - "escape-string-regexp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", - "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", - "dev": true - } - } - }, - "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 - }, - "json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" - }, - "json-schema": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", - "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==" - }, - "json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" - }, - "json-schema-typed": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/json-schema-typed/-/json-schema-typed-7.0.3.tgz", - "integrity": "sha512-7DE8mpG+/fVw+dTpjbxnx47TaMnDfOI1jwft9g1VybltZCduyRQPJPvc+zzKY9WPHxhPWczyFuYa6I8Mw4iU5A==" - }, - "json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", - "dev": true - }, - "json-stringify-nice": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/json-stringify-nice/-/json-stringify-nice-1.1.4.tgz", - "integrity": "sha512-5Z5RFW63yxReJ7vANgW6eZFGWaQvnPE3WNmZoOJrSkGju2etKA2L5rrOa1sm877TVTFt57A80BH1bArcmlLfPw==" - }, - "json-stringify-safe": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" - }, - "json5": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", - "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", - "dev": true, - "requires": { - "minimist": "^1.2.0" - } - }, - "jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "requires": { - "graceful-fs": "^4.1.6", - "universalify": "^2.0.0" - } - }, - "jsonparse": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", - "integrity": "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=" - }, - "jsprim": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", - "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", - "requires": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.4.0", - "verror": "1.10.0" - } - }, - "just-diff": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/just-diff/-/just-diff-3.1.1.tgz", - "integrity": "sha512-sdMWKjRq8qWZEjDcVA6llnUT8RDEBIfOiGpYFPYa9u+2c39JCsejktSP7mj5eRid5EIvTzIpQ2kDOCw1Nq9BjQ==" - }, - "just-diff-apply": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/just-diff-apply/-/just-diff-apply-3.1.2.tgz", - "integrity": "sha512-TCa7ZdxCeq6q3Rgms2JCRHTCfWAETPZ8SzYUbkYF6KR3I03sN29DaOIC+xyWboIcMvjAsD5iG2u/RWzHD8XpgQ==" - }, - "just-extend": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/just-extend/-/just-extend-4.2.1.tgz", - "integrity": "sha512-g3UB796vUFIY90VIv/WX3L2c8CS2MdWUww3CNrYmqza1Fg0DURc2K/O4YrnklBdQarSJ/y8JnJYDGc+1iumQjg==", - "dev": true - }, - "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, - "requires": { - "json-buffer": "3.0.1" - } - }, - "klaw": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/klaw/-/klaw-3.0.0.tgz", - "integrity": "sha512-0Fo5oir+O9jnXu5EefYbVK+mHMBeEVEy2cmctR1O1NECcCkPRreJKrS6Qt/j3KC2C148Dfo9i3pCmCMsdqGr0g==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.9" - } - }, - "kuler": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/kuler/-/kuler-2.0.0.tgz", - "integrity": "sha512-Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A==" - }, - "latest-version": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-7.0.0.tgz", - "integrity": "sha512-KvNT4XqAMzdcL6ka6Tl3i2lYeFDgXNCuIX+xNx6ZMVR1dFq+idXd9FLKNMOIx0t9mJ9/HudyX4oZWXZQ0UJHeg==", - "dev": true, - "requires": { - "package-json": "^8.1.0" - } - }, - "lcid": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/lcid/-/lcid-3.1.1.tgz", - "integrity": "sha512-M6T051+5QCGLBQb8id3hdvIW8+zeFV2FyBGFS9IEK5H9Wt4MueD4bW1eWikpHgZp+5xR3l5c8pZUkQsIA0BFZg==", - "requires": { - "invert-kv": "^3.0.0" - } - }, - "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, - "requires": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - } - }, - "lilconfig": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.0.0.tgz", - "integrity": "sha512-K2U4W2Ff5ibV7j7ydLr+zLAkIg5JJ4lPn1Ltsdt+Tz/IjQ8buJ55pZAxoP34lqIiwtF9iAvtLv3JGv7CAyAg+g==", - "dev": true - }, - "lines-and-columns": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz", - "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=" - }, - "linkify-it": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-3.0.3.tgz", - "integrity": "sha512-ynTsyrFSdE5oZ/O9GEf00kPngmOfVwazR5GKDq6EYfhlpFug3J2zybX56a2PRRpc9P+FuSoGNAwjlbDs9jJBPQ==", - "dev": true, - "requires": { - "uc.micro": "^1.0.1" - } - }, - "lint-staged": { - "version": "15.2.0", - "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-15.2.0.tgz", - "integrity": "sha512-TFZzUEV00f+2YLaVPWBWGAMq7So6yQx+GG8YRMDeOEIf95Zn5RyiLMsEiX4KTNl9vq/w+NqRJkLA1kPIo15ufQ==", - "dev": true, - "requires": { - "chalk": "5.3.0", - "commander": "11.1.0", - "debug": "4.3.4", - "execa": "8.0.1", - "lilconfig": "3.0.0", - "listr2": "8.0.0", - "micromatch": "4.0.5", - "pidtree": "0.6.0", - "string-argv": "0.3.2", - "yaml": "2.3.4" - }, - "dependencies": { - "chalk": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", - "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", - "dev": true - }, - "commander": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-11.1.0.tgz", - "integrity": "sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==", - "dev": true - }, - "execa": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", - "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==", - "dev": true, - "requires": { - "cross-spawn": "^7.0.3", - "get-stream": "^8.0.1", - "human-signals": "^5.0.0", - "is-stream": "^3.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^5.1.0", - "onetime": "^6.0.0", - "signal-exit": "^4.1.0", - "strip-final-newline": "^3.0.0" - } - }, - "get-stream": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", - "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==", - "dev": true - }, - "human-signals": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", - "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==", - "dev": true - }, - "is-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", - "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", - "dev": true - }, - "mimic-fn": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", - "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", - "dev": true - }, - "npm-run-path": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.1.0.tgz", - "integrity": "sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==", - "dev": true, - "requires": { - "path-key": "^4.0.0" - } - }, - "onetime": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", - "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", - "dev": true, - "requires": { - "mimic-fn": "^4.0.0" - } - }, - "path-key": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", - "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", - "dev": true - }, - "signal-exit": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", - "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", - "dev": true - }, - "strip-final-newline": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", - "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", - "dev": true - } - } - }, - "listr": { - "version": "0.14.3", - "resolved": "https://registry.npmjs.org/listr/-/listr-0.14.3.tgz", - "integrity": "sha512-RmAl7su35BFd/xoMamRjpIE4j3v+L28o8CT5YhAXQJm1fD+1l9ngXY8JAQRJ+tFK2i5njvi0iRUKV09vPwA0iA==", - "dev": true, - "requires": { - "@samverschueren/stream-to-observable": "^0.3.0", - "is-observable": "^1.1.0", - "is-promise": "^2.1.0", - "is-stream": "^1.1.0", - "listr-silent-renderer": "^1.1.1", - "listr-update-renderer": "^0.5.0", - "listr-verbose-renderer": "^0.5.0", - "p-map": "^2.0.0", - "rxjs": "^6.3.3" - }, - "dependencies": { - "p-map": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz", - "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==", - "dev": true - } - } - }, - "listr-input": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/listr-input/-/listr-input-0.2.1.tgz", - "integrity": "sha512-oa8iVG870qJq+OuuMK3DjGqFcwsK1SDu+kULp9kEq09TY231aideIZenr3lFOQdASpAr6asuyJBbX62/a3IIhg==", - "dev": true, - "requires": { - "inquirer": "^7.0.0", - "inquirer-autosubmit-prompt": "^0.2.0", - "rxjs": "^6.5.3", - "through": "^2.3.8" - }, - "dependencies": { - "ansi-escapes": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz", - "integrity": "sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==", - "dev": true, - "requires": { - "type-fest": "^0.11.0" - } - }, - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true - }, - "cli-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", - "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", - "dev": true, - "requires": { - "restore-cursor": "^3.1.0" - } - }, - "cli-width": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", - "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", - "dev": true - }, - "figures": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", - "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", - "dev": true, - "requires": { - "escape-string-regexp": "^1.0.5" - } - }, - "inquirer": { - "version": "7.3.3", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz", - "integrity": "sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==", - "dev": true, - "requires": { - "ansi-escapes": "^4.2.1", - "chalk": "^4.1.0", - "cli-cursor": "^3.1.0", - "cli-width": "^3.0.0", - "external-editor": "^3.0.3", - "figures": "^3.0.0", - "lodash": "^4.17.19", - "mute-stream": "0.0.8", - "run-async": "^2.4.0", - "rxjs": "^6.6.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0", - "through": "^2.3.6" - } - }, - "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 - }, - "mute-stream": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", - "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", - "dev": true - }, - "restore-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", - "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", - "dev": true, - "requires": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" - } - }, - "string-width": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", - "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" - } - }, - "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.0" - } - }, - "type-fest": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz", - "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==", - "dev": true - } - } - }, - "listr-silent-renderer": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/listr-silent-renderer/-/listr-silent-renderer-1.1.1.tgz", - "integrity": "sha1-kktaN1cVN3C/Go4/v3S4u/P5JC4=", - "dev": true - }, - "listr-update-renderer": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/listr-update-renderer/-/listr-update-renderer-0.5.0.tgz", - "integrity": "sha512-tKRsZpKz8GSGqoI/+caPmfrypiaq+OQCbd+CovEC24uk1h952lVj5sC7SqyFUm+OaJ5HN/a1YLt5cit2FMNsFA==", - "dev": true, - "requires": { - "chalk": "^1.1.3", - "cli-truncate": "^0.2.1", - "elegant-spinner": "^1.0.1", - "figures": "^1.7.0", - "indent-string": "^3.0.0", - "log-symbols": "^1.0.2", - "log-update": "^2.3.0", - "strip-ansi": "^3.0.1" - }, - "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true - }, - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - } - }, - "cli-truncate": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-0.2.1.tgz", - "integrity": "sha1-nxXPuwcFAFNpIWxiasfQWrkN1XQ=", - "dev": true, - "requires": { - "slice-ansi": "0.0.4", - "string-width": "^1.0.1" - } - }, - "figures": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz", - "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=", - "dev": true, - "requires": { - "escape-string-regexp": "^1.0.5", - "object-assign": "^4.1.0" - } - }, - "indent-string": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz", - "integrity": "sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok=", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "dev": true, - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "log-symbols": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-1.0.2.tgz", - "integrity": "sha1-N2/3tY6jCGoPCfrMdGF+ylAeGhg=", - "dev": true, - "requires": { - "chalk": "^1.0.0" - } - }, - "log-update": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/log-update/-/log-update-2.3.0.tgz", - "integrity": "sha1-iDKP19HOeTiykoN0bwsbwSayRwg=", - "dev": true, - "requires": { - "ansi-escapes": "^3.0.0", - "cli-cursor": "^2.0.0", - "wrap-ansi": "^3.0.1" - } - }, - "slice-ansi": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-0.0.4.tgz", - "integrity": "sha1-7b+JA/ZvfOL46v1s7tZeJkyDGzU=", - "dev": true - }, - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "dev": true, - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dev": true, - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true - }, - "wrap-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-3.0.1.tgz", - "integrity": "sha1-KIoE2H7aXChuBg3+jxNc6NAH+Lo=", - "dev": true, - "requires": { - "string-width": "^2.1.1", - "strip-ansi": "^4.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", - "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "dev": true, - "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - } - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "^3.0.0" - } - } - } - } - } - }, - "listr-verbose-renderer": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/listr-verbose-renderer/-/listr-verbose-renderer-0.5.0.tgz", - "integrity": "sha512-04PDPqSlsqIOaaaGZ+41vq5FejI9auqTInicFRndCBgE3bXG8D6W1I+mWhk+1nqbHmyhla/6BUrd5OSiHwKRXw==", - "dev": true, - "requires": { - "chalk": "^2.4.1", - "cli-cursor": "^2.1.0", - "date-fns": "^1.27.2", - "figures": "^2.0.0" - }, - "dependencies": { - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - } - } - }, - "listr2": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/listr2/-/listr2-8.0.0.tgz", - "integrity": "sha512-u8cusxAcyqAiQ2RhYvV7kRKNLgUvtObIbhOX2NCXqvp1UU32xIg5CT22ykS2TPKJXZWJwtK3IKLiqAGlGNE+Zg==", - "dev": true, - "requires": { - "cli-truncate": "^4.0.0", - "colorette": "^2.0.20", - "eventemitter3": "^5.0.1", - "log-update": "^6.0.0", - "rfdc": "^1.3.0", - "wrap-ansi": "^9.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", - "dev": true - }, - "ansi-styles": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", - "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", - "dev": true - }, - "emoji-regex": { - "version": "10.3.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.3.0.tgz", - "integrity": "sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw==", - "dev": true - }, - "eventemitter3": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.1.tgz", - "integrity": "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==", - "dev": true - }, - "string-width": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.0.0.tgz", - "integrity": "sha512-GPQHj7row82Hjo9hKZieKcHIhaAIKOJvFSIZXuCU9OASVZrMNUaZuz++SPVrBjnLsnk4k+z9f2EIypgxf2vNFw==", - "dev": true, - "requires": { - "emoji-regex": "^10.3.0", - "get-east-asian-width": "^1.0.0", - "strip-ansi": "^7.1.0" - } - }, - "strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", - "dev": true, - "requires": { - "ansi-regex": "^6.0.1" - } - }, - "wrap-ansi": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.0.tgz", - "integrity": "sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==", - "dev": true, - "requires": { - "ansi-styles": "^6.2.1", - "string-width": "^7.0.0", - "strip-ansi": "^7.1.0" - } - } - } - }, - "load-yaml-file": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/load-yaml-file/-/load-yaml-file-0.2.0.tgz", - "integrity": "sha512-OfCBkGEw4nN6JLtgRidPX6QxjBQGQf72q3si2uvqyFEMbycSFFHwAZeXx6cJgFM9wmLrf9zBwCP3Ivqa+LLZPw==", - "requires": { - "graceful-fs": "^4.1.5", - "js-yaml": "^3.13.0", - "pify": "^4.0.1", - "strip-bom": "^3.0.0" - }, - "dependencies": { - "pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==" - }, - "strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=" - } - } - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" - }, - "lodash.debounce": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", - "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=" - }, - "lodash.get": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", - "integrity": "sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=", - "dev": true - }, - "lodash.isequal": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", - "integrity": "sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==", - "dev": true - }, - "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 - }, - "lodash.zip": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/lodash.zip/-/lodash.zip-4.2.0.tgz", - "integrity": "sha512-C7IOaBBK/0gMORRBd8OETNx3kmOkgIWIPvyDpZSCTwUrpYmgZwJkjZeOD8ww4xbOUOs4/attY+pciKvadNfFbg==", - "dev": true - }, - "log-symbols": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", - "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", - "requires": { - "chalk": "^4.1.0", - "is-unicode-supported": "^0.1.0" - } - }, - "log-update": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/log-update/-/log-update-6.0.0.tgz", - "integrity": "sha512-niTvB4gqvtof056rRIrTZvjNYE4rCUzO6X/X+kYjd7WFxXeJ0NwEFnRxX6ehkvv3jTwrXnNdtAak5XYZuIyPFw==", - "dev": true, - "requires": { - "ansi-escapes": "^6.2.0", - "cli-cursor": "^4.0.0", - "slice-ansi": "^7.0.0", - "strip-ansi": "^7.1.0", - "wrap-ansi": "^9.0.0" - }, - "dependencies": { - "ansi-escapes": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-6.2.0.tgz", - "integrity": "sha512-kzRaCqXnpzWs+3z5ABPQiVke+iq0KXkHo8xiWV4RPTi5Yli0l97BEQuhXV1s7+aSU/fu1kUuxgS4MsQ0fRuygw==", - "dev": true, - "requires": { - "type-fest": "^3.0.0" - } - }, - "ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", - "dev": true - }, - "ansi-styles": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", - "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", - "dev": true - }, - "cli-cursor": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-4.0.0.tgz", - "integrity": "sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==", - "dev": true, - "requires": { - "restore-cursor": "^4.0.0" - } - }, - "emoji-regex": { - "version": "10.3.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.3.0.tgz", - "integrity": "sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw==", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-5.0.0.tgz", - "integrity": "sha512-OVa3u9kkBbw7b8Xw5F9P+D/T9X+Z4+JruYVNapTjPYZYUznQ5YfWeFkOj606XYYW8yugTfC8Pj0hYqvi4ryAhA==", - "dev": true, - "requires": { - "get-east-asian-width": "^1.0.0" - } - }, - "restore-cursor": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-4.0.0.tgz", - "integrity": "sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==", - "dev": true, - "requires": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" - } - }, - "slice-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-7.1.0.tgz", - "integrity": "sha512-bSiSngZ/jWeX93BqeIAbImyTbEihizcwNjFoRUIY/T1wWQsfsm2Vw1agPKylXvQTU7iASGdHhyqRlqQzfz+Htg==", - "dev": true, - "requires": { - "ansi-styles": "^6.2.1", - "is-fullwidth-code-point": "^5.0.0" - } - }, - "string-width": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.0.0.tgz", - "integrity": "sha512-GPQHj7row82Hjo9hKZieKcHIhaAIKOJvFSIZXuCU9OASVZrMNUaZuz++SPVrBjnLsnk4k+z9f2EIypgxf2vNFw==", - "dev": true, - "requires": { - "emoji-regex": "^10.3.0", - "get-east-asian-width": "^1.0.0", - "strip-ansi": "^7.1.0" - } - }, - "strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", - "dev": true, - "requires": { - "ansi-regex": "^6.0.1" - } - }, - "type-fest": { - "version": "3.13.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-3.13.1.tgz", - "integrity": "sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g==", - "dev": true - }, - "wrap-ansi": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.0.tgz", - "integrity": "sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==", - "dev": true, - "requires": { - "ansi-styles": "^6.2.1", - "string-width": "^7.0.0", - "strip-ansi": "^7.1.0" - } - } - } - }, - "logform": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/logform/-/logform-2.4.2.tgz", - "integrity": "sha512-W4c9himeAwXEdZ05dQNerhFz2XG80P9Oj0loPUMV23VC2it0orMHQhJm4hdnnor3rd1HsGf6a2lPwBM1zeXHGw==", - "requires": { - "@colors/colors": "1.5.0", - "fecha": "^4.2.0", - "ms": "^2.1.1", - "safe-stable-stringify": "^2.3.1", - "triple-beam": "^1.3.0" - } - }, - "loupe": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.6.tgz", - "integrity": "sha512-RaPMZKiMy8/JruncMU5Bt6na1eftNoo++R4Y+N2FrxkDVTrGvcyzFTsaGif4QTeKESheMGegbhw6iUAq+5A8zA==", - "dev": true, - "requires": { - "get-func-name": "^2.0.0" - } - }, - "lowercase-keys": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", - "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", - "dev": true - }, - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "requires": { - "yallist": "^4.0.0" - } - }, - "macos-release": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/macos-release/-/macos-release-2.5.0.tgz", - "integrity": "sha512-EIgv+QZ9r+814gjJj0Bt5vSLJLzswGmSUbUpbi9AIr/fsN2IWFBl2NucV9PAiek+U1STK468tEkxmVYUtuAN3g==" - }, - "make-fetch-happen": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-9.1.0.tgz", - "integrity": "sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg==", - "requires": { - "agentkeepalive": "^4.1.3", - "cacache": "^15.2.0", - "http-cache-semantics": "^4.1.0", - "http-proxy-agent": "^4.0.1", - "https-proxy-agent": "^5.0.0", - "is-lambda": "^1.0.1", - "lru-cache": "^6.0.0", - "minipass": "^3.1.3", - "minipass-collect": "^1.0.2", - "minipass-fetch": "^1.3.2", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.4", - "negotiator": "^0.6.2", - "promise-retry": "^2.0.1", - "socks-proxy-agent": "^6.0.0", - "ssri": "^8.0.0" - } - }, - "map-age-cleaner": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz", - "integrity": "sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==", - "requires": { - "p-defer": "^1.0.0" - } - }, - "markdown-it": { - "version": "12.3.2", - "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-12.3.2.tgz", - "integrity": "sha512-TchMembfxfNVpHkbtriWltGWc+m3xszaRD0CZup7GFFhzIgQqxIfn3eGj1yZpfuflzPvfkt611B2Q/Bsk1YnGg==", - "dev": true, - "requires": { - "argparse": "^2.0.1", - "entities": "~2.1.0", - "linkify-it": "^3.0.1", - "mdurl": "^1.0.1", - "uc.micro": "^1.0.5" - }, - "dependencies": { - "argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true - } - } - }, - "markdown-it-anchor": { - "version": "8.6.4", - "resolved": "https://registry.npmjs.org/markdown-it-anchor/-/markdown-it-anchor-8.6.4.tgz", - "integrity": "sha512-Ul4YVYZNxMJYALpKtu+ZRdrryYt/GlQ5CK+4l1bp/gWXOG2QWElt6AqF3Mih/wfUKdZbNAZVXGR73/n6U/8img==", - "dev": true, - "requires": {} - }, - "marked": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/marked/-/marked-4.1.0.tgz", - "integrity": "sha512-+Z6KDjSPa6/723PQYyc1axYZpYYpDnECDaU6hkaf5gqBieBkMKYReL5hteF2QizhlMbgbo8umXl/clZ67+GlsA==", - "dev": true - }, - "mdurl": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", - "integrity": "sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==", - "dev": true - }, - "mem": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/mem/-/mem-5.1.1.tgz", - "integrity": "sha512-qvwipnozMohxLXG1pOqoLiZKNkC4r4qqRucSoDwXowsNGDSULiqFTRUF05vcZWnwJSG22qTsynQhxbaMtnX9gw==", - "requires": { - "map-age-cleaner": "^0.1.3", - "mimic-fn": "^2.1.0", - "p-is-promise": "^2.1.0" - } - }, - "mem-fs": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/mem-fs/-/mem-fs-2.3.0.tgz", - "integrity": "sha512-GftCCBs6EN8sz3BoWO1bCj8t7YBtT713d8bUgbhg9Iel5kFSqnSvCK06TYIDJAtJ51cSiWkM/YemlT0dfoFycw==", - "requires": { - "@types/node": "^15.6.2", - "@types/vinyl": "^2.0.4", - "vinyl": "^2.0.1", - "vinyl-file": "^3.0.0" - }, - "dependencies": { - "@types/node": { - "version": "15.14.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-15.14.9.tgz", - "integrity": "sha512-qjd88DrCxupx/kJD5yQgZdcYKZKSIGBVDIBE1/LTGcNm3d2Np/jxojkdePDdfnBHJc5W7vSMpbJ1aB7p/Py69A==" - } - } - }, - "mem-fs-editor": { - "version": "9.5.0", - "resolved": "https://registry.npmjs.org/mem-fs-editor/-/mem-fs-editor-9.5.0.tgz", - "integrity": "sha512-7p+bBDqsSisO20YIZf2ntYvST27fFJINn7CKE21XdPUQDcLV62b/yB5sTOooQeEoiZ3rldZQ+4RfONgL/gbRoA==", - "requires": { - "binaryextensions": "^4.16.0", - "commondir": "^1.0.1", - "deep-extend": "^0.6.0", - "ejs": "^3.1.8", - "globby": "^11.1.0", - "isbinaryfile": "^4.0.8", - "minimatch": "^3.1.2", - "multimatch": "^5.0.0", - "normalize-path": "^3.0.0", - "textextensions": "^5.13.0" - }, - "dependencies": { - "globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", - "requires": { - "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" - } - } - } - }, - "meow": { - "version": "12.1.1", - "resolved": "https://registry.npmjs.org/meow/-/meow-12.1.1.tgz", - "integrity": "sha512-BhXM0Au22RwUneMPwSCnyhTOizdWoIEPU9sp0Aqa1PnDMR5Wv2FGXYDjuzJEIX+Eo2Rb8xuYe5jrnm5QowQFkw==", - "dev": true - }, - "merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" - }, - "merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==" - }, - "micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", - "requires": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" - } - }, - "mime-db": { - "version": "1.47.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.47.0.tgz", - "integrity": "sha512-QBmA/G2y+IfeS4oktet3qRZ+P5kPhCKRXxXnQEudYqUaEioAU1/Lq2us3D/t1Jfo4hE9REQPrbB7K5sOczJVIw==" - }, - "mime-types": { - "version": "2.1.30", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.30.tgz", - "integrity": "sha512-crmjA4bLtR8m9qLpHvgxSChT+XoSlZi8J4n/aIdn3z92e/U47Z0V/yl+Wh9W046GgFVAmoNR/fmdbZYcSSIUeg==", - "requires": { - "mime-db": "1.47.0" - } - }, - "mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" - }, - "mimic-function": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/mimic-function/-/mimic-function-5.0.0.tgz", - "integrity": "sha512-RBfQ+9X9DpXdEoK7Bu+KeEU6vFhumEIiXKWECPzRBmDserEq4uR2b/VCm0LwpMSosoq2k+Zuxj/GzOr0Fn6h/g==", - "dev": true - }, - "mimic-response": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", - "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", - "dev": true - }, - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", - "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==" - }, - "minipass": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.5.tgz", - "integrity": "sha512-+8NzxD82XQoNKNrl1d/FSi+X8wAEWR+sbYAfIvub4Nz0d22plFG72CEVVaufV8PNf4qSslFTD8VMOxNVhHCjTw==", - "requires": { - "yallist": "^4.0.0" - } - }, - "minipass-collect": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz", - "integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==", - "requires": { - "minipass": "^3.0.0" - } - }, - "minipass-fetch": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-1.4.1.tgz", - "integrity": "sha512-CGH1eblLq26Y15+Azk7ey4xh0J/XfJfrCox5LDJiKqI2Q2iwOLOKrlmIaODiSQS8d18jalF6y2K2ePUm0CmShw==", - "requires": { - "encoding": "^0.1.12", - "minipass": "^3.1.0", - "minipass-sized": "^1.0.3", - "minizlib": "^2.0.0" - } - }, - "minipass-flush": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz", - "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==", - "requires": { - "minipass": "^3.0.0" - } - }, - "minipass-json-stream": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minipass-json-stream/-/minipass-json-stream-1.0.1.tgz", - "integrity": "sha512-ODqY18UZt/I8k+b7rl2AENgbWE8IDYam+undIJONvigAz8KR5GWblsFTEfQs0WODsjbSXWlm+JHEv8Gr6Tfdbg==", - "requires": { - "jsonparse": "^1.3.1", - "minipass": "^3.0.0" - } - }, - "minipass-pipeline": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", - "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==", - "requires": { - "minipass": "^3.0.0" - } - }, - "minipass-sized": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz", - "integrity": "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==", - "requires": { - "minipass": "^3.0.0" - } - }, - "minizlib": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", - "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", - "requires": { - "minipass": "^3.0.0", - "yallist": "^4.0.0" - } - }, - "mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==" - }, - "mkdirp-infer-owner": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mkdirp-infer-owner/-/mkdirp-infer-owner-2.0.0.tgz", - "integrity": "sha512-sdqtiFt3lkOaYvTXSRIUjkIdPTcxgv5+fgqYE/5qgwdw12cOrAuzzgzvVExIkH/ul1oeHN3bCLOWSG3XOqbKKw==", - "requires": { - "chownr": "^2.0.0", - "infer-owner": "^1.0.4", - "mkdirp": "^1.0.3" - } - }, - "mocha": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.2.0.tgz", - "integrity": "sha512-IDY7fl/BecMwFHzoqF2sg/SHHANeBoMMXFlS9r0OXKDssYE1M5O43wUY/9BVPeIvfH2zmEbBfseqN9gBQZzXkg==", - "dev": true, - "requires": { - "ansi-colors": "4.1.1", - "browser-stdout": "1.3.1", - "chokidar": "3.5.3", - "debug": "4.3.4", - "diff": "5.0.0", - "escape-string-regexp": "4.0.0", - "find-up": "5.0.0", - "glob": "7.2.0", - "he": "1.2.0", - "js-yaml": "4.1.0", - "log-symbols": "4.1.0", - "minimatch": "5.0.1", - "ms": "2.1.3", - "nanoid": "3.3.3", - "serialize-javascript": "6.0.0", - "strip-json-comments": "3.1.1", - "supports-color": "8.1.1", - "workerpool": "6.2.1", - "yargs": "16.2.0", - "yargs-parser": "20.2.4", - "yargs-unparser": "2.0.0" - }, - "dependencies": { - "ansi-colors": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", - "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", - "dev": true - }, - "argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true - }, - "brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0" - } - }, - "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 - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dev": true, - "requires": { - "argparse": "^2.0.1" - } - }, - "minimatch": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz", - "integrity": "sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==", - "dev": true, - "requires": { - "brace-expansion": "^2.0.1" - } - }, - "supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - }, - "yargs-parser": { - "version": "20.2.4", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", - "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==", - "dev": true - } - } - }, - "ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" - }, - "multimatch": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/multimatch/-/multimatch-5.0.0.tgz", - "integrity": "sha512-ypMKuglUrZUD99Tk2bUQ+xNQj43lPEfAeX2o9cTteAmShXy2VHDJpuwu1o0xqoKCt9jLVAvwyFKdLTPXKAfJyA==", - "requires": { - "@types/minimatch": "^3.0.3", - "array-differ": "^3.0.0", - "array-union": "^2.1.0", - "arrify": "^2.0.1", - "minimatch": "^3.0.4" - } - }, - "mute-stream": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", - "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=" - }, - "nanoid": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.3.tgz", - "integrity": "sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==", - "dev": true - }, - "natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", - "dev": true - }, - "negotiator": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", - "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==" - }, - "new-github-release-url": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/new-github-release-url/-/new-github-release-url-2.0.0.tgz", - "integrity": "sha512-NHDDGYudnvRutt/VhKFlX26IotXe1w0cmkDm6JGquh5bz/bDTw0LufSmH/GxTjEdpHEO+bVKFTwdrcGa/9XlKQ==", - "dev": true, - "requires": { - "type-fest": "^2.5.1" - }, - "dependencies": { - "type-fest": { - "version": "2.19.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz", - "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==", - "dev": true - } - } - }, - "nise": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/nise/-/nise-5.1.5.tgz", - "integrity": "sha512-VJuPIfUFaXNRzETTQEEItTOP8Y171ijr+JLq42wHes3DiryR8vT+1TXQW/Rx8JNUhyYYWyIvjXTU6dOhJcs9Nw==", - "dev": true, - "requires": { - "@sinonjs/commons": "^2.0.0", - "@sinonjs/fake-timers": "^10.0.2", - "@sinonjs/text-encoding": "^0.7.1", - "just-extend": "^4.0.2", - "path-to-regexp": "^1.7.0" - }, - "dependencies": { - "@sinonjs/commons": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-2.0.0.tgz", - "integrity": "sha512-uLa0j859mMrg2slwQYdO/AkrOfmH+X6LTVmNTS9CqexuE2IvVORIkSpJLqePAbEnKJ77aMmCwr1NUZ57120Xcg==", - "dev": true, - "requires": { - "type-detect": "4.0.8" - } - }, - "@sinonjs/fake-timers": { - "version": "10.3.0", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", - "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", - "dev": true, - "requires": { - "@sinonjs/commons": "^3.0.0" - }, - "dependencies": { - "@sinonjs/commons": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.0.tgz", - "integrity": "sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==", - "dev": true, - "requires": { - "type-detect": "4.0.8" - } - } - } - } - } - }, - "node-fetch": { - "version": "2.6.7", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", - "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", - "requires": { - "whatwg-url": "^5.0.0" - } - }, - "node-gyp": { - "version": "8.4.1", - "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-8.4.1.tgz", - "integrity": "sha512-olTJRgUtAb/hOXG0E93wZDs5YiJlgbXxTwQAFHyNlRsXQnYzUaF2aGgujZbw+hR8aF4ZG/rST57bWMWD16jr9w==", - "requires": { - "env-paths": "^2.2.0", - "glob": "^7.1.4", - "graceful-fs": "^4.2.6", - "make-fetch-happen": "^9.1.0", - "nopt": "^5.0.0", - "npmlog": "^6.0.0", - "rimraf": "^3.0.2", - "semver": "^7.3.5", - "tar": "^6.1.2", - "which": "^2.0.2" - }, - "dependencies": { - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" - }, - "gauge": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.0.tgz", - "integrity": "sha512-F8sU45yQpjQjxKkm1UOAhf0U/O0aFt//Fl7hsrNVto+patMHjs7dPI9mFOGUKbhrgKm0S3EjW3scMFuQmWSROw==", - "requires": { - "ansi-regex": "^5.0.1", - "aproba": "^1.0.3 || ^2.0.0", - "color-support": "^1.1.2", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.1", - "signal-exit": "^3.0.0", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "wide-align": "^1.1.2" - } - }, - "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==" - }, - "npmlog": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.0.tgz", - "integrity": "sha512-03ppFRGlsyUaQFbGC2C8QWJN/C/K7PsfyD9aQdhVKAQIH4sQBc8WASqFBP7O+Ut4d2oo5LoeoboB3cGdBZSp6Q==", - "requires": { - "are-we-there-yet": "^2.0.0", - "console-control-strings": "^1.1.0", - "gauge": "^4.0.0", - "set-blocking": "^2.0.0" - } - }, - "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==", - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "requires": { - "ansi-regex": "^5.0.1" - } - } - } - }, - "nopt": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", - "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", - "requires": { - "abbrev": "1" - } - }, - "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==", - "requires": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" - } - } - }, - "normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" - }, - "normalize-url": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", - "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", - "dev": true - }, - "np": { - "version": "9.2.0", - "resolved": "https://registry.npmjs.org/np/-/np-9.2.0.tgz", - "integrity": "sha512-VYA8IKyx5XJqROr2vu8NAstfgBznrnOu3PUByFl3TBwzQVkeGC+gzOPzGbvYKM1QwlX6Gt7kVSPMzDP4qkSs1g==", - "dev": true, - "requires": { - "chalk": "^5.3.0", - "chalk-template": "^1.1.0", - "cosmiconfig": "^8.3.6", - "del": "^7.1.0", - "escape-goat": "^4.0.0", - "escape-string-regexp": "^5.0.0", - "execa": "^8.0.1", - "exit-hook": "^4.0.0", - "github-url-from-git": "^1.5.0", - "has-yarn": "^3.0.0", - "hosted-git-info": "^7.0.1", - "ignore-walk": "^6.0.3", - "import-local": "^3.1.0", - "inquirer": "^9.2.12", - "is-installed-globally": "^1.0.0", - "is-interactive": "^2.0.0", - "is-scoped": "^3.0.0", - "issue-regex": "^4.1.0", - "listr": "^0.14.3", - "listr-input": "^0.2.1", - "log-symbols": "^6.0.0", - "meow": "^12.1.1", - "new-github-release-url": "^2.0.0", - "npm-name": "^7.1.1", - "onetime": "^7.0.0", - "open": "^9.1.0", - "ow": "^1.1.1", - "p-memoize": "^7.1.1", - "p-timeout": "^6.1.2", - "path-exists": "^5.0.0", - "pkg-dir": "^8.0.0", - "read-package-up": "^11.0.0", - "read-pkg": "^9.0.1", - "rxjs": "^7.8.1", - "semver": "^7.5.4", - "symbol-observable": "^4.0.0", - "terminal-link": "^3.0.0", - "update-notifier": "^7.0.0" - }, - "dependencies": { - "ansi-escapes": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", - "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", - "dev": true, - "requires": { - "type-fest": "^0.21.3" - } - }, - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true - }, - "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, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", - "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", - "dev": true - }, - "cli-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", - "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", - "dev": true, - "requires": { - "restore-cursor": "^3.1.0" - } - }, - "cli-width": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-4.1.0.tgz", - "integrity": "sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==", - "dev": true - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "escape-string-regexp": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", - "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", - "dev": true - }, - "execa": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", - "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==", - "dev": true, - "requires": { - "cross-spawn": "^7.0.3", - "get-stream": "^8.0.1", - "human-signals": "^5.0.0", - "is-stream": "^3.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^5.1.0", - "onetime": "^6.0.0", - "signal-exit": "^4.1.0", - "strip-final-newline": "^3.0.0" - }, - "dependencies": { - "mimic-fn": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", - "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", - "dev": true - }, - "onetime": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", - "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", - "dev": true, - "requires": { - "mimic-fn": "^4.0.0" - } - } - } - }, - "figures": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-5.0.0.tgz", - "integrity": "sha512-ej8ksPF4x6e5wvK9yevct0UCXh8TTFlWGVLlgjZuoBH1HwjIfKE/IdL5mq89sFA7zELi1VhKpmtDnrs7zWyeyg==", - "dev": true, - "requires": { - "escape-string-regexp": "^5.0.0", - "is-unicode-supported": "^1.2.0" - } - }, - "get-stream": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", - "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==", - "dev": true - }, - "hosted-git-info": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-7.0.1.tgz", - "integrity": "sha512-+K84LB1DYwMHoHSgaOY/Jfhw3ucPmSET5v98Ke/HdNSw4a0UktWzyW1mjhjpuxxTqOOsfWT/7iVshHmVZ4IpOA==", - "dev": true, - "requires": { - "lru-cache": "^10.0.1" - } - }, - "human-signals": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", - "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==", - "dev": true - }, - "inquirer": { - "version": "9.2.12", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-9.2.12.tgz", - "integrity": "sha512-mg3Fh9g2zfuVWJn6lhST0O7x4n03k7G8Tx5nvikJkbq8/CK47WDVm+UznF0G6s5Zi0KcyUisr6DU8T67N5U+1Q==", - "dev": true, - "requires": { - "@ljharb/through": "^2.3.11", - "ansi-escapes": "^4.3.2", - "chalk": "^5.3.0", - "cli-cursor": "^3.1.0", - "cli-width": "^4.1.0", - "external-editor": "^3.1.0", - "figures": "^5.0.0", - "lodash": "^4.17.21", - "mute-stream": "1.0.0", - "ora": "^5.4.1", - "run-async": "^3.0.0", - "rxjs": "^7.8.1", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^6.2.0" - } - }, - "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 - }, - "is-interactive": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-2.0.0.tgz", - "integrity": "sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==", - "dev": true - }, - "is-scoped": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-scoped/-/is-scoped-3.0.0.tgz", - "integrity": "sha512-ezxLUq30kiTvP0w/5n9tj4qTOKlrA07Oty1hwTQ+lcqw11x6uc8sp7VRb2OVGRzKfCHZ2A22T5Zsau/Q2Akb0g==", - "dev": true, - "requires": { - "scoped-regex": "^3.0.0" - } - }, - "is-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", - "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", - "dev": true - }, - "is-unicode-supported": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-1.3.0.tgz", - "integrity": "sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==", - "dev": true - }, - "log-symbols": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-6.0.0.tgz", - "integrity": "sha512-i24m8rpwhmPIS4zscNzK6MSEhk0DUWa/8iYQWxhffV8jkI4Phvs3F+quL5xvS0gdQR0FyTCMMH33Y78dDTzzIw==", - "dev": true, - "requires": { - "chalk": "^5.3.0", - "is-unicode-supported": "^1.3.0" - } - }, - "lru-cache": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.1.0.tgz", - "integrity": "sha512-/1clY/ui8CzjKFyjdvwPWJUYKiFVXG2I2cY0ssG7h4+hwk+XOIX7ZSG9Q7TW8TW3Kp3BUSqgFWBLgL4PJ+Blag==", - "dev": true - }, - "mute-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-1.0.0.tgz", - "integrity": "sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA==", - "dev": true - }, - "normalize-package-data": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-6.0.0.tgz", - "integrity": "sha512-UL7ELRVxYBHBgYEtZCXjxuD5vPxnmvMGq0jp/dGPKKrN7tfsBh2IY7TlJ15WWwdjRWD3RJbnsygUurTK3xkPkg==", - "dev": true, - "requires": { - "hosted-git-info": "^7.0.0", - "is-core-module": "^2.8.1", - "semver": "^7.3.5", - "validate-npm-package-license": "^3.0.4" - } - }, - "npm-run-path": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.1.0.tgz", - "integrity": "sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==", - "dev": true, - "requires": { - "path-key": "^4.0.0" - } - }, - "onetime": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-7.0.0.tgz", - "integrity": "sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==", - "dev": true, - "requires": { - "mimic-function": "^5.0.0" - } - }, - "parse-json": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-8.1.0.tgz", - "integrity": "sha512-rum1bPifK5SSar35Z6EKZuYPJx85pkNaFrxBK3mwdfSJ1/WKbYrjoW/zTPSjRRamfmVX1ACBIdFAO0VRErW/EA==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.22.13", - "index-to-position": "^0.1.2", - "type-fest": "^4.7.1" - }, - "dependencies": { - "type-fest": { - "version": "4.8.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.8.2.tgz", - "integrity": "sha512-mcvrCjixA5166hSrUoJgGb9gBQN4loMYyj9zxuMs/66ibHNEFd5JXMw37YVDx58L4/QID9jIzdTBB4mDwDJ6KQ==", - "dev": true - } - } - }, - "path-exists": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz", - "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==", - "dev": true - }, - "path-key": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", - "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", - "dev": true - }, - "read-pkg": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-9.0.1.tgz", - "integrity": "sha512-9viLL4/n1BJUCT1NXVTdS1jtm80yDEgR5T4yCelII49Mbj0v1rZdKqj7zCiYdbB0CuCgdrvHcNogAKTFPBocFA==", - "dev": true, - "requires": { - "@types/normalize-package-data": "^2.4.3", - "normalize-package-data": "^6.0.0", - "parse-json": "^8.0.0", - "type-fest": "^4.6.0", - "unicorn-magic": "^0.1.0" - }, - "dependencies": { - "type-fest": { - "version": "4.8.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.8.2.tgz", - "integrity": "sha512-mcvrCjixA5166hSrUoJgGb9gBQN4loMYyj9zxuMs/66ibHNEFd5JXMw37YVDx58L4/QID9jIzdTBB4mDwDJ6KQ==", - "dev": true - } - } - }, - "restore-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", - "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", - "dev": true, - "requires": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" - }, - "dependencies": { - "onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "dev": true, - "requires": { - "mimic-fn": "^2.1.0" - } - }, - "signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dev": true - } - } - }, - "run-async": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/run-async/-/run-async-3.0.0.tgz", - "integrity": "sha512-540WwVDOMxA6dN6We19EcT9sc3hkXPw5mzRNGM3FkdN/vtE9NFvj5lFAPNwUDmJjXidm3v7TC1cTE7t17Ulm1Q==", - "dev": true - }, - "rxjs": { - "version": "7.8.1", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", - "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", - "dev": true, - "requires": { - "tslib": "^2.1.0" - } - }, - "scoped-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/scoped-regex/-/scoped-regex-3.0.0.tgz", - "integrity": "sha512-yEsN6TuxZhZ1Tl9iB81frTNS292m0I/IG7+w8lTvfcJQP2x3vnpOoevjBoE3Np5A6KnZM2+RtVenihj9t6NiYg==", - "dev": true - }, - "signal-exit": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", - "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", - "dev": true - }, - "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, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - }, - "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, - "requires": { - "ansi-regex": "^5.0.1" - } - }, - "strip-final-newline": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", - "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", - "dev": true - }, - "tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", - "dev": true - }, - "type-fest": { - "version": "0.21.3", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", - "dev": true - }, - "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, - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - } - } - } - }, - "npm-bundled": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.1.2.tgz", - "integrity": "sha512-x5DHup0SuyQcmL3s7Rx/YQ8sbw/Hzg0rj48eN0dV7hf5cmQq5PXIeioroH3raV1QC1yh3uTYuMThvEQF3iKgGQ==", - "requires": { - "npm-normalize-package-bin": "^1.0.1" - } - }, - "npm-install-checks": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-4.0.0.tgz", - "integrity": "sha512-09OmyDkNLYwqKPOnbI8exiOZU2GVVmQp7tgez2BPi5OZC8M82elDAps7sxC4l//uSUtotWqoEIDwjRvWH4qz8w==", - "requires": { - "semver": "^7.1.1" - } - }, - "npm-name": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/npm-name/-/npm-name-7.1.1.tgz", - "integrity": "sha512-lyOwsFndLoozriMEsaqJ5lXvhCATYOEhDvxlom8TNvB9a/htDXuLgpVhMUOBd9zCewUXCyBXAPxrGr2TK2adgQ==", - "dev": true, - "requires": { - "got": "^11.8.5", - "is-name-taken": "^2.0.0", - "is-scoped": "^3.0.0", - "is-url-superb": "^6.1.0", - "lodash.zip": "^4.2.0", - "org-regex": "^1.0.0", - "p-map": "^5.5.0", - "registry-auth-token": "^4.2.2", - "registry-url": "^6.0.1", - "validate-npm-package-name": "^3.0.0" - }, - "dependencies": { - "aggregate-error": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-4.0.1.tgz", - "integrity": "sha512-0poP0T7el6Vq3rstR8Mn4V/IQrpBLO6POkUSrN7RhyY+GF/InCFShQzsQ39T25gkHhLgSLByyAz+Kjb+c2L98w==", - "dev": true, - "requires": { - "clean-stack": "^4.0.0", - "indent-string": "^5.0.0" - } - }, - "clean-stack": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-4.2.0.tgz", - "integrity": "sha512-LYv6XPxoyODi36Dp976riBtSY27VmFo+MKqEU9QCCWyTrdEPDog+RWA7xQWHi6Vbp61j5c4cdzzX1NidnwtUWg==", - "dev": true, - "requires": { - "escape-string-regexp": "5.0.0" - } - }, - "escape-string-regexp": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", - "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", - "dev": true - }, - "indent-string": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-5.0.0.tgz", - "integrity": "sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==", - "dev": true - }, - "is-scoped": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-scoped/-/is-scoped-3.0.0.tgz", - "integrity": "sha512-ezxLUq30kiTvP0w/5n9tj4qTOKlrA07Oty1hwTQ+lcqw11x6uc8sp7VRb2OVGRzKfCHZ2A22T5Zsau/Q2Akb0g==", - "dev": true, - "requires": { - "scoped-regex": "^3.0.0" - } - }, - "p-map": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-5.5.0.tgz", - "integrity": "sha512-VFqfGDHlx87K66yZrNdI4YGtD70IRyd+zSvgks6mzHPRNkoKy+9EKP4SFC77/vTTQYmRmti7dvqC+m5jBrBAcg==", - "dev": true, - "requires": { - "aggregate-error": "^4.0.0" - } - }, - "scoped-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/scoped-regex/-/scoped-regex-3.0.0.tgz", - "integrity": "sha512-yEsN6TuxZhZ1Tl9iB81frTNS292m0I/IG7+w8lTvfcJQP2x3vnpOoevjBoE3Np5A6KnZM2+RtVenihj9t6NiYg==", - "dev": true - } - } - }, - "npm-normalize-package-bin": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz", - "integrity": "sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==" - }, - "npm-package-arg": { - "version": "8.1.5", - "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.1.5.tgz", - "integrity": "sha512-LhgZrg0n0VgvzVdSm1oiZworPbTxYHUJCgtsJW8mGvlDpxTM1vSJc3m5QZeUkhAHIzbz3VCHd/R4osi1L1Tg/Q==", - "requires": { - "hosted-git-info": "^4.0.1", - "semver": "^7.3.4", - "validate-npm-package-name": "^3.0.0" - }, - "dependencies": { - "hosted-git-info": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.0.2.tgz", - "integrity": "sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg==", - "requires": { - "lru-cache": "^6.0.0" - } - } - } - }, - "npm-packlist": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-3.0.0.tgz", - "integrity": "sha512-L/cbzmutAwII5glUcf2DBRNY/d0TFd4e/FnaZigJV6JD85RHZXJFGwCndjMWiiViiWSsWt3tiOLpI3ByTnIdFQ==", - "requires": { - "glob": "^7.1.6", - "ignore-walk": "^4.0.1", - "npm-bundled": "^1.1.1", - "npm-normalize-package-bin": "^1.0.1" - }, - "dependencies": { - "ignore-walk": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-4.0.1.tgz", - "integrity": "sha512-rzDQLaW4jQbh2YrOFlJdCtX8qgJTehFRYiUB2r1osqTeDzV/3+Jh8fz1oAPzUThf3iku8Ds4IDqawI5d8mUiQw==", - "requires": { - "minimatch": "^3.0.4" - } - } - } - }, - "npm-pick-manifest": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-6.1.1.tgz", - "integrity": "sha512-dBsdBtORT84S8V8UTad1WlUyKIY9iMsAmqxHbLdeEeBNMLQDlDWWra3wYUx9EBEIiG/YwAy0XyNHDd2goAsfuA==", - "requires": { - "npm-install-checks": "^4.0.0", - "npm-normalize-package-bin": "^1.0.1", - "npm-package-arg": "^8.1.2", - "semver": "^7.3.4" - } - }, - "npm-registry-fetch": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-11.0.0.tgz", - "integrity": "sha512-jmlgSxoDNuhAtxUIG6pVwwtz840i994dL14FoNVZisrmZW5kWd63IUTNv1m/hyRSGSqWjCUp/YZlS1BJyNp9XA==", - "requires": { - "make-fetch-happen": "^9.0.1", - "minipass": "^3.1.3", - "minipass-fetch": "^1.3.0", - "minipass-json-stream": "^1.0.1", - "minizlib": "^2.0.0", - "npm-package-arg": "^8.0.0" - } - }, - "npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", - "requires": { - "path-key": "^3.0.0" - } - }, - "npmlog": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-5.0.1.tgz", - "integrity": "sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==", - "requires": { - "are-we-there-yet": "^2.0.0", - "console-control-strings": "^1.1.0", - "gauge": "^3.0.0", - "set-blocking": "^2.0.0" - } - }, - "number-is-nan": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", - "dev": true - }, - "oauth-sign": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", - "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==" - }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" - }, - "object-inspect": { - "version": "1.12.3", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", - "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==", - "dev": true - }, - "object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "dev": true - }, - "object.assign": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", - "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "has-symbols": "^1.0.3", - "object-keys": "^1.1.1" - } - }, - "object.entries": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.5.tgz", - "integrity": "sha512-TyxmjUoZggd4OrrU1W66FMDG6CuqJxsFvymeyXI51+vQLN67zYfZseptRge703kKQdo4uccgAKebXFcRCzk4+g==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.1" - } - }, - "object.fromentries": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.7.tgz", - "integrity": "sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" - } - }, - "object.groupby": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.1.tgz", - "integrity": "sha512-HqaQtqLnp/8Bn4GL16cj+CUYbnpe1bh0TtEaWvybszDG4tgxCJuRpV8VGuvNaI1fAnI4lUJzDG55MXcOH4JZcQ==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "get-intrinsic": "^1.2.1" - } - }, - "object.values": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.7.tgz", - "integrity": "sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" - } - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "requires": { - "wrappy": "1" - } - }, - "one-time": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/one-time/-/one-time-1.0.0.tgz", - "integrity": "sha512-5DXOiRKwuSEcQ/l0kGCF6Q3jcADFv5tSmRaJck/OqkVFcOzutB134KRSfF0xDrL39MNnqxbHBbUUcjZIhTgb2g==", - "requires": { - "fn.name": "1.x.x" - } - }, - "onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "requires": { - "mimic-fn": "^2.1.0" - } - }, - "open": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/open/-/open-9.1.0.tgz", - "integrity": "sha512-OS+QTnw1/4vrf+9hh1jc1jnYjzSG4ttTBB8UxOwAnInG3Uo4ssetzC1ihqaIHjLJnA5GGlRl6QlZXOTQhRBUvg==", - "dev": true, - "requires": { - "default-browser": "^4.0.0", - "define-lazy-prop": "^3.0.0", - "is-inside-container": "^1.0.0", - "is-wsl": "^2.2.0" - } - }, - "optionator": { - "version": "0.9.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", - "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", - "dev": true, - "requires": { - "@aashutoshrathi/word-wrap": "^1.2.3", - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0" - } - }, - "ora": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", - "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", - "dev": true, - "requires": { - "bl": "^4.1.0", - "chalk": "^4.1.0", - "cli-cursor": "^3.1.0", - "cli-spinners": "^2.5.0", - "is-interactive": "^1.0.0", - "is-unicode-supported": "^0.1.0", - "log-symbols": "^4.1.0", - "strip-ansi": "^6.0.0", - "wcwidth": "^1.0.1" - }, - "dependencies": { - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true - }, - "cli-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", - "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", - "dev": true, - "requires": { - "restore-cursor": "^3.1.0" - } - }, - "restore-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", - "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", - "dev": true, - "requires": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" - } - }, - "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.0" - } - } - } - }, - "org-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/org-regex/-/org-regex-1.0.0.tgz", - "integrity": "sha512-7bqkxkEJwzJQUAlyYniqEZ3Ilzjh0yoa62c7gL6Ijxj5bEpPL+8IE1Z0PFj0ywjjXQcdrwR51g9MIcLezR0hKQ==", - "dev": true - }, - "os-locale": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-5.0.0.tgz", - "integrity": "sha512-tqZcNEDAIZKBEPnHPlVDvKrp7NzgLi7jRmhKiUoa2NUmhl13FtkAGLUVR+ZsYvApBQdBfYm43A4tXXQ4IrYLBA==", - "requires": { - "execa": "^4.0.0", - "lcid": "^3.0.0", - "mem": "^5.0.0" - } - }, - "os-name": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/os-name/-/os-name-4.0.1.tgz", - "integrity": "sha512-xl9MAoU97MH1Xt5K9ERft2YfCAoaO6msy1OBA0ozxEC0x0TmIoE6K3QvgJMMZA9yKGLmHXNY/YZoDbiGDj4zYw==", - "requires": { - "macos-release": "^2.5.0", - "windows-release": "^4.0.0" - } - }, - "os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" - }, - "ow": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ow/-/ow-1.1.1.tgz", - "integrity": "sha512-sJBRCbS5vh1Jp9EOgwp1Ws3c16lJrUkJYlvWTYC03oyiYVwS/ns7lKRWow4w4XjDyTrA2pplQv4B2naWSR6yDA==", - "dev": true, - "requires": { - "@sindresorhus/is": "^5.3.0", - "callsites": "^4.0.0", - "dot-prop": "^7.2.0", - "lodash.isequal": "^4.5.0", - "vali-date": "^1.0.0" - }, - "dependencies": { - "@sindresorhus/is": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-5.4.0.tgz", - "integrity": "sha512-Ggh6E9AnMpiNXlbXfFUcWE9qm408rL8jDi7+PMBBx7TMbwEmiqAiSmZ+zydYwxcJLqPGNDoLc9mXDuMDBZg0sA==", - "dev": true - }, - "callsites": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-4.0.0.tgz", - "integrity": "sha512-y3jRROutgpKdz5vzEhWM34TidDU8vkJppF8dszITeb1PQmSqV3DTxyV8G/lyO/DNvtE1YTedehmw9MPZsCBHxQ==", - "dev": true - }, - "dot-prop": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-7.2.0.tgz", - "integrity": "sha512-Ol/IPXUARn9CSbkrdV4VJo7uCy1I3VuSiWCaFSg+8BdUOzF9n3jefIpcgAydvUZbTdEBZs2vEiTiS9m61ssiDA==", - "dev": true, - "requires": { - "type-fest": "^2.11.2" - } - }, - "type-fest": { - "version": "2.19.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz", - "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==", - "dev": true - } - } - }, - "p-cancelable": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.1.1.tgz", - "integrity": "sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==", - "dev": true - }, - "p-defer": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz", - "integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=" - }, - "p-finally": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=" - }, - "p-is-promise": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-2.1.0.tgz", - "integrity": "sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg==" - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "requires": { - "p-limit": "^2.0.0" - } - }, - "p-lock": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/p-lock/-/p-lock-2.1.0.tgz", - "integrity": "sha512-pi2yT8gNhVrV4LgsUvJWQy58TXH1HG2+NXDby9+UrsS/9fXb0FJH9aCxbdHJ0EAQ6XC7ggSP6GAzuR5puDArUQ==", - "dev": true - }, - "p-map": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", - "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", - "requires": { - "aggregate-error": "^3.0.0" - } - }, - "p-memoize": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/p-memoize/-/p-memoize-7.1.1.tgz", - "integrity": "sha512-DZ/bONJILHkQ721hSr/E9wMz5Am/OTJ9P6LhLFo2Tu+jL8044tgc9LwHO8g4PiaYePnlVVRAJcKmgy8J9MVFrA==", - "dev": true, - "requires": { - "mimic-fn": "^4.0.0", - "type-fest": "^3.0.0" - }, - "dependencies": { - "mimic-fn": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", - "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", - "dev": true - }, - "type-fest": { - "version": "3.11.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-3.11.1.tgz", - "integrity": "sha512-aCuRNRERRVh33lgQaJRlUxZqzfhzwTrsE98Mc3o3VXqmiaQdHacgUtJ0esp+7MvZ92qhtzKPeusaX6vIEcoreA==", - "dev": true - } - } - }, - "p-queue": { - "version": "6.6.2", - "resolved": "https://registry.npmjs.org/p-queue/-/p-queue-6.6.2.tgz", - "integrity": "sha512-RwFpb72c/BhQLEXIZ5K2e+AhgNVmIejGlTgiB9MzZ0e93GRvqZ7uSi0dvRF7/XIXDeNkra2fNHBxTyPDGySpjQ==", - "requires": { - "eventemitter3": "^4.0.4", - "p-timeout": "^3.2.0" - }, - "dependencies": { - "p-timeout": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-3.2.0.tgz", - "integrity": "sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==", - "requires": { - "p-finally": "^1.0.0" - } - } - } - }, - "p-timeout": { - "version": "6.1.2", - "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-6.1.2.tgz", - "integrity": "sha512-UbD77BuZ9Bc9aABo74gfXhNvzC9Tx7SxtHSh1fxvx3jTLLYvmVhiQZZrJzqqU0jKbN32kb5VOKiLEQI/3bIjgQ==", - "dev": true - }, - "p-transform": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/p-transform/-/p-transform-1.3.0.tgz", - "integrity": "sha512-UJKdSzgd3KOnXXAtqN5+/eeHcvTn1hBkesEmElVgvO/NAYcxAvmjzIGmnNd3Tb/gRAvMBdNRFD4qAWdHxY6QXg==", - "requires": { - "debug": "^4.3.2", - "p-queue": "^6.6.2" - } - }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" - }, - "package-json": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/package-json/-/package-json-8.1.1.tgz", - "integrity": "sha512-cbH9IAIJHNj9uXi196JVsRlt7cHKak6u/e6AkL/bkRelZ7rlL3X1YKxsZwa36xipOEKAsdtmaG6aAJoM1fx2zA==", - "dev": true, - "requires": { - "got": "^12.1.0", - "registry-auth-token": "^5.0.1", - "registry-url": "^6.0.0", - "semver": "^7.3.7" - }, - "dependencies": { - "@sindresorhus/is": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-5.6.0.tgz", - "integrity": "sha512-TV7t8GKYaJWsn00tFDqBw8+Uqmr8A0fRU1tvTQhyZzGv0sJCGRQL3JGMI3ucuKo3XIZdUP+Lx7/gh2t3lewy7g==", - "dev": true - }, - "@szmarczak/http-timer": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-5.0.1.tgz", - "integrity": "sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw==", - "dev": true, - "requires": { - "defer-to-connect": "^2.0.1" - } - }, - "cacheable-lookup": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-7.0.0.tgz", - "integrity": "sha512-+qJyx4xiKra8mZrcwhjMRMUhD5NR1R8esPkzIYxX96JiecFoxAXFuz/GpR3+ev4PE1WamHip78wV0vcmPQtp8w==", - "dev": true - }, - "cacheable-request": { - "version": "10.2.14", - "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-10.2.14.tgz", - "integrity": "sha512-zkDT5WAF4hSSoUgyfg5tFIxz8XQK+25W/TLVojJTMKBaxevLBBtLxgqguAuVQB8PVW79FVjHcU+GJ9tVbDZ9mQ==", - "dev": true, - "requires": { - "@types/http-cache-semantics": "^4.0.2", - "get-stream": "^6.0.1", - "http-cache-semantics": "^4.1.1", - "keyv": "^4.5.3", - "mimic-response": "^4.0.0", - "normalize-url": "^8.0.0", - "responselike": "^3.0.0" - } - }, - "get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", - "dev": true - }, - "got": { - "version": "12.6.1", - "resolved": "https://registry.npmjs.org/got/-/got-12.6.1.tgz", - "integrity": "sha512-mThBblvlAF1d4O5oqyvN+ZxLAYwIJK7bpMxgYqPD9okW0C3qm5FFn7k811QrcuEBwaogR3ngOFoCfs6mRv7teQ==", - "dev": true, - "requires": { - "@sindresorhus/is": "^5.2.0", - "@szmarczak/http-timer": "^5.0.1", - "cacheable-lookup": "^7.0.0", - "cacheable-request": "^10.2.8", - "decompress-response": "^6.0.0", - "form-data-encoder": "^2.1.2", - "get-stream": "^6.0.1", - "http2-wrapper": "^2.1.10", - "lowercase-keys": "^3.0.0", - "p-cancelable": "^3.0.0", - "responselike": "^3.0.0" - } - }, - "http2-wrapper": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-2.2.1.tgz", - "integrity": "sha512-V5nVw1PAOgfI3Lmeaj2Exmeg7fenjhRUgz1lPSezy1CuhPYbgQtbQj4jZfEAEMlaL+vupsvhjqCyjzob0yxsmQ==", - "dev": true, - "requires": { - "quick-lru": "^5.1.1", - "resolve-alpn": "^1.2.0" - } - }, - "lowercase-keys": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-3.0.0.tgz", - "integrity": "sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ==", - "dev": true - }, - "mimic-response": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-4.0.0.tgz", - "integrity": "sha512-e5ISH9xMYU0DzrT+jl8q2ze9D6eWBto+I8CNpe+VI+K2J/F/k3PdkdTdz4wvGVH4NTpo+NRYTVIuMQEMMcsLqg==", - "dev": true - }, - "normalize-url": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-8.0.0.tgz", - "integrity": "sha512-uVFpKhj5MheNBJRTiMZ9pE/7hD1QTeEvugSJW/OmLzAp78PB5O6adfMNTvmfKhXBkvCzC+rqifWcVYpGFwTjnw==", - "dev": true - }, - "p-cancelable": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-3.0.0.tgz", - "integrity": "sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw==", - "dev": true - }, - "registry-auth-token": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-5.0.2.tgz", - "integrity": "sha512-o/3ikDxtXaA59BmZuZrJZDJv8NMDGSj+6j6XaeBmHw8eY1i1qd9+6H+LjVvQXx3HN6aRCGa1cUdJ9RaJZUugnQ==", - "dev": true, - "requires": { - "@pnpm/npm-conf": "^2.1.0" - } - }, - "responselike": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/responselike/-/responselike-3.0.0.tgz", - "integrity": "sha512-40yHxbNcl2+rzXvZuVkrYohathsSJlMTXKryG5y8uciHv1+xDLHQpgjG64JUO9nrEq2jGLH6IZ8BcZyw3wrweg==", - "dev": true, - "requires": { - "lowercase-keys": "^3.0.0" - } - } - } - }, - "package-name-conflict": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/package-name-conflict/-/package-name-conflict-1.0.3.tgz", - "integrity": "sha512-DPBNWSUWC0wPofXeNThao0uP4a93J7r90UyhagmJS0QcacTTkorZwXYsOop70phn1hKdcf/2e9lJIhazS8bx5A==", - "dev": true - }, - "pacote": { - "version": "12.0.2", - "resolved": "https://registry.npmjs.org/pacote/-/pacote-12.0.2.tgz", - "integrity": "sha512-Ar3mhjcxhMzk+OVZ8pbnXdb0l8+pimvlsqBGRNkble2NVgyqOGE3yrCGi/lAYq7E7NRDMz89R1Wx5HIMCGgeYg==", - "requires": { - "@npmcli/git": "^2.1.0", - "@npmcli/installed-package-contents": "^1.0.6", - "@npmcli/promise-spawn": "^1.2.0", - "@npmcli/run-script": "^2.0.0", - "cacache": "^15.0.5", - "chownr": "^2.0.0", - "fs-minipass": "^2.1.0", - "infer-owner": "^1.0.4", - "minipass": "^3.1.3", - "mkdirp": "^1.0.3", - "npm-package-arg": "^8.0.1", - "npm-packlist": "^3.0.0", - "npm-pick-manifest": "^6.0.0", - "npm-registry-fetch": "^11.0.0", - "promise-retry": "^2.0.1", - "read-package-json-fast": "^2.0.1", - "rimraf": "^3.0.2", - "ssri": "^8.0.1", - "tar": "^6.1.0" - } - }, - "parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dev": true, - "requires": { - "callsites": "^3.0.0" - } - }, - "parse-cache-control": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parse-cache-control/-/parse-cache-control-1.0.1.tgz", - "integrity": "sha1-juqz5U+laSD+Fro493+iGqzC104=" - }, - "parse-conflict-json": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/parse-conflict-json/-/parse-conflict-json-1.1.1.tgz", - "integrity": "sha512-4gySviBiW5TRl7XHvp1agcS7SOe0KZOjC//71dzZVWJrY9hCrgtvl5v3SyIxCZ4fZF47TxD9nfzmxcx76xmbUw==", - "requires": { - "json-parse-even-better-errors": "^2.3.0", - "just-diff": "^3.0.1", - "just-diff-apply": "^3.0.0" - } - }, - "parse-gitignore": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/parse-gitignore/-/parse-gitignore-2.0.0.tgz", - "integrity": "sha512-RmVuCHWsfu0QPNW+mraxh/xjQVw/lhUCUru8Zni3Ctq3AoMhpDTq0OVdKS6iesd6Kqb7viCV3isAL43dciOSog==" - }, - "parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "requires": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - } - }, - "parse-json-object": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/parse-json-object/-/parse-json-object-2.0.1.tgz", - "integrity": "sha512-/oF7PUUBjCqHmMEE6xIQeX5ZokQ9+miudACzPt4KBU2qi6CxZYPdisPXx4ad7wpZJYi2ZpcW2PacLTU3De3ebw==", - "dev": true, - "requires": { - "types-json": "^1.2.0" - } - }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=" - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" - }, - "path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" - }, - "path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" - }, - "path-to-regexp": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz", - "integrity": "sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==", - "dev": true, - "requires": { - "isarray": "0.0.1" - }, - "dependencies": { - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", - "dev": true - } - } - }, - "path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==" - }, - "pathval": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", - "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==", - "dev": true - }, - "performance-now": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" - }, - "picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==" - }, - "pidtree": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/pidtree/-/pidtree-0.6.0.tgz", - "integrity": "sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==", - "dev": true - }, - "pkg-dir": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-8.0.0.tgz", - "integrity": "sha512-4peoBq4Wks0riS0z8741NVv+/8IiTvqnZAr8QGgtdifrtpdXbNw/FxRS1l6NFqm4EMzuS0EDqNNx4XGaz8cuyQ==", - "dev": true, - "requires": { - "find-up-simple": "^1.0.0" - } - }, - "pkg-up": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz", - "integrity": "sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==", - "requires": { - "find-up": "^3.0.0" - }, - "dependencies": { - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "requires": { - "locate-path": "^3.0.0" - } - } - } - }, - "pluralize": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-8.0.0.tgz", - "integrity": "sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==" - }, - "preferred-pm": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/preferred-pm/-/preferred-pm-3.0.3.tgz", - "integrity": "sha512-+wZgbxNES/KlJs9q40F/1sfOd/j7f1O9JaHcW5Dsn3aUUOZg3L2bjpVUcKV2jvtElYfoTuQiNeMfQJ4kwUAhCQ==", - "requires": { - "find-up": "^5.0.0", - "find-yarn-workspace-root2": "1.2.16", - "path-exists": "^4.0.0", - "which-pm": "2.0.0" - }, - "dependencies": { - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==" - } - } - }, - "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 - }, - "prettier": { - "version": "2.8.8", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", - "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==" - }, - "prettier-linter-helpers": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", - "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", - "dev": true, - "requires": { - "fast-diff": "^1.1.2" - } - }, - "prettier-plugin-java": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/prettier-plugin-java/-/prettier-plugin-java-1.6.2.tgz", - "integrity": "sha512-oVIUOkx50eb9skdRtEIU7MJUsizQ1ZocgXR1w1o8AnieNGpuPI/2pWnpjtbBm9wUG1dHtBGU8cVIr8h+xgzQIg==", - "requires": { - "java-parser": "2.0.2", - "lodash": "4.17.21", - "prettier": "2.3.1" - }, - "dependencies": { - "prettier": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.3.1.tgz", - "integrity": "sha512-p+vNbgpLjif/+D+DwAZAbndtRrR0md0MwfmOVN9N+2RgyACMT+7tfaRnT+WDPkqnuVwleyuBIG2XBxKDme3hPA==" - } - } - }, - "prettier-plugin-packagejson": { - "version": "2.2.18", - "resolved": "https://registry.npmjs.org/prettier-plugin-packagejson/-/prettier-plugin-packagejson-2.2.18.tgz", - "integrity": "sha512-iBjQ3IY6IayFrQHhXvg+YvKprPUUiIJ04Vr9+EbeQPfwGajznArIqrN33c5bi4JcIvmLHGROIMOm9aYakJj/CA==", - "requires": { - "sort-package-json": "1.57.0" - } - }, - "pretty-bytes": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", - "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==" - }, - "proc-log": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-1.0.0.tgz", - "integrity": "sha512-aCk8AO51s+4JyuYGg3Q/a6gnrlDO09NpVWePtjp7xwphcoQ04x5WAfCyugcsbLooWcMJ87CLkD4+604IckEdhg==" - }, - "process": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==" - }, - "process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" - }, - "progress": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", - "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==" - }, - "promise": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/promise/-/promise-8.1.0.tgz", - "integrity": "sha512-W04AqnILOL/sPRXziNicCjSNRruLAuIHEOVBazepu0545DDNGYHz7ar9ZgZ1fMU8/MA4mVxp5rkBWRi6OXIy3Q==", - "requires": { - "asap": "~2.0.6" - } - }, - "promise-all-reject-late": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/promise-all-reject-late/-/promise-all-reject-late-1.0.1.tgz", - "integrity": "sha512-vuf0Lf0lOxyQREH7GDIOUMLS7kz+gs8i6B+Yi8dC68a2sychGrHTJYghMBD6k7eUcH0H5P73EckCA48xijWqXw==" - }, - "promise-call-limit": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/promise-call-limit/-/promise-call-limit-1.0.1.tgz", - "integrity": "sha512-3+hgaa19jzCGLuSCbieeRsu5C2joKfYn8pY6JAuXFRVfF4IO+L7UPpFWNTeWT9pM7uhskvbPPd/oEOktCn317Q==" - }, - "promise-inflight": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", - "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=" - }, - "promise-retry": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz", - "integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==", - "requires": { - "err-code": "^2.0.2", - "retry": "^0.12.0" - } - }, - "proto-list": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", - "integrity": "sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==", - "dev": true - }, - "psl": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", - "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==" - }, - "pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" - }, - "pupa": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/pupa/-/pupa-3.1.0.tgz", - "integrity": "sha512-FLpr4flz5xZTSJxSeaheeMKN/EDzMdK7b8PTOC6a5PYFKTucWbdqjgqaEyH0shFiSJrVB1+Qqi4Tk19ccU6Aug==", - "dev": true, - "requires": { - "escape-goat": "^4.0.0" - } - }, - "qs": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz", - "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==" - }, - "querystring": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", - "integrity": "sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g==" - }, - "queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==" - }, - "quick-lru": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", - "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", - "dev": true - }, - "randexp": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/randexp/-/randexp-0.5.3.tgz", - "integrity": "sha512-U+5l2KrcMNOUPYvazA3h5ekF80FHTUG+87SEAmHZmolh1M+i/WyTCxVzmi+tidIa1tM4BSe8g2Y/D3loWDjj+w==", - "requires": { - "drange": "^1.0.2", - "ret": "^0.2.0" - } - }, - "randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "dev": true, - "requires": { - "safe-buffer": "^5.1.0" - } - }, - "rc": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", - "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", - "dev": true, - "requires": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" - }, - "dependencies": { - "ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", - "dev": true - }, - "strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", - "dev": true - } - } - }, - "read-cmd-shim": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/read-cmd-shim/-/read-cmd-shim-2.0.0.tgz", - "integrity": "sha512-HJpV9bQpkl6KwjxlJcBoqu9Ba0PQg8TqSNIOrulGt54a0uup0HtevreFHzYzkm0lpnleRdNBzXznKrgxglEHQw==" - }, - "read-file-safe": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/read-file-safe/-/read-file-safe-1.0.10.tgz", - "integrity": "sha512-qW25fd2uMX3dV6Ui/R0jYK1MhTpjx8FO/VHaHTXzwWsGnkNwLRcqYfCXd9qDM+NZ273DPUvP2RaimYuLSu1K/g==", - "dev": true - }, - "read-input": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/read-input/-/read-input-0.3.1.tgz", - "integrity": "sha1-WzFpMIATRk/9puyS5Y0tPOqUjfE=", - "dev": true - }, - "read-json-safe": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/read-json-safe/-/read-json-safe-1.0.5.tgz", - "integrity": "sha512-SJyNY/U9+vW35FPus22Qvv1oilnR7PCfN2E70uKQEGaJS313A5/cz9Yhv7ZtWzZ+XIwrtEPxXf10BOyYemHehA==", - "dev": true, - "requires": { - "parse-json-object": "^1.0.5", - "read-file-safe": "^1.0.5" - }, - "dependencies": { - "parse-json-object": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/parse-json-object/-/parse-json-object-1.1.0.tgz", - "integrity": "sha512-4w5s6uJY1tW9REY8UwUOyaZKSKsrbQrMEzlV/Le/g5t4iMWuuyK83pZZ0OZimSOL9iyv2ORvRSgz71Ekd7iD3g==", - "dev": true, - "requires": { - "types-json": "^1.0.6" - } - } - } - }, - "read-package-json-fast": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/read-package-json-fast/-/read-package-json-fast-2.0.3.tgz", - "integrity": "sha512-W/BKtbL+dUjTuRL2vziuYhp76s5HZ9qQhd/dKfWIZveD0O40453QNyZhC0e63lqZrAQ4jiOapVoeJ7JrszenQQ==", - "requires": { - "json-parse-even-better-errors": "^2.3.0", - "npm-normalize-package-bin": "^1.0.1" - } - }, - "read-package-up": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/read-package-up/-/read-package-up-11.0.0.tgz", - "integrity": "sha512-MbgfoNPANMdb4oRBNg5eqLbB2t2r+o5Ua1pNt8BqGp4I0FJZhuVSOj3PaBPni4azWuSzEdNn2evevzVmEk1ohQ==", - "dev": true, - "requires": { - "find-up-simple": "^1.0.0", - "read-pkg": "^9.0.0", - "type-fest": "^4.6.0" - }, - "dependencies": { - "hosted-git-info": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-7.0.1.tgz", - "integrity": "sha512-+K84LB1DYwMHoHSgaOY/Jfhw3ucPmSET5v98Ke/HdNSw4a0UktWzyW1mjhjpuxxTqOOsfWT/7iVshHmVZ4IpOA==", - "dev": true, - "requires": { - "lru-cache": "^10.0.1" - } - }, - "lru-cache": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.1.0.tgz", - "integrity": "sha512-/1clY/ui8CzjKFyjdvwPWJUYKiFVXG2I2cY0ssG7h4+hwk+XOIX7ZSG9Q7TW8TW3Kp3BUSqgFWBLgL4PJ+Blag==", - "dev": true - }, - "normalize-package-data": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-6.0.0.tgz", - "integrity": "sha512-UL7ELRVxYBHBgYEtZCXjxuD5vPxnmvMGq0jp/dGPKKrN7tfsBh2IY7TlJ15WWwdjRWD3RJbnsygUurTK3xkPkg==", - "dev": true, - "requires": { - "hosted-git-info": "^7.0.0", - "is-core-module": "^2.8.1", - "semver": "^7.3.5", - "validate-npm-package-license": "^3.0.4" - } - }, - "parse-json": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-8.1.0.tgz", - "integrity": "sha512-rum1bPifK5SSar35Z6EKZuYPJx85pkNaFrxBK3mwdfSJ1/WKbYrjoW/zTPSjRRamfmVX1ACBIdFAO0VRErW/EA==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.22.13", - "index-to-position": "^0.1.2", - "type-fest": "^4.7.1" - } - }, - "read-pkg": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-9.0.1.tgz", - "integrity": "sha512-9viLL4/n1BJUCT1NXVTdS1jtm80yDEgR5T4yCelII49Mbj0v1rZdKqj7zCiYdbB0CuCgdrvHcNogAKTFPBocFA==", - "dev": true, - "requires": { - "@types/normalize-package-data": "^2.4.3", - "normalize-package-data": "^6.0.0", - "parse-json": "^8.0.0", - "type-fest": "^4.6.0", - "unicorn-magic": "^0.1.0" - } - }, - "type-fest": { - "version": "4.8.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.8.2.tgz", - "integrity": "sha512-mcvrCjixA5166hSrUoJgGb9gBQN4loMYyj9zxuMs/66ibHNEFd5JXMw37YVDx58L4/QID9jIzdTBB4mDwDJ6KQ==", - "dev": true - } - } - }, - "read-pkg": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", - "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", - "requires": { - "@types/normalize-package-data": "^2.4.0", - "normalize-package-data": "^2.5.0", - "parse-json": "^5.0.0", - "type-fest": "^0.6.0" - }, - "dependencies": { - "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==" - } - } - }, - "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==", - "requires": { - "find-up": "^4.1.0", - "read-pkg": "^5.2.0", - "type-fest": "^0.8.1" - }, - "dependencies": { - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "requires": { - "p-locate": "^4.1.0" - } - }, - "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==", - "requires": { - "p-limit": "^2.2.0" - } - }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==" - } - } - }, - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - }, - "readdir-scoped-modules": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/readdir-scoped-modules/-/readdir-scoped-modules-1.1.0.tgz", - "integrity": "sha512-asaikDeqAQg7JifRsZn1NJZXo9E+VwlyCfbkZhwyISinqk5zNS6266HS5kah6P0SaQKGF6SkNnZVHUzHFYxYDw==", - "requires": { - "debuglog": "^1.0.1", - "dezalgo": "^1.0.0", - "graceful-fs": "^4.1.2", - "once": "^1.3.0" - } - }, - "readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dev": true, - "requires": { - "picomatch": "^2.2.1" - } - }, - "rechoir": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", - "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", - "requires": { - "resolve": "^1.1.6" - } - }, - "regexp-to-ast": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/regexp-to-ast/-/regexp-to-ast-0.5.0.tgz", - "integrity": "sha512-tlbJqcMHnPKI9zSrystikWKwHkBqu2a/Sgw01h3zFjvYrMxEDYHzzoMZnUrbIfpTFEsoRnnviOXNCzFiSc54Qw==" - }, - "regexp.prototype.flags": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz", - "integrity": "sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "functions-have-names": "^1.2.3" - } - }, - "registry-auth-token": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-4.2.2.tgz", - "integrity": "sha512-PC5ZysNb42zpFME6D/XlIgtNGdTl8bBOCw90xQLVMpzuuubJKYDWFAEuUNc+Cn8Z8724tg2SDhDRrkVEsqfDMg==", - "dev": true, - "requires": { - "rc": "1.2.8" - } - }, - "registry-url": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-6.0.1.tgz", - "integrity": "sha512-+crtS5QjFRqFCoQmvGduwYWEBng99ZvmFvF+cUJkGYF1L1BfU8C6Zp9T7f5vPAwyLkUExpvK+ANVZmGU49qi4Q==", - "dev": true, - "requires": { - "rc": "1.2.8" - } - }, - "remove-trailing-separator": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", - "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=" - }, - "replace-ext": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.1.tgz", - "integrity": "sha512-yD5BHCe7quCgBph4rMQ+0KkIRKwWCrHDOX1p1Gp6HwjPM5kVoCdKGNhN7ydqqsX6lJEnQDKZ/tFMiEdQ1dvPEw==" - }, - "request": { - "version": "2.88.2", - "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", - "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", - "requires": { - "aws-sign2": "~0.7.0", - "aws4": "^1.8.0", - "caseless": "~0.12.0", - "combined-stream": "~1.0.6", - "extend": "~3.0.2", - "forever-agent": "~0.6.1", - "form-data": "~2.3.2", - "har-validator": "~5.1.3", - "http-signature": "~1.2.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.19", - "oauth-sign": "~0.9.0", - "performance-now": "^2.1.0", - "qs": "~6.5.2", - "safe-buffer": "^5.1.2", - "tough-cookie": "~2.5.0", - "tunnel-agent": "^0.6.0", - "uuid": "^3.3.2" - }, - "dependencies": { - "tough-cookie": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", - "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", - "requires": { - "psl": "^1.1.28", - "punycode": "^2.1.1" - } - }, - "uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" - } - } - }, - "require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", - "dev": true - }, - "require-from-string": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==" - }, - "requizzle": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/requizzle/-/requizzle-0.2.3.tgz", - "integrity": "sha512-YanoyJjykPxGHii0fZP0uUPEXpvqfBDxWV7s6GKAiiOsiqhX6vHNyW3Qzdmqp/iq/ExbhaGbVrjB4ruEVSM4GQ==", - "dev": true, - "requires": { - "lodash": "^4.17.14" - } - }, - "resolve": { - "version": "1.22.4", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.4.tgz", - "integrity": "sha512-PXNdCiPqDqeUou+w1C2eTQbNfxKSuMxqTCuvlmmMsk1NWHL5fRrhY6Pl0qEYYc6+QqGClco1Qj8XnjPego4wfg==", - "requires": { - "is-core-module": "^2.13.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - } - }, - "resolve-alpn": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.2.1.tgz", - "integrity": "sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==", - "dev": true - }, - "resolve-cwd": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", - "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", - "dev": true, - "requires": { - "resolve-from": "^5.0.0" - } - }, - "resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true - }, - "responselike": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/responselike/-/responselike-2.0.1.tgz", - "integrity": "sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw==", - "dev": true, - "requires": { - "lowercase-keys": "^2.0.0" - } - }, - "restore-cursor": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", - "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", - "requires": { - "onetime": "^2.0.0", - "signal-exit": "^3.0.2" - }, - "dependencies": { - "mimic-fn": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", - "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==" - }, - "onetime": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", - "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", - "requires": { - "mimic-fn": "^1.0.0" - } - } - } - }, - "ret": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/ret/-/ret-0.2.2.tgz", - "integrity": "sha512-M0b3YWQs7R3Z917WRQy1HHA7Ba7D8hvZg6UE5mLykJxQVE2ju0IXbGlaHPPlkY+WN7wFP+wUMXmBFA0aV6vYGQ==" - }, - "retry": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", - "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=" - }, - "reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==" - }, - "rfdc": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.3.0.tgz", - "integrity": "sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==", - "dev": true - }, - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "requires": { - "glob": "^7.1.3" - } - }, - "run-applescript": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/run-applescript/-/run-applescript-5.0.0.tgz", - "integrity": "sha512-XcT5rBksx1QdIhlFOCtgZkB99ZEouFZ1E2Kc2LHqNW13U3/74YGdkQRmThTwxy4QIyookibDKYZOPqX//6BlAg==", - "dev": true, - "requires": { - "execa": "^5.0.0" - }, - "dependencies": { - "execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", - "dev": true, - "requires": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" - } - }, - "get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", - "dev": true - }, - "human-signals": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", - "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", - "dev": true - }, - "is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", - "dev": true - } - } - }, - "run-async": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", - "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==" - }, - "run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "requires": { - "queue-microtask": "^1.2.2" - } - }, - "rxjs": { - "version": "6.6.7", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", - "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", - "requires": { - "tslib": "^1.9.0" - } - }, - "safe-array-concat": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.0.0.tgz", - "integrity": "sha512-9dVEFruWIsnie89yym+xWTAYASdpw3CJV7Li/6zBewGf9z2i1j31rP6jnY0pHEO4QZh6N0K11bFjWmdR8UGdPQ==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.0", - "has-symbols": "^1.0.3", - "isarray": "^2.0.5" - }, - "dependencies": { - "isarray": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", - "dev": true - } - } - }, - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" - }, - "safe-regex-test": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", - "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.3", - "is-regex": "^1.1.4" - } - }, - "safe-stable-stringify": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-2.3.1.tgz", - "integrity": "sha512-kYBSfT+troD9cDA85VDnHZ1rpHC50O0g1e6WlGHVCz/g+JS+9WKLj+XwFYyR8UbrZN8ll9HUpDAAddY58MGisg==" - }, - "safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" - }, - "sax": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.1.tgz", - "integrity": "sha512-8I2a3LovHTOpm7NV5yOyO8IHqgVsfK4+UuySrXU8YXkSRX7k6hCV9b3HrkKCr3nMpgj+0bmocaJJWpvp1oc7ZA==" - }, - "scoped-regex": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/scoped-regex/-/scoped-regex-2.1.0.tgz", - "integrity": "sha512-g3WxHrqSWCZHGHlSrF51VXFdjImhwvH8ZO/pryFH56Qi0cDsZfylQa/t0jCzVQFNbNvM00HfHjkDPEuarKDSWQ==" - }, - "semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", - "requires": { - "lru-cache": "^6.0.0" - } - }, - "semver-diff": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-4.0.0.tgz", - "integrity": "sha512-0Ju4+6A8iOnpL/Thra7dZsSlOHYAHIeMxfhWQRI1/VLcT3WDBZKKtQt/QkBOsiIN9ZpuvHE6cGZ0x4glCMmfiA==", - "dev": true, - "requires": { - "semver": "^7.3.5" - } - }, - "serialize-javascript": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", - "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", - "dev": true, - "requires": { - "randombytes": "^2.1.0" - } - }, - "set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" - }, - "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==", - "requires": { - "shebang-regex": "^3.0.0" - } - }, - "shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" - }, - "shelljs": { - "version": "0.8.5", - "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz", - "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==", - "requires": { - "glob": "^7.0.0", - "interpret": "^1.0.0", - "rechoir": "^0.6.2" - } - }, - "side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", - "dev": true, - "requires": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" - } - }, - "signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" - }, - "simple-git": { - "version": "3.13.0", - "resolved": "https://registry.npmjs.org/simple-git/-/simple-git-3.13.0.tgz", - "integrity": "sha512-VYrs3joeHvWGcN3K135RpGpPjm4AHYeOrclwew6LlfHgq6ozQYIW2yMnmjf4PCgVOuSYCbXkdUjyiFawuJz8MA==", - "requires": { - "@kwsites/file-exists": "^1.1.1", - "@kwsites/promise-deferred": "^1.1.1", - "debug": "^4.3.4" - } - }, - "simple-swizzle": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", - "integrity": "sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==", - "requires": { - "is-arrayish": "^0.3.1" - } - }, - "sinon": { - "version": "17.0.1", - "resolved": "https://registry.npmjs.org/sinon/-/sinon-17.0.1.tgz", - "integrity": "sha512-wmwE19Lie0MLT+ZYNpDymasPHUKTaZHUH/pKEubRXIzySv9Atnlw+BUMGCzWgV7b7wO+Hw6f1TEOr0IUnmU8/g==", - "dev": true, - "requires": { - "@sinonjs/commons": "^3.0.0", - "@sinonjs/fake-timers": "^11.2.2", - "@sinonjs/samsam": "^8.0.0", - "diff": "^5.1.0", - "nise": "^5.1.5", - "supports-color": "^7.2.0" - }, - "dependencies": { - "@sinonjs/commons": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.0.tgz", - "integrity": "sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==", - "dev": true, - "requires": { - "type-detect": "4.0.8" - } - }, - "diff": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-5.1.0.tgz", - "integrity": "sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" - }, - "slice-ansi": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-5.0.0.tgz", - "integrity": "sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==", - "dev": true, - "requires": { - "ansi-styles": "^6.0.0", - "is-fullwidth-code-point": "^4.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", - "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz", - "integrity": "sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==", - "dev": true - } - } - }, - "smart-buffer": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", - "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==" - }, - "socks": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/socks/-/socks-2.6.1.tgz", - "integrity": "sha512-kLQ9N5ucj8uIcxrDwjm0Jsqk06xdpBjGNQtpXy4Q8/QY2k+fY7nZH8CARy+hkbG+SGAovmzzuauCpBlb8FrnBA==", - "requires": { - "ip": "^1.1.5", - "smart-buffer": "^4.1.0" - } - }, - "socks-proxy-agent": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.1.1.tgz", - "integrity": "sha512-t8J0kG3csjA4g6FTbsMOWws+7R7vuRC8aQ/wy3/1OWmsgwA68zs/+cExQ0koSitUDXqhufF/YJr9wtNMZHw5Ew==", - "requires": { - "agent-base": "^6.0.2", - "debug": "^4.3.1", - "socks": "^2.6.1" - } - }, - "sort-keys": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-4.2.0.tgz", - "integrity": "sha512-aUYIEU/UviqPgc8mHR6IW1EGxkAXpeRETYcrzg8cLAvUPZcpAlleSXHV2mY7G12GphSH6Gzv+4MMVSSkbdteHg==", - "requires": { - "is-plain-obj": "^2.0.0" - }, - "dependencies": { - "is-plain-obj": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", - "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==" - } - } - }, - "sort-object-keys": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/sort-object-keys/-/sort-object-keys-1.1.3.tgz", - "integrity": "sha512-855pvK+VkU7PaKYPc+Jjnmt4EzejQHyhhF33q31qG8x7maDzkeFhAAThdCYay11CISO+qAMwjOBP+fPZe0IPyg==" - }, - "sort-package-json": { - "version": "1.57.0", - "resolved": "https://registry.npmjs.org/sort-package-json/-/sort-package-json-1.57.0.tgz", - "integrity": "sha512-FYsjYn2dHTRb41wqnv+uEqCUvBpK3jZcTp9rbz2qDTmel7Pmdtf+i2rLaaPMRZeSVM60V3Se31GyWFpmKs4Q5Q==", - "requires": { - "detect-indent": "^6.0.0", - "detect-newline": "3.1.0", - "git-hooks-list": "1.0.3", - "globby": "10.0.0", - "is-plain-obj": "2.1.0", - "sort-object-keys": "^1.1.3" + "node_modules/yeoman-environment/node_modules/is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "engines": { + "node": ">=10" }, - "dependencies": { - "is-plain-obj": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", - "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==" - } - } - }, - "spdx-correct": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", - "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", - "requires": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" - } - }, - "spdx-exceptions": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", - "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==" - }, - "spdx-expression-parse": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", - "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", - "requires": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" - } - }, - "spdx-license-ids": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.6.tgz", - "integrity": "sha512-+orQK83kyMva3WyPf59k1+Y525csj5JejicWut55zeTWANuN17qSiSLUXWtzHeNWORSvT7GLDJ/E/XiIWoXBTw==" - }, - "sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" - }, - "sshpk": { - "version": "1.16.1", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", - "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", - "requires": { - "asn1": "~0.2.3", - "assert-plus": "^1.0.0", - "bcrypt-pbkdf": "^1.0.0", - "dashdash": "^1.12.0", - "ecc-jsbn": "~0.1.1", - "getpass": "^0.1.1", - "jsbn": "~0.1.0", - "safer-buffer": "^2.0.2", - "tweetnacl": "~0.14.0" - } - }, - "ssri": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz", - "integrity": "sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==", - "requires": { - "minipass": "^3.1.1" - } - }, - "stack-trace": { - "version": "0.0.10", - "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz", - "integrity": "sha512-KGzahc7puUKkzyMt+IqAep+TVNbKP+k2Lmwhub39m1AsTSkaDutx56aDCo+HLDzf/D26BIHTJWNiTG1KAJiQCg==" - }, - "string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "requires": { - "safe-buffer": "~5.2.0" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "string-argv": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.3.2.tgz", - "integrity": "sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==", - "dev": true + "node_modules/yeoman-environment/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" + "node_modules/yeoman-environment/node_modules/isbinaryfile": { + "version": "4.0.10", + "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-4.0.10.tgz", + "integrity": "sha512-iHrqe5shvBUcFbmZq9zOQHBoeOhZJu6RQGrDpBgenUm/Am+F3JM2MgQj+rK3Z601fzrL5gLZWtAPH2OBaSVcyw==", + "engines": { + "node": ">= 8.0.0" }, - "dependencies": { - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "requires": { - "ansi-regex": "^3.0.0" - } - } + "funding": { + "url": "https://github.com/sponsors/gjtorikian/" } }, - "string.prototype.trim": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.7.tgz", - "integrity": "sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "node_modules/yeoman-environment/node_modules/just-diff": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/just-diff/-/just-diff-5.2.0.tgz", + "integrity": "sha512-6ufhP9SHjb7jibNFrNxyFZ6od3g+An6Ai9mhGRvcYe8UJlH0prseN64M+6ZBBUoKYHZsitDP42gAJ8+eVWr3lw==" + }, + "node_modules/yeoman-environment/node_modules/log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "dependencies": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "string.prototype.trimend": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz", - "integrity": "sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "node_modules/yeoman-environment/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" } }, - "string.prototype.trimstart": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz", - "integrity": "sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "node_modules/yeoman-environment/node_modules/make-fetch-happen": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-9.1.0.tgz", + "integrity": "sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg==", + "dependencies": { + "agentkeepalive": "^4.1.3", + "cacache": "^15.2.0", + "http-cache-semantics": "^4.1.0", + "http-proxy-agent": "^4.0.1", + "https-proxy-agent": "^5.0.0", + "is-lambda": "^1.0.1", + "lru-cache": "^6.0.0", + "minipass": "^3.1.3", + "minipass-collect": "^1.0.2", + "minipass-fetch": "^1.3.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^0.6.2", + "promise-retry": "^2.0.1", + "socks-proxy-agent": "^6.0.0", + "ssri": "^8.0.0" + }, + "engines": { + "node": ">= 10" } }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "requires": { - "ansi-regex": "^4.1.0" + "node_modules/yeoman-environment/node_modules/mem-fs": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/mem-fs/-/mem-fs-2.3.0.tgz", + "integrity": "sha512-GftCCBs6EN8sz3BoWO1bCj8t7YBtT713d8bUgbhg9Iel5kFSqnSvCK06TYIDJAtJ51cSiWkM/YemlT0dfoFycw==", + "dependencies": { + "@types/node": "^15.6.2", + "@types/vinyl": "^2.0.4", + "vinyl": "^2.0.1", + "vinyl-file": "^3.0.0" }, + "engines": { + "node": ">=12" + } + }, + "node_modules/yeoman-environment/node_modules/mem-fs-editor": { + "version": "9.7.0", + "resolved": "https://registry.npmjs.org/mem-fs-editor/-/mem-fs-editor-9.7.0.tgz", + "integrity": "sha512-ReB3YD24GNykmu4WeUL/FDIQtkoyGB6zfJv60yfCo3QjKeimNcTqv2FT83bP0ccs6uu+sm5zyoBlspAzigmsdg==", "dependencies": { - "ansi-regex": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", - "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==" + "binaryextensions": "^4.16.0", + "commondir": "^1.0.1", + "deep-extend": "^0.6.0", + "ejs": "^3.1.8", + "globby": "^11.1.0", + "isbinaryfile": "^5.0.0", + "minimatch": "^7.2.0", + "multimatch": "^5.0.0", + "normalize-path": "^3.0.0", + "textextensions": "^5.13.0" + }, + "engines": { + "node": ">=12.10.0" + }, + "peerDependencies": { + "mem-fs": "^2.1.0" + }, + "peerDependenciesMeta": { + "mem-fs": { + "optional": true } } }, - "strip-bom": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", - "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", - "requires": { - "is-utf8": "^0.2.0" + "node_modules/yeoman-environment/node_modules/mem-fs-editor/node_modules/isbinaryfile": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-5.0.0.tgz", + "integrity": "sha512-UDdnyGvMajJUWCkib7Cei/dvyJrrvo4FIrsvSFWdPpXSUorzXrDJ0S+X5Q4ZlasfPjca4yqCNNsjbCeiy8FFeg==", + "engines": { + "node": ">= 14.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/gjtorikian/" } }, - "strip-bom-buf": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-bom-buf/-/strip-bom-buf-1.0.0.tgz", - "integrity": "sha1-HLRar1dTD0yvhsf3UXnSyaUd1XI=", - "requires": { - "is-utf8": "^0.2.1" + "node_modules/yeoman-environment/node_modules/mem-fs-editor/node_modules/minimatch": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-7.4.6.tgz", + "integrity": "sha512-sBz8G/YjVniEz6lKPNpKxXwazJe4c19fEfV2GDMX6AjFz+MX9uDWIZW8XreVhkFW3fkIdTv/gxWr/Kks5FFAVw==", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "strip-bom-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-bom-stream/-/strip-bom-stream-2.0.0.tgz", - "integrity": "sha1-+H217yYT9paKpUWr/h7HKLaoKco=", - "requires": { - "first-chunk-stream": "^2.0.0", - "strip-bom": "^2.0.0" + "node_modules/yeoman-environment/node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "engines": { + "node": ">=6" } }, - "strip-final-newline": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==" - }, - "strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "requires": { - "has-flag": "^3.0.0" + "node_modules/yeoman-environment/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "supports-hyperlinks": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz", - "integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==", - "dev": true, - "requires": { - "has-flag": "^4.0.0", - "supports-color": "^7.0.0" - }, + "node_modules/yeoman-environment/node_modules/minipass-collect": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz", + "integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==", "dependencies": { - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" } }, - "supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==" - }, - "symbol-observable": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-4.0.0.tgz", - "integrity": "sha512-b19dMThMV4HVFynSAM1++gBHAbk2Tc/osgLIBZMKsyqh34jb2e8Os7T6ZW/Bt3pJFdBTd2JwAnAAEQV7rSNvcQ==", - "dev": true - }, - "syntax-error": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/syntax-error/-/syntax-error-1.4.0.tgz", - "integrity": "sha512-YPPlu67mdnHGTup2A8ff7BC2Pjq0e0Yp/IyTFN03zWO0RcK07uLcbi7C2KpGR2FvWbaB0+bfE27a+sBKebSo7w==", - "dev": true, - "requires": { - "acorn-node": "^1.2.0" + "node_modules/yeoman-environment/node_modules/minipass-fetch": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-1.4.1.tgz", + "integrity": "sha512-CGH1eblLq26Y15+Azk7ey4xh0J/XfJfrCox5LDJiKqI2Q2iwOLOKrlmIaODiSQS8d18jalF6y2K2ePUm0CmShw==", + "dependencies": { + "minipass": "^3.1.0", + "minipass-sized": "^1.0.3", + "minizlib": "^2.0.0" + }, + "engines": { + "node": ">=8" + }, + "optionalDependencies": { + "encoding": "^0.1.12" } }, - "tar": { - "version": "6.1.11", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.11.tgz", - "integrity": "sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA==", - "requires": { - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "minipass": "^3.0.0", - "minizlib": "^2.1.1", - "mkdirp": "^1.0.3", - "yallist": "^4.0.0" + "node_modules/yeoman-environment/node_modules/multimatch": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/multimatch/-/multimatch-5.0.0.tgz", + "integrity": "sha512-ypMKuglUrZUD99Tk2bUQ+xNQj43lPEfAeX2o9cTteAmShXy2VHDJpuwu1o0xqoKCt9jLVAvwyFKdLTPXKAfJyA==", + "dependencies": { + "@types/minimatch": "^3.0.3", + "array-differ": "^3.0.0", + "array-union": "^2.1.0", + "arrify": "^2.0.1", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "temp-dir": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-2.0.0.tgz", - "integrity": "sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==", - "dev": true + "node_modules/yeoman-environment/node_modules/mute-stream": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", + "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==" }, - "terminal-link": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-3.0.0.tgz", - "integrity": "sha512-flFL3m4wuixmf6IfhFJd1YPiLiMuxEc8uHRM1buzIeZPm22Au2pDqBJQgdo7n1WfPU1ONFGv7YDwpFBmHGF6lg==", - "dev": true, - "requires": { - "ansi-escapes": "^5.0.0", - "supports-hyperlinks": "^2.2.0" + "node_modules/yeoman-environment/node_modules/node-gyp": { + "version": "8.4.1", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-8.4.1.tgz", + "integrity": "sha512-olTJRgUtAb/hOXG0E93wZDs5YiJlgbXxTwQAFHyNlRsXQnYzUaF2aGgujZbw+hR8aF4ZG/rST57bWMWD16jr9w==", + "dependencies": { + "env-paths": "^2.2.0", + "glob": "^7.1.4", + "graceful-fs": "^4.2.6", + "make-fetch-happen": "^9.1.0", + "nopt": "^5.0.0", + "npmlog": "^6.0.0", + "rimraf": "^3.0.2", + "semver": "^7.3.5", + "tar": "^6.1.2", + "which": "^2.0.2" + }, + "bin": { + "node-gyp": "bin/node-gyp.js" + }, + "engines": { + "node": ">= 10.12.0" + } + }, + "node_modules/yeoman-environment/node_modules/node-gyp/node_modules/are-we-there-yet": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", + "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", + "dependencies": { + "delegates": "^1.0.0", + "readable-stream": "^3.6.0" }, - "dependencies": { - "ansi-escapes": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-5.0.0.tgz", - "integrity": "sha512-5GFMVX8HqE/TB+FuBJGuO5XG0WrsA6ptUqoODaT/n9mmUaZFkqnBueB4leqGBCmrUHnCnC4PCZTCd0E7QQ83bA==", - "dev": true, - "requires": { - "type-fest": "^1.0.2" - } - }, - "type-fest": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz", - "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==", - "dev": true - } + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "text-hex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/text-hex/-/text-hex-1.0.0.tgz", - "integrity": "sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg==" - }, - "text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=" + "node_modules/yeoman-environment/node_modules/node-gyp/node_modules/gauge": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", + "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", + "dependencies": { + "aproba": "^1.0.3 || ^2.0.0", + "color-support": "^1.1.3", + "console-control-strings": "^1.1.0", + "has-unicode": "^2.0.1", + "signal-exit": "^3.0.7", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wide-align": "^1.1.5" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } }, - "textextensions": { - "version": "5.14.0", - "resolved": "https://registry.npmjs.org/textextensions/-/textextensions-5.14.0.tgz", - "integrity": "sha512-4cAYwNFNYlIAHBUo7p6zw8POUvWbZor+/R0Tanv+rIhsauEyV9QSrEXL40pI+GfTQxKX8k6Tyw6CmdSDSmASrg==" + "node_modules/yeoman-environment/node_modules/node-gyp/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } }, - "then-request": { + "node_modules/yeoman-environment/node_modules/node-gyp/node_modules/npmlog": { "version": "6.0.2", - "resolved": "https://registry.npmjs.org/then-request/-/then-request-6.0.2.tgz", - "integrity": "sha512-3ZBiG7JvP3wbDzA9iNY5zJQcHL4jn/0BWtXIkagfz7QgOL/LqjCEOBQuJNZfu0XYnv5JhKh+cDxCPM4ILrqruA==", - "requires": { - "@types/concat-stream": "^1.6.0", - "@types/form-data": "0.0.33", - "@types/node": "^8.0.0", - "@types/qs": "^6.2.31", - "caseless": "~0.12.0", - "concat-stream": "^1.6.0", - "form-data": "^2.2.0", - "http-basic": "^8.1.1", - "http-response-object": "^3.0.1", - "promise": "^8.0.0", - "qs": "^6.4.0" + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", + "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", + "dependencies": { + "are-we-there-yet": "^3.0.0", + "console-control-strings": "^1.1.0", + "gauge": "^4.0.3", + "set-blocking": "^2.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" - }, - "titleize": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/titleize/-/titleize-3.0.0.tgz", - "integrity": "sha512-KxVu8EYHDPBdUYdKZdKtU2aj2XfEx9AfjXxE/Aj0vT06w2icA09Vus1rh6eSu1y01akYg6BjIK/hxyLJINoMLQ==", - "dev": true - }, - "tmp": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", - "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", - "requires": { - "os-tmpdir": "~1.0.2" + "node_modules/yeoman-environment/node_modules/node-gyp/node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" } }, - "to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "requires": { - "is-number": "^7.0.0" + "node_modules/yeoman-environment/node_modules/nopt": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", + "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", + "dependencies": { + "abbrev": "1" + }, + "bin": { + "nopt": "bin/nopt.js" + }, + "engines": { + "node": ">=6" } }, - "tough-cookie": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.0.0.tgz", - "integrity": "sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg==", - "requires": { - "psl": "^1.1.33", - "punycode": "^2.1.1", - "universalify": "^0.1.2" - }, + "node_modules/yeoman-environment/node_modules/npm-bundled": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.1.2.tgz", + "integrity": "sha512-x5DHup0SuyQcmL3s7Rx/YQ8sbw/Hzg0rj48eN0dV7hf5cmQq5PXIeioroH3raV1QC1yh3uTYuMThvEQF3iKgGQ==", "dependencies": { - "universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" - } + "npm-normalize-package-bin": "^1.0.1" } }, - "tr46": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" - }, - "treeverse": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/treeverse/-/treeverse-1.0.4.tgz", - "integrity": "sha512-whw60l7r+8ZU8Tu/Uc2yxtc4ZTZbR/PF3u1IPNKGQ6p8EICLb3Z2lAgoqw9bqYd8IkgnsaOcLzYHFckjqNsf0g==" - }, - "triple-beam": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/triple-beam/-/triple-beam-1.3.0.tgz", - "integrity": "sha512-XrHUvV5HpdLmIj4uVMxHggLbFSZYIn7HEWsqePZcI50pco+MPqJ50wMGY794X7AOOhxOBAjbkqfAbEe/QMp2Lw==" - }, - "tsconfig-paths": { - "version": "3.15.0", - "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz", - "integrity": "sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==", - "dev": true, - "requires": { - "@types/json5": "^0.0.29", - "json5": "^1.0.2", - "minimist": "^1.2.6", - "strip-bom": "^3.0.0" - }, + "node_modules/yeoman-environment/node_modules/npm-install-checks": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-4.0.0.tgz", + "integrity": "sha512-09OmyDkNLYwqKPOnbI8exiOZU2GVVmQp7tgez2BPi5OZC8M82elDAps7sxC4l//uSUtotWqoEIDwjRvWH4qz8w==", "dependencies": { - "strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", - "dev": true - } + "semver": "^7.1.1" + }, + "engines": { + "node": ">=10" } }, - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + "node_modules/yeoman-environment/node_modules/npm-normalize-package-bin": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz", + "integrity": "sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==" }, - "tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", - "requires": { - "safe-buffer": "^5.0.1" + "node_modules/yeoman-environment/node_modules/npm-package-arg": { + "version": "8.1.5", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.1.5.tgz", + "integrity": "sha512-LhgZrg0n0VgvzVdSm1oiZworPbTxYHUJCgtsJW8mGvlDpxTM1vSJc3m5QZeUkhAHIzbz3VCHd/R4osi1L1Tg/Q==", + "dependencies": { + "hosted-git-info": "^4.0.1", + "semver": "^7.3.4", + "validate-npm-package-name": "^3.0.0" + }, + "engines": { + "node": ">=10" } }, - "tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=" - }, - "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, - "requires": { - "prelude-ls": "^1.2.1" + "node_modules/yeoman-environment/node_modules/npm-packlist": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-3.0.0.tgz", + "integrity": "sha512-L/cbzmutAwII5glUcf2DBRNY/d0TFd4e/FnaZigJV6JD85RHZXJFGwCndjMWiiViiWSsWt3tiOLpI3ByTnIdFQ==", + "dependencies": { + "glob": "^7.1.6", + "ignore-walk": "^4.0.1", + "npm-bundled": "^1.1.1", + "npm-normalize-package-bin": "^1.0.1" + }, + "bin": { + "npm-packlist": "bin/index.js" + }, + "engines": { + "node": ">=10" } }, - "type-detect": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", - "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", - "dev": true - }, - "type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==" - }, - "typed-array-buffer": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.0.tgz", - "integrity": "sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.1", - "is-typed-array": "^1.1.10" + "node_modules/yeoman-environment/node_modules/npm-packlist/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "typed-array-byte-length": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz", - "integrity": "sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "has-proto": "^1.0.1", - "is-typed-array": "^1.1.10" + "node_modules/yeoman-environment/node_modules/npm-pick-manifest": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-6.1.1.tgz", + "integrity": "sha512-dBsdBtORT84S8V8UTad1WlUyKIY9iMsAmqxHbLdeEeBNMLQDlDWWra3wYUx9EBEIiG/YwAy0XyNHDd2goAsfuA==", + "dependencies": { + "npm-install-checks": "^4.0.0", + "npm-normalize-package-bin": "^1.0.1", + "npm-package-arg": "^8.1.2", + "semver": "^7.3.4" } }, - "typed-array-byte-offset": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz", - "integrity": "sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==", - "dev": true, - "requires": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "has-proto": "^1.0.1", - "is-typed-array": "^1.1.10" + "node_modules/yeoman-environment/node_modules/npm-registry-fetch": { + "version": "12.0.2", + "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-12.0.2.tgz", + "integrity": "sha512-Df5QT3RaJnXYuOwtXBXS9BWs+tHH2olvkCLh6jcR/b/u3DvPMlp3J0TvvYwplPKxHMOwfg287PYih9QqaVFoKA==", + "dependencies": { + "make-fetch-happen": "^10.0.1", + "minipass": "^3.1.6", + "minipass-fetch": "^1.4.1", + "minipass-json-stream": "^1.0.1", + "minizlib": "^2.1.2", + "npm-package-arg": "^8.1.5" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16" } }, - "typed-array-length": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz", - "integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "is-typed-array": "^1.1.9" + "node_modules/yeoman-environment/node_modules/npm-registry-fetch/node_modules/@npmcli/fs": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-2.1.2.tgz", + "integrity": "sha512-yOJKRvohFOaLqipNtwYB9WugyZKhC/DZC4VYPmpaCzDBrA8YpK3qHZ8/HGscMnE4GqbkLNuVcCnxkeQEdGt6LQ==", + "dependencies": { + "@gar/promisify": "^1.1.3", + "semver": "^7.3.5" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "typedarray": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" - }, - "typedarray-to-buffer": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", - "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", - "requires": { - "is-typedarray": "^1.0.0" + "node_modules/yeoman-environment/node_modules/npm-registry-fetch/node_modules/@npmcli/move-file": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-2.0.1.tgz", + "integrity": "sha512-mJd2Z5TjYWq/ttPLLGqArdtnC74J6bOzg4rMDnN+p1xTacZ2yPRCk2y0oSWQtygLR9YVQXgOcONrwtnk3JupxQ==", + "deprecated": "This functionality has been moved to @npmcli/fs", + "dependencies": { + "mkdirp": "^1.0.4", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "types-eslintrc": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/types-eslintrc/-/types-eslintrc-1.0.3.tgz", - "integrity": "sha512-zKTR6aKHEudQpl+JoZjS3qh0B5IzSpQK/BCpYBECujcnKtqL87DJJ1sJKe5B8k/y8/UJ5sukq42QDvlaJyCO2w==", - "dev": true, - "requires": { - "types-json": "^1.2.2" + "node_modules/yeoman-environment/node_modules/npm-registry-fetch/node_modules/@tootallnate/once": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", + "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", + "engines": { + "node": ">= 10" } }, - "types-json": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/types-json/-/types-json-1.2.2.tgz", - "integrity": "sha512-VfVLISHypS7ayIHvhacOESOTib4Sm4mAhnsgR8fzQdGp89YoBwMqvGmqENjtYehUQzgclT+7NafpEXkK/MHKwA==", - "dev": true + "node_modules/yeoman-environment/node_modules/npm-registry-fetch/node_modules/cacache": { + "version": "16.1.3", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-16.1.3.tgz", + "integrity": "sha512-/+Emcj9DAXxX4cwlLmRI9c166RuL3w30zp4R7Joiv2cQTtTtA+jeuCAjH3ZlGnYS3tKENSrKhAzVVP9GVyzeYQ==", + "dependencies": { + "@npmcli/fs": "^2.1.0", + "@npmcli/move-file": "^2.0.0", + "chownr": "^2.0.0", + "fs-minipass": "^2.1.0", + "glob": "^8.0.1", + "infer-owner": "^1.0.4", + "lru-cache": "^7.7.1", + "minipass": "^3.1.6", + "minipass-collect": "^1.0.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "mkdirp": "^1.0.4", + "p-map": "^4.0.0", + "promise-inflight": "^1.0.1", + "rimraf": "^3.0.2", + "ssri": "^9.0.0", + "tar": "^6.1.11", + "unique-filename": "^2.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } }, - "types-pkg-json": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/types-pkg-json/-/types-pkg-json-1.2.1.tgz", - "integrity": "sha512-Wj75lCkPwfj1BhmaJxMPpTQj9YGpihjs3WICigt1IjTAswr7zPXP0iJYPZjU0Rw/IriODhMJjAImkCIxt9KeuQ==", - "dev": true, - "requires": { - "types-eslintrc": "^1.0.3", - "types-json": "^1.2.2" + "node_modules/yeoman-environment/node_modules/npm-registry-fetch/node_modules/http-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", + "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", + "dependencies": { + "@tootallnate/once": "2", + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" } }, - "uc.micro": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz", - "integrity": "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==", - "dev": true + "node_modules/yeoman-environment/node_modules/npm-registry-fetch/node_modules/lru-cache": { + "version": "7.18.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", + "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", + "engines": { + "node": ">=12" + } }, - "unbox-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", - "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "has-bigints": "^1.0.2", - "has-symbols": "^1.0.3", - "which-boxed-primitive": "^1.0.2" + "node_modules/yeoman-environment/node_modules/npm-registry-fetch/node_modules/make-fetch-happen": { + "version": "10.2.1", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-10.2.1.tgz", + "integrity": "sha512-NgOPbRiaQM10DYXvN3/hhGVI2M5MtITFryzBGxHM5p4wnFxsVCbxkrBrDsk+EZ5OB4jEOT7AjDxtdF+KVEFT7w==", + "dependencies": { + "agentkeepalive": "^4.2.1", + "cacache": "^16.1.0", + "http-cache-semantics": "^4.1.0", + "http-proxy-agent": "^5.0.0", + "https-proxy-agent": "^5.0.0", + "is-lambda": "^1.0.1", + "lru-cache": "^7.7.1", + "minipass": "^3.1.6", + "minipass-collect": "^1.0.2", + "minipass-fetch": "^2.0.3", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^0.6.3", + "promise-retry": "^2.0.1", + "socks-proxy-agent": "^7.0.0", + "ssri": "^9.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "underscore": { - "version": "1.13.4", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.4.tgz", - "integrity": "sha512-BQFnUDuAQ4Yf/cYY5LNrK9NCJFKriaRbD9uR1fTeXnBeoa97W0i41qkZfGO9pSo8I5KzjAcSY2XYtdf0oKd7KQ==", - "dev": true + "node_modules/yeoman-environment/node_modules/npm-registry-fetch/node_modules/make-fetch-happen/node_modules/minipass-fetch": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-2.1.2.tgz", + "integrity": "sha512-LT49Zi2/WMROHYoqGgdlQIZh8mLPZmOrN2NdJjMXxYe4nkN6FUyuPuOAOedNJDrx0IRGg9+4guZewtp8hE6TxA==", + "dependencies": { + "minipass": "^3.1.6", + "minipass-sized": "^1.0.3", + "minizlib": "^2.1.2" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + }, + "optionalDependencies": { + "encoding": "^0.1.13" + } }, - "unicorn-magic": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.1.0.tgz", - "integrity": "sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==", - "dev": true + "node_modules/yeoman-environment/node_modules/npm-registry-fetch/node_modules/socks-proxy-agent": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-7.0.0.tgz", + "integrity": "sha512-Fgl0YPZ902wEsAyiQ+idGd1A7rSFx/ayC1CQVMw5P+EQx2V0SgpGtf6OKFhVjPflPUl9YMmEOnmfjCdMUsygww==", + "dependencies": { + "agent-base": "^6.0.2", + "debug": "^4.3.3", + "socks": "^2.6.2" + }, + "engines": { + "node": ">= 10" + } }, - "unique-filename": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", - "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", - "requires": { - "unique-slug": "^2.0.0" + "node_modules/yeoman-environment/node_modules/npm-registry-fetch/node_modules/ssri": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-9.0.1.tgz", + "integrity": "sha512-o57Wcn66jMQvfHG1FlYbWeZWW/dHZhJXjpIcTfXldXEk5nz5lStPo3mK0OJQfGR3RbZUlbISexbljkJzuEj/8Q==", + "dependencies": { + "minipass": "^3.1.1" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "unique-slug": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", - "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", - "requires": { - "imurmurhash": "^0.1.4" + "node_modules/yeoman-environment/node_modules/npm-registry-fetch/node_modules/unique-filename": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-2.0.1.tgz", + "integrity": "sha512-ODWHtkkdx3IAR+veKxFV+VBkUMcN+FaqzUUd7IZzt+0zhDZFPFxhlqwPF3YQvMHx1TD0tdgYl+kuPnJ8E6ql7A==", + "dependencies": { + "unique-slug": "^3.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "unique-string": { + "node_modules/yeoman-environment/node_modules/npm-registry-fetch/node_modules/unique-slug": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-3.0.0.tgz", - "integrity": "sha512-VGXBUVwxKMBUznyffQweQABPRRW1vHZAbadFZud4pLFAqRGvv/96vafgjWFqzourzr8YonlQiPgH0YCJfawoGQ==", - "dev": true, - "requires": { - "crypto-random-string": "^4.0.0" + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-3.0.0.tgz", + "integrity": "sha512-8EyMynh679x/0gqE9fT9oilG+qEt+ibFyqjuVTsZn1+CMxH+XLlpvr2UZx4nVcCwTpx81nICr2JQFkM+HPLq4w==", + "dependencies": { + "imurmurhash": "^0.1.4" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "universal-user-agent": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.0.tgz", - "integrity": "sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w==" - }, - "universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==" + "node_modules/yeoman-environment/node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } }, - "untildify": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/untildify/-/untildify-4.0.0.tgz", - "integrity": "sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==" + "node_modules/yeoman-environment/node_modules/npmlog": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-5.0.1.tgz", + "integrity": "sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==", + "dependencies": { + "are-we-there-yet": "^2.0.0", + "console-control-strings": "^1.1.0", + "gauge": "^3.0.0", + "set-blocking": "^2.0.0" + } }, - "update-notifier": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-7.0.0.tgz", - "integrity": "sha512-Hv25Bh+eAbOLlsjJreVPOs4vd51rrtCrmhyOJtbpAojro34jS4KQaEp4/EvlHJX7jSO42VvEFpkastVyXyIsdQ==", - "dev": true, - "requires": { - "boxen": "^7.1.1", - "chalk": "^5.3.0", - "configstore": "^6.0.0", - "import-lazy": "^4.0.0", - "is-in-ci": "^0.1.0", - "is-installed-globally": "^0.4.0", - "is-npm": "^6.0.0", - "latest-version": "^7.0.0", - "pupa": "^3.1.0", - "semver": "^7.5.4", - "semver-diff": "^4.0.0", - "xdg-basedir": "^5.1.0" + "node_modules/yeoman-environment/node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dependencies": { + "mimic-fn": "^2.1.0" }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/yeoman-environment/node_modules/ora": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", + "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", "dependencies": { - "chalk": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", - "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", - "dev": true - }, - "is-installed-globally": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz", - "integrity": "sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==", - "dev": true, - "requires": { - "global-dirs": "^3.0.0", - "is-path-inside": "^3.0.2" - } - } + "bl": "^4.1.0", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-spinners": "^2.5.0", + "is-interactive": "^1.0.0", + "is-unicode-supported": "^0.1.0", + "log-symbols": "^4.1.0", + "strip-ansi": "^6.0.0", + "wcwidth": "^1.0.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "uri-js": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.0.tgz", - "integrity": "sha512-B0yRTzYdUCCn9n+F4+Gh4yIDtMQcaJsmYBDsTSG8g/OejKBodLQ2IHfN3bM7jUsRXndopT7OIXWdYqc1fjmV6g==", - "requires": { - "punycode": "^2.1.0" + "node_modules/yeoman-environment/node_modules/p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "dependencies": { + "aggregate-error": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "url": { - "version": "0.10.3", - "resolved": "https://registry.npmjs.org/url/-/url-0.10.3.tgz", - "integrity": "sha512-hzSUW2q06EqL1gKM/a+obYHLIO6ct2hwPuviqTTOcfFVc61UbfJ2Q32+uGL/HCPxKqrdGB5QUwIe7UqlDgwsOQ==", - "requires": { - "punycode": "1.3.2", - "querystring": "0.2.0" + "node_modules/yeoman-environment/node_modules/p-queue": { + "version": "6.6.2", + "resolved": "https://registry.npmjs.org/p-queue/-/p-queue-6.6.2.tgz", + "integrity": "sha512-RwFpb72c/BhQLEXIZ5K2e+AhgNVmIejGlTgiB9MzZ0e93GRvqZ7uSi0dvRF7/XIXDeNkra2fNHBxTyPDGySpjQ==", + "dependencies": { + "eventemitter3": "^4.0.4", + "p-timeout": "^3.2.0" + }, + "engines": { + "node": ">=8" }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/yeoman-environment/node_modules/p-timeout": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-3.2.0.tgz", + "integrity": "sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==", "dependencies": { - "punycode": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", - "integrity": "sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw==" - } + "p-finally": "^1.0.0" + }, + "engines": { + "node": ">=8" } }, - "util": { - "version": "0.12.4", - "resolved": "https://registry.npmjs.org/util/-/util-0.12.4.tgz", - "integrity": "sha512-bxZ9qtSlGUWSOy9Qa9Xgk11kSslpuZwaxCg4sNIDj6FLucDab2JxnHwyNTCpHMtK1MjoQiWQ6DiUMZYbSrO+Sw==", - "requires": { - "inherits": "^2.0.3", - "is-arguments": "^1.0.4", - "is-generator-function": "^1.0.7", - "is-typed-array": "^1.1.3", - "safe-buffer": "^5.1.2", - "which-typed-array": "^1.1.2" + "node_modules/yeoman-environment/node_modules/p-transform": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-transform/-/p-transform-1.3.0.tgz", + "integrity": "sha512-UJKdSzgd3KOnXXAtqN5+/eeHcvTn1hBkesEmElVgvO/NAYcxAvmjzIGmnNd3Tb/gRAvMBdNRFD4qAWdHxY6QXg==", + "dependencies": { + "debug": "^4.3.2", + "p-queue": "^6.6.2" + }, + "engines": { + "node": ">=12.10.0" } }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + "node_modules/yeoman-environment/node_modules/pacote": { + "version": "12.0.3", + "resolved": "https://registry.npmjs.org/pacote/-/pacote-12.0.3.tgz", + "integrity": "sha512-CdYEl03JDrRO3x18uHjBYA9TyoW8gy+ThVcypcDkxPtKlw76e4ejhYB6i9lJ+/cebbjpqPW/CijjqxwDTts8Ow==", + "dependencies": { + "@npmcli/git": "^2.1.0", + "@npmcli/installed-package-contents": "^1.0.6", + "@npmcli/promise-spawn": "^1.2.0", + "@npmcli/run-script": "^2.0.0", + "cacache": "^15.0.5", + "chownr": "^2.0.0", + "fs-minipass": "^2.1.0", + "infer-owner": "^1.0.4", + "minipass": "^3.1.3", + "mkdirp": "^1.0.3", + "npm-package-arg": "^8.0.1", + "npm-packlist": "^3.0.0", + "npm-pick-manifest": "^6.0.0", + "npm-registry-fetch": "^12.0.0", + "promise-retry": "^2.0.1", + "read-package-json-fast": "^2.0.1", + "rimraf": "^3.0.2", + "ssri": "^8.0.1", + "tar": "^6.1.0" + }, + "bin": { + "pacote": "lib/bin.js" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16" + } }, - "uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" + "node_modules/yeoman-environment/node_modules/parse-conflict-json": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/parse-conflict-json/-/parse-conflict-json-2.0.2.tgz", + "integrity": "sha512-jDbRGb00TAPFsKWCpZZOT93SxVP9nONOSgES3AevqRq/CHvavEBvKAjxX9p5Y5F0RZLxH9Ufd9+RwtCsa+lFDA==", + "dependencies": { + "json-parse-even-better-errors": "^2.3.1", + "just-diff": "^5.0.1", + "just-diff-apply": "^5.2.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } }, - "vali-date": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/vali-date/-/vali-date-1.0.0.tgz", - "integrity": "sha512-sgECfZthyaCKW10N0fm27cg8HYTFK5qMWgypqkXMQ4Wbl/zZKx7xZICgcoxIIE+WFAP/MBL2EFwC/YvLxw3Zeg==", - "dev": true + "node_modules/yeoman-environment/node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "engines": { + "node": ">=0.10.0" + } }, - "validate-npm-package-license": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", - "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", - "requires": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" + "node_modules/yeoman-environment/node_modules/pretty-bytes": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", + "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==", + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "validate-npm-package-name": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-3.0.0.tgz", - "integrity": "sha1-X6kS2B630MdK/BQN5zF/DKffQ34=", - "requires": { - "builtins": "^1.0.3" - } + "node_modules/yeoman-environment/node_modules/proc-log": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-1.0.0.tgz", + "integrity": "sha512-aCk8AO51s+4JyuYGg3Q/a6gnrlDO09NpVWePtjp7xwphcoQ04x5WAfCyugcsbLooWcMJ87CLkD4+604IckEdhg==" }, - "verror": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", - "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", - "requires": { - "assert-plus": "^1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" + "node_modules/yeoman-environment/node_modules/read-cmd-shim": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/read-cmd-shim/-/read-cmd-shim-3.0.1.tgz", + "integrity": "sha512-kEmDUoYf/CDy8yZbLTmhB1X9kkjf9Q80PCNsDMb7ufrGd6zZSQA1+UyjrO+pZm5K/S4OXCWJeiIt1JA8kAsa6g==", + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "vinyl": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-2.2.1.tgz", - "integrity": "sha512-LII3bXRFBZLlezoG5FfZVcXflZgWP/4dCwKtxd5ky9+LOtM4CS3bIRQsmR1KMnMW07jpE8fqR2lcxPZ+8sJIcw==", - "requires": { - "clone": "^2.1.1", - "clone-buffer": "^1.0.0", - "clone-stats": "^1.0.0", - "cloneable-readable": "^1.0.0", - "remove-trailing-separator": "^1.0.1", - "replace-ext": "^1.0.0" - }, + "node_modules/yeoman-environment/node_modules/read-package-json-fast": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/read-package-json-fast/-/read-package-json-fast-2.0.3.tgz", + "integrity": "sha512-W/BKtbL+dUjTuRL2vziuYhp76s5HZ9qQhd/dKfWIZveD0O40453QNyZhC0e63lqZrAQ4jiOapVoeJ7JrszenQQ==", "dependencies": { - "clone": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", - "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=" - } - } - }, - "vinyl-file": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/vinyl-file/-/vinyl-file-3.0.0.tgz", - "integrity": "sha1-sQTZ5ECf+jJfqt1SBkLQo7SIs2U=", - "requires": { - "graceful-fs": "^4.1.2", - "pify": "^2.3.0", - "strip-bom-buf": "^1.0.0", - "strip-bom-stream": "^2.0.0", - "vinyl": "^2.0.1" + "json-parse-even-better-errors": "^2.3.0", + "npm-normalize-package-bin": "^1.0.1" }, - "dependencies": { - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" - } + "engines": { + "node": ">=10" } }, - "walk-up-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/walk-up-path/-/walk-up-path-1.0.0.tgz", - "integrity": "sha512-hwj/qMDUEjCU5h0xr90KGCf0tg0/LgJbmOWgrWKYlcJZM7XvquvUJZ0G/HMGr7F7OQMOUuPHWP9JpriinkAlkg==" - }, - "wcwidth": { + "node_modules/yeoman-environment/node_modules/replace-ext": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", - "integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=", - "dev": true, - "requires": { - "defaults": "^1.0.3" + "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.1.tgz", + "integrity": "sha512-yD5BHCe7quCgBph4rMQ+0KkIRKwWCrHDOX1p1Gp6HwjPM5kVoCdKGNhN7ydqqsX6lJEnQDKZ/tFMiEdQ1dvPEw==", + "engines": { + "node": ">= 0.10" } }, - "webidl-conversions": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" - }, - "whatwg-url": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", - "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", - "requires": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" + "node_modules/yeoman-environment/node_modules/run-async": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", + "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", + "engines": { + "node": ">=0.12.0" } }, - "which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "requires": { - "isexe": "^2.0.0" + "node_modules/yeoman-environment/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "node_modules/yeoman-environment/node_modules/scoped-regex": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/scoped-regex/-/scoped-regex-2.1.0.tgz", + "integrity": "sha512-g3WxHrqSWCZHGHlSrF51VXFdjImhwvH8ZO/pryFH56Qi0cDsZfylQa/t0jCzVQFNbNvM00HfHjkDPEuarKDSWQ==", + "engines": { + "node": ">=8" } }, - "which-boxed-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", - "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", - "dev": true, - "requires": { - "is-bigint": "^1.0.1", - "is-boolean-object": "^1.1.0", - "is-number-object": "^1.0.4", - "is-string": "^1.0.5", - "is-symbol": "^1.0.3" + "node_modules/yeoman-environment/node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" + }, + "node_modules/yeoman-environment/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "engines": { + "node": ">=8" } }, - "which-pm": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-pm/-/which-pm-2.0.0.tgz", - "integrity": "sha512-Lhs9Pmyph0p5n5Z3mVnN0yWcbQYUAD7rbQUiMsQxOJ3T57k7RFe35SUwWMf7dsbDZks1uOmw4AecB/JMDj3v/w==", - "requires": { - "load-yaml-file": "^0.2.0", - "path-exists": "^4.0.0" - }, + "node_modules/yeoman-environment/node_modules/socks-proxy-agent": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.2.1.tgz", + "integrity": "sha512-a6KW9G+6B3nWZ1yB8G7pJwL3ggLy1uTzKAgCb7ttblwqdz9fMGJUuTy3uFzEP48FAs9FLILlmzDlE2JJhVQaXQ==", "dependencies": { - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==" - } + "agent-base": "^6.0.2", + "debug": "^4.3.3", + "socks": "^2.6.2" + }, + "engines": { + "node": ">= 10" } }, - "which-typed-array": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.11.tgz", - "integrity": "sha512-qe9UWWpkeG5yzZ0tNYxDmd7vo58HDBc39mZ0xWWpolAGADdFOzkfamWLDxkOWcvHQKVmdTyQdLD4NOfjLWTKew==", - "requires": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-tostringtag": "^1.0.0" + "node_modules/yeoman-environment/node_modules/ssri": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz", + "integrity": "sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==", + "dependencies": { + "minipass": "^3.1.1" + }, + "engines": { + "node": ">= 8" } }, - "wide-align": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz", - "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==", - "requires": { - "string-width": "^1.0.2 || 2 || 3 || 4" + "node_modules/yeoman-environment/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dependencies": { + "safe-buffer": "~5.1.0" } }, - "widest-line": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-4.0.1.tgz", - "integrity": "sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==", - "dev": true, - "requires": { - "string-width": "^5.0.1" - }, + "node_modules/yeoman-environment/node_modules/strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha512-kwrX1y7czp1E69n2ajbG65mIo9dqvJ+8aBQXOGVxqwvNbsXdFM6Lq37dLAY3mknUwru8CfcCbfOLL/gMo+fi3g==", "dependencies": { - "ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", - "dev": true - }, - "emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", - "dev": true - }, - "string-width": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", - "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", - "dev": true, - "requires": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" - } - }, - "strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", - "dev": true, - "requires": { - "ansi-regex": "^6.0.1" - } - } + "is-utf8": "^0.2.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "windows-release": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/windows-release/-/windows-release-4.0.0.tgz", - "integrity": "sha512-OxmV4wzDKB1x7AZaZgXMVsdJ1qER1ed83ZrTYd5Bwq2HfJVg3DJS8nqlAG4sMoJ7mu8cuRmLEYyU13BKwctRAg==", - "requires": { - "execa": "^4.0.2" + "node_modules/yeoman-environment/node_modules/strip-bom-buf": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-bom-buf/-/strip-bom-buf-1.0.0.tgz", + "integrity": "sha512-1sUIL1jck0T1mhOLP2c696BIznzT525Lkub+n4jjMHjhjhoAQA6Ye659DxdlZBr0aLDMQoTxKIpnlqxgtwjsuQ==", + "dependencies": { + "is-utf8": "^0.2.1" + }, + "engines": { + "node": ">=4" } }, - "winston": { - "version": "3.8.1", - "resolved": "https://registry.npmjs.org/winston/-/winston-3.8.1.tgz", - "integrity": "sha512-r+6YAiCR4uI3N8eQNOg8k3P3PqwAm20cLKlzVD9E66Ch39+LZC+VH1UKf9JemQj2B3QoUHfKD7Poewn0Pr3Y1w==", - "requires": { - "@dabh/diagnostics": "^2.0.2", - "async": "^3.2.3", - "is-stream": "^2.0.0", - "logform": "^2.4.0", - "one-time": "^1.0.0", - "readable-stream": "^3.4.0", - "safe-stable-stringify": "^2.3.1", - "stack-trace": "0.0.x", - "triple-beam": "^1.3.0", - "winston-transport": "^4.5.0" - }, + "node_modules/yeoman-environment/node_modules/strip-bom-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom-stream/-/strip-bom-stream-2.0.0.tgz", + "integrity": "sha512-yH0+mD8oahBZWnY43vxs4pSinn8SMKAdml/EOGBewoe1Y0Eitd0h2Mg3ZRiXruUW6L4P+lvZiEgbh0NgUGia1w==", "dependencies": { - "is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==" - } + "first-chunk-stream": "^2.0.0", + "strip-bom": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "winston-transport": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/winston-transport/-/winston-transport-4.5.0.tgz", - "integrity": "sha512-YpZzcUzBedhlTAfJg6vJDlyEai/IFMIVcaEZZyl3UXIl4gmqRpU7AE89AHLkbzLUsv0NVmw7ts+iztqKxxPW1Q==", - "requires": { - "logform": "^2.3.2", - "readable-stream": "^3.6.0", - "triple-beam": "^1.3.0" + "node_modules/yeoman-environment/node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "engines": { + "node": ">=6" } }, - "workerpool": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.2.1.tgz", - "integrity": "sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw==", - "dev": true + "node_modules/yeoman-environment/node_modules/treeverse": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/treeverse/-/treeverse-1.0.4.tgz", + "integrity": "sha512-whw60l7r+8ZU8Tu/Uc2yxtc4ZTZbR/PF3u1IPNKGQ6p8EICLb3Z2lAgoqw9bqYd8IkgnsaOcLzYHFckjqNsf0g==" }, - "wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, + "node_modules/yeoman-environment/node_modules/unique-filename": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", + "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", "dependencies": { - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true - }, - "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, - "requires": { - "color-convert": "^2.0.1" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "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 - }, - "string-width": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", - "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" - } - }, - "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.0" - } - } + "unique-slug": "^2.0.0" } }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" - }, - "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==", - "requires": { - "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" + "node_modules/yeoman-environment/node_modules/unique-slug": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", + "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", + "dependencies": { + "imurmurhash": "^0.1.4" } }, - "xdg-basedir": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-5.1.0.tgz", - "integrity": "sha512-GCPAHLvrIH13+c0SuacwvRYj2SxJXQ4kaVTT5xgL3kPrz56XxkF21IGhjSE1+W0aw7gpBWRGXLCPnPby6lSpmQ==", - "dev": true + "node_modules/yeoman-environment/node_modules/vinyl": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-2.2.1.tgz", + "integrity": "sha512-LII3bXRFBZLlezoG5FfZVcXflZgWP/4dCwKtxd5ky9+LOtM4CS3bIRQsmR1KMnMW07jpE8fqR2lcxPZ+8sJIcw==", + "dependencies": { + "clone": "^2.1.1", + "clone-buffer": "^1.0.0", + "clone-stats": "^1.0.0", + "cloneable-readable": "^1.0.0", + "remove-trailing-separator": "^1.0.1", + "replace-ext": "^1.0.0" + }, + "engines": { + "node": ">= 0.10" + } }, - "xml2js": { - "version": "0.4.19", - "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.19.tgz", - "integrity": "sha512-esZnJZJOiJR9wWKMyuvSE1y6Dq5LCuJanqhxslH2bxM6duahNZ+HMpCLhBQGZkbX6xRf8x1Y2eJlgt2q3qo49Q==", - "requires": { - "sax": ">=0.6.0", - "xmlbuilder": "~9.0.1" + "node_modules/yeoman-environment/node_modules/vinyl-file": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/vinyl-file/-/vinyl-file-3.0.0.tgz", + "integrity": "sha512-BoJDj+ca3D9xOuPEM6RWVtWQtvEPQiQYn82LvdxhLWplfQsBzBqtgK0yhCP0s1BNTi6dH9BO+dzybvyQIacifg==", + "dependencies": { + "graceful-fs": "^4.1.2", + "pify": "^2.3.0", + "strip-bom-buf": "^1.0.0", + "strip-bom-stream": "^2.0.0", + "vinyl": "^2.0.1" + }, + "engines": { + "node": ">=4" } }, - "xmlbuilder": { - "version": "9.0.7", - "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz", - "integrity": "sha512-7YXTQc3P2l9+0rjaUbLwMKRhtmwg1M1eDf6nag7urC7pIPYLD9W/jmzQ4ptRSUbodw5S0jfoGTflLemQibSpeQ==" - }, - "xmlcreate": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/xmlcreate/-/xmlcreate-2.0.4.tgz", - "integrity": "sha512-nquOebG4sngPmGPICTS5EnxqhKbCmz5Ox5hsszI2T6U5qdrJizBc+0ilYSEjTSzU0yZcmvppztXe/5Al5fUwdg==", - "dev": true + "node_modules/yeoman-environment/node_modules/walk-up-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/walk-up-path/-/walk-up-path-1.0.0.tgz", + "integrity": "sha512-hwj/qMDUEjCU5h0xr90KGCf0tg0/LgJbmOWgrWKYlcJZM7XvquvUJZ0G/HMGr7F7OQMOUuPHWP9JpriinkAlkg==" }, - "xtend": { + "node_modules/yeoman-environment/node_modules/write-file-atomic": { "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", - "dev": true - }, - "y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "dev": true - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - }, - "yaml": { - "version": "2.3.4", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.4.tgz", - "integrity": "sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==", - "dev": true - }, - "yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", - "dev": true, - "requires": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", + "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", + "dependencies": { + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.7" }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/yeoman-generator": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/yeoman-generator/-/yeoman-generator-7.1.1.tgz", + "integrity": "sha512-vQ7ETaKIDmKNtpp97YFabE92ZaOTTs8NOr0wmmszyA1uAc2z5QXNZfU1WtXRFn76BiTf5mHWrOsCDls8N9nD6A==", "dependencies": { - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true - }, - "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 - }, - "string-width": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", - "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" - } - }, - "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.0" - } + "@types/lodash-es": "^4.17.9", + "@types/node": "^18.18.5", + "@yeoman/namespace": "^1.0.0", + "chalk": "^5.3.0", + "debug": "^4.1.1", + "execa": "^8.0.1", + "github-username": "^7.0.0", + "json-schema": "^0.4.0", + "latest-version": "^7.0.0", + "lodash-es": "^4.17.21", + "mem-fs-editor": "^11.0.0", + "minimist": "^1.2.8", + "read-package-up": "^11.0.0", + "semver": "^7.5.4", + "simple-git": "^3.20.0", + "sort-keys": "^5.0.0", + "text-table": "^0.2.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + }, + "peerDependencies": { + "@yeoman/types": "^1.1.1", + "mem-fs": "^4.0.0", + "yeoman-environment": "^4.0.0" + }, + "peerDependenciesMeta": { + "yeoman-environment": { + "optional": true } } }, - "yargs-parser": { - "version": "20.2.7", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.7.tgz", - "integrity": "sha512-FiNkvbeHzB/syOjIUxFDCnhSfzAL8R5vs40MgLFBorXACCOAEaWu0gRZl14vG8MR9AOJIZbmkjhusqBYZ3HTHw==", - "dev": true + "node_modules/yeoman-generator/node_modules/@types/node": { + "version": "18.19.6", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.6.tgz", + "integrity": "sha512-X36s5CXMrrJOs2lQCdDF68apW4Rfx9ixYMawlepwmE4Anezv/AV2LSpKD1Ub8DAc+urp5bk0BGZ6NtmBitfnsg==", + "dependencies": { + "undici-types": "~5.26.4" + } }, - "yargs-unparser": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz", - "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==", - "dev": true, - "requires": { - "camelcase": "^6.0.0", - "decamelize": "^4.0.0", - "flat": "^5.0.2", - "is-plain-obj": "^2.1.0" + "node_modules/yeoman-generator/node_modules/chalk": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", + "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/yeoman-test": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/yeoman-test/-/yeoman-test-8.2.0.tgz", + "integrity": "sha512-P5F3LmUq94OiAYX5fcA2Avn0/4BjaUKMMH9nQN4o4QOASWmWdRxHd8jHjNCC8axC7UVXPcDta6GgjWA0Ok2PLw==", + "devOptional": true, "dependencies": { - "camelcase": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz", - "integrity": "sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==", - "dev": true - }, - "decamelize": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz", - "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==", - "dev": true + "@yeoman/adapter": "^1.4.0", + "inquirer": "^9.2.2", + "lodash-es": "^4.17.21", + "mem-fs-editor": "^10.0.3", + "sinon": "^16.0.0", + "temp-dir": "^3.0.0", + "type-fest": "^4.3.1" + }, + "acceptDependencies": { + "mem-fs": "^4.0.0-beta.1", + "yeoman-environment": ">=4.0.0-beta.6", + "yeoman-generator": ">=6.0.0" + }, + "engines": { + "node": "^16.17.0 || >=18.12.0" + }, + "peerDependencies": { + "@yeoman/types": "^1.1.0", + "mem-fs": "^3.0.0", + "yeoman-environment": "^3.18.3", + "yeoman-generator": "^5.9.0 || >=6.0.0" + }, + "peerDependenciesMeta": { + "yeoman-environment": { + "optional": true }, - "is-plain-obj": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", - "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", - "dev": true + "yeoman-generator": { + "optional": true } } }, - "yeoman-assert": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yeoman-assert/-/yeoman-assert-3.1.1.tgz", - "integrity": "sha512-bCuLb/j/WzpvrJZCTdJJLFzm7KK8IYQJ3+dF9dYtNs2CUYyezFJDuULiZ2neM4eqjf45GN1KH/MzCTT3i90wUQ==", - "dev": true + "node_modules/yeoman-test/node_modules/@sinonjs/fake-timers": { + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", + "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", + "devOptional": true, + "dependencies": { + "@sinonjs/commons": "^3.0.0" + } }, - "yeoman-environment": { - "version": "3.19.3", - "resolved": "https://registry.npmjs.org/yeoman-environment/-/yeoman-environment-3.19.3.tgz", - "integrity": "sha512-/+ODrTUHtlDPRH9qIC0JREH8+7nsRcjDl3Bxn2Xo/rvAaVvixH5275jHwg0C85g4QsF4P6M2ojfScPPAl+pLAg==", - "requires": { - "@npmcli/arborist": "^4.0.4", - "are-we-there-yet": "^2.0.0", - "arrify": "^2.0.1", - "binaryextensions": "^4.15.0", - "chalk": "^4.1.0", - "cli-table": "^0.3.1", - "commander": "7.1.0", - "dateformat": "^4.5.0", - "debug": "^4.1.1", - "diff": "^5.0.0", - "error": "^10.4.0", - "escape-string-regexp": "^4.0.0", - "execa": "^5.0.0", - "find-up": "^5.0.0", - "globby": "^11.0.1", - "grouped-queue": "^2.0.0", - "inquirer": "^8.0.0", - "is-scoped": "^2.1.0", - "isbinaryfile": "^4.0.10", - "lodash": "^4.17.10", - "log-symbols": "^4.0.0", - "mem-fs": "^1.2.0 || ^2.0.0", - "mem-fs-editor": "^8.1.2 || ^9.0.0", - "minimatch": "^3.0.4", - "npmlog": "^5.0.1", - "p-queue": "^6.6.2", - "p-transform": "^1.3.0", - "pacote": "^12.0.2", - "preferred-pm": "^3.0.3", - "pretty-bytes": "^5.3.0", - "readable-stream": "^4.3.0", - "semver": "^7.1.3", - "slash": "^3.0.0", - "strip-ansi": "^6.0.0", - "text-table": "^0.2.0", - "textextensions": "^5.12.0", - "untildify": "^4.0.0" - }, + "node_modules/yeoman-test/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "devOptional": true, "dependencies": { - "ansi-escapes": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", - "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", - "requires": { - "type-fest": "^0.21.3" - } - }, - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" - }, - "buffer": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", - "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", - "requires": { - "base64-js": "^1.3.1", - "ieee754": "^1.2.1" - } - }, - "cli-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", - "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", - "requires": { - "restore-cursor": "^3.1.0" - } - }, - "cli-width": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", - "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==" - }, - "commander": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-7.1.0.tgz", - "integrity": "sha512-pRxBna3MJe6HKnBGsDyMv8ETbptw3axEdYHoqNh7gu5oDcew8fs0xnivZGm06Ogk8zGAJ9VX+OPEr2GXEQK4dg==" - }, - "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==" - }, - "events": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", - "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==" - }, - "execa": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.0.0.tgz", - "integrity": "sha512-ov6w/2LCiuyO4RLYGdpFGjkcs0wMTgGE8PrkTHikeUy5iJekXyPIKUjifk5CsE0pt7sMCrMZ3YNqoCj6idQOnQ==", - "requires": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" - } - }, - "figures": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", - "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", - "requires": { - "escape-string-regexp": "^1.0.5" - }, - "dependencies": { - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" - } - } - }, - "get-stream": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.0.tgz", - "integrity": "sha512-A1B3Bh1UmL0bidM/YX2NsCOTnGJePL9rO/M+Mw3m9f2gUpfokS0hi5Eah0WSUEWZdZhIZtMjkIYS7mDfOqNHbg==" - }, - "globby": { - "version": "11.0.3", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.3.tgz", - "integrity": "sha512-ffdmosjA807y7+lA1NM0jELARVmYul/715xiILEjo3hBLPTcirgQNnXECn5g3mtR8TOLCVbkfua1Hpen25/Xcg==", - "requires": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.1.1", - "ignore": "^5.1.4", - "merge2": "^1.3.0", - "slash": "^3.0.0" - } - }, - "human-signals": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", - "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==" - }, - "ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" - }, - "inquirer": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.0.0.tgz", - "integrity": "sha512-ON8pEJPPCdyjxj+cxsYRe6XfCJepTxANdNnTebsTuQgXpRyZRRT9t4dJwjRubgmvn20CLSEnozRUayXyM9VTXA==", - "requires": { - "ansi-escapes": "^4.2.1", - "chalk": "^4.1.0", - "cli-cursor": "^3.1.0", - "cli-width": "^3.0.0", - "external-editor": "^3.0.3", - "figures": "^3.0.0", - "lodash": "^4.17.21", - "mute-stream": "0.0.8", - "run-async": "^2.4.0", - "rxjs": "^6.6.6", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0", - "through": "^2.3.6" - } - }, - "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==" - }, - "is-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz", - "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==" - }, - "mute-stream": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", - "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==" - }, - "readable-stream": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.4.0.tgz", - "integrity": "sha512-kDMOq0qLtxV9f/SQv522h8cxZBqNZXuXNyjyezmfAAuribMyVXziljpQ/uQhfE1XLg2/TLTW2DsnoE4VAi/krg==", - "requires": { - "abort-controller": "^3.0.0", - "buffer": "^6.0.3", - "events": "^3.3.0", - "process": "^0.11.10" - } - }, - "restore-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", - "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", - "requires": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" - } - }, - "string-width": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", - "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" - } - }, - "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "requires": { - "ansi-regex": "^5.0.0" - } - }, - "type-fest": { - "version": "0.21.3", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==" - } + "balanced-match": "^1.0.0" } }, - "yeoman-generator": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/yeoman-generator/-/yeoman-generator-5.7.0.tgz", - "integrity": "sha512-z9ZwgKoDOd+llPDCwn8Ax2l4In5FMhlslxdeByW4AMxhT+HbTExXKEAahsClHSbwZz1i5OzRwLwRIUdOJBr5Bw==", - "requires": { - "chalk": "^4.1.0", - "dargs": "^7.0.0", - "debug": "^4.1.1", - "execa": "^5.1.1", - "github-username": "^6.0.0", - "lodash": "^4.17.11", - "minimist": "^1.2.5", - "read-pkg-up": "^7.0.1", - "run-async": "^2.0.0", - "semver": "^7.2.1", - "shelljs": "^0.8.5", - "sort-keys": "^4.2.0", - "text-table": "^0.2.0" + "node_modules/yeoman-test/node_modules/ejs": { + "version": "3.1.9", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.9.tgz", + "integrity": "sha512-rC+QVNMJWv+MtPgkt0y+0rVEIdbtxVADApW9JXrUVlzHetgcyczP/E7DJmWJ4fJCZF2cPcBk0laWO9ZHMG3DmQ==", + "devOptional": true, + "dependencies": { + "jake": "^10.8.5" + }, + "bin": { + "ejs": "bin/cli.js" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/yeoman-test/node_modules/mem-fs-editor": { + "version": "10.0.3", + "resolved": "https://registry.npmjs.org/mem-fs-editor/-/mem-fs-editor-10.0.3.tgz", + "integrity": "sha512-EfE+MKDgfplq6wtS0mRP/4hKNBLfVqc1dhnNEIJRQS9neTCAI3SkHQDToh9fvp02QtICiyGVR1/jJPFE7AFIpQ==", + "devOptional": true, + "dependencies": { + "@types/ejs": "^3.1.2", + "binaryextensions": "^4.16.0", + "commondir": "^1.0.1", + "deep-extend": "^0.6.0", + "ejs": "^3.1.9", + "globby": "^13.1.4", + "isbinaryfile": "^5.0.0", + "mem-fs": "^3.0.0", + "minimatch": "^9.0.0", + "multimatch": "^6.0.0", + "normalize-path": "^3.0.0", + "textextensions": "^5.13.0", + "vinyl": "^3.0.0" }, + "acceptDependencies": { + "mem-fs": "^4.0.0" + }, + "engines": { + "node": ">=16.13.0" + } + }, + "node_modules/yeoman-test/node_modules/minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "devOptional": true, "dependencies": { - "execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", - "requires": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" - } - }, - "get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==" - }, - "human-signals": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", - "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==" - }, - "is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==" - } + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "yeoman-test": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/yeoman-test/-/yeoman-test-6.3.0.tgz", - "integrity": "sha512-FpaLV5AiVFlYe4pizAB/QLWc+5BSyttk/TcFQfi/r8g/rz290uqEkV4waN3rHEvP/DCmoMNSJykKTZNWL2y07g==", - "dev": true, - "requires": { - "inquirer": "^8.0.0", - "lodash": "^4.17.21", - "mem-fs-editor": "^9.0.0", - "sinon": "^10.0.0", - "temp-dir": "^2.0.0" - }, - "dependencies": { - "@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, - "requires": { - "@sinonjs/commons": "^1.7.0" - } - }, - "@sinonjs/samsam": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-5.3.1.tgz", - "integrity": "sha512-1Hc0b1TtyfBu8ixF/tpfSHTVWKwCBLY4QJbkgnE7HcwyvT2xArDxb4K7dMgqRm3szI+LJbzmW/s4xxEhv6hwDg==", - "dev": true, - "requires": { - "@sinonjs/commons": "^1.6.0", - "lodash.get": "^4.4.2", - "type-detect": "^4.0.8" - } - }, - "ansi-escapes": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", - "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", - "dev": true, - "requires": { - "type-fest": "^0.21.3" - } - }, - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true - }, - "cli-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", - "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", - "dev": true, - "requires": { - "restore-cursor": "^3.1.0" - } - }, - "cli-width": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", - "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", - "dev": true - }, - "diff": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", - "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", - "dev": true - }, - "figures": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", - "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", - "dev": true, - "requires": { - "escape-string-regexp": "^1.0.5" - } - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "inquirer": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.1.0.tgz", - "integrity": "sha512-1nKYPoalt1vMBfCMtpomsUc32wmOoWXAoq3kM/5iTfxyQ2f/BxjixQpC+mbZ7BI0JUXHED4/XPXekDVtJNpXYw==", - "dev": true, - "requires": { - "ansi-escapes": "^4.2.1", - "chalk": "^4.1.1", - "cli-cursor": "^3.1.0", - "cli-width": "^3.0.0", - "external-editor": "^3.0.3", - "figures": "^3.0.0", - "lodash": "^4.17.21", - "mute-stream": "0.0.8", - "ora": "^5.3.0", - "run-async": "^2.4.0", - "rxjs": "^6.6.6", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0", - "through": "^2.3.6" - } - }, - "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 - }, - "mute-stream": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", - "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", - "dev": true - }, - "nise": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/nise/-/nise-4.1.0.tgz", - "integrity": "sha512-eQMEmGN/8arp0xsvGoQ+B1qvSkR73B1nWSCh7nOt5neMCtwcQVYQGdzQMhcNscktTsWB54xnlSQFzOAPJD8nXA==", - "dev": true, - "requires": { - "@sinonjs/commons": "^1.7.0", - "@sinonjs/fake-timers": "^6.0.0", - "@sinonjs/text-encoding": "^0.7.1", - "just-extend": "^4.0.2", - "path-to-regexp": "^1.7.0" - } - }, - "restore-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", - "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", - "dev": true, - "requires": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" - } - }, - "sinon": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/sinon/-/sinon-10.0.0.tgz", - "integrity": "sha512-XAn5DxtGVJBlBWYrcYKEhWCz7FLwZGdyvANRyK06419hyEpdT0dMc5A8Vcxg5SCGHc40CsqoKsc1bt1CbJPfNw==", - "dev": true, - "requires": { - "@sinonjs/commons": "^1.8.1", - "@sinonjs/fake-timers": "^6.0.1", - "@sinonjs/samsam": "^5.3.1", - "diff": "^4.0.2", - "nise": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "string-width": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", - "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" - } - }, - "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.0" - } - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - }, - "type-fest": { - "version": "0.21.3", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", - "dev": true - } + "node_modules/yeoman-test/node_modules/sinon": { + "version": "16.1.3", + "resolved": "https://registry.npmjs.org/sinon/-/sinon-16.1.3.tgz", + "integrity": "sha512-mjnWWeyxcAf9nC0bXcPmiDut+oE8HYridTNzBbF98AYVLmWwGRp2ISEpyhYflG1ifILT+eNn3BmKUJPxjXUPlA==", + "devOptional": true, + "dependencies": { + "@sinonjs/commons": "^3.0.0", + "@sinonjs/fake-timers": "^10.3.0", + "@sinonjs/samsam": "^8.0.0", + "diff": "^5.1.0", + "nise": "^5.1.4", + "supports-color": "^7.2.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/sinon" } }, - "yocto-queue": { + "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==" + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } } } } diff --git a/package.json b/package.json index e518569ae..56fe0d0f0 100644 --- a/package.json +++ b/package.json @@ -1,12 +1,11 @@ { "name": "generator-jhipster-react-native", - "version": "4.4.0", + "version": "5.0.0", "description": "React Native Blueprint for existing JHipster Apps", "keywords": [ "yeoman-generator", "jhipster-blueprint", - "jhipster-6", - "jhipster-7", + "jhipster-8", "react-native", "expo" ], @@ -24,26 +23,32 @@ "email": "jonathan.ruddell@gmail.com", "url": "https://jruddell.com/" }, + "type": "module", "main": "generators/app/index.js", "bin": { + "jhipster-react-native": "cli/cli.cjs", "rnhipster": "./cli/rnhipster.js" }, "files": [ - "generators", - "lib", - "cli" + "cli", + "generators" ], "scripts": { + "ejslint": "ejslint generators/**/*.ejs", "jsdoc": "jsdoc --configure jsdoc-conf.json", "lint": "eslint .", - "lint-fix": "npm run lint -- --fix", + "lint-fix": "npm run ejslint && npm run lint -- --fix", "lint-staged": "lint-staged", "prepare": "husky install", "prettier": "prettier --write \"{,.github/**/,generators/**/,lib/**/,cli/**/,test/**/}*.{js,json,md,yml}\"", + "prettier-check": "prettier --check \"{,**/}*.{md,json,yml,html,js,ts,tsx,css,scss,vue,java}\"", + "prettier-format": "prettier --write \"{,**/}*.{md,json,yml,html,js,ts,tsx,css,scss,vue,java}\"", "release": "np", - "pretest": "npm run lint", - "test": "npm run test:unit -- test/*.spec.js", - "test:unit": "mocha --timeout 120000 --slow 0 --reporter spec" + "pretest": "npm run prettier-check && npm run lint", + "test": "vitest run", + "test:unit": "mocha --timeout 120000 --slow 0 --reporter spec", + "update-snapshot": "vitest run --update", + "vitest": "vitest" }, "lint-staged": { "{,.github/**/,generators/**/,lib/**/,cli/**/,test/**/}*.{js,json,md,yml}": [ @@ -54,7 +59,7 @@ "dependencies": { "chalk": "4.1.2", "fs-extra": "11.2.0", - "generator-jhipster": "7.9.4", + "generator-jhipster": "8.1.0", "lodash": "4.17.21", "pluralize": "8.0.0", "semver": "7.5.4", @@ -68,20 +73,21 @@ "eslint-config-airbnb-base": "15.0.0", "eslint-config-prettier": "9.1.0", "eslint-plugin-import": "2.29.1", - "eslint-plugin-prettier": "4.2.1", + "eslint-plugin-prettier": "5.1.2", "husky": "8.0.3", "jsdoc": "4.0.2", "lint-staged": "15.2.0", - "mem-fs": "2.3.0", + "mem-fs": "4.0.0", "mocha": "10.2.0", "np": "9.2.0", - "prettier": "2.8.8", + "prettier": "3.1.1", "sinon": "17.0.1", + "vitest": "1.1.0", "yeoman-assert": "3.1.1", - "yeoman-test": "6.3.0" + "yeoman-test": ">=8.0.0-rc.1" }, "engines": { - "node": ">=14", + "node": "^18.13.0 || >= 20.6.1", "npm": ">=7" }, "overrides": { diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 000000000..0a45fc601 --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,31 @@ +/* tsconfig.json is provided for ui autocomplete support, jhipster types are experimental */ +{ + "compilerOptions": { + /* Language and Environment */ + "target": "ES2022" /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */, + "lib": ["ES2022"] /* Specify a set of bundled library declaration files that describe the target runtime environment. */, + "types": [], + + /* Modules */ + "module": "node16" /* Specify what module code is generated. */, + "rootDir": "./" /* Specify the root folder within your source files. */, + + /* JavaScript Support */ + "allowJs": true /* Allow JavaScript files to be a part of your program. Use the 'checkJS' option to get errors from these files. */, + + /* Emit */ + "outDir": "./dist" /* Specify an output folder for all emitted files. */, + + /* Interop Constraints */ + "allowSyntheticDefaultImports": true /* Allow 'import x from y' when a module doesn't have a default export. */, + "esModuleInterop": true /* Emit additional JavaScript to ease support for importing CommonJS modules. This enables 'allowSyntheticDefaultImports' for type compatibility. */, + "forceConsistentCasingInFileNames": true /* Ensure that casing is correct in imports. */, + + /* Type Checking */ + "strict": true /* Enable all strict type-checking options. */, + "noImplicitAny": false, + + /* Completeness */ + "skipLibCheck": true /* Skip type checking all .d.ts files. */ + } +} diff --git a/vitest.config.ts b/vitest.config.ts new file mode 100644 index 000000000..d46556a90 --- /dev/null +++ b/vitest.config.ts @@ -0,0 +1,9 @@ +import { defineConfig, defaultExclude } from 'vitest/config'; + +export default defineConfig({ + test: { + pool: 'forks', + hookTimeout: 20000, + exclude: [...defaultExclude.filter(val => val !== '**/cypress/**'), '**/templates/**', '**/resources/**'], + }, +}); From 50bb1e134bbcde362db8efc0ff5ba5fc4f1fdacb Mon Sep 17 00:00:00 2001 From: Hideyuki Kagami Date: Sun, 14 Jan 2024 01:10:07 +0900 Subject: [PATCH 02/70] fix prompt --- generators/app/index.js | 10 +++++----- generators/app/prompts.js | 33 +++++++++------------------------ 2 files changed, 14 insertions(+), 29 deletions(-) diff --git a/generators/app/index.js b/generators/app/index.js index 2daac602c..ffe266fca 100644 --- a/generators/app/index.js +++ b/generators/app/index.js @@ -48,11 +48,11 @@ export default class extends AppGenerator { } get [AppGenerator.PROMPTING]() { - return { + return this.asPromptingTaskGroup({ askNamePrompt, askBackendPrompt: askBackendPrompt.bind(this), askDetoxPrompt, - }; + }); } get [AppGenerator.CONFIGURING]() { @@ -131,7 +131,8 @@ export default class extends AppGenerator { } get [AppGenerator.END]() { - const gitCommit = super._end().gitCommit.bind(this); + //TODO: gitCommit + //const gitCommit = super.end().gitCommit.bind(this); return { modifyExpoDownloadScriptPermission() { if (this.context.detox) { @@ -146,8 +147,7 @@ export default class extends AppGenerator { ); } } - }, - gitCommit, + } }; } diff --git a/generators/app/prompts.js b/generators/app/prompts.js index a1f796594..7e1d68432 100644 --- a/generators/app/prompts.js +++ b/generators/app/prompts.js @@ -21,7 +21,7 @@ function checkForApp(input) { return `${path} is not a directory or doesn't exist`; } -function askNamePrompt(meta) { +async function askNamePrompt(meta) { // if (!meta) return; if (this.options.defaults) { this.context.reactNativeAppName = 'RnApp'; @@ -48,15 +48,10 @@ function askNamePrompt(meta) { // if (meta) return prompts; // eslint-disable-line consistent-return - const done = this.async(); - - const promise = this.prompt(prompts); - promise.then(props => { - this.context.reactNativeAppName = props.appName; - done(); - }); + const props = await this.prompt(prompts); + this.context.reactNativeAppName = props.appName; } -function askDetoxPrompt(meta) { +async function askDetoxPrompt(meta) { if (this.options.defaults) { this.context.detox = true; return; @@ -75,15 +70,10 @@ function askDetoxPrompt(meta) { ]; // if (meta) return prompts; // eslint-disable-line consistent-return - const done = this.async(); - - const promise = this.prompt(prompts); - promise.then(props => { - this.context.detox = props.detox; - done(); - }); + const props = await this.prompt(prompts); + this.context.detox = props.detox; } -function askBackendPrompt(meta) { +async function askBackendPrompt(meta) { // if (!meta) return; if (this.existingProject) return; @@ -106,11 +96,6 @@ function askBackendPrompt(meta) { ]; // if (meta) return prompts; // eslint-disable-line consistent-return - const done = this.async(); - - const promise = this.prompt(prompts); - promise.then(props => { - this.directoryPath = path.resolve(props.directoryPath); - done(); - }); + const props = await this.prompt(prompts); + this.directoryPath = path.resolve(props.directoryPath); } From 4d12fdec716fdd73c79630ef801f92a58ed4c65f Mon Sep 17 00:00:00 2001 From: Hideyuki Kagami Date: Tue, 16 Jan 2024 01:03:47 +0900 Subject: [PATCH 03/70] fix loadConfig --- generators/app/index.js | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/generators/app/index.js b/generators/app/index.js index ffe266fca..85c04426e 100644 --- a/generators/app/index.js +++ b/generators/app/index.js @@ -5,6 +5,8 @@ import chalk from 'chalk'; import semver from 'semver'; import AppGenerator from 'generator-jhipster/generators/app'; import { stringHashCode } from 'generator-jhipster/generators/base/support'; +import { loadAppConfig } from 'generator-jhipster/generators/app/support'; +import { loadServerConfig } from 'generator-jhipster/generators/server/support'; import { askDetoxPrompt, askNamePrompt, askBackendPrompt } from './prompts.js'; import { writeFiles } from './files.js'; import packageJson from '../../package.json' assert { type: 'json' }; @@ -52,6 +54,7 @@ export default class extends AppGenerator { askNamePrompt, askBackendPrompt: askBackendPrompt.bind(this), askDetoxPrompt, + setupVariables, // TODO Whether the prompt should always be executed. If you don't run it, it will not pass here. }); } @@ -69,7 +72,6 @@ export default class extends AppGenerator { get [AppGenerator.WRITING]() { return { - setupVariables, cleanup() { if (this._isReactNativeVersionLessThan('4.3.1')) { this.removeFile('.npmrc'); @@ -80,15 +82,15 @@ export default class extends AppGenerator { }, loadConfig() { // load config after prompting to allow loading from backend .yo-rc.json - this.loadAppConfig(this.config.getAll(), this.context); - this.loadServerConfig(this.config.getAll(), this.context); + loadAppConfig({ config: this.config.getAll(), application: this.context }); + loadServerConfig({ config: this.config.getAll(), application: this.context }); this.hipsterImage = stringHashCode(this.context.baseName) % 4; }, checkAppAuthType() { // exit on invalid auth type const authType = this.context.authenticationType; if (!['jwt', 'oauth2'].includes(authType)) { - this.error(`Unsupported authentication type ${authType} - Only JWT and OAuth2 authentication types are supported.`); + throw new Error(`Unsupported authentication type ${authType} - Only JWT and OAuth2 authentication types are supported.`); } }, setUpTemplateVariables() { From 6dda68cff7b931125265dc039345a1ed3fae4c27 Mon Sep 17 00:00:00 2001 From: Hideyuki Kagami Date: Wed, 17 Jan 2024 23:24:21 +0900 Subject: [PATCH 04/70] Re-implementation of cli and generators/app (with reference to ionic blueprint) --- .eslintrc.json | 51 +++++----- cli/cli.cjs | 35 +++++++ cli/commands.cjs | 6 ++ generators/app/command.mjs | 8 +- generators/app/generator.mjs | 75 +++++++------- generators/app/generator.spec.mjs | 38 ++++++- generators/app/index.js | 159 ------------------------------ generators/app/index.mjs | 1 + generators/constants.mjs | 3 + 9 files changed, 147 insertions(+), 229 deletions(-) create mode 100755 cli/cli.cjs create mode 100644 cli/commands.cjs delete mode 100644 generators/app/index.js create mode 100644 generators/app/index.mjs create mode 100644 generators/constants.mjs diff --git a/.eslintrc.json b/.eslintrc.json index f5dc8382d..bf7cdb825 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -8,35 +8,30 @@ "ecmaVersion": 11, "sourceType": "module" }, - "rules": { - "prettier/prettier": "error", - "indent": [2, 2, { "SwitchCase": 1 }], - "linebreak-style": 0, - "eol-last": 2, - "quotes": [2, "single", { "avoidEscape": true }], - "semi": [2, "always"], - "eqeqeq": [2, "smart"], - "no-use-before-define": [2, "nofunc"], - "no-unused-vars": [2, { "vars": "local", "args": "none" }], - "no-multi-str": 2, - "no-irregular-whitespace": 2, - "comma-dangle": "off", - "max-len": "off", - "func-names": "off", - "class-methods-use-this": "off", - "no-underscore-dangle": "off", - "no-plusplus": "off", - "no-unused-expressions": [2, { "allowShortCircuit": true, "allowTernary": true }], - "prefer-destructuring": "off", - "no-multi-assign": "off", - "no-param-reassign": "off", - "no-shadow": "off", - // remove later - "no-console": "off" - }, "overrides": [ { "files": ["**/*.spec.{c,m,}js", "test/**/*.{c,m,}js"] } - ] -} + ], + "rules": { + "func-names": "off", + "import/no-extraneous-dependencies": ["error", { "devDependencies": true }], + "import/no-unresolved": "off", + "no-restricted-syntax": [ + "error", + { + "selector": "ForInStatement", + "message": "for..in loops iterate over the entire prototype chain, which is virtually never what you want. Use Object.{keys,values,entries}, and iterate over the resulting array." + }, + { + "selector": "LabeledStatement", + "message": "Labels are a form of GOTO; using them makes code confusing and hard to maintain and understand." + }, + { + "selector": "WithStatement", + "message": "`with` is disallowed in strict mode because it makes code impossible to predict and optimize." + } + ], + "no-shadow": "off" + } +} \ No newline at end of file diff --git a/cli/cli.cjs b/cli/cli.cjs new file mode 100755 index 000000000..b0f3ed019 --- /dev/null +++ b/cli/cli.cjs @@ -0,0 +1,35 @@ +#!/usr/bin/env node + +const { dirname, basename, join } = require('path'); +const { version, bin } = require('../package.json'); + +// Get package name to use as namespace. +// Allows blueprints to be aliased. +const packagePath = dirname(__dirname); +const packageFolderName = basename(packagePath); +const devBlueprintPath = join(packagePath, '.blueprint'); + +(async () => { + const { runJHipster, done, logger } = await import('generator-jhipster/cli'); + const executableName = Object.keys(bin)[0]; + + runJHipster({ + executableName, + executableVersion: version, + defaultCommand: 'react-native', + devBlueprintPath, + blueprints: { + [packageFolderName]: version, + }, + printBlueprintLogo: () => { + console.log('===================== JHipster react-native ====================='); + console.log(''); + }, + lookups: [{ packagePaths: [packagePath], lookups: ['generators'] }], + }).catch(done); + + process.on('unhandledRejection', up => { + logger.error('Unhandled promise rejection at:'); + logger.fatal(up); + }); +})(); diff --git a/cli/commands.cjs b/cli/commands.cjs new file mode 100644 index 000000000..be7a2842f --- /dev/null +++ b/cli/commands.cjs @@ -0,0 +1,6 @@ +module.exports = { + reactNative: { + description: 'Run react-native sub-generator (react-native blueprint)', + blueprint: 'generator-jhipster-react-native', + }, +}; diff --git a/generators/app/command.mjs b/generators/app/command.mjs index b5a045029..35da69c47 100644 --- a/generators/app/command.mjs +++ b/generators/app/command.mjs @@ -2,7 +2,13 @@ * @type {import('generator-jhipster').JHipsterCommandDefinition} */ const command = { - options: {}, + options: { + reactNativeDir: { + desc: 'Directory of JHipster application', + type: String, + scope: 'blueprint', + }, + }, }; export default command; diff --git a/generators/app/generator.mjs b/generators/app/generator.mjs index 825f00113..df5f09b6b 100644 --- a/generators/app/generator.mjs +++ b/generators/app/generator.mjs @@ -1,66 +1,65 @@ +import { relative } from 'node:path'; import BaseApplicationGenerator from 'generator-jhipster/generators/base-application'; import command from './command.mjs'; +import { DEFAULT_REACT_NATIVE_PATH, REACT_NATIVE_NAMESPACE } from '../constants.mjs'; export default class extends BaseApplicationGenerator { constructor(args, opts, features) { super(args, opts, { ...features, sbsBlueprint: true }); } + beforeQueue() { + if (this.blueprintConfig.appDir) { + throw new Error('jhipster-reactNative:app generator must run in backend application directory'); + } + } + get [BaseApplicationGenerator.INITIALIZING]() { return this.asInitializingTaskGroup({ async initializingTemplateTask() { this.parseJHipsterArguments(command.arguments); this.parseJHipsterOptions(command.options); }, + loadConfigFromJHipster() { + if (this.options.defaults || this.options.force) { + this.blueprintStorage.defaults({ reactNativeDir: DEFAULT_REACT_NATIVE_PATH }); + } + }, }); } get [BaseApplicationGenerator.PROMPTING]() { return this.asPromptingTaskGroup({ - async promptingTemplateTask() {}, - }); - } - - get [BaseApplicationGenerator.CONFIGURING]() { - return this.asConfiguringTaskGroup({ - async configuringTemplateTask() {}, - }); - } - - get [BaseApplicationGenerator.LOADING]() { - return this.asLoadingTaskGroup({ - async loadingTemplateTask() {}, - }); - } - - get [BaseApplicationGenerator.DEFAULT]() { - return this.asDefaultTaskGroup({ - async defaultTemplateTask() {}, + async promptyForReactNativeDir() { + await this.prompt( + [ + { + type: 'input', + name: 'reactNativeDir', + message: 'Where do you want to generate an ReactNative application?', + default: DEFAULT_REACT_NATIVE_PATH, + }, + ], + this.blueprintStorage, + ); + this.blueprintStorage.defaults({ reactNativeDir: DEFAULT_REACT_NATIVE_PATH }); + }, }); } - get [BaseApplicationGenerator.WRITING]() { - return this.asWritingTaskGroup({ - async writingTemplateTask({ application }) { - await this.writeFiles({ - sections: { - files: [{ templates: ['template-file-app'] }], + get [BaseApplicationGenerator.COMPOSING]() { + return this.asComposingTaskGroup({ + async composeReactNative() { + if (this.jhipsterConfig.applicationType === 'microservice') return; + const reactNativeDir = this.destinationPath(this.blueprintConfig.reactNativeDir); + const appDir = relative(reactNativeDir, this.destinationPath()); + await this.composeWithJHipster(`${REACT_NATIVE_NAMESPACE}:reactNative`, { + generatorOptions: { + destinationRoot: reactNativeDir, + appDir, }, - context: application, }); }, }); } - - get [BaseApplicationGenerator.INSTALL]() { - return this.asInstallTaskGroup({ - async installTemplateTask() {}, - }); - } - - get [BaseApplicationGenerator.END]() { - return this.asEndTaskGroup({ - async endTemplateTask() {}, - }); - } } diff --git a/generators/app/generator.spec.mjs b/generators/app/generator.spec.mjs index 505eaef6a..1a9124d08 100644 --- a/generators/app/generator.spec.mjs +++ b/generators/app/generator.spec.mjs @@ -5,15 +5,19 @@ import { defaultHelpers as helpers, result } from 'generator-jhipster/testing'; const SUB_GENERATOR = 'app'; const BLUEPRINT_NAMESPACE = `jhipster:${SUB_GENERATOR}`; -describe('SubGenerator app of react-native JHipster blueprint', () => { +describe('SubGenerator app of reactNative JHipster blueprint', () => { describe('run', () => { beforeAll(async function () { await helpers .run(BLUEPRINT_NAMESPACE) - .withJHipsterConfig() + .withJHipsterConfig({ + // Skip server and client for speed + skipServer: true, + skipClient: true, + }) .withOptions({ ignoreNeedlesError: true, - blueprint: 'react-native', + blueprint: 'reactNative', }) .withJHipsterLookup() .withParentBlueprintLookup(); @@ -23,4 +27,32 @@ describe('SubGenerator app of react-native JHipster blueprint', () => { expect(result.getStateSnapshot()).toMatchSnapshot(); }); }); + + describe('with custom reactNative path', () => { + beforeAll(async function () { + await helpers + .run(BLUEPRINT_NAMESPACE) + .withJHipsterConfig({ + // Skip server and client for speed + skipServer: true, + skipClient: true, + }) + .withOptions({ + skipChecks: true, + ignoreNeedlesError: true, + blueprint: 'reactNative', + reactNativeDir: '../reactNative-app', + }) + .withJHipsterLookup() + .withParentBlueprintLookup(); + }); + + it('should succeed', () => { + expect(result.getStateSnapshot()).toMatchSnapshot(); + }); + + it('generates a package.json file at custom folder', () => { + result.assertFile(['../reactNative-app/package.json']); + }); + }); }); diff --git a/generators/app/index.js b/generators/app/index.js deleted file mode 100644 index 85c04426e..000000000 --- a/generators/app/index.js +++ /dev/null @@ -1,159 +0,0 @@ -/* eslint-disable consistent-return */ -import path from 'path'; -import fs from 'fs'; -import chalk from 'chalk'; -import semver from 'semver'; -import AppGenerator from 'generator-jhipster/generators/app'; -import { stringHashCode } from 'generator-jhipster/generators/base/support'; -import { loadAppConfig } from 'generator-jhipster/generators/app/support'; -import { loadServerConfig } from 'generator-jhipster/generators/server/support'; -import { askDetoxPrompt, askNamePrompt, askBackendPrompt } from './prompts.js'; -import { writeFiles } from './files.js'; -import packageJson from '../../package.json' assert { type: 'json' }; -import { printJHipsterLogo, loadVariables, setupVariables, createEarlyFiles, appendFiles, patchInFile, patchBabel } from '../../lib/index.js'; - -export default class extends AppGenerator { - constructor(args, opts, features) { - super(args, { skipClient: false, ...opts }, features); // fromBlueprint variable is important - - if (this.options.help) { - return; - } - - this.patchInFile = patchInFile.bind(this); - if (!this.context) { - this.context = {}; - } - - // regardless of the value of skipClient, we want to prettify JS/TS/TSX files - // this does not look to be configurable from blueprints (see getPrettierExtensions in generator-base.js) - // skipClient has no effect for generator-jhipster-react-native since it only generates a client - this.skipClient = false; - // another workaround for changed JHipster behavior. - if (!this.jhipsterConfig) { - this._config = this._getStorage('generator-jhipster'); - this.jhipsterConfig = this.config.createProxy(); - } - this.jhipsterConfig.skipClient = false; - - this.reactNativeBlueprintVersion = - this.blueprintConfig.reactNativeBlueprintVersion || - ((this.jhipsterConfig.blueprints || []).find(blueprint => blueprint.name === 'generator-jhipster-react-native') || {}).version; - this.blueprintConfig.reactNativeBlueprintVersion = packageJson.version; - } - - get [AppGenerator.INITIALIZING]() { - printJHipsterLogo(this); - return { - loadVariables: loadVariables.bind(this), - }; - } - - get [AppGenerator.PROMPTING]() { - return this.asPromptingTaskGroup({ - askNamePrompt, - askBackendPrompt: askBackendPrompt.bind(this), - askDetoxPrompt, - setupVariables, // TODO Whether the prompt should always be executed. If you don't run it, it will not pass here. - }); - } - - get [AppGenerator.CONFIGURING]() { - return {}; - } - - get [AppGenerator.DEFAULT]() { - return {}; - } - - get [AppGenerator.LOADING]() { - return super._loading(); - } - - get [AppGenerator.WRITING]() { - return { - cleanup() { - if (this._isReactNativeVersionLessThan('4.3.1')) { - this.removeFile('.npmrc'); - } - if (this._isReactNativeVersionLessThan('4.3.1')) { - this.removeFile('webpack.config.js'); - } - }, - loadConfig() { - // load config after prompting to allow loading from backend .yo-rc.json - loadAppConfig({ config: this.config.getAll(), application: this.context }); - loadServerConfig({ config: this.config.getAll(), application: this.context }); - this.hipsterImage = stringHashCode(this.context.baseName) % 4; - }, - checkAppAuthType() { - // exit on invalid auth type - const authType = this.context.authenticationType; - if (!['jwt', 'oauth2'].includes(authType)) { - throw new Error(`Unsupported authentication type ${authType} - Only JWT and OAuth2 authentication types are supported.`); - } - }, - setUpTemplateVariables() { - this.context.reactNativeAppNameKebabCase = this._.kebabCase(this.context.reactNativeAppName); - }, - createEarlyFiles, - writeFiles: writeFiles.bind(this), - patchUriScheme() { - const appConfig = this.fs.readJSON('app.json'); - appConfig.expo.scheme = this.context.reactNativeAppName.toLowerCase(); - appConfig.expo.extra = {}; - appConfig.expo.web = appConfig.expo.web || {}; - appConfig.expo.web.bundler = 'metro'; - this.fs.writeJSON('app.json', appConfig); - }, - appendFiles: appendFiles.bind(this), - patchBabel: patchBabel.bind(this), - replacePackageJsonVersionsInGeneratedApp() { - this.debug('Replacing Package.json Versions'); - this.replacePackageJsonVersions('REPLACE_WITH_VERSION', path.join(__dirname, 'templates/package.json')); - this.replacePackageJsonVersions('EXPO_REPLACE_WITH_VERSION', path.join(__dirname, 'resources/expo/package.json')); - }, - composeEntities() { - if (!this.withEntities) return; - this.composeWithJHipster('jhipster-react-native:entities', { skipInstall: true }, true); - }, - }; - } - - get [AppGenerator.INSTALL]() { - const { initGitRepo } = super._install(); - return { - initGitRepo, - npmInstall() { - if (!this.options.skipInstall) { - this.spawnCommandSync('npm', ['i']); - } - }, - }; - } - - get [AppGenerator.END]() { - //TODO: gitCommit - //const gitCommit = super.end().gitCommit.bind(this); - return { - modifyExpoDownloadScriptPermission() { - if (this.context.detox) { - try { - fs.chmodSync('e2e/scripts/download-expo.sh', '755'); - fs.chmodSync('e2e/scripts/setup.sh', '755'); - } catch (err) { - this.log( - `${chalk.yellow.bold( - 'WARNING!' - )}Failed to make 'e2e/scripts/*.sh' executable, you may need to run 'chmod +x e2e/scripts/*.sh'` - ); - } - } - } - }; - } - - _isReactNativeVersionLessThan(version, fallback = false) { - return (this.reactNativeBlueprintVersion && semver.lt(version, this.reactNativeBlueprintVersion)) || fallback; - } -} diff --git a/generators/app/index.mjs b/generators/app/index.mjs new file mode 100644 index 000000000..adaf4ca2e --- /dev/null +++ b/generators/app/index.mjs @@ -0,0 +1 @@ +export { default } from './generator.mjs'; diff --git a/generators/constants.mjs b/generators/constants.mjs new file mode 100644 index 000000000..a8a1e246f --- /dev/null +++ b/generators/constants.mjs @@ -0,0 +1,3 @@ +export const REACT_NATIVE_NAMESPACE = 'jhipster-react-native'; +export const DEFAULT_REACT_NATIVE_PATH = '../reactNative4j'; +export const DEFAULT_BACKEND_PATH = '../backend'; From 1c02f2ed15a6ce238568edb7f06cc5a12c3d72a5 Mon Sep 17 00:00:00 2001 From: Hideyuki Kagami Date: Sat, 20 Jan 2024 01:15:33 +0900 Subject: [PATCH 05/70] move templates and resoucces --- .../files.js => react-native/entity-files.mjs} | 0 generators/{app/files.js => react-native/files.mjs} | 0 .../resources/expo/package.json | 0 .../templates/.detoxrc.json.ejs | 0 .../templates/.editorconfig.ejs | 0 .../templates/.eslintrc.js.ejs | 0 .../templates/.gitattributes.ejs | 0 .../{app => react-native}/templates/.gitignore.ejs | 0 .../templates/.prettierignore.ejs | 0 .../templates/.prettierrc.js.ejs | 0 .../{app => react-native}/templates/App.js.ejs | 0 .../{app => react-native}/templates/README.md.ejs | 0 .../{app => react-native}/templates/app.json.ejs | 0 .../templates/app/config/app-config.js.ejs | 0 .../templates/app/config/redux-persist.js.ejs | 0 .../password-reset/forgot-password-screen.js.ejs | 0 .../forgot-password-screen.styles.js.ejs | 0 .../password-reset/forgot-password.reducer.js.ejs | 0 .../password-reset/forgot-password.sagas.js.ejs | 0 .../account/password/change-password-screen.js.ejs | 0 .../password/change-password-screen.styles.js.ejs | 0 .../account/password/change-password.reducer.js.ejs | 0 .../account/password/change-password.sagas.js.ejs | 0 .../modules/account/register/register-screen.js.ejs | 0 .../account/register/register-screen.styles.js.ejs | 0 .../account/register/register.reducer.js.ejs | 0 .../modules/account/register/register.sagas.js.ejs | 0 .../modules/account/settings/settings-screen.js.ejs | 0 .../account/settings/settings-screen.styles.js.ejs | 0 .../templates/app/modules/chat/chat-screen.js.ejs | 0 .../app/modules/chat/chat-screen.styles.js.ejs | 0 .../templates/app/modules/chat/chat.reducer.js.ejs | 0 .../app/modules/entities/entities-screen.js.ejs | 0 .../modules/entities/entities-screen.styles.js.ejs | 0 .../modules/entities}/entity-delete-modal.js.ejs | 0 .../modules/entities}/entity-detail-screen.js.ejs | 0 .../app/modules/entities}/entity-e2e-test.js.ejs | 0 .../app/modules/entities}/entity-edit-screen.js.ejs | 0 .../app/modules/entities}/entity-flatlist.js.ejs | 0 .../app/modules/entities}/entity-reducer.js.ejs | 0 .../modules/entities}/entity-reducer.spec.js.ejs | 0 .../app/modules/entities}/entity-sagas.js.ejs | 0 .../app/modules/entities}/entity-sagas.spec.js.ejs | 0 .../app/modules/entities}/entity-styles.js.ejs | 0 .../entities}/fixtures/entity-get-all.json.ejs | 0 .../modules/entities}/fixtures/entity-get.json.ejs | 0 .../entities}/fixtures/entity-update.json.ejs | 0 .../templates/app/modules/home/home-screen.js.ejs | 0 .../app/modules/home/home-screen.styles.js.ejs | 0 .../modules/home/learn-more-links.component.js.ejs | 0 .../templates/app/modules/login/login-screen.js.ejs | 0 .../app/modules/login/login-screen.oauth2.js.ejs | 0 .../app/modules/login/login-screen.styles.js.ejs | 0 .../app/modules/login/login.reducer.js.ejs | 0 .../templates/app/modules/login/login.sagas.js.ejs | 0 .../templates/app/modules/login/login.utils.ts.ejs | 0 .../app/navigation/drawer/drawer-button.js.ejs | 0 .../app/navigation/drawer/drawer-content.js.ejs | 0 .../app/navigation/drawer/touchable-item.tsx.ejs | 0 .../templates/app/navigation/entity-stack.js.ejs | 0 .../templates/app/navigation/modal-screen.js.ejs | 0 .../templates/app/navigation/nav-container.js.ejs | 0 .../templates/app/navigation/nav-ref.js.ejs | 0 .../app/navigation/not-found-screen.tsx.ejs | 0 .../app/navigation/oauth-redirect-screen.tsx.ejs | 0 .../components/alert-message/alert-message.js.ejs | 0 .../alert-message/alert-message.story.js.ejs | 0 .../alert-message/alert-message.styles.js.ejs | 0 .../components/form/inputs/jhi-date-input.js.ejs | 0 .../form/inputs/jhi-date-input.web.js.ejs | 0 .../components/form/inputs/jhi-image-input.js.ejs | 0 .../components/form/inputs/jhi-list-input.js.ejs | 0 .../form/inputs/jhi-multi-list-input.js.ejs | 0 .../components/form/inputs/jhi-switch-input.js.ejs | 0 .../components/form/inputs/jhi-text-input.js.ejs | 0 .../shared/components/form/jhi-form-button.js.ejs | 0 .../shared/components/form/jhi-form-field.js.ejs | 0 .../components/form/jhi-form-field.story.js.ejs | 0 .../app/shared/components/form/jhi-form.js.ejs | 0 .../components/rounded-button/rounded-button.js.ejs | 0 .../rounded-button/rounded-button.story.js.ejs | 0 .../rounded-button/rounded-button.styles.js.ejs | 0 .../shared/components/search-bar/search-bar.js.ejs | 0 .../components/search-bar/search-bar.story.js.ejs | 0 .../components/search-bar/search-bar.styles.js.ejs | 0 .../templates/app/shared/fixtures/README.md.ejs | 0 .../app/shared/fixtures/get-account.json.ejs | 0 .../app/shared/fixtures/get-oauth-info.json.ejs | 0 .../templates/app/shared/fixtures/get-user.json.ejs | 0 .../app/shared/fixtures/get-users.json.ejs | 0 .../templates/app/shared/fixtures/login.json.ejs | 0 .../app/shared/fixtures/update-user.json.ejs | 0 .../shared/images/jhipster_family_member_0_head.png | Bin .../images/jhipster_family_member_0_head@2x.png | Bin .../images/jhipster_family_member_0_head@3x.png | Bin .../shared/images/jhipster_family_member_1_head.png | Bin .../images/jhipster_family_member_1_head@2x.png | Bin .../images/jhipster_family_member_1_head@3x.png | Bin .../shared/images/jhipster_family_member_2_head.png | Bin .../images/jhipster_family_member_2_head@2x.png | Bin .../images/jhipster_family_member_2_head@3x.png | Bin .../shared/images/jhipster_family_member_3_head.png | Bin .../images/jhipster_family_member_3_head@2x.png | Bin .../images/jhipster_family_member_3_head@3x.png | Bin .../toggle-drawer-icon/toggle-drawer-icon.png | Bin .../toggle-drawer-icon@1.5x.android.png | Bin .../toggle-drawer-icon@1.5x.ios.png | Bin .../toggle-drawer-icon@1x.android.png | Bin .../toggle-drawer-icon@1x.ios.png | Bin .../toggle-drawer-icon@2x.android.png | Bin .../toggle-drawer-icon@2x.ios.png | Bin .../toggle-drawer-icon@3x.android.png | Bin .../toggle-drawer-icon@3x.ios.png | Bin .../toggle-drawer-icon@4x.android.png | Bin .../toggle-drawer-icon@4x.ios.png | Bin .../app/shared/reducers/account.reducer.js.ejs | 0 .../app/shared/reducers/app-state.reducer.js.ejs | 0 .../app/shared/reducers/auth-info.reducer.js.ejs | 0 .../app/shared/reducers/create-store.js.ejs | 0 .../templates/app/shared/reducers/index.js.ejs | 0 .../app/shared/reducers/startup.reducer.js.ejs | 0 .../app/shared/reducers/user.reducer.js.ejs | 0 .../templates/app/shared/sagas/account.sagas.js.ejs | 0 .../app/shared/sagas/auth-info.saga.js.ejs | 0 .../templates/app/shared/sagas/call-api.saga.js.ejs | 0 .../templates/app/shared/sagas/index.js.ejs | 0 .../templates/app/shared/sagas/startup.saga.js.ejs | 0 .../templates/app/shared/sagas/user.sagas.js.ejs | 0 .../templates/app/shared/services/api.js.ejs | 0 .../app/shared/services/fixture-api.js.ejs | 0 .../app/shared/services/rehydration.service.js.ejs | 0 .../app/shared/themes/application.styles.js.ejs | 0 .../templates/app/shared/themes/colors.js.ejs | 0 .../templates/app/shared/themes/fonts.js.ejs | 0 .../templates/app/shared/themes/images.js.ejs | 0 .../templates/app/shared/themes/index.js.ejs | 0 .../templates/app/shared/themes/metrics.js.ejs | 0 .../app/shared/util/date-transforms.js.ejs | 0 .../util/immutable-persistence-transform.js.ejs | 0 .../app/shared/util/pagination-utils.js.ejs | 0 .../app/shared/util/snake-to-camel-case.js.ejs | 0 .../templates/app/shared/util/url-utils.js.ejs | 0 .../app/shared/util/use-did-update-effect.js.ejs | 0 .../app/shared/websockets/websocket.sagas.js.ejs | 0 .../app/shared/websockets/websocket.service.js.ejs | 0 .../templates/assets/adaptive-icon.png | Bin .../templates/assets/favicon.png | Bin .../{app => react-native}/templates/assets/icon.png | Bin .../templates/assets/splash.png | Bin .../templates/babel.config.js.ejs | 0 .../e2e/account/change-password-screen.spec.js.ejs | 0 .../templates/e2e/account/login-screen.spec.js.ejs | 0 .../e2e/account/settings-screen.spec.js.ejs | 0 .../templates/e2e/config.json.ejs | 0 .../templates/e2e/environment.js.ejs | 0 .../templates/e2e/home-screen.spec.js.ejs | 0 .../templates/e2e/scripts/download-expo.sh.ejs | 0 .../templates/e2e/scripts/setup.sh.ejs | 0 .../templates/e2e/utils.js.ejs | 0 .../e2e/websockets/chat-screen.spec.js.ejs | 0 .../templates/metro.config.js.ejs | 0 .../{app => react-native}/templates/package.json | 0 .../templates/package.json.ejs | 0 ...ative-keyboard-aware-scroll-view+0.9.4.patch.ejs | 0 ...ct-native-sectioned-multi-select+0.8.1.patch.ejs | 0 .../templates/storybook/addons.js.ejs | 0 .../templates/storybook/index.js.ejs | 0 .../templates/storybook/stories.js.ejs | 0 .../templates/test/setup.js.ejs | 0 .../forgot-passsword.sagas.spec.js.ejs | 0 .../forgot-password.reducer.spec.js.ejs | 0 .../password/change-passsword.sagas.spec.js.ejs | 0 .../password/change-password.reducer.spec.js.ejs | 0 .../account/register/register.reducer.spec.js.ejs | 0 .../account/register/register.sagas.spec.js.ejs | 0 .../test/spec/modules/chat/chat.reducer.spec.js.ejs | 0 .../spec/modules/login/login.reducer.spec.js.ejs | 0 .../test/spec/modules/login/login.sagas.spec.js.ejs | 0 .../alert-message/alert-message.spec.js.ejs | 0 .../rounded-button/rounded-button.spec.js.ejs | 0 .../components/search-bar/search-bar.spec.js.ejs | 0 .../navigation/drawer/drawer-button.spec.js.ejs | 0 .../shared/reducers/account.reducer.spec.js.ejs | 0 .../shared/reducers/app-state.reducer.spec.js.ejs | 0 .../spec/shared/reducers/user.reducer.spec.js.ejs | 0 .../spec/shared/sagas/account.sagas.spec.js.ejs | 0 .../spec/shared/sagas/call-api.saga.spec.js.ejs | 0 .../test/spec/shared/sagas/startup.saga.spec.js.ejs | 0 .../test/spec/shared/sagas/user.saga.spec.js.ejs | 0 .../spec/shared/services/fixture-api.spec.js.ejs | 0 .../shared/websockets/websocket-service.spec.js.ejs | 0 .../shared/websockets/websocket.sagas.spec.js.ejs | 0 192 files changed, 0 insertions(+), 0 deletions(-) rename generators/{entity/files.js => react-native/entity-files.mjs} (100%) rename generators/{app/files.js => react-native/files.mjs} (100%) rename generators/{app => react-native}/resources/expo/package.json (100%) rename generators/{app => react-native}/templates/.detoxrc.json.ejs (100%) rename generators/{app => react-native}/templates/.editorconfig.ejs (100%) rename generators/{app => react-native}/templates/.eslintrc.js.ejs (100%) rename generators/{app => react-native}/templates/.gitattributes.ejs (100%) rename generators/{app => react-native}/templates/.gitignore.ejs (100%) rename generators/{app => react-native}/templates/.prettierignore.ejs (100%) rename generators/{app => react-native}/templates/.prettierrc.js.ejs (100%) rename generators/{app => react-native}/templates/App.js.ejs (100%) rename generators/{app => react-native}/templates/README.md.ejs (100%) rename generators/{app => react-native}/templates/app.json.ejs (100%) rename generators/{app => react-native}/templates/app/config/app-config.js.ejs (100%) rename generators/{app => react-native}/templates/app/config/redux-persist.js.ejs (100%) rename generators/{app => react-native}/templates/app/modules/account/password-reset/forgot-password-screen.js.ejs (100%) rename generators/{app => react-native}/templates/app/modules/account/password-reset/forgot-password-screen.styles.js.ejs (100%) rename generators/{app => react-native}/templates/app/modules/account/password-reset/forgot-password.reducer.js.ejs (100%) rename generators/{app => react-native}/templates/app/modules/account/password-reset/forgot-password.sagas.js.ejs (100%) rename generators/{app => react-native}/templates/app/modules/account/password/change-password-screen.js.ejs (100%) rename generators/{app => react-native}/templates/app/modules/account/password/change-password-screen.styles.js.ejs (100%) rename generators/{app => react-native}/templates/app/modules/account/password/change-password.reducer.js.ejs (100%) rename generators/{app => react-native}/templates/app/modules/account/password/change-password.sagas.js.ejs (100%) rename generators/{app => react-native}/templates/app/modules/account/register/register-screen.js.ejs (100%) rename generators/{app => react-native}/templates/app/modules/account/register/register-screen.styles.js.ejs (100%) rename generators/{app => react-native}/templates/app/modules/account/register/register.reducer.js.ejs (100%) rename generators/{app => react-native}/templates/app/modules/account/register/register.sagas.js.ejs (100%) rename generators/{app => react-native}/templates/app/modules/account/settings/settings-screen.js.ejs (100%) rename generators/{app => react-native}/templates/app/modules/account/settings/settings-screen.styles.js.ejs (100%) rename generators/{app => react-native}/templates/app/modules/chat/chat-screen.js.ejs (100%) rename generators/{app => react-native}/templates/app/modules/chat/chat-screen.styles.js.ejs (100%) rename generators/{app => react-native}/templates/app/modules/chat/chat.reducer.js.ejs (100%) rename generators/{app => react-native}/templates/app/modules/entities/entities-screen.js.ejs (100%) rename generators/{app => react-native}/templates/app/modules/entities/entities-screen.styles.js.ejs (100%) rename generators/{entity/templates => react-native/templates/app/modules/entities}/entity-delete-modal.js.ejs (100%) rename generators/{entity/templates => react-native/templates/app/modules/entities}/entity-detail-screen.js.ejs (100%) rename generators/{entity/templates => react-native/templates/app/modules/entities}/entity-e2e-test.js.ejs (100%) rename generators/{entity/templates => react-native/templates/app/modules/entities}/entity-edit-screen.js.ejs (100%) rename generators/{entity/templates => react-native/templates/app/modules/entities}/entity-flatlist.js.ejs (100%) rename generators/{entity/templates => react-native/templates/app/modules/entities}/entity-reducer.js.ejs (100%) rename generators/{entity/templates => react-native/templates/app/modules/entities}/entity-reducer.spec.js.ejs (100%) rename generators/{entity/templates => react-native/templates/app/modules/entities}/entity-sagas.js.ejs (100%) rename generators/{entity/templates => react-native/templates/app/modules/entities}/entity-sagas.spec.js.ejs (100%) rename generators/{entity/templates => react-native/templates/app/modules/entities}/entity-styles.js.ejs (100%) rename generators/{entity/templates => react-native/templates/app/modules/entities}/fixtures/entity-get-all.json.ejs (100%) rename generators/{entity/templates => react-native/templates/app/modules/entities}/fixtures/entity-get.json.ejs (100%) rename generators/{entity/templates => react-native/templates/app/modules/entities}/fixtures/entity-update.json.ejs (100%) rename generators/{app => react-native}/templates/app/modules/home/home-screen.js.ejs (100%) rename generators/{app => react-native}/templates/app/modules/home/home-screen.styles.js.ejs (100%) rename generators/{app => react-native}/templates/app/modules/home/learn-more-links.component.js.ejs (100%) rename generators/{app => react-native}/templates/app/modules/login/login-screen.js.ejs (100%) rename generators/{app => react-native}/templates/app/modules/login/login-screen.oauth2.js.ejs (100%) rename generators/{app => react-native}/templates/app/modules/login/login-screen.styles.js.ejs (100%) rename generators/{app => react-native}/templates/app/modules/login/login.reducer.js.ejs (100%) rename generators/{app => react-native}/templates/app/modules/login/login.sagas.js.ejs (100%) rename generators/{app => react-native}/templates/app/modules/login/login.utils.ts.ejs (100%) rename generators/{app => react-native}/templates/app/navigation/drawer/drawer-button.js.ejs (100%) rename generators/{app => react-native}/templates/app/navigation/drawer/drawer-content.js.ejs (100%) rename generators/{app => react-native}/templates/app/navigation/drawer/touchable-item.tsx.ejs (100%) rename generators/{app => react-native}/templates/app/navigation/entity-stack.js.ejs (100%) rename generators/{app => react-native}/templates/app/navigation/modal-screen.js.ejs (100%) rename generators/{app => react-native}/templates/app/navigation/nav-container.js.ejs (100%) rename generators/{app => react-native}/templates/app/navigation/nav-ref.js.ejs (100%) rename generators/{app => react-native}/templates/app/navigation/not-found-screen.tsx.ejs (100%) rename generators/{app => react-native}/templates/app/navigation/oauth-redirect-screen.tsx.ejs (100%) rename generators/{app => react-native}/templates/app/shared/components/alert-message/alert-message.js.ejs (100%) rename generators/{app => react-native}/templates/app/shared/components/alert-message/alert-message.story.js.ejs (100%) rename generators/{app => react-native}/templates/app/shared/components/alert-message/alert-message.styles.js.ejs (100%) rename generators/{app => react-native}/templates/app/shared/components/form/inputs/jhi-date-input.js.ejs (100%) rename generators/{app => react-native}/templates/app/shared/components/form/inputs/jhi-date-input.web.js.ejs (100%) rename generators/{app => react-native}/templates/app/shared/components/form/inputs/jhi-image-input.js.ejs (100%) rename generators/{app => react-native}/templates/app/shared/components/form/inputs/jhi-list-input.js.ejs (100%) rename generators/{app => react-native}/templates/app/shared/components/form/inputs/jhi-multi-list-input.js.ejs (100%) rename generators/{app => react-native}/templates/app/shared/components/form/inputs/jhi-switch-input.js.ejs (100%) rename generators/{app => react-native}/templates/app/shared/components/form/inputs/jhi-text-input.js.ejs (100%) rename generators/{app => react-native}/templates/app/shared/components/form/jhi-form-button.js.ejs (100%) rename generators/{app => react-native}/templates/app/shared/components/form/jhi-form-field.js.ejs (100%) rename generators/{app => react-native}/templates/app/shared/components/form/jhi-form-field.story.js.ejs (100%) rename generators/{app => react-native}/templates/app/shared/components/form/jhi-form.js.ejs (100%) rename generators/{app => react-native}/templates/app/shared/components/rounded-button/rounded-button.js.ejs (100%) rename generators/{app => react-native}/templates/app/shared/components/rounded-button/rounded-button.story.js.ejs (100%) rename generators/{app => react-native}/templates/app/shared/components/rounded-button/rounded-button.styles.js.ejs (100%) rename generators/{app => react-native}/templates/app/shared/components/search-bar/search-bar.js.ejs (100%) rename generators/{app => react-native}/templates/app/shared/components/search-bar/search-bar.story.js.ejs (100%) rename generators/{app => react-native}/templates/app/shared/components/search-bar/search-bar.styles.js.ejs (100%) rename generators/{app => react-native}/templates/app/shared/fixtures/README.md.ejs (100%) rename generators/{app => react-native}/templates/app/shared/fixtures/get-account.json.ejs (100%) rename generators/{app => react-native}/templates/app/shared/fixtures/get-oauth-info.json.ejs (100%) rename generators/{app => react-native}/templates/app/shared/fixtures/get-user.json.ejs (100%) rename generators/{app => react-native}/templates/app/shared/fixtures/get-users.json.ejs (100%) rename generators/{app => react-native}/templates/app/shared/fixtures/login.json.ejs (100%) rename generators/{app => react-native}/templates/app/shared/fixtures/update-user.json.ejs (100%) rename generators/{app => react-native}/templates/app/shared/images/jhipster_family_member_0_head.png (100%) rename generators/{app => react-native}/templates/app/shared/images/jhipster_family_member_0_head@2x.png (100%) rename generators/{app => react-native}/templates/app/shared/images/jhipster_family_member_0_head@3x.png (100%) rename generators/{app => react-native}/templates/app/shared/images/jhipster_family_member_1_head.png (100%) rename generators/{app => react-native}/templates/app/shared/images/jhipster_family_member_1_head@2x.png (100%) rename generators/{app => react-native}/templates/app/shared/images/jhipster_family_member_1_head@3x.png (100%) rename generators/{app => react-native}/templates/app/shared/images/jhipster_family_member_2_head.png (100%) rename generators/{app => react-native}/templates/app/shared/images/jhipster_family_member_2_head@2x.png (100%) rename generators/{app => react-native}/templates/app/shared/images/jhipster_family_member_2_head@3x.png (100%) rename generators/{app => react-native}/templates/app/shared/images/jhipster_family_member_3_head.png (100%) rename generators/{app => react-native}/templates/app/shared/images/jhipster_family_member_3_head@2x.png (100%) rename generators/{app => react-native}/templates/app/shared/images/jhipster_family_member_3_head@3x.png (100%) rename generators/{app => react-native}/templates/app/shared/images/toggle-drawer-icon/toggle-drawer-icon.png (100%) rename generators/{app => react-native}/templates/app/shared/images/toggle-drawer-icon/toggle-drawer-icon@1.5x.android.png (100%) rename generators/{app => react-native}/templates/app/shared/images/toggle-drawer-icon/toggle-drawer-icon@1.5x.ios.png (100%) rename generators/{app => react-native}/templates/app/shared/images/toggle-drawer-icon/toggle-drawer-icon@1x.android.png (100%) rename generators/{app => react-native}/templates/app/shared/images/toggle-drawer-icon/toggle-drawer-icon@1x.ios.png (100%) rename generators/{app => react-native}/templates/app/shared/images/toggle-drawer-icon/toggle-drawer-icon@2x.android.png (100%) rename generators/{app => react-native}/templates/app/shared/images/toggle-drawer-icon/toggle-drawer-icon@2x.ios.png (100%) rename generators/{app => react-native}/templates/app/shared/images/toggle-drawer-icon/toggle-drawer-icon@3x.android.png (100%) rename generators/{app => react-native}/templates/app/shared/images/toggle-drawer-icon/toggle-drawer-icon@3x.ios.png (100%) rename generators/{app => react-native}/templates/app/shared/images/toggle-drawer-icon/toggle-drawer-icon@4x.android.png (100%) rename generators/{app => react-native}/templates/app/shared/images/toggle-drawer-icon/toggle-drawer-icon@4x.ios.png (100%) rename generators/{app => react-native}/templates/app/shared/reducers/account.reducer.js.ejs (100%) rename generators/{app => react-native}/templates/app/shared/reducers/app-state.reducer.js.ejs (100%) rename generators/{app => react-native}/templates/app/shared/reducers/auth-info.reducer.js.ejs (100%) rename generators/{app => react-native}/templates/app/shared/reducers/create-store.js.ejs (100%) rename generators/{app => react-native}/templates/app/shared/reducers/index.js.ejs (100%) rename generators/{app => react-native}/templates/app/shared/reducers/startup.reducer.js.ejs (100%) rename generators/{app => react-native}/templates/app/shared/reducers/user.reducer.js.ejs (100%) rename generators/{app => react-native}/templates/app/shared/sagas/account.sagas.js.ejs (100%) rename generators/{app => react-native}/templates/app/shared/sagas/auth-info.saga.js.ejs (100%) rename generators/{app => react-native}/templates/app/shared/sagas/call-api.saga.js.ejs (100%) rename generators/{app => react-native}/templates/app/shared/sagas/index.js.ejs (100%) rename generators/{app => react-native}/templates/app/shared/sagas/startup.saga.js.ejs (100%) rename generators/{app => react-native}/templates/app/shared/sagas/user.sagas.js.ejs (100%) rename generators/{app => react-native}/templates/app/shared/services/api.js.ejs (100%) rename generators/{app => react-native}/templates/app/shared/services/fixture-api.js.ejs (100%) rename generators/{app => react-native}/templates/app/shared/services/rehydration.service.js.ejs (100%) rename generators/{app => react-native}/templates/app/shared/themes/application.styles.js.ejs (100%) rename generators/{app => react-native}/templates/app/shared/themes/colors.js.ejs (100%) rename generators/{app => react-native}/templates/app/shared/themes/fonts.js.ejs (100%) rename generators/{app => react-native}/templates/app/shared/themes/images.js.ejs (100%) rename generators/{app => react-native}/templates/app/shared/themes/index.js.ejs (100%) rename generators/{app => react-native}/templates/app/shared/themes/metrics.js.ejs (100%) rename generators/{app => react-native}/templates/app/shared/util/date-transforms.js.ejs (100%) rename generators/{app => react-native}/templates/app/shared/util/immutable-persistence-transform.js.ejs (100%) rename generators/{app => react-native}/templates/app/shared/util/pagination-utils.js.ejs (100%) rename generators/{app => react-native}/templates/app/shared/util/snake-to-camel-case.js.ejs (100%) rename generators/{app => react-native}/templates/app/shared/util/url-utils.js.ejs (100%) rename generators/{app => react-native}/templates/app/shared/util/use-did-update-effect.js.ejs (100%) rename generators/{app => react-native}/templates/app/shared/websockets/websocket.sagas.js.ejs (100%) rename generators/{app => react-native}/templates/app/shared/websockets/websocket.service.js.ejs (100%) rename generators/{app => react-native}/templates/assets/adaptive-icon.png (100%) rename generators/{app => react-native}/templates/assets/favicon.png (100%) rename generators/{app => react-native}/templates/assets/icon.png (100%) rename generators/{app => react-native}/templates/assets/splash.png (100%) rename generators/{app => react-native}/templates/babel.config.js.ejs (100%) rename generators/{app => react-native}/templates/e2e/account/change-password-screen.spec.js.ejs (100%) rename generators/{app => react-native}/templates/e2e/account/login-screen.spec.js.ejs (100%) rename generators/{app => react-native}/templates/e2e/account/settings-screen.spec.js.ejs (100%) rename generators/{app => react-native}/templates/e2e/config.json.ejs (100%) rename generators/{app => react-native}/templates/e2e/environment.js.ejs (100%) rename generators/{app => react-native}/templates/e2e/home-screen.spec.js.ejs (100%) rename generators/{app => react-native}/templates/e2e/scripts/download-expo.sh.ejs (100%) rename generators/{app => react-native}/templates/e2e/scripts/setup.sh.ejs (100%) rename generators/{app => react-native}/templates/e2e/utils.js.ejs (100%) rename generators/{app => react-native}/templates/e2e/websockets/chat-screen.spec.js.ejs (100%) rename generators/{app => react-native}/templates/metro.config.js.ejs (100%) rename generators/{app => react-native}/templates/package.json (100%) rename generators/{app => react-native}/templates/package.json.ejs (100%) rename generators/{app => react-native}/templates/patches/react-native-keyboard-aware-scroll-view+0.9.4.patch.ejs (100%) rename generators/{app => react-native}/templates/patches/react-native-sectioned-multi-select+0.8.1.patch.ejs (100%) rename generators/{app => react-native}/templates/storybook/addons.js.ejs (100%) rename generators/{app => react-native}/templates/storybook/index.js.ejs (100%) rename generators/{app => react-native}/templates/storybook/stories.js.ejs (100%) rename generators/{app => react-native}/templates/test/setup.js.ejs (100%) rename generators/{app => react-native}/templates/test/spec/modules/account/password-reset/forgot-passsword.sagas.spec.js.ejs (100%) rename generators/{app => react-native}/templates/test/spec/modules/account/password-reset/forgot-password.reducer.spec.js.ejs (100%) rename generators/{app => react-native}/templates/test/spec/modules/account/password/change-passsword.sagas.spec.js.ejs (100%) rename generators/{app => react-native}/templates/test/spec/modules/account/password/change-password.reducer.spec.js.ejs (100%) rename generators/{app => react-native}/templates/test/spec/modules/account/register/register.reducer.spec.js.ejs (100%) rename generators/{app => react-native}/templates/test/spec/modules/account/register/register.sagas.spec.js.ejs (100%) rename generators/{app => react-native}/templates/test/spec/modules/chat/chat.reducer.spec.js.ejs (100%) rename generators/{app => react-native}/templates/test/spec/modules/login/login.reducer.spec.js.ejs (100%) rename generators/{app => react-native}/templates/test/spec/modules/login/login.sagas.spec.js.ejs (100%) rename generators/{app => react-native}/templates/test/spec/shared/components/alert-message/alert-message.spec.js.ejs (100%) rename generators/{app => react-native}/templates/test/spec/shared/components/rounded-button/rounded-button.spec.js.ejs (100%) rename generators/{app => react-native}/templates/test/spec/shared/components/search-bar/search-bar.spec.js.ejs (100%) rename generators/{app => react-native}/templates/test/spec/shared/navigation/drawer/drawer-button.spec.js.ejs (100%) rename generators/{app => react-native}/templates/test/spec/shared/reducers/account.reducer.spec.js.ejs (100%) rename generators/{app => react-native}/templates/test/spec/shared/reducers/app-state.reducer.spec.js.ejs (100%) rename generators/{app => react-native}/templates/test/spec/shared/reducers/user.reducer.spec.js.ejs (100%) rename generators/{app => react-native}/templates/test/spec/shared/sagas/account.sagas.spec.js.ejs (100%) rename generators/{app => react-native}/templates/test/spec/shared/sagas/call-api.saga.spec.js.ejs (100%) rename generators/{app => react-native}/templates/test/spec/shared/sagas/startup.saga.spec.js.ejs (100%) rename generators/{app => react-native}/templates/test/spec/shared/sagas/user.saga.spec.js.ejs (100%) rename generators/{app => react-native}/templates/test/spec/shared/services/fixture-api.spec.js.ejs (100%) rename generators/{app => react-native}/templates/test/spec/shared/websockets/websocket-service.spec.js.ejs (100%) rename generators/{app => react-native}/templates/test/spec/shared/websockets/websocket.sagas.spec.js.ejs (100%) diff --git a/generators/entity/files.js b/generators/react-native/entity-files.mjs similarity index 100% rename from generators/entity/files.js rename to generators/react-native/entity-files.mjs diff --git a/generators/app/files.js b/generators/react-native/files.mjs similarity index 100% rename from generators/app/files.js rename to generators/react-native/files.mjs diff --git a/generators/app/resources/expo/package.json b/generators/react-native/resources/expo/package.json similarity index 100% rename from generators/app/resources/expo/package.json rename to generators/react-native/resources/expo/package.json diff --git a/generators/app/templates/.detoxrc.json.ejs b/generators/react-native/templates/.detoxrc.json.ejs similarity index 100% rename from generators/app/templates/.detoxrc.json.ejs rename to generators/react-native/templates/.detoxrc.json.ejs diff --git a/generators/app/templates/.editorconfig.ejs b/generators/react-native/templates/.editorconfig.ejs similarity index 100% rename from generators/app/templates/.editorconfig.ejs rename to generators/react-native/templates/.editorconfig.ejs diff --git a/generators/app/templates/.eslintrc.js.ejs b/generators/react-native/templates/.eslintrc.js.ejs similarity index 100% rename from generators/app/templates/.eslintrc.js.ejs rename to generators/react-native/templates/.eslintrc.js.ejs diff --git a/generators/app/templates/.gitattributes.ejs b/generators/react-native/templates/.gitattributes.ejs similarity index 100% rename from generators/app/templates/.gitattributes.ejs rename to generators/react-native/templates/.gitattributes.ejs diff --git a/generators/app/templates/.gitignore.ejs b/generators/react-native/templates/.gitignore.ejs similarity index 100% rename from generators/app/templates/.gitignore.ejs rename to generators/react-native/templates/.gitignore.ejs diff --git a/generators/app/templates/.prettierignore.ejs b/generators/react-native/templates/.prettierignore.ejs similarity index 100% rename from generators/app/templates/.prettierignore.ejs rename to generators/react-native/templates/.prettierignore.ejs diff --git a/generators/app/templates/.prettierrc.js.ejs b/generators/react-native/templates/.prettierrc.js.ejs similarity index 100% rename from generators/app/templates/.prettierrc.js.ejs rename to generators/react-native/templates/.prettierrc.js.ejs diff --git a/generators/app/templates/App.js.ejs b/generators/react-native/templates/App.js.ejs similarity index 100% rename from generators/app/templates/App.js.ejs rename to generators/react-native/templates/App.js.ejs diff --git a/generators/app/templates/README.md.ejs b/generators/react-native/templates/README.md.ejs similarity index 100% rename from generators/app/templates/README.md.ejs rename to generators/react-native/templates/README.md.ejs diff --git a/generators/app/templates/app.json.ejs b/generators/react-native/templates/app.json.ejs similarity index 100% rename from generators/app/templates/app.json.ejs rename to generators/react-native/templates/app.json.ejs diff --git a/generators/app/templates/app/config/app-config.js.ejs b/generators/react-native/templates/app/config/app-config.js.ejs similarity index 100% rename from generators/app/templates/app/config/app-config.js.ejs rename to generators/react-native/templates/app/config/app-config.js.ejs diff --git a/generators/app/templates/app/config/redux-persist.js.ejs b/generators/react-native/templates/app/config/redux-persist.js.ejs similarity index 100% rename from generators/app/templates/app/config/redux-persist.js.ejs rename to generators/react-native/templates/app/config/redux-persist.js.ejs diff --git a/generators/app/templates/app/modules/account/password-reset/forgot-password-screen.js.ejs b/generators/react-native/templates/app/modules/account/password-reset/forgot-password-screen.js.ejs similarity index 100% rename from generators/app/templates/app/modules/account/password-reset/forgot-password-screen.js.ejs rename to generators/react-native/templates/app/modules/account/password-reset/forgot-password-screen.js.ejs diff --git a/generators/app/templates/app/modules/account/password-reset/forgot-password-screen.styles.js.ejs b/generators/react-native/templates/app/modules/account/password-reset/forgot-password-screen.styles.js.ejs similarity index 100% rename from generators/app/templates/app/modules/account/password-reset/forgot-password-screen.styles.js.ejs rename to generators/react-native/templates/app/modules/account/password-reset/forgot-password-screen.styles.js.ejs diff --git a/generators/app/templates/app/modules/account/password-reset/forgot-password.reducer.js.ejs b/generators/react-native/templates/app/modules/account/password-reset/forgot-password.reducer.js.ejs similarity index 100% rename from generators/app/templates/app/modules/account/password-reset/forgot-password.reducer.js.ejs rename to generators/react-native/templates/app/modules/account/password-reset/forgot-password.reducer.js.ejs diff --git a/generators/app/templates/app/modules/account/password-reset/forgot-password.sagas.js.ejs b/generators/react-native/templates/app/modules/account/password-reset/forgot-password.sagas.js.ejs similarity index 100% rename from generators/app/templates/app/modules/account/password-reset/forgot-password.sagas.js.ejs rename to generators/react-native/templates/app/modules/account/password-reset/forgot-password.sagas.js.ejs diff --git a/generators/app/templates/app/modules/account/password/change-password-screen.js.ejs b/generators/react-native/templates/app/modules/account/password/change-password-screen.js.ejs similarity index 100% rename from generators/app/templates/app/modules/account/password/change-password-screen.js.ejs rename to generators/react-native/templates/app/modules/account/password/change-password-screen.js.ejs diff --git a/generators/app/templates/app/modules/account/password/change-password-screen.styles.js.ejs b/generators/react-native/templates/app/modules/account/password/change-password-screen.styles.js.ejs similarity index 100% rename from generators/app/templates/app/modules/account/password/change-password-screen.styles.js.ejs rename to generators/react-native/templates/app/modules/account/password/change-password-screen.styles.js.ejs diff --git a/generators/app/templates/app/modules/account/password/change-password.reducer.js.ejs b/generators/react-native/templates/app/modules/account/password/change-password.reducer.js.ejs similarity index 100% rename from generators/app/templates/app/modules/account/password/change-password.reducer.js.ejs rename to generators/react-native/templates/app/modules/account/password/change-password.reducer.js.ejs diff --git a/generators/app/templates/app/modules/account/password/change-password.sagas.js.ejs b/generators/react-native/templates/app/modules/account/password/change-password.sagas.js.ejs similarity index 100% rename from generators/app/templates/app/modules/account/password/change-password.sagas.js.ejs rename to generators/react-native/templates/app/modules/account/password/change-password.sagas.js.ejs diff --git a/generators/app/templates/app/modules/account/register/register-screen.js.ejs b/generators/react-native/templates/app/modules/account/register/register-screen.js.ejs similarity index 100% rename from generators/app/templates/app/modules/account/register/register-screen.js.ejs rename to generators/react-native/templates/app/modules/account/register/register-screen.js.ejs diff --git a/generators/app/templates/app/modules/account/register/register-screen.styles.js.ejs b/generators/react-native/templates/app/modules/account/register/register-screen.styles.js.ejs similarity index 100% rename from generators/app/templates/app/modules/account/register/register-screen.styles.js.ejs rename to generators/react-native/templates/app/modules/account/register/register-screen.styles.js.ejs diff --git a/generators/app/templates/app/modules/account/register/register.reducer.js.ejs b/generators/react-native/templates/app/modules/account/register/register.reducer.js.ejs similarity index 100% rename from generators/app/templates/app/modules/account/register/register.reducer.js.ejs rename to generators/react-native/templates/app/modules/account/register/register.reducer.js.ejs diff --git a/generators/app/templates/app/modules/account/register/register.sagas.js.ejs b/generators/react-native/templates/app/modules/account/register/register.sagas.js.ejs similarity index 100% rename from generators/app/templates/app/modules/account/register/register.sagas.js.ejs rename to generators/react-native/templates/app/modules/account/register/register.sagas.js.ejs diff --git a/generators/app/templates/app/modules/account/settings/settings-screen.js.ejs b/generators/react-native/templates/app/modules/account/settings/settings-screen.js.ejs similarity index 100% rename from generators/app/templates/app/modules/account/settings/settings-screen.js.ejs rename to generators/react-native/templates/app/modules/account/settings/settings-screen.js.ejs diff --git a/generators/app/templates/app/modules/account/settings/settings-screen.styles.js.ejs b/generators/react-native/templates/app/modules/account/settings/settings-screen.styles.js.ejs similarity index 100% rename from generators/app/templates/app/modules/account/settings/settings-screen.styles.js.ejs rename to generators/react-native/templates/app/modules/account/settings/settings-screen.styles.js.ejs diff --git a/generators/app/templates/app/modules/chat/chat-screen.js.ejs b/generators/react-native/templates/app/modules/chat/chat-screen.js.ejs similarity index 100% rename from generators/app/templates/app/modules/chat/chat-screen.js.ejs rename to generators/react-native/templates/app/modules/chat/chat-screen.js.ejs diff --git a/generators/app/templates/app/modules/chat/chat-screen.styles.js.ejs b/generators/react-native/templates/app/modules/chat/chat-screen.styles.js.ejs similarity index 100% rename from generators/app/templates/app/modules/chat/chat-screen.styles.js.ejs rename to generators/react-native/templates/app/modules/chat/chat-screen.styles.js.ejs diff --git a/generators/app/templates/app/modules/chat/chat.reducer.js.ejs b/generators/react-native/templates/app/modules/chat/chat.reducer.js.ejs similarity index 100% rename from generators/app/templates/app/modules/chat/chat.reducer.js.ejs rename to generators/react-native/templates/app/modules/chat/chat.reducer.js.ejs diff --git a/generators/app/templates/app/modules/entities/entities-screen.js.ejs b/generators/react-native/templates/app/modules/entities/entities-screen.js.ejs similarity index 100% rename from generators/app/templates/app/modules/entities/entities-screen.js.ejs rename to generators/react-native/templates/app/modules/entities/entities-screen.js.ejs diff --git a/generators/app/templates/app/modules/entities/entities-screen.styles.js.ejs b/generators/react-native/templates/app/modules/entities/entities-screen.styles.js.ejs similarity index 100% rename from generators/app/templates/app/modules/entities/entities-screen.styles.js.ejs rename to generators/react-native/templates/app/modules/entities/entities-screen.styles.js.ejs diff --git a/generators/entity/templates/entity-delete-modal.js.ejs b/generators/react-native/templates/app/modules/entities/entity-delete-modal.js.ejs similarity index 100% rename from generators/entity/templates/entity-delete-modal.js.ejs rename to generators/react-native/templates/app/modules/entities/entity-delete-modal.js.ejs diff --git a/generators/entity/templates/entity-detail-screen.js.ejs b/generators/react-native/templates/app/modules/entities/entity-detail-screen.js.ejs similarity index 100% rename from generators/entity/templates/entity-detail-screen.js.ejs rename to generators/react-native/templates/app/modules/entities/entity-detail-screen.js.ejs diff --git a/generators/entity/templates/entity-e2e-test.js.ejs b/generators/react-native/templates/app/modules/entities/entity-e2e-test.js.ejs similarity index 100% rename from generators/entity/templates/entity-e2e-test.js.ejs rename to generators/react-native/templates/app/modules/entities/entity-e2e-test.js.ejs diff --git a/generators/entity/templates/entity-edit-screen.js.ejs b/generators/react-native/templates/app/modules/entities/entity-edit-screen.js.ejs similarity index 100% rename from generators/entity/templates/entity-edit-screen.js.ejs rename to generators/react-native/templates/app/modules/entities/entity-edit-screen.js.ejs diff --git a/generators/entity/templates/entity-flatlist.js.ejs b/generators/react-native/templates/app/modules/entities/entity-flatlist.js.ejs similarity index 100% rename from generators/entity/templates/entity-flatlist.js.ejs rename to generators/react-native/templates/app/modules/entities/entity-flatlist.js.ejs diff --git a/generators/entity/templates/entity-reducer.js.ejs b/generators/react-native/templates/app/modules/entities/entity-reducer.js.ejs similarity index 100% rename from generators/entity/templates/entity-reducer.js.ejs rename to generators/react-native/templates/app/modules/entities/entity-reducer.js.ejs diff --git a/generators/entity/templates/entity-reducer.spec.js.ejs b/generators/react-native/templates/app/modules/entities/entity-reducer.spec.js.ejs similarity index 100% rename from generators/entity/templates/entity-reducer.spec.js.ejs rename to generators/react-native/templates/app/modules/entities/entity-reducer.spec.js.ejs diff --git a/generators/entity/templates/entity-sagas.js.ejs b/generators/react-native/templates/app/modules/entities/entity-sagas.js.ejs similarity index 100% rename from generators/entity/templates/entity-sagas.js.ejs rename to generators/react-native/templates/app/modules/entities/entity-sagas.js.ejs diff --git a/generators/entity/templates/entity-sagas.spec.js.ejs b/generators/react-native/templates/app/modules/entities/entity-sagas.spec.js.ejs similarity index 100% rename from generators/entity/templates/entity-sagas.spec.js.ejs rename to generators/react-native/templates/app/modules/entities/entity-sagas.spec.js.ejs diff --git a/generators/entity/templates/entity-styles.js.ejs b/generators/react-native/templates/app/modules/entities/entity-styles.js.ejs similarity index 100% rename from generators/entity/templates/entity-styles.js.ejs rename to generators/react-native/templates/app/modules/entities/entity-styles.js.ejs diff --git a/generators/entity/templates/fixtures/entity-get-all.json.ejs b/generators/react-native/templates/app/modules/entities/fixtures/entity-get-all.json.ejs similarity index 100% rename from generators/entity/templates/fixtures/entity-get-all.json.ejs rename to generators/react-native/templates/app/modules/entities/fixtures/entity-get-all.json.ejs diff --git a/generators/entity/templates/fixtures/entity-get.json.ejs b/generators/react-native/templates/app/modules/entities/fixtures/entity-get.json.ejs similarity index 100% rename from generators/entity/templates/fixtures/entity-get.json.ejs rename to generators/react-native/templates/app/modules/entities/fixtures/entity-get.json.ejs diff --git a/generators/entity/templates/fixtures/entity-update.json.ejs b/generators/react-native/templates/app/modules/entities/fixtures/entity-update.json.ejs similarity index 100% rename from generators/entity/templates/fixtures/entity-update.json.ejs rename to generators/react-native/templates/app/modules/entities/fixtures/entity-update.json.ejs diff --git a/generators/app/templates/app/modules/home/home-screen.js.ejs b/generators/react-native/templates/app/modules/home/home-screen.js.ejs similarity index 100% rename from generators/app/templates/app/modules/home/home-screen.js.ejs rename to generators/react-native/templates/app/modules/home/home-screen.js.ejs diff --git a/generators/app/templates/app/modules/home/home-screen.styles.js.ejs b/generators/react-native/templates/app/modules/home/home-screen.styles.js.ejs similarity index 100% rename from generators/app/templates/app/modules/home/home-screen.styles.js.ejs rename to generators/react-native/templates/app/modules/home/home-screen.styles.js.ejs diff --git a/generators/app/templates/app/modules/home/learn-more-links.component.js.ejs b/generators/react-native/templates/app/modules/home/learn-more-links.component.js.ejs similarity index 100% rename from generators/app/templates/app/modules/home/learn-more-links.component.js.ejs rename to generators/react-native/templates/app/modules/home/learn-more-links.component.js.ejs diff --git a/generators/app/templates/app/modules/login/login-screen.js.ejs b/generators/react-native/templates/app/modules/login/login-screen.js.ejs similarity index 100% rename from generators/app/templates/app/modules/login/login-screen.js.ejs rename to generators/react-native/templates/app/modules/login/login-screen.js.ejs diff --git a/generators/app/templates/app/modules/login/login-screen.oauth2.js.ejs b/generators/react-native/templates/app/modules/login/login-screen.oauth2.js.ejs similarity index 100% rename from generators/app/templates/app/modules/login/login-screen.oauth2.js.ejs rename to generators/react-native/templates/app/modules/login/login-screen.oauth2.js.ejs diff --git a/generators/app/templates/app/modules/login/login-screen.styles.js.ejs b/generators/react-native/templates/app/modules/login/login-screen.styles.js.ejs similarity index 100% rename from generators/app/templates/app/modules/login/login-screen.styles.js.ejs rename to generators/react-native/templates/app/modules/login/login-screen.styles.js.ejs diff --git a/generators/app/templates/app/modules/login/login.reducer.js.ejs b/generators/react-native/templates/app/modules/login/login.reducer.js.ejs similarity index 100% rename from generators/app/templates/app/modules/login/login.reducer.js.ejs rename to generators/react-native/templates/app/modules/login/login.reducer.js.ejs diff --git a/generators/app/templates/app/modules/login/login.sagas.js.ejs b/generators/react-native/templates/app/modules/login/login.sagas.js.ejs similarity index 100% rename from generators/app/templates/app/modules/login/login.sagas.js.ejs rename to generators/react-native/templates/app/modules/login/login.sagas.js.ejs diff --git a/generators/app/templates/app/modules/login/login.utils.ts.ejs b/generators/react-native/templates/app/modules/login/login.utils.ts.ejs similarity index 100% rename from generators/app/templates/app/modules/login/login.utils.ts.ejs rename to generators/react-native/templates/app/modules/login/login.utils.ts.ejs diff --git a/generators/app/templates/app/navigation/drawer/drawer-button.js.ejs b/generators/react-native/templates/app/navigation/drawer/drawer-button.js.ejs similarity index 100% rename from generators/app/templates/app/navigation/drawer/drawer-button.js.ejs rename to generators/react-native/templates/app/navigation/drawer/drawer-button.js.ejs diff --git a/generators/app/templates/app/navigation/drawer/drawer-content.js.ejs b/generators/react-native/templates/app/navigation/drawer/drawer-content.js.ejs similarity index 100% rename from generators/app/templates/app/navigation/drawer/drawer-content.js.ejs rename to generators/react-native/templates/app/navigation/drawer/drawer-content.js.ejs diff --git a/generators/app/templates/app/navigation/drawer/touchable-item.tsx.ejs b/generators/react-native/templates/app/navigation/drawer/touchable-item.tsx.ejs similarity index 100% rename from generators/app/templates/app/navigation/drawer/touchable-item.tsx.ejs rename to generators/react-native/templates/app/navigation/drawer/touchable-item.tsx.ejs diff --git a/generators/app/templates/app/navigation/entity-stack.js.ejs b/generators/react-native/templates/app/navigation/entity-stack.js.ejs similarity index 100% rename from generators/app/templates/app/navigation/entity-stack.js.ejs rename to generators/react-native/templates/app/navigation/entity-stack.js.ejs diff --git a/generators/app/templates/app/navigation/modal-screen.js.ejs b/generators/react-native/templates/app/navigation/modal-screen.js.ejs similarity index 100% rename from generators/app/templates/app/navigation/modal-screen.js.ejs rename to generators/react-native/templates/app/navigation/modal-screen.js.ejs diff --git a/generators/app/templates/app/navigation/nav-container.js.ejs b/generators/react-native/templates/app/navigation/nav-container.js.ejs similarity index 100% rename from generators/app/templates/app/navigation/nav-container.js.ejs rename to generators/react-native/templates/app/navigation/nav-container.js.ejs diff --git a/generators/app/templates/app/navigation/nav-ref.js.ejs b/generators/react-native/templates/app/navigation/nav-ref.js.ejs similarity index 100% rename from generators/app/templates/app/navigation/nav-ref.js.ejs rename to generators/react-native/templates/app/navigation/nav-ref.js.ejs diff --git a/generators/app/templates/app/navigation/not-found-screen.tsx.ejs b/generators/react-native/templates/app/navigation/not-found-screen.tsx.ejs similarity index 100% rename from generators/app/templates/app/navigation/not-found-screen.tsx.ejs rename to generators/react-native/templates/app/navigation/not-found-screen.tsx.ejs diff --git a/generators/app/templates/app/navigation/oauth-redirect-screen.tsx.ejs b/generators/react-native/templates/app/navigation/oauth-redirect-screen.tsx.ejs similarity index 100% rename from generators/app/templates/app/navigation/oauth-redirect-screen.tsx.ejs rename to generators/react-native/templates/app/navigation/oauth-redirect-screen.tsx.ejs diff --git a/generators/app/templates/app/shared/components/alert-message/alert-message.js.ejs b/generators/react-native/templates/app/shared/components/alert-message/alert-message.js.ejs similarity index 100% rename from generators/app/templates/app/shared/components/alert-message/alert-message.js.ejs rename to generators/react-native/templates/app/shared/components/alert-message/alert-message.js.ejs diff --git a/generators/app/templates/app/shared/components/alert-message/alert-message.story.js.ejs b/generators/react-native/templates/app/shared/components/alert-message/alert-message.story.js.ejs similarity index 100% rename from generators/app/templates/app/shared/components/alert-message/alert-message.story.js.ejs rename to generators/react-native/templates/app/shared/components/alert-message/alert-message.story.js.ejs diff --git a/generators/app/templates/app/shared/components/alert-message/alert-message.styles.js.ejs b/generators/react-native/templates/app/shared/components/alert-message/alert-message.styles.js.ejs similarity index 100% rename from generators/app/templates/app/shared/components/alert-message/alert-message.styles.js.ejs rename to generators/react-native/templates/app/shared/components/alert-message/alert-message.styles.js.ejs diff --git a/generators/app/templates/app/shared/components/form/inputs/jhi-date-input.js.ejs b/generators/react-native/templates/app/shared/components/form/inputs/jhi-date-input.js.ejs similarity index 100% rename from generators/app/templates/app/shared/components/form/inputs/jhi-date-input.js.ejs rename to generators/react-native/templates/app/shared/components/form/inputs/jhi-date-input.js.ejs diff --git a/generators/app/templates/app/shared/components/form/inputs/jhi-date-input.web.js.ejs b/generators/react-native/templates/app/shared/components/form/inputs/jhi-date-input.web.js.ejs similarity index 100% rename from generators/app/templates/app/shared/components/form/inputs/jhi-date-input.web.js.ejs rename to generators/react-native/templates/app/shared/components/form/inputs/jhi-date-input.web.js.ejs diff --git a/generators/app/templates/app/shared/components/form/inputs/jhi-image-input.js.ejs b/generators/react-native/templates/app/shared/components/form/inputs/jhi-image-input.js.ejs similarity index 100% rename from generators/app/templates/app/shared/components/form/inputs/jhi-image-input.js.ejs rename to generators/react-native/templates/app/shared/components/form/inputs/jhi-image-input.js.ejs diff --git a/generators/app/templates/app/shared/components/form/inputs/jhi-list-input.js.ejs b/generators/react-native/templates/app/shared/components/form/inputs/jhi-list-input.js.ejs similarity index 100% rename from generators/app/templates/app/shared/components/form/inputs/jhi-list-input.js.ejs rename to generators/react-native/templates/app/shared/components/form/inputs/jhi-list-input.js.ejs diff --git a/generators/app/templates/app/shared/components/form/inputs/jhi-multi-list-input.js.ejs b/generators/react-native/templates/app/shared/components/form/inputs/jhi-multi-list-input.js.ejs similarity index 100% rename from generators/app/templates/app/shared/components/form/inputs/jhi-multi-list-input.js.ejs rename to generators/react-native/templates/app/shared/components/form/inputs/jhi-multi-list-input.js.ejs diff --git a/generators/app/templates/app/shared/components/form/inputs/jhi-switch-input.js.ejs b/generators/react-native/templates/app/shared/components/form/inputs/jhi-switch-input.js.ejs similarity index 100% rename from generators/app/templates/app/shared/components/form/inputs/jhi-switch-input.js.ejs rename to generators/react-native/templates/app/shared/components/form/inputs/jhi-switch-input.js.ejs diff --git a/generators/app/templates/app/shared/components/form/inputs/jhi-text-input.js.ejs b/generators/react-native/templates/app/shared/components/form/inputs/jhi-text-input.js.ejs similarity index 100% rename from generators/app/templates/app/shared/components/form/inputs/jhi-text-input.js.ejs rename to generators/react-native/templates/app/shared/components/form/inputs/jhi-text-input.js.ejs diff --git a/generators/app/templates/app/shared/components/form/jhi-form-button.js.ejs b/generators/react-native/templates/app/shared/components/form/jhi-form-button.js.ejs similarity index 100% rename from generators/app/templates/app/shared/components/form/jhi-form-button.js.ejs rename to generators/react-native/templates/app/shared/components/form/jhi-form-button.js.ejs diff --git a/generators/app/templates/app/shared/components/form/jhi-form-field.js.ejs b/generators/react-native/templates/app/shared/components/form/jhi-form-field.js.ejs similarity index 100% rename from generators/app/templates/app/shared/components/form/jhi-form-field.js.ejs rename to generators/react-native/templates/app/shared/components/form/jhi-form-field.js.ejs diff --git a/generators/app/templates/app/shared/components/form/jhi-form-field.story.js.ejs b/generators/react-native/templates/app/shared/components/form/jhi-form-field.story.js.ejs similarity index 100% rename from generators/app/templates/app/shared/components/form/jhi-form-field.story.js.ejs rename to generators/react-native/templates/app/shared/components/form/jhi-form-field.story.js.ejs diff --git a/generators/app/templates/app/shared/components/form/jhi-form.js.ejs b/generators/react-native/templates/app/shared/components/form/jhi-form.js.ejs similarity index 100% rename from generators/app/templates/app/shared/components/form/jhi-form.js.ejs rename to generators/react-native/templates/app/shared/components/form/jhi-form.js.ejs diff --git a/generators/app/templates/app/shared/components/rounded-button/rounded-button.js.ejs b/generators/react-native/templates/app/shared/components/rounded-button/rounded-button.js.ejs similarity index 100% rename from generators/app/templates/app/shared/components/rounded-button/rounded-button.js.ejs rename to generators/react-native/templates/app/shared/components/rounded-button/rounded-button.js.ejs diff --git a/generators/app/templates/app/shared/components/rounded-button/rounded-button.story.js.ejs b/generators/react-native/templates/app/shared/components/rounded-button/rounded-button.story.js.ejs similarity index 100% rename from generators/app/templates/app/shared/components/rounded-button/rounded-button.story.js.ejs rename to generators/react-native/templates/app/shared/components/rounded-button/rounded-button.story.js.ejs diff --git a/generators/app/templates/app/shared/components/rounded-button/rounded-button.styles.js.ejs b/generators/react-native/templates/app/shared/components/rounded-button/rounded-button.styles.js.ejs similarity index 100% rename from generators/app/templates/app/shared/components/rounded-button/rounded-button.styles.js.ejs rename to generators/react-native/templates/app/shared/components/rounded-button/rounded-button.styles.js.ejs diff --git a/generators/app/templates/app/shared/components/search-bar/search-bar.js.ejs b/generators/react-native/templates/app/shared/components/search-bar/search-bar.js.ejs similarity index 100% rename from generators/app/templates/app/shared/components/search-bar/search-bar.js.ejs rename to generators/react-native/templates/app/shared/components/search-bar/search-bar.js.ejs diff --git a/generators/app/templates/app/shared/components/search-bar/search-bar.story.js.ejs b/generators/react-native/templates/app/shared/components/search-bar/search-bar.story.js.ejs similarity index 100% rename from generators/app/templates/app/shared/components/search-bar/search-bar.story.js.ejs rename to generators/react-native/templates/app/shared/components/search-bar/search-bar.story.js.ejs diff --git a/generators/app/templates/app/shared/components/search-bar/search-bar.styles.js.ejs b/generators/react-native/templates/app/shared/components/search-bar/search-bar.styles.js.ejs similarity index 100% rename from generators/app/templates/app/shared/components/search-bar/search-bar.styles.js.ejs rename to generators/react-native/templates/app/shared/components/search-bar/search-bar.styles.js.ejs diff --git a/generators/app/templates/app/shared/fixtures/README.md.ejs b/generators/react-native/templates/app/shared/fixtures/README.md.ejs similarity index 100% rename from generators/app/templates/app/shared/fixtures/README.md.ejs rename to generators/react-native/templates/app/shared/fixtures/README.md.ejs diff --git a/generators/app/templates/app/shared/fixtures/get-account.json.ejs b/generators/react-native/templates/app/shared/fixtures/get-account.json.ejs similarity index 100% rename from generators/app/templates/app/shared/fixtures/get-account.json.ejs rename to generators/react-native/templates/app/shared/fixtures/get-account.json.ejs diff --git a/generators/app/templates/app/shared/fixtures/get-oauth-info.json.ejs b/generators/react-native/templates/app/shared/fixtures/get-oauth-info.json.ejs similarity index 100% rename from generators/app/templates/app/shared/fixtures/get-oauth-info.json.ejs rename to generators/react-native/templates/app/shared/fixtures/get-oauth-info.json.ejs diff --git a/generators/app/templates/app/shared/fixtures/get-user.json.ejs b/generators/react-native/templates/app/shared/fixtures/get-user.json.ejs similarity index 100% rename from generators/app/templates/app/shared/fixtures/get-user.json.ejs rename to generators/react-native/templates/app/shared/fixtures/get-user.json.ejs diff --git a/generators/app/templates/app/shared/fixtures/get-users.json.ejs b/generators/react-native/templates/app/shared/fixtures/get-users.json.ejs similarity index 100% rename from generators/app/templates/app/shared/fixtures/get-users.json.ejs rename to generators/react-native/templates/app/shared/fixtures/get-users.json.ejs diff --git a/generators/app/templates/app/shared/fixtures/login.json.ejs b/generators/react-native/templates/app/shared/fixtures/login.json.ejs similarity index 100% rename from generators/app/templates/app/shared/fixtures/login.json.ejs rename to generators/react-native/templates/app/shared/fixtures/login.json.ejs diff --git a/generators/app/templates/app/shared/fixtures/update-user.json.ejs b/generators/react-native/templates/app/shared/fixtures/update-user.json.ejs similarity index 100% rename from generators/app/templates/app/shared/fixtures/update-user.json.ejs rename to generators/react-native/templates/app/shared/fixtures/update-user.json.ejs diff --git a/generators/app/templates/app/shared/images/jhipster_family_member_0_head.png b/generators/react-native/templates/app/shared/images/jhipster_family_member_0_head.png similarity index 100% rename from generators/app/templates/app/shared/images/jhipster_family_member_0_head.png rename to generators/react-native/templates/app/shared/images/jhipster_family_member_0_head.png diff --git a/generators/app/templates/app/shared/images/jhipster_family_member_0_head@2x.png b/generators/react-native/templates/app/shared/images/jhipster_family_member_0_head@2x.png similarity index 100% rename from generators/app/templates/app/shared/images/jhipster_family_member_0_head@2x.png rename to generators/react-native/templates/app/shared/images/jhipster_family_member_0_head@2x.png diff --git a/generators/app/templates/app/shared/images/jhipster_family_member_0_head@3x.png b/generators/react-native/templates/app/shared/images/jhipster_family_member_0_head@3x.png similarity index 100% rename from generators/app/templates/app/shared/images/jhipster_family_member_0_head@3x.png rename to generators/react-native/templates/app/shared/images/jhipster_family_member_0_head@3x.png diff --git a/generators/app/templates/app/shared/images/jhipster_family_member_1_head.png b/generators/react-native/templates/app/shared/images/jhipster_family_member_1_head.png similarity index 100% rename from generators/app/templates/app/shared/images/jhipster_family_member_1_head.png rename to generators/react-native/templates/app/shared/images/jhipster_family_member_1_head.png diff --git a/generators/app/templates/app/shared/images/jhipster_family_member_1_head@2x.png b/generators/react-native/templates/app/shared/images/jhipster_family_member_1_head@2x.png similarity index 100% rename from generators/app/templates/app/shared/images/jhipster_family_member_1_head@2x.png rename to generators/react-native/templates/app/shared/images/jhipster_family_member_1_head@2x.png diff --git a/generators/app/templates/app/shared/images/jhipster_family_member_1_head@3x.png b/generators/react-native/templates/app/shared/images/jhipster_family_member_1_head@3x.png similarity index 100% rename from generators/app/templates/app/shared/images/jhipster_family_member_1_head@3x.png rename to generators/react-native/templates/app/shared/images/jhipster_family_member_1_head@3x.png diff --git a/generators/app/templates/app/shared/images/jhipster_family_member_2_head.png b/generators/react-native/templates/app/shared/images/jhipster_family_member_2_head.png similarity index 100% rename from generators/app/templates/app/shared/images/jhipster_family_member_2_head.png rename to generators/react-native/templates/app/shared/images/jhipster_family_member_2_head.png diff --git a/generators/app/templates/app/shared/images/jhipster_family_member_2_head@2x.png b/generators/react-native/templates/app/shared/images/jhipster_family_member_2_head@2x.png similarity index 100% rename from generators/app/templates/app/shared/images/jhipster_family_member_2_head@2x.png rename to generators/react-native/templates/app/shared/images/jhipster_family_member_2_head@2x.png diff --git a/generators/app/templates/app/shared/images/jhipster_family_member_2_head@3x.png b/generators/react-native/templates/app/shared/images/jhipster_family_member_2_head@3x.png similarity index 100% rename from generators/app/templates/app/shared/images/jhipster_family_member_2_head@3x.png rename to generators/react-native/templates/app/shared/images/jhipster_family_member_2_head@3x.png diff --git a/generators/app/templates/app/shared/images/jhipster_family_member_3_head.png b/generators/react-native/templates/app/shared/images/jhipster_family_member_3_head.png similarity index 100% rename from generators/app/templates/app/shared/images/jhipster_family_member_3_head.png rename to generators/react-native/templates/app/shared/images/jhipster_family_member_3_head.png diff --git a/generators/app/templates/app/shared/images/jhipster_family_member_3_head@2x.png b/generators/react-native/templates/app/shared/images/jhipster_family_member_3_head@2x.png similarity index 100% rename from generators/app/templates/app/shared/images/jhipster_family_member_3_head@2x.png rename to generators/react-native/templates/app/shared/images/jhipster_family_member_3_head@2x.png diff --git a/generators/app/templates/app/shared/images/jhipster_family_member_3_head@3x.png b/generators/react-native/templates/app/shared/images/jhipster_family_member_3_head@3x.png similarity index 100% rename from generators/app/templates/app/shared/images/jhipster_family_member_3_head@3x.png rename to generators/react-native/templates/app/shared/images/jhipster_family_member_3_head@3x.png diff --git a/generators/app/templates/app/shared/images/toggle-drawer-icon/toggle-drawer-icon.png b/generators/react-native/templates/app/shared/images/toggle-drawer-icon/toggle-drawer-icon.png similarity index 100% rename from generators/app/templates/app/shared/images/toggle-drawer-icon/toggle-drawer-icon.png rename to generators/react-native/templates/app/shared/images/toggle-drawer-icon/toggle-drawer-icon.png diff --git a/generators/app/templates/app/shared/images/toggle-drawer-icon/toggle-drawer-icon@1.5x.android.png b/generators/react-native/templates/app/shared/images/toggle-drawer-icon/toggle-drawer-icon@1.5x.android.png similarity index 100% rename from generators/app/templates/app/shared/images/toggle-drawer-icon/toggle-drawer-icon@1.5x.android.png rename to generators/react-native/templates/app/shared/images/toggle-drawer-icon/toggle-drawer-icon@1.5x.android.png diff --git a/generators/app/templates/app/shared/images/toggle-drawer-icon/toggle-drawer-icon@1.5x.ios.png b/generators/react-native/templates/app/shared/images/toggle-drawer-icon/toggle-drawer-icon@1.5x.ios.png similarity index 100% rename from generators/app/templates/app/shared/images/toggle-drawer-icon/toggle-drawer-icon@1.5x.ios.png rename to generators/react-native/templates/app/shared/images/toggle-drawer-icon/toggle-drawer-icon@1.5x.ios.png diff --git a/generators/app/templates/app/shared/images/toggle-drawer-icon/toggle-drawer-icon@1x.android.png b/generators/react-native/templates/app/shared/images/toggle-drawer-icon/toggle-drawer-icon@1x.android.png similarity index 100% rename from generators/app/templates/app/shared/images/toggle-drawer-icon/toggle-drawer-icon@1x.android.png rename to generators/react-native/templates/app/shared/images/toggle-drawer-icon/toggle-drawer-icon@1x.android.png diff --git a/generators/app/templates/app/shared/images/toggle-drawer-icon/toggle-drawer-icon@1x.ios.png b/generators/react-native/templates/app/shared/images/toggle-drawer-icon/toggle-drawer-icon@1x.ios.png similarity index 100% rename from generators/app/templates/app/shared/images/toggle-drawer-icon/toggle-drawer-icon@1x.ios.png rename to generators/react-native/templates/app/shared/images/toggle-drawer-icon/toggle-drawer-icon@1x.ios.png diff --git a/generators/app/templates/app/shared/images/toggle-drawer-icon/toggle-drawer-icon@2x.android.png b/generators/react-native/templates/app/shared/images/toggle-drawer-icon/toggle-drawer-icon@2x.android.png similarity index 100% rename from generators/app/templates/app/shared/images/toggle-drawer-icon/toggle-drawer-icon@2x.android.png rename to generators/react-native/templates/app/shared/images/toggle-drawer-icon/toggle-drawer-icon@2x.android.png diff --git a/generators/app/templates/app/shared/images/toggle-drawer-icon/toggle-drawer-icon@2x.ios.png b/generators/react-native/templates/app/shared/images/toggle-drawer-icon/toggle-drawer-icon@2x.ios.png similarity index 100% rename from generators/app/templates/app/shared/images/toggle-drawer-icon/toggle-drawer-icon@2x.ios.png rename to generators/react-native/templates/app/shared/images/toggle-drawer-icon/toggle-drawer-icon@2x.ios.png diff --git a/generators/app/templates/app/shared/images/toggle-drawer-icon/toggle-drawer-icon@3x.android.png b/generators/react-native/templates/app/shared/images/toggle-drawer-icon/toggle-drawer-icon@3x.android.png similarity index 100% rename from generators/app/templates/app/shared/images/toggle-drawer-icon/toggle-drawer-icon@3x.android.png rename to generators/react-native/templates/app/shared/images/toggle-drawer-icon/toggle-drawer-icon@3x.android.png diff --git a/generators/app/templates/app/shared/images/toggle-drawer-icon/toggle-drawer-icon@3x.ios.png b/generators/react-native/templates/app/shared/images/toggle-drawer-icon/toggle-drawer-icon@3x.ios.png similarity index 100% rename from generators/app/templates/app/shared/images/toggle-drawer-icon/toggle-drawer-icon@3x.ios.png rename to generators/react-native/templates/app/shared/images/toggle-drawer-icon/toggle-drawer-icon@3x.ios.png diff --git a/generators/app/templates/app/shared/images/toggle-drawer-icon/toggle-drawer-icon@4x.android.png b/generators/react-native/templates/app/shared/images/toggle-drawer-icon/toggle-drawer-icon@4x.android.png similarity index 100% rename from generators/app/templates/app/shared/images/toggle-drawer-icon/toggle-drawer-icon@4x.android.png rename to generators/react-native/templates/app/shared/images/toggle-drawer-icon/toggle-drawer-icon@4x.android.png diff --git a/generators/app/templates/app/shared/images/toggle-drawer-icon/toggle-drawer-icon@4x.ios.png b/generators/react-native/templates/app/shared/images/toggle-drawer-icon/toggle-drawer-icon@4x.ios.png similarity index 100% rename from generators/app/templates/app/shared/images/toggle-drawer-icon/toggle-drawer-icon@4x.ios.png rename to generators/react-native/templates/app/shared/images/toggle-drawer-icon/toggle-drawer-icon@4x.ios.png diff --git a/generators/app/templates/app/shared/reducers/account.reducer.js.ejs b/generators/react-native/templates/app/shared/reducers/account.reducer.js.ejs similarity index 100% rename from generators/app/templates/app/shared/reducers/account.reducer.js.ejs rename to generators/react-native/templates/app/shared/reducers/account.reducer.js.ejs diff --git a/generators/app/templates/app/shared/reducers/app-state.reducer.js.ejs b/generators/react-native/templates/app/shared/reducers/app-state.reducer.js.ejs similarity index 100% rename from generators/app/templates/app/shared/reducers/app-state.reducer.js.ejs rename to generators/react-native/templates/app/shared/reducers/app-state.reducer.js.ejs diff --git a/generators/app/templates/app/shared/reducers/auth-info.reducer.js.ejs b/generators/react-native/templates/app/shared/reducers/auth-info.reducer.js.ejs similarity index 100% rename from generators/app/templates/app/shared/reducers/auth-info.reducer.js.ejs rename to generators/react-native/templates/app/shared/reducers/auth-info.reducer.js.ejs diff --git a/generators/app/templates/app/shared/reducers/create-store.js.ejs b/generators/react-native/templates/app/shared/reducers/create-store.js.ejs similarity index 100% rename from generators/app/templates/app/shared/reducers/create-store.js.ejs rename to generators/react-native/templates/app/shared/reducers/create-store.js.ejs diff --git a/generators/app/templates/app/shared/reducers/index.js.ejs b/generators/react-native/templates/app/shared/reducers/index.js.ejs similarity index 100% rename from generators/app/templates/app/shared/reducers/index.js.ejs rename to generators/react-native/templates/app/shared/reducers/index.js.ejs diff --git a/generators/app/templates/app/shared/reducers/startup.reducer.js.ejs b/generators/react-native/templates/app/shared/reducers/startup.reducer.js.ejs similarity index 100% rename from generators/app/templates/app/shared/reducers/startup.reducer.js.ejs rename to generators/react-native/templates/app/shared/reducers/startup.reducer.js.ejs diff --git a/generators/app/templates/app/shared/reducers/user.reducer.js.ejs b/generators/react-native/templates/app/shared/reducers/user.reducer.js.ejs similarity index 100% rename from generators/app/templates/app/shared/reducers/user.reducer.js.ejs rename to generators/react-native/templates/app/shared/reducers/user.reducer.js.ejs diff --git a/generators/app/templates/app/shared/sagas/account.sagas.js.ejs b/generators/react-native/templates/app/shared/sagas/account.sagas.js.ejs similarity index 100% rename from generators/app/templates/app/shared/sagas/account.sagas.js.ejs rename to generators/react-native/templates/app/shared/sagas/account.sagas.js.ejs diff --git a/generators/app/templates/app/shared/sagas/auth-info.saga.js.ejs b/generators/react-native/templates/app/shared/sagas/auth-info.saga.js.ejs similarity index 100% rename from generators/app/templates/app/shared/sagas/auth-info.saga.js.ejs rename to generators/react-native/templates/app/shared/sagas/auth-info.saga.js.ejs diff --git a/generators/app/templates/app/shared/sagas/call-api.saga.js.ejs b/generators/react-native/templates/app/shared/sagas/call-api.saga.js.ejs similarity index 100% rename from generators/app/templates/app/shared/sagas/call-api.saga.js.ejs rename to generators/react-native/templates/app/shared/sagas/call-api.saga.js.ejs diff --git a/generators/app/templates/app/shared/sagas/index.js.ejs b/generators/react-native/templates/app/shared/sagas/index.js.ejs similarity index 100% rename from generators/app/templates/app/shared/sagas/index.js.ejs rename to generators/react-native/templates/app/shared/sagas/index.js.ejs diff --git a/generators/app/templates/app/shared/sagas/startup.saga.js.ejs b/generators/react-native/templates/app/shared/sagas/startup.saga.js.ejs similarity index 100% rename from generators/app/templates/app/shared/sagas/startup.saga.js.ejs rename to generators/react-native/templates/app/shared/sagas/startup.saga.js.ejs diff --git a/generators/app/templates/app/shared/sagas/user.sagas.js.ejs b/generators/react-native/templates/app/shared/sagas/user.sagas.js.ejs similarity index 100% rename from generators/app/templates/app/shared/sagas/user.sagas.js.ejs rename to generators/react-native/templates/app/shared/sagas/user.sagas.js.ejs diff --git a/generators/app/templates/app/shared/services/api.js.ejs b/generators/react-native/templates/app/shared/services/api.js.ejs similarity index 100% rename from generators/app/templates/app/shared/services/api.js.ejs rename to generators/react-native/templates/app/shared/services/api.js.ejs diff --git a/generators/app/templates/app/shared/services/fixture-api.js.ejs b/generators/react-native/templates/app/shared/services/fixture-api.js.ejs similarity index 100% rename from generators/app/templates/app/shared/services/fixture-api.js.ejs rename to generators/react-native/templates/app/shared/services/fixture-api.js.ejs diff --git a/generators/app/templates/app/shared/services/rehydration.service.js.ejs b/generators/react-native/templates/app/shared/services/rehydration.service.js.ejs similarity index 100% rename from generators/app/templates/app/shared/services/rehydration.service.js.ejs rename to generators/react-native/templates/app/shared/services/rehydration.service.js.ejs diff --git a/generators/app/templates/app/shared/themes/application.styles.js.ejs b/generators/react-native/templates/app/shared/themes/application.styles.js.ejs similarity index 100% rename from generators/app/templates/app/shared/themes/application.styles.js.ejs rename to generators/react-native/templates/app/shared/themes/application.styles.js.ejs diff --git a/generators/app/templates/app/shared/themes/colors.js.ejs b/generators/react-native/templates/app/shared/themes/colors.js.ejs similarity index 100% rename from generators/app/templates/app/shared/themes/colors.js.ejs rename to generators/react-native/templates/app/shared/themes/colors.js.ejs diff --git a/generators/app/templates/app/shared/themes/fonts.js.ejs b/generators/react-native/templates/app/shared/themes/fonts.js.ejs similarity index 100% rename from generators/app/templates/app/shared/themes/fonts.js.ejs rename to generators/react-native/templates/app/shared/themes/fonts.js.ejs diff --git a/generators/app/templates/app/shared/themes/images.js.ejs b/generators/react-native/templates/app/shared/themes/images.js.ejs similarity index 100% rename from generators/app/templates/app/shared/themes/images.js.ejs rename to generators/react-native/templates/app/shared/themes/images.js.ejs diff --git a/generators/app/templates/app/shared/themes/index.js.ejs b/generators/react-native/templates/app/shared/themes/index.js.ejs similarity index 100% rename from generators/app/templates/app/shared/themes/index.js.ejs rename to generators/react-native/templates/app/shared/themes/index.js.ejs diff --git a/generators/app/templates/app/shared/themes/metrics.js.ejs b/generators/react-native/templates/app/shared/themes/metrics.js.ejs similarity index 100% rename from generators/app/templates/app/shared/themes/metrics.js.ejs rename to generators/react-native/templates/app/shared/themes/metrics.js.ejs diff --git a/generators/app/templates/app/shared/util/date-transforms.js.ejs b/generators/react-native/templates/app/shared/util/date-transforms.js.ejs similarity index 100% rename from generators/app/templates/app/shared/util/date-transforms.js.ejs rename to generators/react-native/templates/app/shared/util/date-transforms.js.ejs diff --git a/generators/app/templates/app/shared/util/immutable-persistence-transform.js.ejs b/generators/react-native/templates/app/shared/util/immutable-persistence-transform.js.ejs similarity index 100% rename from generators/app/templates/app/shared/util/immutable-persistence-transform.js.ejs rename to generators/react-native/templates/app/shared/util/immutable-persistence-transform.js.ejs diff --git a/generators/app/templates/app/shared/util/pagination-utils.js.ejs b/generators/react-native/templates/app/shared/util/pagination-utils.js.ejs similarity index 100% rename from generators/app/templates/app/shared/util/pagination-utils.js.ejs rename to generators/react-native/templates/app/shared/util/pagination-utils.js.ejs diff --git a/generators/app/templates/app/shared/util/snake-to-camel-case.js.ejs b/generators/react-native/templates/app/shared/util/snake-to-camel-case.js.ejs similarity index 100% rename from generators/app/templates/app/shared/util/snake-to-camel-case.js.ejs rename to generators/react-native/templates/app/shared/util/snake-to-camel-case.js.ejs diff --git a/generators/app/templates/app/shared/util/url-utils.js.ejs b/generators/react-native/templates/app/shared/util/url-utils.js.ejs similarity index 100% rename from generators/app/templates/app/shared/util/url-utils.js.ejs rename to generators/react-native/templates/app/shared/util/url-utils.js.ejs diff --git a/generators/app/templates/app/shared/util/use-did-update-effect.js.ejs b/generators/react-native/templates/app/shared/util/use-did-update-effect.js.ejs similarity index 100% rename from generators/app/templates/app/shared/util/use-did-update-effect.js.ejs rename to generators/react-native/templates/app/shared/util/use-did-update-effect.js.ejs diff --git a/generators/app/templates/app/shared/websockets/websocket.sagas.js.ejs b/generators/react-native/templates/app/shared/websockets/websocket.sagas.js.ejs similarity index 100% rename from generators/app/templates/app/shared/websockets/websocket.sagas.js.ejs rename to generators/react-native/templates/app/shared/websockets/websocket.sagas.js.ejs diff --git a/generators/app/templates/app/shared/websockets/websocket.service.js.ejs b/generators/react-native/templates/app/shared/websockets/websocket.service.js.ejs similarity index 100% rename from generators/app/templates/app/shared/websockets/websocket.service.js.ejs rename to generators/react-native/templates/app/shared/websockets/websocket.service.js.ejs diff --git a/generators/app/templates/assets/adaptive-icon.png b/generators/react-native/templates/assets/adaptive-icon.png similarity index 100% rename from generators/app/templates/assets/adaptive-icon.png rename to generators/react-native/templates/assets/adaptive-icon.png diff --git a/generators/app/templates/assets/favicon.png b/generators/react-native/templates/assets/favicon.png similarity index 100% rename from generators/app/templates/assets/favicon.png rename to generators/react-native/templates/assets/favicon.png diff --git a/generators/app/templates/assets/icon.png b/generators/react-native/templates/assets/icon.png similarity index 100% rename from generators/app/templates/assets/icon.png rename to generators/react-native/templates/assets/icon.png diff --git a/generators/app/templates/assets/splash.png b/generators/react-native/templates/assets/splash.png similarity index 100% rename from generators/app/templates/assets/splash.png rename to generators/react-native/templates/assets/splash.png diff --git a/generators/app/templates/babel.config.js.ejs b/generators/react-native/templates/babel.config.js.ejs similarity index 100% rename from generators/app/templates/babel.config.js.ejs rename to generators/react-native/templates/babel.config.js.ejs diff --git a/generators/app/templates/e2e/account/change-password-screen.spec.js.ejs b/generators/react-native/templates/e2e/account/change-password-screen.spec.js.ejs similarity index 100% rename from generators/app/templates/e2e/account/change-password-screen.spec.js.ejs rename to generators/react-native/templates/e2e/account/change-password-screen.spec.js.ejs diff --git a/generators/app/templates/e2e/account/login-screen.spec.js.ejs b/generators/react-native/templates/e2e/account/login-screen.spec.js.ejs similarity index 100% rename from generators/app/templates/e2e/account/login-screen.spec.js.ejs rename to generators/react-native/templates/e2e/account/login-screen.spec.js.ejs diff --git a/generators/app/templates/e2e/account/settings-screen.spec.js.ejs b/generators/react-native/templates/e2e/account/settings-screen.spec.js.ejs similarity index 100% rename from generators/app/templates/e2e/account/settings-screen.spec.js.ejs rename to generators/react-native/templates/e2e/account/settings-screen.spec.js.ejs diff --git a/generators/app/templates/e2e/config.json.ejs b/generators/react-native/templates/e2e/config.json.ejs similarity index 100% rename from generators/app/templates/e2e/config.json.ejs rename to generators/react-native/templates/e2e/config.json.ejs diff --git a/generators/app/templates/e2e/environment.js.ejs b/generators/react-native/templates/e2e/environment.js.ejs similarity index 100% rename from generators/app/templates/e2e/environment.js.ejs rename to generators/react-native/templates/e2e/environment.js.ejs diff --git a/generators/app/templates/e2e/home-screen.spec.js.ejs b/generators/react-native/templates/e2e/home-screen.spec.js.ejs similarity index 100% rename from generators/app/templates/e2e/home-screen.spec.js.ejs rename to generators/react-native/templates/e2e/home-screen.spec.js.ejs diff --git a/generators/app/templates/e2e/scripts/download-expo.sh.ejs b/generators/react-native/templates/e2e/scripts/download-expo.sh.ejs similarity index 100% rename from generators/app/templates/e2e/scripts/download-expo.sh.ejs rename to generators/react-native/templates/e2e/scripts/download-expo.sh.ejs diff --git a/generators/app/templates/e2e/scripts/setup.sh.ejs b/generators/react-native/templates/e2e/scripts/setup.sh.ejs similarity index 100% rename from generators/app/templates/e2e/scripts/setup.sh.ejs rename to generators/react-native/templates/e2e/scripts/setup.sh.ejs diff --git a/generators/app/templates/e2e/utils.js.ejs b/generators/react-native/templates/e2e/utils.js.ejs similarity index 100% rename from generators/app/templates/e2e/utils.js.ejs rename to generators/react-native/templates/e2e/utils.js.ejs diff --git a/generators/app/templates/e2e/websockets/chat-screen.spec.js.ejs b/generators/react-native/templates/e2e/websockets/chat-screen.spec.js.ejs similarity index 100% rename from generators/app/templates/e2e/websockets/chat-screen.spec.js.ejs rename to generators/react-native/templates/e2e/websockets/chat-screen.spec.js.ejs diff --git a/generators/app/templates/metro.config.js.ejs b/generators/react-native/templates/metro.config.js.ejs similarity index 100% rename from generators/app/templates/metro.config.js.ejs rename to generators/react-native/templates/metro.config.js.ejs diff --git a/generators/app/templates/package.json b/generators/react-native/templates/package.json similarity index 100% rename from generators/app/templates/package.json rename to generators/react-native/templates/package.json diff --git a/generators/app/templates/package.json.ejs b/generators/react-native/templates/package.json.ejs similarity index 100% rename from generators/app/templates/package.json.ejs rename to generators/react-native/templates/package.json.ejs diff --git a/generators/app/templates/patches/react-native-keyboard-aware-scroll-view+0.9.4.patch.ejs b/generators/react-native/templates/patches/react-native-keyboard-aware-scroll-view+0.9.4.patch.ejs similarity index 100% rename from generators/app/templates/patches/react-native-keyboard-aware-scroll-view+0.9.4.patch.ejs rename to generators/react-native/templates/patches/react-native-keyboard-aware-scroll-view+0.9.4.patch.ejs diff --git a/generators/app/templates/patches/react-native-sectioned-multi-select+0.8.1.patch.ejs b/generators/react-native/templates/patches/react-native-sectioned-multi-select+0.8.1.patch.ejs similarity index 100% rename from generators/app/templates/patches/react-native-sectioned-multi-select+0.8.1.patch.ejs rename to generators/react-native/templates/patches/react-native-sectioned-multi-select+0.8.1.patch.ejs diff --git a/generators/app/templates/storybook/addons.js.ejs b/generators/react-native/templates/storybook/addons.js.ejs similarity index 100% rename from generators/app/templates/storybook/addons.js.ejs rename to generators/react-native/templates/storybook/addons.js.ejs diff --git a/generators/app/templates/storybook/index.js.ejs b/generators/react-native/templates/storybook/index.js.ejs similarity index 100% rename from generators/app/templates/storybook/index.js.ejs rename to generators/react-native/templates/storybook/index.js.ejs diff --git a/generators/app/templates/storybook/stories.js.ejs b/generators/react-native/templates/storybook/stories.js.ejs similarity index 100% rename from generators/app/templates/storybook/stories.js.ejs rename to generators/react-native/templates/storybook/stories.js.ejs diff --git a/generators/app/templates/test/setup.js.ejs b/generators/react-native/templates/test/setup.js.ejs similarity index 100% rename from generators/app/templates/test/setup.js.ejs rename to generators/react-native/templates/test/setup.js.ejs diff --git a/generators/app/templates/test/spec/modules/account/password-reset/forgot-passsword.sagas.spec.js.ejs b/generators/react-native/templates/test/spec/modules/account/password-reset/forgot-passsword.sagas.spec.js.ejs similarity index 100% rename from generators/app/templates/test/spec/modules/account/password-reset/forgot-passsword.sagas.spec.js.ejs rename to generators/react-native/templates/test/spec/modules/account/password-reset/forgot-passsword.sagas.spec.js.ejs diff --git a/generators/app/templates/test/spec/modules/account/password-reset/forgot-password.reducer.spec.js.ejs b/generators/react-native/templates/test/spec/modules/account/password-reset/forgot-password.reducer.spec.js.ejs similarity index 100% rename from generators/app/templates/test/spec/modules/account/password-reset/forgot-password.reducer.spec.js.ejs rename to generators/react-native/templates/test/spec/modules/account/password-reset/forgot-password.reducer.spec.js.ejs diff --git a/generators/app/templates/test/spec/modules/account/password/change-passsword.sagas.spec.js.ejs b/generators/react-native/templates/test/spec/modules/account/password/change-passsword.sagas.spec.js.ejs similarity index 100% rename from generators/app/templates/test/spec/modules/account/password/change-passsword.sagas.spec.js.ejs rename to generators/react-native/templates/test/spec/modules/account/password/change-passsword.sagas.spec.js.ejs diff --git a/generators/app/templates/test/spec/modules/account/password/change-password.reducer.spec.js.ejs b/generators/react-native/templates/test/spec/modules/account/password/change-password.reducer.spec.js.ejs similarity index 100% rename from generators/app/templates/test/spec/modules/account/password/change-password.reducer.spec.js.ejs rename to generators/react-native/templates/test/spec/modules/account/password/change-password.reducer.spec.js.ejs diff --git a/generators/app/templates/test/spec/modules/account/register/register.reducer.spec.js.ejs b/generators/react-native/templates/test/spec/modules/account/register/register.reducer.spec.js.ejs similarity index 100% rename from generators/app/templates/test/spec/modules/account/register/register.reducer.spec.js.ejs rename to generators/react-native/templates/test/spec/modules/account/register/register.reducer.spec.js.ejs diff --git a/generators/app/templates/test/spec/modules/account/register/register.sagas.spec.js.ejs b/generators/react-native/templates/test/spec/modules/account/register/register.sagas.spec.js.ejs similarity index 100% rename from generators/app/templates/test/spec/modules/account/register/register.sagas.spec.js.ejs rename to generators/react-native/templates/test/spec/modules/account/register/register.sagas.spec.js.ejs diff --git a/generators/app/templates/test/spec/modules/chat/chat.reducer.spec.js.ejs b/generators/react-native/templates/test/spec/modules/chat/chat.reducer.spec.js.ejs similarity index 100% rename from generators/app/templates/test/spec/modules/chat/chat.reducer.spec.js.ejs rename to generators/react-native/templates/test/spec/modules/chat/chat.reducer.spec.js.ejs diff --git a/generators/app/templates/test/spec/modules/login/login.reducer.spec.js.ejs b/generators/react-native/templates/test/spec/modules/login/login.reducer.spec.js.ejs similarity index 100% rename from generators/app/templates/test/spec/modules/login/login.reducer.spec.js.ejs rename to generators/react-native/templates/test/spec/modules/login/login.reducer.spec.js.ejs diff --git a/generators/app/templates/test/spec/modules/login/login.sagas.spec.js.ejs b/generators/react-native/templates/test/spec/modules/login/login.sagas.spec.js.ejs similarity index 100% rename from generators/app/templates/test/spec/modules/login/login.sagas.spec.js.ejs rename to generators/react-native/templates/test/spec/modules/login/login.sagas.spec.js.ejs diff --git a/generators/app/templates/test/spec/shared/components/alert-message/alert-message.spec.js.ejs b/generators/react-native/templates/test/spec/shared/components/alert-message/alert-message.spec.js.ejs similarity index 100% rename from generators/app/templates/test/spec/shared/components/alert-message/alert-message.spec.js.ejs rename to generators/react-native/templates/test/spec/shared/components/alert-message/alert-message.spec.js.ejs diff --git a/generators/app/templates/test/spec/shared/components/rounded-button/rounded-button.spec.js.ejs b/generators/react-native/templates/test/spec/shared/components/rounded-button/rounded-button.spec.js.ejs similarity index 100% rename from generators/app/templates/test/spec/shared/components/rounded-button/rounded-button.spec.js.ejs rename to generators/react-native/templates/test/spec/shared/components/rounded-button/rounded-button.spec.js.ejs diff --git a/generators/app/templates/test/spec/shared/components/search-bar/search-bar.spec.js.ejs b/generators/react-native/templates/test/spec/shared/components/search-bar/search-bar.spec.js.ejs similarity index 100% rename from generators/app/templates/test/spec/shared/components/search-bar/search-bar.spec.js.ejs rename to generators/react-native/templates/test/spec/shared/components/search-bar/search-bar.spec.js.ejs diff --git a/generators/app/templates/test/spec/shared/navigation/drawer/drawer-button.spec.js.ejs b/generators/react-native/templates/test/spec/shared/navigation/drawer/drawer-button.spec.js.ejs similarity index 100% rename from generators/app/templates/test/spec/shared/navigation/drawer/drawer-button.spec.js.ejs rename to generators/react-native/templates/test/spec/shared/navigation/drawer/drawer-button.spec.js.ejs diff --git a/generators/app/templates/test/spec/shared/reducers/account.reducer.spec.js.ejs b/generators/react-native/templates/test/spec/shared/reducers/account.reducer.spec.js.ejs similarity index 100% rename from generators/app/templates/test/spec/shared/reducers/account.reducer.spec.js.ejs rename to generators/react-native/templates/test/spec/shared/reducers/account.reducer.spec.js.ejs diff --git a/generators/app/templates/test/spec/shared/reducers/app-state.reducer.spec.js.ejs b/generators/react-native/templates/test/spec/shared/reducers/app-state.reducer.spec.js.ejs similarity index 100% rename from generators/app/templates/test/spec/shared/reducers/app-state.reducer.spec.js.ejs rename to generators/react-native/templates/test/spec/shared/reducers/app-state.reducer.spec.js.ejs diff --git a/generators/app/templates/test/spec/shared/reducers/user.reducer.spec.js.ejs b/generators/react-native/templates/test/spec/shared/reducers/user.reducer.spec.js.ejs similarity index 100% rename from generators/app/templates/test/spec/shared/reducers/user.reducer.spec.js.ejs rename to generators/react-native/templates/test/spec/shared/reducers/user.reducer.spec.js.ejs diff --git a/generators/app/templates/test/spec/shared/sagas/account.sagas.spec.js.ejs b/generators/react-native/templates/test/spec/shared/sagas/account.sagas.spec.js.ejs similarity index 100% rename from generators/app/templates/test/spec/shared/sagas/account.sagas.spec.js.ejs rename to generators/react-native/templates/test/spec/shared/sagas/account.sagas.spec.js.ejs diff --git a/generators/app/templates/test/spec/shared/sagas/call-api.saga.spec.js.ejs b/generators/react-native/templates/test/spec/shared/sagas/call-api.saga.spec.js.ejs similarity index 100% rename from generators/app/templates/test/spec/shared/sagas/call-api.saga.spec.js.ejs rename to generators/react-native/templates/test/spec/shared/sagas/call-api.saga.spec.js.ejs diff --git a/generators/app/templates/test/spec/shared/sagas/startup.saga.spec.js.ejs b/generators/react-native/templates/test/spec/shared/sagas/startup.saga.spec.js.ejs similarity index 100% rename from generators/app/templates/test/spec/shared/sagas/startup.saga.spec.js.ejs rename to generators/react-native/templates/test/spec/shared/sagas/startup.saga.spec.js.ejs diff --git a/generators/app/templates/test/spec/shared/sagas/user.saga.spec.js.ejs b/generators/react-native/templates/test/spec/shared/sagas/user.saga.spec.js.ejs similarity index 100% rename from generators/app/templates/test/spec/shared/sagas/user.saga.spec.js.ejs rename to generators/react-native/templates/test/spec/shared/sagas/user.saga.spec.js.ejs diff --git a/generators/app/templates/test/spec/shared/services/fixture-api.spec.js.ejs b/generators/react-native/templates/test/spec/shared/services/fixture-api.spec.js.ejs similarity index 100% rename from generators/app/templates/test/spec/shared/services/fixture-api.spec.js.ejs rename to generators/react-native/templates/test/spec/shared/services/fixture-api.spec.js.ejs diff --git a/generators/app/templates/test/spec/shared/websockets/websocket-service.spec.js.ejs b/generators/react-native/templates/test/spec/shared/websockets/websocket-service.spec.js.ejs similarity index 100% rename from generators/app/templates/test/spec/shared/websockets/websocket-service.spec.js.ejs rename to generators/react-native/templates/test/spec/shared/websockets/websocket-service.spec.js.ejs diff --git a/generators/app/templates/test/spec/shared/websockets/websocket.sagas.spec.js.ejs b/generators/react-native/templates/test/spec/shared/websockets/websocket.sagas.spec.js.ejs similarity index 100% rename from generators/app/templates/test/spec/shared/websockets/websocket.sagas.spec.js.ejs rename to generators/react-native/templates/test/spec/shared/websockets/websocket.sagas.spec.js.ejs From 26da64e4fd1fa106e51cfca5adb210a097bea7e6 Mon Sep 17 00:00:00 2001 From: Hideyuki Kagami Date: Sat, 20 Jan 2024 01:16:57 +0900 Subject: [PATCH 06/70] adjust yeoman-environment version --- package-lock.json | 2106 +++------------------------------------------ package.json | 5 +- 2 files changed, 102 insertions(+), 2009 deletions(-) diff --git a/package-lock.json b/package-lock.json index 898130cee..6429c9689 100644 --- a/package-lock.json +++ b/package-lock.json @@ -16,7 +16,7 @@ "pluralize": "8.0.0", "semver": "7.5.4", "shelljs": "0.8.5", - "yeoman-environment": "3.19.3" + "yeoman-environment": "4.2.1" }, "bin": { "jhipster-react-native": "cli/cli.cjs", @@ -374,11 +374,6 @@ "npm": ">=6.14.13" } }, - "node_modules/@gar/promisify": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz", - "integrity": "sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==" - }, "node_modules/@humanwhocodes/config-array": { "version": "0.11.14", "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz", @@ -809,19 +804,6 @@ "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/@npmcli/move-file": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-1.1.2.tgz", - "integrity": "sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==", - "deprecated": "This functionality has been moved to @npmcli/fs", - "dependencies": { - "mkdirp": "^1.0.4", - "rimraf": "^3.0.2" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/@npmcli/name-from-folder": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/@npmcli/name-from-folder/-/name-from-folder-2.0.0.tgz", @@ -1258,6 +1240,17 @@ "url": "https://github.com/sindresorhus/is?sponsor=1" } }, + "node_modules/@sindresorhus/merge-streams": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-1.0.0.tgz", + "integrity": "sha512-rUV5WyJrJLoloD4NDN1V1+LDMDWOa4OTsT4yYJwQNpTU6FWxkxHpL7eu4w+DmiH8x/EAM1otkPE1+LaspIbplw==", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/@sinonjs/commons": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.0.tgz", @@ -1314,14 +1307,6 @@ "node": ">=10" } }, - "node_modules/@tootallnate/once": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", - "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", - "engines": { - "node": ">= 6" - } - }, "node_modules/@tufjs/canonical-json": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/@tufjs/canonical-json/-/canonical-json-2.0.0.tgz", @@ -2105,17 +2090,6 @@ "node": ">= 14" } }, - "node_modules/agentkeepalive": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.5.0.tgz", - "integrity": "sha512-5GG/5IbQQpC9FpkRGsSvZI5QYeSCzlJHdpBQntCsuTOxhKD8lqKhrleg2Yi7yvMIf82Ycmmqln9U8V9qwEiJew==", - "dependencies": { - "humanize-ms": "^1.2.1" - }, - "engines": { - "node": ">= 8.0.0" - } - }, "node_modules/aggregate-error": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-4.0.1.tgz", @@ -2451,11 +2425,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/asap": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", - "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==" - }, "node_modules/asn1": { "version": "0.2.6", "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", @@ -2844,7 +2813,8 @@ "node_modules/builtins": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/builtins/-/builtins-1.0.3.tgz", - "integrity": "sha512-uYBjakWipfaO/bXI7E8rq6kpwHRZK5cNYrUv2OzZSI/FvmdMyXJ2tG9dKcjEC5YHmHpUAwsargWIZNWdxb/bnQ==" + "integrity": "sha512-uYBjakWipfaO/bXI7E8rq6kpwHRZK5cNYrUv2OzZSI/FvmdMyXJ2tG9dKcjEC5YHmHpUAwsargWIZNWdxb/bnQ==", + "dev": true }, "node_modules/bundle-name": { "version": "3.0.0", @@ -3351,14 +3321,6 @@ "node": ">=0.8" } }, - "node_modules/clone-buffer": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/clone-buffer/-/clone-buffer-1.0.0.tgz", - "integrity": "sha512-KLLTJWrvwIP+OPfMn0x2PheDEP20RPUcGXj/ERegTgdmPEZylALQldygiqrPPu8P45uNuPs7ckmReLY6v/iA5g==", - "engines": { - "node": ">= 0.10" - } - }, "node_modules/clone-response": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.3.tgz", @@ -3376,48 +3338,6 @@ "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-1.0.0.tgz", "integrity": "sha512-au6ydSpg6nsrigcZ4m8Bc9hxjeW+GJ8xh5G3BJCMt4WXe1H10UNaVOamqQTmrx1kjVuxAHIQSNU6hY4Nsn9/ag==" }, - "node_modules/cloneable-readable": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/cloneable-readable/-/cloneable-readable-1.1.3.tgz", - "integrity": "sha512-2EF8zTQOxYq70Y4XKtorQupqF0m49MBz2/yf5Bj+MHjvpG3Hy7sImifnqD6UA+TKYxeSV+u6qqQPawN5UvnpKQ==", - "dependencies": { - "inherits": "^2.0.1", - "process-nextick-args": "^2.0.0", - "readable-stream": "^2.3.5" - } - }, - "node_modules/cloneable-readable/node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" - }, - "node_modules/cloneable-readable/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/cloneable-readable/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "node_modules/cloneable-readable/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, "node_modules/cmd-shim": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/cmd-shim/-/cmd-shim-6.0.2.tgz", @@ -3804,15 +3724,6 @@ } } }, - "node_modules/debuglog": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/debuglog/-/debuglog-1.0.1.tgz", - "integrity": "sha512-syBZ+rnAK3EgMsH2aYEOLUW7mZSY9Gb+0wUMCFsZvcmiz+HigA0LOcq/HoQqVuGG+EKykunc7QG2bzrponfaSw==", - "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", - "engines": { - "node": "*" - } - }, "node_modules/decamelize": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz", @@ -4074,11 +3985,6 @@ "node": ">=0.4.0" } }, - "node_modules/delegates": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", - "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==" - }, "node_modules/deprecation": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz", @@ -4103,15 +4009,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/dezalgo": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.4.tgz", - "integrity": "sha512-rXSP0bf+5n0Qonsb+SVVfNfIsimO4HEtmnIpPHY8Q1UCzKlQrDMfdobr8nJOOsRgWCyMRqeSBQzmWUMq7zvVig==", - "dependencies": { - "asap": "^2.0.0", - "wrappy": "1" - } - }, "node_modules/didyoumean": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", @@ -4224,6 +4121,7 @@ "version": "3.1.8", "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.8.tgz", "integrity": "sha512-/sXZeMlhS0ArkfX2Aw780gJzXSMPnKjtspYZv+f3NiKLlubezAHDU5+9xz6gd3/NhG3txQCo6xlglmTS+oTGEQ==", + "dev": true, "dependencies": { "jake": "^10.8.5" }, @@ -4344,11 +4242,6 @@ "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==" }, - "node_modules/error": { - "version": "10.4.0", - "resolved": "https://registry.npmjs.org/error/-/error-10.4.0.tgz", - "integrity": "sha512-YxIFEJuhgcICugOUvRx5th0UM+ActZ9sjY0QJmeVwsQdvosZ7kYzc9QqS0Da3R5iUmgU5meGIxh0xBeZpMVeLw==" - }, "node_modules/error-ex": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", @@ -4814,18 +4707,6 @@ "url": "https://opencollective.com/eslint" } }, - "node_modules/esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/esquery": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", @@ -5137,74 +5018,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/find-yarn-workspace-root2": { - "version": "1.2.16", - "resolved": "https://registry.npmjs.org/find-yarn-workspace-root2/-/find-yarn-workspace-root2-1.2.16.tgz", - "integrity": "sha512-hr6hb1w8ePMpPVUK39S4RlwJzi+xPLuVuG8XlwXU3KD5Yn3qgBWVfy3AzNlDhWvE1EORCE65/Qm26rFQt3VLVA==", - "dependencies": { - "micromatch": "^4.0.2", - "pkg-dir": "^4.2.0" - } - }, - "node_modules/find-yarn-workspace-root2/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==", - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/find-yarn-workspace-root2/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==", - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/find-yarn-workspace-root2/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==", - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/find-yarn-workspace-root2/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==", - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/find-yarn-workspace-root2/node_modules/pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", - "dependencies": { - "find-up": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/first-chunk-stream": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/first-chunk-stream/-/first-chunk-stream-5.0.0.tgz", @@ -6407,14 +6220,6 @@ "node": ">=16.17.0" } }, - "node_modules/humanize-ms": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz", - "integrity": "sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==", - "dependencies": { - "ms": "^2.0.0" - } - }, "node_modules/husky": { "version": "8.0.3", "resolved": "https://registry.npmjs.org/husky/-/husky-8.0.3.tgz", @@ -6636,11 +6441,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/infer-owner": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", - "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==" - }, "node_modules/inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", @@ -8237,7 +8037,8 @@ "node_modules/json-parse-even-better-errors": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true }, "node_modules/json-schema": { "version": "0.4.0", @@ -9166,40 +8967,6 @@ "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/load-yaml-file": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/load-yaml-file/-/load-yaml-file-0.2.0.tgz", - "integrity": "sha512-OfCBkGEw4nN6JLtgRidPX6QxjBQGQf72q3si2uvqyFEMbycSFFHwAZeXx6cJgFM9wmLrf9zBwCP3Ivqa+LLZPw==", - "dependencies": { - "graceful-fs": "^4.1.5", - "js-yaml": "^3.13.0", - "pify": "^4.0.1", - "strip-bom": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/load-yaml-file/node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dependencies": { - "sprintf-js": "~1.0.2" - } - }, - "node_modules/load-yaml-file/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/local-pkg": { "version": "0.5.0", "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-0.5.0.tgz", @@ -9987,19 +9754,6 @@ "node": ">=10" } }, - "node_modules/mkdirp-infer-owner": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mkdirp-infer-owner/-/mkdirp-infer-owner-2.0.0.tgz", - "integrity": "sha512-sdqtiFt3lkOaYvTXSRIUjkIdPTcxgv5+fgqYE/5qgwdw12cOrAuzzgzvVExIkH/ul1oeHN3bCLOWSG3XOqbKKw==", - "dependencies": { - "chownr": "^2.0.0", - "infer-owner": "^1.0.4", - "mkdirp": "^1.0.3" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/mlly": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.5.0.tgz", @@ -10735,6 +10489,7 @@ "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "dev": true, "engines": { "node": ">=0.10.0" } @@ -11119,14 +10874,6 @@ "node": ">=8" } }, - "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==", - "engines": { - "node": ">=4" - } - }, "node_modules/p-limit": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", @@ -11677,14 +11424,6 @@ "node": ">=0.10" } }, - "node_modules/pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "engines": { - "node": ">=6" - } - }, "node_modules/pkg-dir": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-8.0.0.tgz", @@ -11844,20 +11583,6 @@ "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" } }, - "node_modules/preferred-pm": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/preferred-pm/-/preferred-pm-3.1.2.tgz", - "integrity": "sha512-nk7dKrcW8hfCZ4H6klWcdRknBOXWzNQByJ0oJyX97BOupsYD+FzLS4hflgEu/uPUEHZCuRfMxzCBsuWd7OzT8Q==", - "dependencies": { - "find-up": "^5.0.0", - "find-yarn-workspace-root2": "1.2.16", - "path-exists": "^4.0.0", - "which-pm": "2.0.0" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/prelude-ls": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", @@ -12029,11 +11754,6 @@ "node": ">= 0.6.0" } }, - "node_modules/process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" - }, "node_modules/progress": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", @@ -12370,18 +12090,6 @@ "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, - "node_modules/readdir-scoped-modules": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/readdir-scoped-modules/-/readdir-scoped-modules-1.1.0.tgz", - "integrity": "sha512-asaikDeqAQg7JifRsZn1NJZXo9E+VwlyCfbkZhwyISinqk5zNS6266HS5kah6P0SaQKGF6SkNnZVHUzHFYxYDw==", - "deprecated": "This functionality has been moved to @npmcli/fs", - "dependencies": { - "debuglog": "^1.0.1", - "dezalgo": "^1.0.0", - "graceful-fs": "^4.1.2", - "once": "^1.3.0" - } - }, "node_modules/readdirp": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", @@ -13358,11 +13066,6 @@ "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.16.tgz", "integrity": "sha512-eWN+LnM3GR6gPu35WxNgbGl8rmY1AEmoMDvL/QD6zYmPWgywxWqJWNdLGT+ke8dKNWrcYgYjPpG5gbTfghP8rw==" }, - "node_modules/sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" - }, "node_modules/sshpk": { "version": "1.18.0", "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.18.0.tgz", @@ -14370,6 +14073,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-3.0.0.tgz", "integrity": "sha512-M6w37eVCMMouJ9V/sdPGnC5H4uDr73/+xdq0FBLO3TFFX1+7wiUY6Es328NN+y43tmY+doUdN9g9J21vqB7iLw==", + "dev": true, "dependencies": { "builtins": "^1.0.3" } @@ -14777,18 +14481,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/which-pm": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-pm/-/which-pm-2.0.0.tgz", - "integrity": "sha512-Lhs9Pmyph0p5n5Z3mVnN0yWcbQYUAD7rbQUiMsQxOJ3T57k7RFe35SUwWMf7dsbDZks1uOmw4AecB/JMDj3v/w==", - "dependencies": { - "load-yaml-file": "^0.2.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8.15" - } - }, "node_modules/which-typed-array": { "version": "1.1.13", "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.13.tgz", @@ -15277,1739 +14969,143 @@ } }, "node_modules/yeoman-environment": { - "version": "3.19.3", - "resolved": "https://registry.npmjs.org/yeoman-environment/-/yeoman-environment-3.19.3.tgz", - "integrity": "sha512-/+ODrTUHtlDPRH9qIC0JREH8+7nsRcjDl3Bxn2Xo/rvAaVvixH5275jHwg0C85g4QsF4P6M2ojfScPPAl+pLAg==", - "dependencies": { - "@npmcli/arborist": "^4.0.4", - "are-we-there-yet": "^2.0.0", - "arrify": "^2.0.1", - "binaryextensions": "^4.15.0", - "chalk": "^4.1.0", - "cli-table": "^0.3.1", - "commander": "7.1.0", - "dateformat": "^4.5.0", - "debug": "^4.1.1", - "diff": "^5.0.0", - "error": "^10.4.0", - "escape-string-regexp": "^4.0.0", - "execa": "^5.0.0", - "find-up": "^5.0.0", - "globby": "^11.0.1", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/yeoman-environment/-/yeoman-environment-4.2.1.tgz", + "integrity": "sha512-ZReZLcHM6TMUEY88k1/DhOljJ/z6cQyQ1UeS03xo4Qz7AGKjtyZEmeT7RSHw5f1jPC+aZXX3SLXjnSYeNBp5rQ==", + "dependencies": { + "@yeoman/adapter": "^1.4.0", + "@yeoman/conflicter": "^2.0.0-alpha.2", + "@yeoman/namespace": "^1.0.0", + "@yeoman/transform": "^1.2.0", + "@yeoman/types": "^1.1.1", + "arrify": "^3.0.0", + "chalk": "^5.3.0", + "commander": "^11.1.0", + "debug": "^4.3.4", + "execa": "^8.0.1", + "fly-import": "^0.4.0", + "globby": "^14.0.0", "grouped-queue": "^2.0.0", - "inquirer": "^8.0.0", - "is-scoped": "^2.1.0", - "isbinaryfile": "^4.0.10", - "lodash": "^4.17.10", - "log-symbols": "^4.0.0", - "mem-fs": "^1.2.0 || ^2.0.0", - "mem-fs-editor": "^8.1.2 || ^9.0.0", - "minimatch": "^3.0.4", - "npmlog": "^5.0.1", - "p-queue": "^6.6.2", - "p-transform": "^1.3.0", - "pacote": "^12.0.2", - "preferred-pm": "^3.0.3", - "pretty-bytes": "^5.3.0", - "readable-stream": "^4.3.0", - "semver": "^7.1.3", - "slash": "^3.0.0", - "strip-ansi": "^6.0.0", - "text-table": "^0.2.0", - "textextensions": "^5.12.0", - "untildify": "^4.0.0" + "locate-path": "^7.2.0", + "lodash-es": "^4.17.21", + "mem-fs": "^4.0.0", + "mem-fs-editor": "^11.0.0", + "semver": "^7.5.4", + "slash": "^5.1.0", + "untildify": "^5.0.0", + "which-package-manager": "^0.0.1" }, "bin": { - "yoe": "cli/index.js" + "yoe": "bin/bin.cjs" }, "engines": { - "node": ">=12.10.0" + "node": "^18.17.0 || >=20.5.0" + }, + "peerDependencies": { + "@yeoman/types": "^1.1.1", + "mem-fs": "^4.0.0" } }, - "node_modules/yeoman-environment/node_modules/@npmcli/arborist": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/@npmcli/arborist/-/arborist-4.3.1.tgz", - "integrity": "sha512-yMRgZVDpwWjplorzt9SFSaakWx6QIK248Nw4ZFgkrAy/GvJaFRaSZzE6nD7JBK5r8g/+PTxFq5Wj/sfciE7x+A==", - "dependencies": { - "@isaacs/string-locale-compare": "^1.1.0", - "@npmcli/installed-package-contents": "^1.0.7", - "@npmcli/map-workspaces": "^2.0.0", - "@npmcli/metavuln-calculator": "^2.0.0", - "@npmcli/move-file": "^1.1.0", - "@npmcli/name-from-folder": "^1.0.1", - "@npmcli/node-gyp": "^1.0.3", - "@npmcli/package-json": "^1.0.1", - "@npmcli/run-script": "^2.0.0", - "bin-links": "^3.0.0", - "cacache": "^15.0.3", - "common-ancestor-path": "^1.0.1", - "json-parse-even-better-errors": "^2.3.1", - "json-stringify-nice": "^1.1.4", - "mkdirp": "^1.0.4", - "mkdirp-infer-owner": "^2.0.0", - "npm-install-checks": "^4.0.0", - "npm-package-arg": "^8.1.5", - "npm-pick-manifest": "^6.1.0", - "npm-registry-fetch": "^12.0.1", - "pacote": "^12.0.2", - "parse-conflict-json": "^2.0.1", - "proc-log": "^1.0.0", - "promise-all-reject-late": "^1.0.0", - "promise-call-limit": "^1.0.1", - "read-package-json-fast": "^2.0.2", - "readdir-scoped-modules": "^1.1.0", - "rimraf": "^3.0.2", - "semver": "^7.3.5", - "ssri": "^8.0.1", - "treeverse": "^1.0.4", - "walk-up-path": "^1.0.0" - }, - "bin": { - "arborist": "bin/index.js" - }, + "node_modules/yeoman-environment/node_modules/chalk": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", + "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16" + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/yeoman-environment/node_modules/@npmcli/fs": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-1.1.1.tgz", - "integrity": "sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ==", + "node_modules/yeoman-environment/node_modules/globby": { + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-14.0.0.tgz", + "integrity": "sha512-/1WM/LNHRAOH9lZta77uGbq0dAEQM+XjNesWwhlERDVenqothRbnzTrL3/LrIoEPPjeUHC3vrS6TwoyxeHs7MQ==", "dependencies": { - "@gar/promisify": "^1.0.1", - "semver": "^7.3.5" - } - }, - "node_modules/yeoman-environment/node_modules/@npmcli/git": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@npmcli/git/-/git-2.1.0.tgz", - "integrity": "sha512-/hBFX/QG1b+N7PZBFs0bi+evgRZcK9nWBxQKZkGoXUT5hJSwl5c4d7y8/hm+NQZRPhQ67RzFaj5UM9YeyKoryw==", - "dependencies": { - "@npmcli/promise-spawn": "^1.3.2", - "lru-cache": "^6.0.0", - "mkdirp": "^1.0.4", - "npm-pick-manifest": "^6.1.1", - "promise-inflight": "^1.0.1", - "promise-retry": "^2.0.1", - "semver": "^7.3.5", - "which": "^2.0.2" - } - }, - "node_modules/yeoman-environment/node_modules/@npmcli/installed-package-contents": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/@npmcli/installed-package-contents/-/installed-package-contents-1.0.7.tgz", - "integrity": "sha512-9rufe0wnJusCQoLpV9ZPKIVP55itrM5BxOXs10DmdbRfgWtHy1LDyskbwRnBghuB0PrF7pNPOqREVtpz4HqzKw==", - "dependencies": { - "npm-bundled": "^1.1.1", - "npm-normalize-package-bin": "^1.0.1" - }, - "bin": { - "installed-package-contents": "index.js" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/yeoman-environment/node_modules/@npmcli/map-workspaces": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@npmcli/map-workspaces/-/map-workspaces-2.0.4.tgz", - "integrity": "sha512-bMo0aAfwhVwqoVM5UzX1DJnlvVvzDCHae821jv48L1EsrYwfOZChlqWYXEtto/+BkBXetPbEWgau++/brh4oVg==", - "dependencies": { - "@npmcli/name-from-folder": "^1.0.1", - "glob": "^8.0.1", - "minimatch": "^5.0.1", - "read-package-json-fast": "^2.0.3" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/yeoman-environment/node_modules/@npmcli/map-workspaces/node_modules/minimatch": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", - "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/yeoman-environment/node_modules/@npmcli/metavuln-calculator": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@npmcli/metavuln-calculator/-/metavuln-calculator-2.0.0.tgz", - "integrity": "sha512-VVW+JhWCKRwCTE+0xvD6p3uV4WpqocNYYtzyvenqL/u1Q3Xx6fGTJ+6UoIoii07fbuEO9U3IIyuGY0CYHDv1sg==", - "dependencies": { - "cacache": "^15.0.5", - "json-parse-even-better-errors": "^2.3.1", - "pacote": "^12.0.0", - "semver": "^7.3.2" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16" - } - }, - "node_modules/yeoman-environment/node_modules/@npmcli/name-from-folder": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@npmcli/name-from-folder/-/name-from-folder-1.0.1.tgz", - "integrity": "sha512-qq3oEfcLFwNfEYOQ8HLimRGKlD8WSeGEdtUa7hmzpR8Sa7haL1KVQrvgO6wqMjhWFFVjgtrh1gIxDz+P8sjUaA==" - }, - "node_modules/yeoman-environment/node_modules/@npmcli/node-gyp": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@npmcli/node-gyp/-/node-gyp-1.0.3.tgz", - "integrity": "sha512-fnkhw+fmX65kiLqk6E3BFLXNC26rUhK90zVwe2yncPliVT/Qos3xjhTLE59Df8KnPlcwIERXKVlU1bXoUQ+liA==" - }, - "node_modules/yeoman-environment/node_modules/@npmcli/package-json": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@npmcli/package-json/-/package-json-1.0.1.tgz", - "integrity": "sha512-y6jnu76E9C23osz8gEMBayZmaZ69vFOIk8vR1FJL/wbEJ54+9aVG9rLTjQKSXfgYZEr50nw1txBBFfBZZe+bYg==", - "dependencies": { - "json-parse-even-better-errors": "^2.3.1" - } - }, - "node_modules/yeoman-environment/node_modules/@npmcli/promise-spawn": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/@npmcli/promise-spawn/-/promise-spawn-1.3.2.tgz", - "integrity": "sha512-QyAGYo/Fbj4MXeGdJcFzZ+FkDkomfRBrPM+9QYJSg+PxgAUL+LU3FneQk37rKR2/zjqkCV1BLHccX98wRXG3Sg==", - "dependencies": { - "infer-owner": "^1.0.4" - } - }, - "node_modules/yeoman-environment/node_modules/@npmcli/run-script": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-2.0.0.tgz", - "integrity": "sha512-fSan/Pu11xS/TdaTpTB0MRn9guwGU8dye+x56mEVgBEd/QsybBbYcAL0phPXi8SGWFEChkQd6M9qL4y6VOpFig==", - "dependencies": { - "@npmcli/node-gyp": "^1.0.2", - "@npmcli/promise-spawn": "^1.3.2", - "node-gyp": "^8.2.0", - "read-package-json-fast": "^2.0.1" - } - }, - "node_modules/yeoman-environment/node_modules/@types/node": { - "version": "15.14.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-15.14.9.tgz", - "integrity": "sha512-qjd88DrCxupx/kJD5yQgZdcYKZKSIGBVDIBE1/LTGcNm3d2Np/jxojkdePDdfnBHJc5W7vSMpbJ1aB7p/Py69A==" - }, - "node_modules/yeoman-environment/node_modules/abbrev": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" - }, - "node_modules/yeoman-environment/node_modules/agent-base": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", - "dependencies": { - "debug": "4" - }, - "engines": { - "node": ">= 6.0.0" - } - }, - "node_modules/yeoman-environment/node_modules/aggregate-error": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", - "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", - "dependencies": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/yeoman-environment/node_modules/are-we-there-yet": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz", - "integrity": "sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==", - "dependencies": { - "delegates": "^1.0.0", - "readable-stream": "^3.6.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/yeoman-environment/node_modules/are-we-there-yet/node_modules/readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/yeoman-environment/node_modules/array-differ": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-3.0.0.tgz", - "integrity": "sha512-THtfYS6KtME/yIAhKjZ2ul7XI96lQGHRputJQHO80LAWQnuGP4iCIN8vdMRboGbIEYBwU33q8Tch1os2+X0kMg==", - "engines": { - "node": ">=8" - } - }, - "node_modules/yeoman-environment/node_modules/array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "engines": { - "node": ">=8" - } - }, - "node_modules/yeoman-environment/node_modules/arrify": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz", - "integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==", - "engines": { - "node": ">=8" - } - }, - "node_modules/yeoman-environment/node_modules/bin-links": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/bin-links/-/bin-links-3.0.3.tgz", - "integrity": "sha512-zKdnMPWEdh4F5INR07/eBrodC7QrF5JKvqskjz/ZZRXg5YSAZIbn8zGhbhUrElzHBZ2fvEQdOU59RHcTG3GiwA==", - "dependencies": { - "cmd-shim": "^5.0.0", - "mkdirp-infer-owner": "^2.0.0", - "npm-normalize-package-bin": "^2.0.0", - "read-cmd-shim": "^3.0.0", - "rimraf": "^3.0.0", - "write-file-atomic": "^4.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/yeoman-environment/node_modules/bin-links/node_modules/npm-normalize-package-bin": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-2.0.0.tgz", - "integrity": "sha512-awzfKUO7v0FscrSpRoogyNm0sajikhBWpU0QMrW09AMi9n1PoKU6WaIqUzuJSQnpciZZmJ/jMZ2Egfmb/9LiWQ==", - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/yeoman-environment/node_modules/bl": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", - "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", - "dependencies": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" - } - }, - "node_modules/yeoman-environment/node_modules/bl/node_modules/readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/yeoman-environment/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/yeoman-environment/node_modules/buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "node_modules/yeoman-environment/node_modules/cacache": { - "version": "15.3.0", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.3.0.tgz", - "integrity": "sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==", - "dependencies": { - "@npmcli/fs": "^1.0.0", - "@npmcli/move-file": "^1.0.1", - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "glob": "^7.1.4", - "infer-owner": "^1.0.4", - "lru-cache": "^6.0.0", - "minipass": "^3.1.1", - "minipass-collect": "^1.0.2", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.2", - "mkdirp": "^1.0.3", - "p-map": "^4.0.0", - "promise-inflight": "^1.0.1", - "rimraf": "^3.0.2", - "ssri": "^8.0.1", - "tar": "^6.0.2", - "unique-filename": "^1.1.1" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/yeoman-environment/node_modules/cacache/node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/yeoman-environment/node_modules/clean-stack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", - "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", - "engines": { - "node": ">=6" - } - }, - "node_modules/yeoman-environment/node_modules/cli-width": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", - "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", - "engines": { - "node": ">= 10" - } - }, - "node_modules/yeoman-environment/node_modules/cmd-shim": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/cmd-shim/-/cmd-shim-5.0.0.tgz", - "integrity": "sha512-qkCtZ59BidfEwHltnJwkyVZn+XQojdAySM1D1gSeh11Z4pW1Kpolkyo53L5noc0nrxmIvyFwTmJRo4xs7FFLPw==", - "dependencies": { - "mkdirp-infer-owner": "^2.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/yeoman-environment/node_modules/commander": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-7.1.0.tgz", - "integrity": "sha512-pRxBna3MJe6HKnBGsDyMv8ETbptw3axEdYHoqNh7gu5oDcew8fs0xnivZGm06Ogk8zGAJ9VX+OPEr2GXEQK4dg==", - "engines": { - "node": ">= 10" - } - }, - "node_modules/yeoman-environment/node_modules/dateformat": { - "version": "4.6.3", - "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-4.6.3.tgz", - "integrity": "sha512-2P0p0pFGzHS5EMnhdxQi7aJN+iMheud0UhG4dlE1DLAlvL8JHjJJTX/CSm4JXwV0Ka5nGk3zC5mcb5bUQUxxMA==", - "engines": { - "node": "*" - } - }, - "node_modules/yeoman-environment/node_modules/env-paths": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", - "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", - "engines": { - "node": ">=6" - } - }, - "node_modules/yeoman-environment/node_modules/eventemitter3": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", - "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==" - }, - "node_modules/yeoman-environment/node_modules/execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", - "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" - } - }, - "node_modules/yeoman-environment/node_modules/figures": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", - "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", - "dependencies": { - "escape-string-regexp": "^1.0.5" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/yeoman-environment/node_modules/figures/node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/yeoman-environment/node_modules/first-chunk-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/first-chunk-stream/-/first-chunk-stream-2.0.0.tgz", - "integrity": "sha512-X8Z+b/0L4lToKYq+lwnKqi9X/Zek0NibLpsJgVsSxpoYq7JtiCtRb5HqKVEjEw/qAb/4AKKRLOwwKHlWNpm2Eg==", - "dependencies": { - "readable-stream": "^2.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/yeoman-environment/node_modules/first-chunk-stream/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/yeoman-environment/node_modules/fs-minipass": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", - "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/yeoman-environment/node_modules/gauge": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-3.0.2.tgz", - "integrity": "sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==", - "dependencies": { - "aproba": "^1.0.3 || ^2.0.0", - "color-support": "^1.1.2", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.1", - "object-assign": "^4.1.1", - "signal-exit": "^3.0.0", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "wide-align": "^1.1.2" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/yeoman-environment/node_modules/get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/yeoman-environment/node_modules/glob": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", - "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^5.0.1", - "once": "^1.3.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/yeoman-environment/node_modules/glob/node_modules/minimatch": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", - "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/yeoman-environment/node_modules/globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", - "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/yeoman-environment/node_modules/hosted-git-info": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", - "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/yeoman-environment/node_modules/http-proxy-agent": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", - "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", - "dependencies": { - "@tootallnate/once": "1", - "agent-base": "6", - "debug": "4" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/yeoman-environment/node_modules/https-proxy-agent": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", - "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", - "dependencies": { - "agent-base": "6", - "debug": "4" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/yeoman-environment/node_modules/human-signals": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", - "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", - "engines": { - "node": ">=10.17.0" - } - }, - "node_modules/yeoman-environment/node_modules/ignore-walk": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-4.0.1.tgz", - "integrity": "sha512-rzDQLaW4jQbh2YrOFlJdCtX8qgJTehFRYiUB2r1osqTeDzV/3+Jh8fz1oAPzUThf3iku8Ds4IDqawI5d8mUiQw==", - "dependencies": { - "minimatch": "^3.0.4" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/yeoman-environment/node_modules/indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", - "engines": { - "node": ">=8" - } - }, - "node_modules/yeoman-environment/node_modules/inquirer": { - "version": "8.2.6", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.2.6.tgz", - "integrity": "sha512-M1WuAmb7pn9zdFRtQYk26ZBoY043Sse0wVDdk4Bppr+JOXyQYybdtvK+l9wUibhtjdjvtoiNy8tk+EgsYIUqKg==", - "dependencies": { - "ansi-escapes": "^4.2.1", - "chalk": "^4.1.1", - "cli-cursor": "^3.1.0", - "cli-width": "^3.0.0", - "external-editor": "^3.0.3", - "figures": "^3.0.0", - "lodash": "^4.17.21", - "mute-stream": "0.0.8", - "ora": "^5.4.1", - "run-async": "^2.4.0", - "rxjs": "^7.5.5", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0", - "through": "^2.3.6", - "wrap-ansi": "^6.0.1" - }, - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/yeoman-environment/node_modules/is-interactive": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", - "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", - "engines": { - "node": ">=8" - } - }, - "node_modules/yeoman-environment/node_modules/is-scoped": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-scoped/-/is-scoped-2.1.0.tgz", - "integrity": "sha512-Cv4OpPTHAK9kHYzkzCrof3VJh7H/PrG2MBUMvvJebaaUMbqhm0YAtXnvh0I3Hnj2tMZWwrRROWLSgfJrKqWmlQ==", - "dependencies": { - "scoped-regex": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/yeoman-environment/node_modules/is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/yeoman-environment/node_modules/is-unicode-supported": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", - "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/yeoman-environment/node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" - }, - "node_modules/yeoman-environment/node_modules/isbinaryfile": { - "version": "4.0.10", - "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-4.0.10.tgz", - "integrity": "sha512-iHrqe5shvBUcFbmZq9zOQHBoeOhZJu6RQGrDpBgenUm/Am+F3JM2MgQj+rK3Z601fzrL5gLZWtAPH2OBaSVcyw==", - "engines": { - "node": ">= 8.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/gjtorikian/" - } - }, - "node_modules/yeoman-environment/node_modules/just-diff": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/just-diff/-/just-diff-5.2.0.tgz", - "integrity": "sha512-6ufhP9SHjb7jibNFrNxyFZ6od3g+An6Ai9mhGRvcYe8UJlH0prseN64M+6ZBBUoKYHZsitDP42gAJ8+eVWr3lw==" - }, - "node_modules/yeoman-environment/node_modules/log-symbols": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", - "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", - "dependencies": { - "chalk": "^4.1.0", - "is-unicode-supported": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/yeoman-environment/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/yeoman-environment/node_modules/make-fetch-happen": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-9.1.0.tgz", - "integrity": "sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg==", - "dependencies": { - "agentkeepalive": "^4.1.3", - "cacache": "^15.2.0", - "http-cache-semantics": "^4.1.0", - "http-proxy-agent": "^4.0.1", - "https-proxy-agent": "^5.0.0", - "is-lambda": "^1.0.1", - "lru-cache": "^6.0.0", - "minipass": "^3.1.3", - "minipass-collect": "^1.0.2", - "minipass-fetch": "^1.3.2", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.4", - "negotiator": "^0.6.2", - "promise-retry": "^2.0.1", - "socks-proxy-agent": "^6.0.0", - "ssri": "^8.0.0" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/yeoman-environment/node_modules/mem-fs": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/mem-fs/-/mem-fs-2.3.0.tgz", - "integrity": "sha512-GftCCBs6EN8sz3BoWO1bCj8t7YBtT713d8bUgbhg9Iel5kFSqnSvCK06TYIDJAtJ51cSiWkM/YemlT0dfoFycw==", - "dependencies": { - "@types/node": "^15.6.2", - "@types/vinyl": "^2.0.4", - "vinyl": "^2.0.1", - "vinyl-file": "^3.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/yeoman-environment/node_modules/mem-fs-editor": { - "version": "9.7.0", - "resolved": "https://registry.npmjs.org/mem-fs-editor/-/mem-fs-editor-9.7.0.tgz", - "integrity": "sha512-ReB3YD24GNykmu4WeUL/FDIQtkoyGB6zfJv60yfCo3QjKeimNcTqv2FT83bP0ccs6uu+sm5zyoBlspAzigmsdg==", - "dependencies": { - "binaryextensions": "^4.16.0", - "commondir": "^1.0.1", - "deep-extend": "^0.6.0", - "ejs": "^3.1.8", - "globby": "^11.1.0", - "isbinaryfile": "^5.0.0", - "minimatch": "^7.2.0", - "multimatch": "^5.0.0", - "normalize-path": "^3.0.0", - "textextensions": "^5.13.0" - }, - "engines": { - "node": ">=12.10.0" - }, - "peerDependencies": { - "mem-fs": "^2.1.0" - }, - "peerDependenciesMeta": { - "mem-fs": { - "optional": true - } - } - }, - "node_modules/yeoman-environment/node_modules/mem-fs-editor/node_modules/isbinaryfile": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-5.0.0.tgz", - "integrity": "sha512-UDdnyGvMajJUWCkib7Cei/dvyJrrvo4FIrsvSFWdPpXSUorzXrDJ0S+X5Q4ZlasfPjca4yqCNNsjbCeiy8FFeg==", - "engines": { - "node": ">= 14.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/gjtorikian/" - } - }, - "node_modules/yeoman-environment/node_modules/mem-fs-editor/node_modules/minimatch": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-7.4.6.tgz", - "integrity": "sha512-sBz8G/YjVniEz6lKPNpKxXwazJe4c19fEfV2GDMX6AjFz+MX9uDWIZW8XreVhkFW3fkIdTv/gxWr/Kks5FFAVw==", - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/yeoman-environment/node_modules/mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "engines": { - "node": ">=6" - } - }, - "node_modules/yeoman-environment/node_modules/minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/yeoman-environment/node_modules/minipass-collect": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz", - "integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==", - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/yeoman-environment/node_modules/minipass-fetch": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-1.4.1.tgz", - "integrity": "sha512-CGH1eblLq26Y15+Azk7ey4xh0J/XfJfrCox5LDJiKqI2Q2iwOLOKrlmIaODiSQS8d18jalF6y2K2ePUm0CmShw==", - "dependencies": { - "minipass": "^3.1.0", - "minipass-sized": "^1.0.3", - "minizlib": "^2.0.0" - }, - "engines": { - "node": ">=8" - }, - "optionalDependencies": { - "encoding": "^0.1.12" - } - }, - "node_modules/yeoman-environment/node_modules/multimatch": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/multimatch/-/multimatch-5.0.0.tgz", - "integrity": "sha512-ypMKuglUrZUD99Tk2bUQ+xNQj43lPEfAeX2o9cTteAmShXy2VHDJpuwu1o0xqoKCt9jLVAvwyFKdLTPXKAfJyA==", - "dependencies": { - "@types/minimatch": "^3.0.3", - "array-differ": "^3.0.0", - "array-union": "^2.1.0", - "arrify": "^2.0.1", - "minimatch": "^3.0.4" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/yeoman-environment/node_modules/mute-stream": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", - "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==" - }, - "node_modules/yeoman-environment/node_modules/node-gyp": { - "version": "8.4.1", - "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-8.4.1.tgz", - "integrity": "sha512-olTJRgUtAb/hOXG0E93wZDs5YiJlgbXxTwQAFHyNlRsXQnYzUaF2aGgujZbw+hR8aF4ZG/rST57bWMWD16jr9w==", - "dependencies": { - "env-paths": "^2.2.0", - "glob": "^7.1.4", - "graceful-fs": "^4.2.6", - "make-fetch-happen": "^9.1.0", - "nopt": "^5.0.0", - "npmlog": "^6.0.0", - "rimraf": "^3.0.2", - "semver": "^7.3.5", - "tar": "^6.1.2", - "which": "^2.0.2" - }, - "bin": { - "node-gyp": "bin/node-gyp.js" - }, - "engines": { - "node": ">= 10.12.0" - } - }, - "node_modules/yeoman-environment/node_modules/node-gyp/node_modules/are-we-there-yet": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", - "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", - "dependencies": { - "delegates": "^1.0.0", - "readable-stream": "^3.6.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/yeoman-environment/node_modules/node-gyp/node_modules/gauge": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", - "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", - "dependencies": { - "aproba": "^1.0.3 || ^2.0.0", - "color-support": "^1.1.3", - "console-control-strings": "^1.1.0", - "has-unicode": "^2.0.1", - "signal-exit": "^3.0.7", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "wide-align": "^1.1.5" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/yeoman-environment/node_modules/node-gyp/node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/yeoman-environment/node_modules/node-gyp/node_modules/npmlog": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", - "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", - "dependencies": { - "are-we-there-yet": "^3.0.0", - "console-control-strings": "^1.1.0", - "gauge": "^4.0.3", - "set-blocking": "^2.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/yeoman-environment/node_modules/node-gyp/node_modules/readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/yeoman-environment/node_modules/nopt": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", - "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", - "dependencies": { - "abbrev": "1" - }, - "bin": { - "nopt": "bin/nopt.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/yeoman-environment/node_modules/npm-bundled": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.1.2.tgz", - "integrity": "sha512-x5DHup0SuyQcmL3s7Rx/YQ8sbw/Hzg0rj48eN0dV7hf5cmQq5PXIeioroH3raV1QC1yh3uTYuMThvEQF3iKgGQ==", - "dependencies": { - "npm-normalize-package-bin": "^1.0.1" - } - }, - "node_modules/yeoman-environment/node_modules/npm-install-checks": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-4.0.0.tgz", - "integrity": "sha512-09OmyDkNLYwqKPOnbI8exiOZU2GVVmQp7tgez2BPi5OZC8M82elDAps7sxC4l//uSUtotWqoEIDwjRvWH4qz8w==", - "dependencies": { - "semver": "^7.1.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/yeoman-environment/node_modules/npm-normalize-package-bin": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz", - "integrity": "sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==" - }, - "node_modules/yeoman-environment/node_modules/npm-package-arg": { - "version": "8.1.5", - "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.1.5.tgz", - "integrity": "sha512-LhgZrg0n0VgvzVdSm1oiZworPbTxYHUJCgtsJW8mGvlDpxTM1vSJc3m5QZeUkhAHIzbz3VCHd/R4osi1L1Tg/Q==", - "dependencies": { - "hosted-git-info": "^4.0.1", - "semver": "^7.3.4", - "validate-npm-package-name": "^3.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/yeoman-environment/node_modules/npm-packlist": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-3.0.0.tgz", - "integrity": "sha512-L/cbzmutAwII5glUcf2DBRNY/d0TFd4e/FnaZigJV6JD85RHZXJFGwCndjMWiiViiWSsWt3tiOLpI3ByTnIdFQ==", - "dependencies": { - "glob": "^7.1.6", - "ignore-walk": "^4.0.1", - "npm-bundled": "^1.1.1", - "npm-normalize-package-bin": "^1.0.1" - }, - "bin": { - "npm-packlist": "bin/index.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/yeoman-environment/node_modules/npm-packlist/node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/yeoman-environment/node_modules/npm-pick-manifest": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-6.1.1.tgz", - "integrity": "sha512-dBsdBtORT84S8V8UTad1WlUyKIY9iMsAmqxHbLdeEeBNMLQDlDWWra3wYUx9EBEIiG/YwAy0XyNHDd2goAsfuA==", - "dependencies": { - "npm-install-checks": "^4.0.0", - "npm-normalize-package-bin": "^1.0.1", - "npm-package-arg": "^8.1.2", - "semver": "^7.3.4" - } - }, - "node_modules/yeoman-environment/node_modules/npm-registry-fetch": { - "version": "12.0.2", - "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-12.0.2.tgz", - "integrity": "sha512-Df5QT3RaJnXYuOwtXBXS9BWs+tHH2olvkCLh6jcR/b/u3DvPMlp3J0TvvYwplPKxHMOwfg287PYih9QqaVFoKA==", - "dependencies": { - "make-fetch-happen": "^10.0.1", - "minipass": "^3.1.6", - "minipass-fetch": "^1.4.1", - "minipass-json-stream": "^1.0.1", - "minizlib": "^2.1.2", - "npm-package-arg": "^8.1.5" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16" - } - }, - "node_modules/yeoman-environment/node_modules/npm-registry-fetch/node_modules/@npmcli/fs": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-2.1.2.tgz", - "integrity": "sha512-yOJKRvohFOaLqipNtwYB9WugyZKhC/DZC4VYPmpaCzDBrA8YpK3qHZ8/HGscMnE4GqbkLNuVcCnxkeQEdGt6LQ==", - "dependencies": { - "@gar/promisify": "^1.1.3", - "semver": "^7.3.5" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/yeoman-environment/node_modules/npm-registry-fetch/node_modules/@npmcli/move-file": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-2.0.1.tgz", - "integrity": "sha512-mJd2Z5TjYWq/ttPLLGqArdtnC74J6bOzg4rMDnN+p1xTacZ2yPRCk2y0oSWQtygLR9YVQXgOcONrwtnk3JupxQ==", - "deprecated": "This functionality has been moved to @npmcli/fs", - "dependencies": { - "mkdirp": "^1.0.4", - "rimraf": "^3.0.2" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/yeoman-environment/node_modules/npm-registry-fetch/node_modules/@tootallnate/once": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", - "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", - "engines": { - "node": ">= 10" - } - }, - "node_modules/yeoman-environment/node_modules/npm-registry-fetch/node_modules/cacache": { - "version": "16.1.3", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-16.1.3.tgz", - "integrity": "sha512-/+Emcj9DAXxX4cwlLmRI9c166RuL3w30zp4R7Joiv2cQTtTtA+jeuCAjH3ZlGnYS3tKENSrKhAzVVP9GVyzeYQ==", - "dependencies": { - "@npmcli/fs": "^2.1.0", - "@npmcli/move-file": "^2.0.0", - "chownr": "^2.0.0", - "fs-minipass": "^2.1.0", - "glob": "^8.0.1", - "infer-owner": "^1.0.4", - "lru-cache": "^7.7.1", - "minipass": "^3.1.6", - "minipass-collect": "^1.0.2", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.4", - "mkdirp": "^1.0.4", - "p-map": "^4.0.0", - "promise-inflight": "^1.0.1", - "rimraf": "^3.0.2", - "ssri": "^9.0.0", - "tar": "^6.1.11", - "unique-filename": "^2.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/yeoman-environment/node_modules/npm-registry-fetch/node_modules/http-proxy-agent": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", - "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", - "dependencies": { - "@tootallnate/once": "2", - "agent-base": "6", - "debug": "4" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/yeoman-environment/node_modules/npm-registry-fetch/node_modules/lru-cache": { - "version": "7.18.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", - "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", - "engines": { - "node": ">=12" - } - }, - "node_modules/yeoman-environment/node_modules/npm-registry-fetch/node_modules/make-fetch-happen": { - "version": "10.2.1", - "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-10.2.1.tgz", - "integrity": "sha512-NgOPbRiaQM10DYXvN3/hhGVI2M5MtITFryzBGxHM5p4wnFxsVCbxkrBrDsk+EZ5OB4jEOT7AjDxtdF+KVEFT7w==", - "dependencies": { - "agentkeepalive": "^4.2.1", - "cacache": "^16.1.0", - "http-cache-semantics": "^4.1.0", - "http-proxy-agent": "^5.0.0", - "https-proxy-agent": "^5.0.0", - "is-lambda": "^1.0.1", - "lru-cache": "^7.7.1", - "minipass": "^3.1.6", - "minipass-collect": "^1.0.2", - "minipass-fetch": "^2.0.3", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.4", - "negotiator": "^0.6.3", - "promise-retry": "^2.0.1", - "socks-proxy-agent": "^7.0.0", - "ssri": "^9.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/yeoman-environment/node_modules/npm-registry-fetch/node_modules/make-fetch-happen/node_modules/minipass-fetch": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-2.1.2.tgz", - "integrity": "sha512-LT49Zi2/WMROHYoqGgdlQIZh8mLPZmOrN2NdJjMXxYe4nkN6FUyuPuOAOedNJDrx0IRGg9+4guZewtp8hE6TxA==", - "dependencies": { - "minipass": "^3.1.6", - "minipass-sized": "^1.0.3", - "minizlib": "^2.1.2" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - }, - "optionalDependencies": { - "encoding": "^0.1.13" - } - }, - "node_modules/yeoman-environment/node_modules/npm-registry-fetch/node_modules/socks-proxy-agent": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-7.0.0.tgz", - "integrity": "sha512-Fgl0YPZ902wEsAyiQ+idGd1A7rSFx/ayC1CQVMw5P+EQx2V0SgpGtf6OKFhVjPflPUl9YMmEOnmfjCdMUsygww==", - "dependencies": { - "agent-base": "^6.0.2", - "debug": "^4.3.3", - "socks": "^2.6.2" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/yeoman-environment/node_modules/npm-registry-fetch/node_modules/ssri": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-9.0.1.tgz", - "integrity": "sha512-o57Wcn66jMQvfHG1FlYbWeZWW/dHZhJXjpIcTfXldXEk5nz5lStPo3mK0OJQfGR3RbZUlbISexbljkJzuEj/8Q==", - "dependencies": { - "minipass": "^3.1.1" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/yeoman-environment/node_modules/npm-registry-fetch/node_modules/unique-filename": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-2.0.1.tgz", - "integrity": "sha512-ODWHtkkdx3IAR+veKxFV+VBkUMcN+FaqzUUd7IZzt+0zhDZFPFxhlqwPF3YQvMHx1TD0tdgYl+kuPnJ8E6ql7A==", - "dependencies": { - "unique-slug": "^3.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/yeoman-environment/node_modules/npm-registry-fetch/node_modules/unique-slug": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-3.0.0.tgz", - "integrity": "sha512-8EyMynh679x/0gqE9fT9oilG+qEt+ibFyqjuVTsZn1+CMxH+XLlpvr2UZx4nVcCwTpx81nICr2JQFkM+HPLq4w==", - "dependencies": { - "imurmurhash": "^0.1.4" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/yeoman-environment/node_modules/npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", - "dependencies": { - "path-key": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/yeoman-environment/node_modules/npmlog": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-5.0.1.tgz", - "integrity": "sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==", - "dependencies": { - "are-we-there-yet": "^2.0.0", - "console-control-strings": "^1.1.0", - "gauge": "^3.0.0", - "set-blocking": "^2.0.0" - } - }, - "node_modules/yeoman-environment/node_modules/onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "dependencies": { - "mimic-fn": "^2.1.0" + "@sindresorhus/merge-streams": "^1.0.0", + "fast-glob": "^3.3.2", + "ignore": "^5.2.4", + "path-type": "^5.0.0", + "slash": "^5.1.0", + "unicorn-magic": "^0.1.0" }, "engines": { - "node": ">=6" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/yeoman-environment/node_modules/ora": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", - "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", + "node_modules/yeoman-environment/node_modules/locate-path": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-7.2.0.tgz", + "integrity": "sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==", "dependencies": { - "bl": "^4.1.0", - "chalk": "^4.1.0", - "cli-cursor": "^3.1.0", - "cli-spinners": "^2.5.0", - "is-interactive": "^1.0.0", - "is-unicode-supported": "^0.1.0", - "log-symbols": "^4.1.0", - "strip-ansi": "^6.0.0", - "wcwidth": "^1.0.1" + "p-locate": "^6.0.0" }, "engines": { - "node": ">=10" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/yeoman-environment/node_modules/p-map": { + "node_modules/yeoman-environment/node_modules/p-limit": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", - "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz", + "integrity": "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==", "dependencies": { - "aggregate-error": "^3.0.0" + "yocto-queue": "^1.0.0" }, "engines": { - "node": ">=10" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/yeoman-environment/node_modules/p-queue": { - "version": "6.6.2", - "resolved": "https://registry.npmjs.org/p-queue/-/p-queue-6.6.2.tgz", - "integrity": "sha512-RwFpb72c/BhQLEXIZ5K2e+AhgNVmIejGlTgiB9MzZ0e93GRvqZ7uSi0dvRF7/XIXDeNkra2fNHBxTyPDGySpjQ==", + "node_modules/yeoman-environment/node_modules/p-locate": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-6.0.0.tgz", + "integrity": "sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==", "dependencies": { - "eventemitter3": "^4.0.4", - "p-timeout": "^3.2.0" + "p-limit": "^4.0.0" }, "engines": { - "node": ">=8" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/yeoman-environment/node_modules/p-timeout": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-3.2.0.tgz", - "integrity": "sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==", - "dependencies": { - "p-finally": "^1.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/yeoman-environment/node_modules/p-transform": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/p-transform/-/p-transform-1.3.0.tgz", - "integrity": "sha512-UJKdSzgd3KOnXXAtqN5+/eeHcvTn1hBkesEmElVgvO/NAYcxAvmjzIGmnNd3Tb/gRAvMBdNRFD4qAWdHxY6QXg==", - "dependencies": { - "debug": "^4.3.2", - "p-queue": "^6.6.2" - }, - "engines": { - "node": ">=12.10.0" - } - }, - "node_modules/yeoman-environment/node_modules/pacote": { - "version": "12.0.3", - "resolved": "https://registry.npmjs.org/pacote/-/pacote-12.0.3.tgz", - "integrity": "sha512-CdYEl03JDrRO3x18uHjBYA9TyoW8gy+ThVcypcDkxPtKlw76e4ejhYB6i9lJ+/cebbjpqPW/CijjqxwDTts8Ow==", - "dependencies": { - "@npmcli/git": "^2.1.0", - "@npmcli/installed-package-contents": "^1.0.6", - "@npmcli/promise-spawn": "^1.2.0", - "@npmcli/run-script": "^2.0.0", - "cacache": "^15.0.5", - "chownr": "^2.0.0", - "fs-minipass": "^2.1.0", - "infer-owner": "^1.0.4", - "minipass": "^3.1.3", - "mkdirp": "^1.0.3", - "npm-package-arg": "^8.0.1", - "npm-packlist": "^3.0.0", - "npm-pick-manifest": "^6.0.0", - "npm-registry-fetch": "^12.0.0", - "promise-retry": "^2.0.1", - "read-package-json-fast": "^2.0.1", - "rimraf": "^3.0.2", - "ssri": "^8.0.1", - "tar": "^6.1.0" - }, - "bin": { - "pacote": "lib/bin.js" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16" - } - }, - "node_modules/yeoman-environment/node_modules/parse-conflict-json": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/parse-conflict-json/-/parse-conflict-json-2.0.2.tgz", - "integrity": "sha512-jDbRGb00TAPFsKWCpZZOT93SxVP9nONOSgES3AevqRq/CHvavEBvKAjxX9p5Y5F0RZLxH9Ufd9+RwtCsa+lFDA==", - "dependencies": { - "json-parse-even-better-errors": "^2.3.1", - "just-diff": "^5.0.1", - "just-diff-apply": "^5.2.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/yeoman-environment/node_modules/pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/yeoman-environment/node_modules/pretty-bytes": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", - "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==", + "node_modules/yeoman-environment/node_modules/path-type": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-5.0.0.tgz", + "integrity": "sha512-5HviZNaZcfqP95rwpv+1HDgUamezbqdSYTyzjTvwtJSnIH+3vnbmWsItli8OFEndS984VT55M3jduxZbX351gg==", "engines": { - "node": ">=6" + "node": ">=12" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/yeoman-environment/node_modules/proc-log": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-1.0.0.tgz", - "integrity": "sha512-aCk8AO51s+4JyuYGg3Q/a6gnrlDO09NpVWePtjp7xwphcoQ04x5WAfCyugcsbLooWcMJ87CLkD4+604IckEdhg==" - }, - "node_modules/yeoman-environment/node_modules/read-cmd-shim": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/read-cmd-shim/-/read-cmd-shim-3.0.1.tgz", - "integrity": "sha512-kEmDUoYf/CDy8yZbLTmhB1X9kkjf9Q80PCNsDMb7ufrGd6zZSQA1+UyjrO+pZm5K/S4OXCWJeiIt1JA8kAsa6g==", - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/yeoman-environment/node_modules/read-package-json-fast": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/read-package-json-fast/-/read-package-json-fast-2.0.3.tgz", - "integrity": "sha512-W/BKtbL+dUjTuRL2vziuYhp76s5HZ9qQhd/dKfWIZveD0O40453QNyZhC0e63lqZrAQ4jiOapVoeJ7JrszenQQ==", - "dependencies": { - "json-parse-even-better-errors": "^2.3.0", - "npm-normalize-package-bin": "^1.0.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/yeoman-environment/node_modules/replace-ext": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.1.tgz", - "integrity": "sha512-yD5BHCe7quCgBph4rMQ+0KkIRKwWCrHDOX1p1Gp6HwjPM5kVoCdKGNhN7ydqqsX6lJEnQDKZ/tFMiEdQ1dvPEw==", - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/yeoman-environment/node_modules/run-async": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", - "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/yeoman-environment/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "node_modules/yeoman-environment/node_modules/scoped-regex": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/scoped-regex/-/scoped-regex-2.1.0.tgz", - "integrity": "sha512-g3WxHrqSWCZHGHlSrF51VXFdjImhwvH8ZO/pryFH56Qi0cDsZfylQa/t0jCzVQFNbNvM00HfHjkDPEuarKDSWQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/yeoman-environment/node_modules/signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" - }, - "node_modules/yeoman-environment/node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "engines": { - "node": ">=8" - } - }, - "node_modules/yeoman-environment/node_modules/socks-proxy-agent": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.2.1.tgz", - "integrity": "sha512-a6KW9G+6B3nWZ1yB8G7pJwL3ggLy1uTzKAgCb7ttblwqdz9fMGJUuTy3uFzEP48FAs9FLILlmzDlE2JJhVQaXQ==", - "dependencies": { - "agent-base": "^6.0.2", - "debug": "^4.3.3", - "socks": "^2.6.2" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/yeoman-environment/node_modules/ssri": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz", - "integrity": "sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==", - "dependencies": { - "minipass": "^3.1.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/yeoman-environment/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/yeoman-environment/node_modules/strip-bom": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", - "integrity": "sha512-kwrX1y7czp1E69n2ajbG65mIo9dqvJ+8aBQXOGVxqwvNbsXdFM6Lq37dLAY3mknUwru8CfcCbfOLL/gMo+fi3g==", - "dependencies": { - "is-utf8": "^0.2.0" - }, + "node_modules/yeoman-environment/node_modules/untildify": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/untildify/-/untildify-5.0.0.tgz", + "integrity": "sha512-bOgQLUnd2G5rhzaTvh1VCI9Fo6bC5cLTpH17T5aFfamyXFYDbbdzN6IXdeoc3jBS7T9hNTmJtYUzJCJ2Xlc9gA==", "engines": { - "node": ">=0.10.0" + "node": ">=16" } }, - "node_modules/yeoman-environment/node_modules/strip-bom-buf": { + "node_modules/yeoman-environment/node_modules/yocto-queue": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-bom-buf/-/strip-bom-buf-1.0.0.tgz", - "integrity": "sha512-1sUIL1jck0T1mhOLP2c696BIznzT525Lkub+n4jjMHjhjhoAQA6Ye659DxdlZBr0aLDMQoTxKIpnlqxgtwjsuQ==", - "dependencies": { - "is-utf8": "^0.2.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/yeoman-environment/node_modules/strip-bom-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-bom-stream/-/strip-bom-stream-2.0.0.tgz", - "integrity": "sha512-yH0+mD8oahBZWnY43vxs4pSinn8SMKAdml/EOGBewoe1Y0Eitd0h2Mg3ZRiXruUW6L4P+lvZiEgbh0NgUGia1w==", - "dependencies": { - "first-chunk-stream": "^2.0.0", - "strip-bom": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/yeoman-environment/node_modules/strip-final-newline": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", - "engines": { - "node": ">=6" - } - }, - "node_modules/yeoman-environment/node_modules/treeverse": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/treeverse/-/treeverse-1.0.4.tgz", - "integrity": "sha512-whw60l7r+8ZU8Tu/Uc2yxtc4ZTZbR/PF3u1IPNKGQ6p8EICLb3Z2lAgoqw9bqYd8IkgnsaOcLzYHFckjqNsf0g==" - }, - "node_modules/yeoman-environment/node_modules/unique-filename": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", - "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", - "dependencies": { - "unique-slug": "^2.0.0" - } - }, - "node_modules/yeoman-environment/node_modules/unique-slug": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", - "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", - "dependencies": { - "imurmurhash": "^0.1.4" - } - }, - "node_modules/yeoman-environment/node_modules/vinyl": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-2.2.1.tgz", - "integrity": "sha512-LII3bXRFBZLlezoG5FfZVcXflZgWP/4dCwKtxd5ky9+LOtM4CS3bIRQsmR1KMnMW07jpE8fqR2lcxPZ+8sJIcw==", - "dependencies": { - "clone": "^2.1.1", - "clone-buffer": "^1.0.0", - "clone-stats": "^1.0.0", - "cloneable-readable": "^1.0.0", - "remove-trailing-separator": "^1.0.1", - "replace-ext": "^1.0.0" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/yeoman-environment/node_modules/vinyl-file": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/vinyl-file/-/vinyl-file-3.0.0.tgz", - "integrity": "sha512-BoJDj+ca3D9xOuPEM6RWVtWQtvEPQiQYn82LvdxhLWplfQsBzBqtgK0yhCP0s1BNTi6dH9BO+dzybvyQIacifg==", - "dependencies": { - "graceful-fs": "^4.1.2", - "pify": "^2.3.0", - "strip-bom-buf": "^1.0.0", - "strip-bom-stream": "^2.0.0", - "vinyl": "^2.0.1" - }, + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.0.0.tgz", + "integrity": "sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==", "engines": { - "node": ">=4" - } - }, - "node_modules/yeoman-environment/node_modules/walk-up-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/walk-up-path/-/walk-up-path-1.0.0.tgz", - "integrity": "sha512-hwj/qMDUEjCU5h0xr90KGCf0tg0/LgJbmOWgrWKYlcJZM7XvquvUJZ0G/HMGr7F7OQMOUuPHWP9JpriinkAlkg==" - }, - "node_modules/yeoman-environment/node_modules/write-file-atomic": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", - "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", - "dependencies": { - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.7" + "node": ">=12.20" }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/yeoman-generator": { diff --git a/package.json b/package.json index 56fe0d0f0..cb4c33eab 100644 --- a/package.json +++ b/package.json @@ -64,7 +64,7 @@ "pluralize": "8.0.0", "semver": "7.5.4", "shelljs": "0.8.5", - "yeoman-environment": "3.19.3" + "yeoman-environment": "4.2.1" }, "devDependencies": { "chai": "4.3.10", @@ -89,8 +89,5 @@ "engines": { "node": "^18.13.0 || >= 20.6.1", "npm": ">=7" - }, - "overrides": { - "yeoman-environment": "3.19.3" } } From 90a3397f6e41294fbe0c71f34a99e685b0f16693 Mon Sep 17 00:00:00 2001 From: Hideyuki Kagami Date: Sat, 20 Jan 2024 01:18:42 +0900 Subject: [PATCH 07/70] Re-implementation of generators/project-name --- generators/constants.mjs | 1 + generators/project-name/command.mjs | 8 ++ generators/project-name/generator.mjs | 114 +++++++++++++++++++++ generators/project-name/generator.spec.mjs | 26 +++++ generators/project-name/index.mjs | 2 + 5 files changed, 151 insertions(+) create mode 100644 generators/project-name/command.mjs create mode 100644 generators/project-name/generator.mjs create mode 100644 generators/project-name/generator.spec.mjs create mode 100644 generators/project-name/index.mjs diff --git a/generators/constants.mjs b/generators/constants.mjs index a8a1e246f..c351770fe 100644 --- a/generators/constants.mjs +++ b/generators/constants.mjs @@ -1,3 +1,4 @@ export const REACT_NATIVE_NAMESPACE = 'jhipster-react-native'; export const DEFAULT_REACT_NATIVE_PATH = '../reactNative4j'; export const DEFAULT_BACKEND_PATH = '../backend'; +export const DEFAULT_REACT_NATIVE_APP_NAME = 'RnApp'; diff --git a/generators/project-name/command.mjs b/generators/project-name/command.mjs new file mode 100644 index 000000000..b5a045029 --- /dev/null +++ b/generators/project-name/command.mjs @@ -0,0 +1,8 @@ +/** + * @type {import('generator-jhipster').JHipsterCommandDefinition} + */ +const command = { + options: {}, +}; + +export default command; diff --git a/generators/project-name/generator.mjs b/generators/project-name/generator.mjs new file mode 100644 index 000000000..c918b13a8 --- /dev/null +++ b/generators/project-name/generator.mjs @@ -0,0 +1,114 @@ +import ProjectNameGenerator from 'generator-jhipster/generators/project-name'; +import command from './command.mjs'; +import { DEFAULT_REACT_NATIVE_APP_NAME } from '../constants.mjs'; + +export default class extends ProjectNameGenerator { + constructor(args, opts, features) { + super(args, opts, { checkBlueprint: true, ...features }); + } + + get [ProjectNameGenerator.INITIALIZING]() { + return this.asInitializingTaskGroup({ + ...super.initializing, + async initializingTemplateTask() { + this.parseJHipsterArguments(command.arguments); + this.parseJHipsterOptions(command.options); + }, + defaults() { + if (this.options.defaults || this.options.force) { + this.config.defaults({ + baseName: this.getDefaultReactNativeName(), + }); + } + }, + }); + } + + get [ProjectNameGenerator.PROMPTING]() { + return this.asPromptingTaskGroup({ + ...super.prompting, + + // Replace prompts with custom questions + async showPrompts() { + await this.prompt( + [ + { + name: 'baseName', + type: 'input', + validate: input => this.validateBaseName(input), + message: 'What do you want to name your ReactNative application?', + default: this.getDefaultReactNativeName(), + }, + ], + this.config, + ); + }, + }); + } + + get [ProjectNameGenerator.CONFIGURING]() { + return this.asConfiguringTaskGroup({ + ...super.configuring, + async configuringTemplateTask() {}, + }); + } + + get [ProjectNameGenerator.COMPOSING]() { + return this.asComposingTaskGroup({ + ...super.composing, + async composingTemplateTask() {}, + }); + } + + get [ProjectNameGenerator.LOADING]() { + return this.asLoadingTaskGroup({ + ...super.loading, + async loadingTemplateTask() {}, + }); + } + + get [ProjectNameGenerator.PREPARING]() { + return this.asPreparingTaskGroup({ + ...super.preparing, + async preparingTemplateTask() {}, + }); + } + + get [ProjectNameGenerator.DEFAULT]() { + return this.asDefaultTaskGroup({ + ...super.default, + async defaultTemplateTask() {}, + }); + } + + get [ProjectNameGenerator.WRITING]() { + return this.asWritingTaskGroup({ + ...super.writing, + }); + } + + get [ProjectNameGenerator.POST_WRITING]() { + return this.asPostWritingTaskGroup({ + ...super.postWriting, + async postWritingTemplateTask() {}, + }); + } + + get [ProjectNameGenerator.INSTALL]() { + return this.asInstallTaskGroup({ + ...super.install, + async installTemplateTask() {}, + }); + } + + get [ProjectNameGenerator.END]() { + return this.asEndTaskGroup({ + ...super.end, + async endTemplateTask() {}, + }); + } + + getDefaultReactNativeName() { + return DEFAULT_REACT_NATIVE_APP_NAME; + } +} diff --git a/generators/project-name/generator.spec.mjs b/generators/project-name/generator.spec.mjs new file mode 100644 index 000000000..8dccfc26b --- /dev/null +++ b/generators/project-name/generator.spec.mjs @@ -0,0 +1,26 @@ +import { beforeAll, describe, expect, it } from 'vitest'; + +import { defaultHelpers as helpers, result } from 'generator-jhipster/testing'; + +const SUB_GENERATOR = 'project-name'; +const BLUEPRINT_NAMESPACE = `jhipster:${SUB_GENERATOR}`; + +describe('SubGenerator project-name of react-native JHipster blueprint', () => { + describe('run', () => { + beforeAll(async function () { + await helpers + .run(BLUEPRINT_NAMESPACE) + .withJHipsterConfig() + .withOptions({ + ignoreNeedlesError: true, + blueprint: 'react-native', + }) + .withJHipsterLookup() + .withParentBlueprintLookup(); + }); + + it('should succeed', () => { + expect(result.getStateSnapshot()).toMatchSnapshot(); + }); + }); +}); diff --git a/generators/project-name/index.mjs b/generators/project-name/index.mjs new file mode 100644 index 000000000..3dd0513e5 --- /dev/null +++ b/generators/project-name/index.mjs @@ -0,0 +1,2 @@ +export { default } from './generator.mjs'; +export { default as command } from './command.mjs'; From d16ec34c22bb0a3cea614ddf047b33f1e588dc93 Mon Sep 17 00:00:00 2001 From: Hideyuki Kagami Date: Sat, 20 Jan 2024 01:20:19 +0900 Subject: [PATCH 08/70] fix commands.cjs --- cli/commands.cjs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cli/commands.cjs b/cli/commands.cjs index be7a2842f..3e2a2bb27 100644 --- a/cli/commands.cjs +++ b/cli/commands.cjs @@ -1,5 +1,5 @@ module.exports = { - reactNative: { + 'react-native': { description: 'Run react-native sub-generator (react-native blueprint)', blueprint: 'generator-jhipster-react-native', }, From bf85b751122a480d11ec5daf4216404e19701563 Mon Sep 17 00:00:00 2001 From: Hideyuki Kagami Date: Sat, 20 Jan 2024 01:23:20 +0900 Subject: [PATCH 09/70] adjust generators/app --- generators/app/generator.mjs | 2 +- generators/app/prompts.js | 101 ----------------------------------- 2 files changed, 1 insertion(+), 102 deletions(-) delete mode 100644 generators/app/prompts.js diff --git a/generators/app/generator.mjs b/generators/app/generator.mjs index df5f09b6b..e01b9aa9b 100644 --- a/generators/app/generator.mjs +++ b/generators/app/generator.mjs @@ -53,7 +53,7 @@ export default class extends BaseApplicationGenerator { if (this.jhipsterConfig.applicationType === 'microservice') return; const reactNativeDir = this.destinationPath(this.blueprintConfig.reactNativeDir); const appDir = relative(reactNativeDir, this.destinationPath()); - await this.composeWithJHipster(`${REACT_NATIVE_NAMESPACE}:reactNative`, { + await this.composeWithJHipster(`${REACT_NATIVE_NAMESPACE}:react-native`, { generatorOptions: { destinationRoot: reactNativeDir, appDir, diff --git a/generators/app/prompts.js b/generators/app/prompts.js deleted file mode 100644 index 7e1d68432..000000000 --- a/generators/app/prompts.js +++ /dev/null @@ -1,101 +0,0 @@ -import path from 'path'; -import shelljs from 'shelljs'; - -import { getAppFolder } from '../../lib/index.js'; - -export { - askNamePrompt, - askDetoxPrompt, - askBackendPrompt, -}; - -function checkForApp(input) { - const path = this.destinationPath(input); - if (shelljs.test('-d', path)) { - const appsFolders = getAppFolder.call(this, input); - if (appsFolders.length === 0) { - return `No application found in ${path}`; - } - return true; - } - return `${path} is not a directory or doesn't exist`; -} - -async function askNamePrompt(meta) { - // if (!meta) return; - if (this.options.defaults) { - this.context.reactNativeAppName = 'RnApp'; - return; - } - if (this.context.reactNativeAppName) { - return; - } - - const prompts = [ - { - type: 'input', - name: 'appName', - message: 'What do you want to name your React Native application?', - default: 'RnApp', - validate: input => { - if (!/^([a-zA-Z0-9_]*)$/.test(input)) { - return 'Your base name cannot contain special characters or a blank space'; - } - return true; - }, - }, - ]; - - // if (meta) return prompts; // eslint-disable-line consistent-return - - const props = await this.prompt(prompts); - this.context.reactNativeAppName = props.appName; -} -async function askDetoxPrompt(meta) { - if (this.options.defaults) { - this.context.detox = true; - return; - } - if (this.context.detox !== null && this.context.detox !== undefined) { - return; - } - // if (!meta) return; - const prompts = [ - { - type: 'confirm', - name: 'detox', - message: 'Do you want to enable end-to-end tests with Detox?', - default: false, - }, - ]; - // if (meta) return prompts; // eslint-disable-line consistent-return - - const props = await this.prompt(prompts); - this.context.detox = props.detox; -} -async function askBackendPrompt(meta) { - // if (!meta) return; - if (this.existingProject) return; - - if (this.options.defaults) { - this.directoryPath = path.resolve('../backend'); - return; - } - if (this.options.fromJdl) { - return; - } - - const prompts = [ - { - type: 'input', - name: 'directoryPath', - message: 'Enter the directory where your JHipster app is located:', - default: '../backend', - validate: checkForApp.bind(this), - }, - ]; - // if (meta) return prompts; // eslint-disable-line consistent-return - - const props = await this.prompt(prompts); - this.directoryPath = path.resolve(props.directoryPath); -} From 47b7a0d93eba1b8f412165db9f2751a626852077 Mon Sep 17 00:00:00 2001 From: Hideyuki Kagami Date: Sat, 20 Jan 2024 01:25:31 +0900 Subject: [PATCH 10/70] Re-implementation of generators/react-native --- generators/react-native/command.mjs | 34 ++ generators/react-native/entity-files.mjs | 6 +- generators/react-native/files.mjs | 28 +- generators/react-native/generator.mjs | 346 +++++++++++++++++++++ generators/react-native/generator.spec.mjs | 63 ++++ generators/react-native/index.mjs | 2 + 6 files changed, 458 insertions(+), 21 deletions(-) create mode 100644 generators/react-native/command.mjs create mode 100644 generators/react-native/generator.mjs create mode 100644 generators/react-native/generator.spec.mjs create mode 100644 generators/react-native/index.mjs diff --git a/generators/react-native/command.mjs b/generators/react-native/command.mjs new file mode 100644 index 000000000..806041f3e --- /dev/null +++ b/generators/react-native/command.mjs @@ -0,0 +1,34 @@ +/** + * @type {import('generator-jhipster').JHipsterCommandDefinition} + */ +const command = { + options: { + skipCommitHook: { + desc: 'Skip adding husky commit hooks', + type: Boolean, + scope: 'storage', + }, + defaults: { + desc: 'Use default options', + type: String, + }, + authenticationType: { + desc: 'Authentication type', + type: String, + }, + baseName: { + desc: 'Base name', + type: String, + }, + appDir: { + desc: 'Directory for JHipster application', + type: String, + }, + standalone: { + desc: 'Skip backend', + type: Boolean, + }, + }, +}; + +export default command; diff --git a/generators/react-native/entity-files.mjs b/generators/react-native/entity-files.mjs index aa2fb224d..98a3ed037 100644 --- a/generators/react-native/entity-files.mjs +++ b/generators/react-native/entity-files.mjs @@ -81,8 +81,4 @@ const files = { ], }; -module.exports = { files, writeFiles }; - -function writeFiles() { - this.writeFilesToDisk(files, this); -} +export default files; diff --git a/generators/react-native/files.mjs b/generators/react-native/files.mjs index 750f6eeb6..f4163aaec 100644 --- a/generators/react-native/files.mjs +++ b/generators/react-native/files.mjs @@ -83,17 +83,17 @@ const files = { { renameTo: () => 'app/shared/images/logo-jhipster.png', - file: generator => `app/shared/images/jhipster_family_member_${generator.hipsterImage}_head.png`, + file: context => `app/shared/images/jhipster_family_member_${context.hipster.slice(-1)}_head.png`, method: 'copy', }, { renameTo: () => 'app/shared/images/logo-jhipster@2x.png', - file: generator => `app/shared/images/jhipster_family_member_${generator.hipsterImage}_head@2x.png`, + file: context => `app/shared/images/jhipster_family_member_${context.hipster.slice(-1)}_head@2x.png`, method: 'copy', }, { renameTo: () => 'app/shared/images/logo-jhipster@3x.png', - file: generator => `app/shared/images/jhipster_family_member_${generator.hipsterImage}_head@3x.png`, + file: context => `app/shared/images/jhipster_family_member_${context.hipster.slice(-1)}_head@3x.png`, method: 'copy', }, { file: 'assets/icon.png', method: 'copy' }, @@ -141,7 +141,7 @@ const files = { ], userManagement: [ { - condition: generator => !generator.context.skipUserManagement, + condition: context => !context.skipUserManagement, templates: [ 'app/modules/account/password-reset/forgot-password-screen.js', 'app/modules/account/password-reset/forgot-password-screen.styles.js', @@ -168,7 +168,7 @@ const files = { ], websockets: [ { - condition: generator => generator.context.websocket === 'spring-websocket', + condition: context => context.websocket === 'spring-websocket', templates: [ 'app/modules/chat/chat-screen.js', 'app/modules/chat/chat-screen.styles.js', @@ -183,11 +183,11 @@ const files = { ], loginScreen: [ { - condition: generator => generator.context.authenticationType !== 'oauth2', + condition: context => context.authenticationType !== 'oauth2', templates: ['app/modules/login/login-screen.js'], }, { - condition: generator => generator.context.authenticationType === 'oauth2', + condition: context => context.authenticationType === 'oauth2', templates: [ { file: 'app/modules/login/login-screen.oauth2.js', @@ -198,7 +198,7 @@ const files = { ], oauth: [ { - condition: generator => generator.context.authenticationType === 'oauth2', + condition: context => context.authenticationType === 'oauth2', templates: [ 'app/shared/fixtures/get-oauth-info.json', 'app/modules/login/login.utils.ts', @@ -210,7 +210,7 @@ const files = { ], detox: [ { - condition: generator => generator.context.detox === true, + condition: context => context.detox === true, templates: [ '.detoxrc.json', 'e2e/environment.js', @@ -222,18 +222,14 @@ const files = { ], }, { - condition: generator => generator.context.detox === true && !generator.context.skipUserManagement, + condition: context => context.detox === true && !context.skipUserManagement, templates: ['e2e/account/change-password-screen.spec.js', 'e2e/account/login-screen.spec.js', 'e2e/account/settings-screen.spec.js'], }, { - condition: generator => generator.context.detox === true && generator.context.websocket, + condition: context => context.detox === true && context.websocket, templates: ['e2e/websockets/chat-screen.spec.js'], }, ], }; -export { files, writeFiles }; - -function writeFiles() { - this.writeFilesToDisk(files, this); -} +export default files; diff --git a/generators/react-native/generator.mjs b/generators/react-native/generator.mjs new file mode 100644 index 000000000..30af2d7c6 --- /dev/null +++ b/generators/react-native/generator.mjs @@ -0,0 +1,346 @@ +import * as _ from 'lodash-es'; +import { relative } from 'node:path'; +import chalk from 'chalk'; +import BaseApplicationGenerator from 'generator-jhipster/generators/base-application'; +import { generateTestEntity } from 'generator-jhipster/generators/client/support'; +import { camelCase, kebabCase, startCase } from 'lodash-es'; +import { createNeedleCallback } from 'generator-jhipster/generators/base/support'; +import command from './command.mjs'; +import { DEFAULT_BACKEND_PATH } from '../constants.mjs'; +import files from './files.mjs'; +import entityFiles from './entity-files.mjs'; + +export default class extends BaseApplicationGenerator { + constructor(args, opts, features) { + super(args, opts, { ...features, sbsBlueprint: true, jhipster7Migration: true }); + + if (this.options.help) return; + + if (this.blueprintConfig.reactNativeDir) { + throw new Error( + 'React Native generator must run in React Native application directory, to regenerate backend execute `jhipster-reactNative app`', + ); + } + + this.reactNativeStorage = this.blueprintStorage; + this.reactNativeConfig = this.blueprintConfig; + + // Set defaultIndent to 2 to hide prompt + this.jhipsterConfig.prettierDefaultIndent = 2; + + if (this.options.standalone) { + this.reactNativeConfig.appDir = false; + } + if (this.options.appDir !== undefined) { + this.reactNativeConfig.appDir = this.options.appDir; + } + if (this.options.baseName !== undefined) { + this.jhipsterConfig.baseName = this.options.baseName; + } + if (this.options.authenticationType !== undefined) { + this.jhipsterConfig.authenticationType = this.options.authenticationType; + } + if (this.options.defaults || this.options.force) { + this.reactNativeStorage.defaults({ appDir: DEFAULT_BACKEND_PATH }); + } + } + + async beforeQueue() { + await this.prompt( + [ + { + type: 'input', + name: 'appDir', + message: 'Enter the directory where your JHipster app is located:', + default: DEFAULT_BACKEND_PATH, + }, + ], + this.reactNativeStorage, + ); + this.reactNativeStorage.defaults({ appDir: DEFAULT_BACKEND_PATH, reactNativeDir: null }); + + if (this.reactNativeConfig.appDir) { + this.addBackendStorages(); + } + + await this.dependsOnJHipster('bootstrap-application'); + await this.dependsOnJHipster('init'); + } + + get [BaseApplicationGenerator.INITIALIZING]() { + return this.asInitializingTaskGroup({ + async initializingTemplateTask() { + this.parseJHipsterCommand(command); + }, + }); + } + + get [BaseApplicationGenerator.CONFIGURING]() { + return this.asConfiguringTaskGroup({ + loadConfigFromBackend() { + if (!this.blueprintConfig.appDir) return; + + try { + this.copyDestination(this.destinationPath(this.blueprintConfig.appDir, '.jhipster', '**'), '.jhipster/'); + } catch { + // No entities. + } + + if (this.backendConfig?.entities && !this.jhipsterConfig.entities) { + this.jhipsterConfig.entities = this.backendConfig.entities; + } + if (this.backendConfig?.baseName && !this.jhipsterConfig.projectName) { + this.jhipsterConfig.projectName = `${startCase(this.backendConfig.baseName)}ReactNative`; + } + if (this.backendConfig?.authenticationType) { + this.jhipsterConfig.authenticationType = this.backendConfig.authenticationType; + } + if (this.jhipsterConfig.enableTranslation === undefined && this.backendConfig?.enableTranslation !== undefined) { + this.jhipsterConfig.enableTranslation = this.backendConfig.enableTranslation; + } + + // Set default baseName. + if (this.backendConfig?.baseName && !this.jhipsterConfig.baseName) { + this.jhipsterConfig.baseName = `${this.backendConfig.baseName}ReactNative`; + } + + if (this.backendConfig?.baseName) { + const reactNativeDir = relative(this.destinationPath(this.reactNativeConfig.appDir), this.destinationPath()); + + // Add back reference + this.backendBlueprintConfig.reactNativeDir = reactNativeDir; + this.backendBlueprintConfig.appDir = null; + } + }, + blueprint() { + // Add blueprint config to generator-jhipster namespace, so we can omit blueprint parameter when executing jhipster command + const reactNativeBlueprints = this.jhipsterConfig.blueprints; + if (!reactNativeBlueprints || !reactNativeBlueprints.find(blueprint => blueprint.name === 'generator-jhipster-react-native')) { + this.jhipsterConfig.blueprints = [...(localBlueprints || []), { name: 'generator-jhipster-react-native' }]; + } + }, + }); + } + + get [BaseApplicationGenerator.WRITING]() { + return this.asWritingTaskGroup({ + async writingTemplateTask({ application }) { + const reactNativePackageVersion = application.blueprints.find(bp => bp.name === 'generator-jhipster-react-native').version; + const reactNativeAppNameKebabCase = _.kebabCase(application.baseName); + await this.writeFiles({ + sections: files, + context: { + ...application, + reactNativePackageVersion, + reactNativeAppNameKebabCase, + }, + }); + + await this.copyTemplateAsync('../resources/base/{**,**/.*}', this.destinationPath()); + + if (application.authenticationTypeJwt) { + await this.copyTemplateAsync('../resources/jwt/{**,**/.*}', this.destinationPath()); + } + + if (application.authenticationTypeOauth2) { + await this.copyTemplateAsync('../resources/oauth2/{**,**/.*}', this.destinationPath()); + } + }, + }); + } + + get [BaseApplicationGenerator.WRITING_ENTITIES]() { + return this.asWritingEntitiesTaskGroup({ + async writeEntities({ application, entities }) { + const { enableTranslation } = application; + await Promise.all( + entities + .filter(entity => !entity.builtIn) + .map(async entity => { + await this.writeFiles({ + sections: entityFiles, + context: { + ...entity, + enableTranslation, + }, + }); + // write client side files for angular + const { entityClassHumanized, entityAngularName, entityFileName, entityFolderName } = entity; + this.editFile( + 'src/app/pages/entities/entities.page.ts', + createNeedleCallback({ + needle: 'jhipster-needle-add-entity-page', + contentToAdd: `{ name: '${entityClassHumanized}', component: '${entityAngularName}Page', route: '${entityFileName}' },`, + contentToCheck: `route: '${entityFileName}'`, + }), + ); + this.editFile( + 'src/app/pages/entities/entities.module.ts', + createNeedleCallback({ + needle: 'jhipster-needle-add-entity-route', + contentToAdd: `{ path: '${entityFileName}', loadChildren: () => import('./${entityFolderName}/${entityFileName}.module').then(m => m.${entityAngularName}PageModule) },`, + contentToCheck: `path: '${entityFileName}'`, + }), + ); + }), + ); + }, + }); + } + + get [BaseApplicationGenerator.POST_WRITING]() { + return this.asPostWritingTaskGroup({ + customizePackageJson({ application }) { + const { baseName } = this.jhipsterConfig; + this.packageJson.merge({ + name: kebabCase(baseName), + scripts: { + 'backend:start': `cd ${this.reactNativeConfig.appDir} && npm run app:start`, + }, + }); + if (application.authenticationTypeJwt) { + this.debug('Removing oauth2 dependencies'); + this.packageJson.set('dependencies', { + ...this.packageJson.get('dependencies'), + '@reactNative/storage': undefined, + '@reactNative/storage-angular': undefined, + 'reactNative-appauth': undefined, + }); + } + if (application.authenticationTypeOauth2) { + this.packageJson.merge({ + jest: { + moduleNameMapper: { + '^@reactNative/storage$': '/node_modules/@reactNative/storage/dist/reactNative-storage.cjs.js', + }, + transformIgnorePatterns: [ + 'node_modules/(?!.*\\.mjs$|@ngrx|@reactNative-native|@reactNative|reactNative-appauth|capacitor-secure-storage-plugin)', + ], + }, + }); + } + }, + }); + } + + get [BaseApplicationGenerator.INSTALL]() { + return this.asInstallTaskGroup({ + async install() { + try { + if (this.env.sharedFs.get(this.destinationPath('package.json'))?.commited) { + await this.spawnCommand('npm', ['install']); + } + } catch (error) { + this.log.error(`Error executing 'npm install', execute by yourself.`); + } + }, + }); + } + + get [BaseApplicationGenerator.END]() { + return this.asEndTaskGroup({ + afterRunHook() { + const changeDirMessage = this.options.fromBackend + ? ` +${chalk.green(` cd ${this.backendBlueprintConfig.reactNativeDir}`)}` + : ''; + this.log(` +React Native for JHipster App created successfully! 🎉 +${chalk.yellowBright("You will need to update your JHipster app's CORS settings when running this app on an emulator or device. ⚠️\n")} +${chalk.yellowBright(' iOS: capacitor://localhost')} +${chalk.yellowBright(' Android: http://localhost')} + +Run the following commands (in separate terminal window) to see everything working:${changeDirMessage} +${chalk.green(` npm run backend:start`)} +${chalk.green(` npm start`)} +`); + }, + }); + } + + /** + * @private + * Update Storages for React Native + */ + addBackendStorages() { + const appYoRc = `${this.blueprintConfig.appDir}/.yo-rc.json`; + this.backendStorage = this.createStorage(appYoRc, 'generator-jhipster', { sorted: true }); + this.backendConfig = this.backendStorage.createProxy(); + this.backendBlueprintStorage = this.createStorage(appYoRc, this.rootGeneratorName(), { sorted: true }); + this.backendBlueprintConfig = this.backendBlueprintStorage.createProxy(); + } + + /** + * @private + * Generate a test entity instance with faked values. + * + * @param {any} references - references to other entities. + * @param {any} additionalFields - additional fields to add to the entity or with default values that overrides generated values. + */ + generateTestEntity(references, additionalFields) { + return generateTestEntity(references, additionalFields); + } + + /** + * private + * Generate Entity Queries for React Native Providers + * + * @param {Array|Object} relationships - array of relationships + * @param {string} entityInstance - entity instance + * @param {string} dto - dto + * @returns {{queries: Array, variables: Array, hasManyToMany: boolean}} + */ + generateEntityQueries(relationships, entityInstance, dto) { + // workaround method being called on initialization + if (!relationships) { + return; + } + const queries = []; + const variables = []; + let hasManyToMany = false; + relationships.forEach(relationship => { + let query; + let variableName; + hasManyToMany = hasManyToMany || relationship.relationshipType === 'many-to-many'; + if (relationship.otherRelationship && relationship.relationshipType === 'one-to-one' && relationship.ownerSide === true) { + variableName = camelCase(relationship.otherEntityNameCapitalizedPlural); + if (variableName === entityInstance) { + variableName += 'Collection'; + } + const relationshipFieldName = `this.${entityInstance}.${relationship.relationshipFieldName}`; + const relationshipFieldNameIdCheck = + dto === 'no' ? `!${relationshipFieldName} || !${relationshipFieldName}.id` : `!${relationshipFieldName}Id`; + + query = `this.${relationship.otherEntityName}Service + .query({filter: '${relationship.otherEntityRelationshipName.toLowerCase()}-is-null'}) + .subscribe(data => { + if (${relationshipFieldNameIdCheck}) { + this.${variableName} = data.body; + } else { + this.${relationship.otherEntityName}Service + .find(${relationshipFieldName}${dto === 'no' ? '.id' : 'Id'}) + .subscribe((subData: HttpResponse<${relationship.otherEntityAngularName}>) => { + this.${variableName} = [subData.body].concat(subData.body); + }, (error) => this.onError(error)); + } + }, (error) => this.onError(error));`; + } else if (relationship.relationshipType !== 'one-to-many') { + variableName = camelCase(relationship.otherEntityNameCapitalizedPlural); + if (variableName === entityInstance) { + variableName += 'Collection'; + } + query = `this.${relationship.otherEntityName}Service.query() + .subscribe(data => { this.${variableName} = data.body; }, (error) => this.onError(error));`; + } + if (variableName && !queries.includes(query)) { + queries.push(query); + variables.push(`${variableName}: ${relationship.otherEntityAngularName}[];`); + } + }); + return { + queries, + variables, + hasManyToMany, + }; + } +} diff --git a/generators/react-native/generator.spec.mjs b/generators/react-native/generator.spec.mjs new file mode 100644 index 000000000..0053a7204 --- /dev/null +++ b/generators/react-native/generator.spec.mjs @@ -0,0 +1,63 @@ +import { beforeAll, describe, expect, it } from 'vitest'; + +import { defaultHelpers as helpers, result } from 'generator-jhipster/testing'; + +const SUB_GENERATOR = 'reactNative'; +const SUB_GENERATOR_NAMESPACE = `jhipster-reactNative:${SUB_GENERATOR}`; + +const expectedJwtFiles = [ + 'src/app/services/auth/auth-jwt.service.ts', + 'src/app/services/auth/auth-jwt.service.spec.ts', + 'src/app/interceptors/auth-expired.interceptor.ts', +]; + +describe('SubGenerator reactNative of reactNative JHipster blueprint', () => { + describe('with jwt authentication', () => { + beforeAll(async function () { + await helpers + .run(SUB_GENERATOR_NAMESPACE) + .withJHipsterConfig() + .withOptions({ + blueprint: 'reactNative', + appDir: false, + baseName: 'jhipster', + ignoreNeedlesError: true, + authenticationType: 'jwt', + }) + .withJHipsterLookup() + .withParentBlueprintLookup(); + }); + + it('should succeed', () => { + expect(result.getStateSnapshot()).toMatchSnapshot(); + }); + + it('should generate app/services/auth/auth-jwt.service.ts', () => { + result.assertFile(expectedJwtFiles); + }); + }); + describe('with oauth2 authentication', () => { + beforeAll(async function () { + await helpers + .run(SUB_GENERATOR_NAMESPACE) + .withJHipsterConfig() + .withOptions({ + blueprint: 'reactNative', + appDir: false, + baseName: 'jhipster', + authenticationType: 'oauth2', + ignoreNeedlesError: true, + }) + .withJHipsterLookup() + .withParentBlueprintLookup(); + }); + + it('should succeed', () => { + expect(result.getStateSnapshot()).toMatchSnapshot(); + }); + + it('should not generate jwt files', () => { + result.assertNoFile(expectedJwtFiles); + }); + }); +}); diff --git a/generators/react-native/index.mjs b/generators/react-native/index.mjs new file mode 100644 index 000000000..3dd0513e5 --- /dev/null +++ b/generators/react-native/index.mjs @@ -0,0 +1,2 @@ +export { default } from './generator.mjs'; +export { default as command } from './command.mjs'; From 5eac40b984075af11dd22f140f70904a012267fe Mon Sep 17 00:00:00 2001 From: Hideyuki Kagami Date: Sat, 20 Jan 2024 01:28:00 +0900 Subject: [PATCH 11/70] rename parameter names of templates --- .../react-native/templates/README.md.ejs | 12 +- .../react-native/templates/app.json.ejs | 8 +- .../templates/app/config/app-config.js.ejs | 4 +- .../templates/app/config/redux-persist.js.ejs | 2 +- .../entities/entity-delete-modal.js.ejs | 30 ++-- .../entities/entity-detail-screen.js.ejs | 84 +++++------ .../modules/entities/entity-e2e-test.js.ejs | 84 +++++------ .../entities/entity-edit-screen.js.ejs | 112 +++++++-------- .../modules/entities/entity-flatlist.js.ejs | 66 ++++----- .../modules/entities/entity-reducer.js.ejs | 132 +++++++++--------- .../entities/entity-reducer.spec.js.ejs | 102 +++++++------- .../app/modules/entities/entity-sagas.js.ejs | 78 +++++------ .../modules/entities/entity-sagas.spec.js.ejs | 58 ++++---- .../entities/fixtures/entity-get.json.ejs | 2 +- .../entities/fixtures/entity-update.json.ejs | 2 +- .../app/modules/home/home-screen.js.ejs | 2 +- .../home/learn-more-links.component.js.ejs | 4 +- .../app/modules/login/login.sagas.js.ejs | 18 +-- .../app/navigation/nav-container.js.ejs | 14 +- .../app/shared/fixtures/login.json.ejs | 4 +- .../app/shared/reducers/create-store.js.ejs | 8 +- .../app/shared/reducers/index.js.ejs | 6 +- .../app/shared/reducers/user.reducer.js.ejs | 22 +-- .../app/shared/sagas/call-api.saga.js.ejs | 4 +- .../templates/app/shared/sagas/index.js.ejs | 12 +- .../app/shared/sagas/startup.saga.js.ejs | 4 +- .../templates/app/shared/services/api.js.ejs | 8 +- .../app/shared/services/fixture-api.js.ejs | 4 +- .../react-native/templates/package.json.ejs | 18 +-- .../modules/login/login.sagas.spec.js.ejs | 12 +- .../shared/reducers/user.reducer.spec.js.ejs | 6 +- .../spec/shared/sagas/user.saga.spec.js.ejs | 2 +- 32 files changed, 462 insertions(+), 462 deletions(-) diff --git a/generators/react-native/templates/README.md.ejs b/generators/react-native/templates/README.md.ejs index a9ad9ef40..f6bb512ed 100644 --- a/generators/react-native/templates/README.md.ejs +++ b/generators/react-native/templates/README.md.ejs @@ -1,5 +1,5 @@ -# <%= context.reactNativeAppName %> -> Generated by [JHipster React Native](https://github.com/jhipster/generator-jhipster-react-native) v<%= context.packageVersion %> +# <%= baseName %> +> Generated by [JHipster React Native](https://github.com/jhipster/generator-jhipster-react-native) v<%= reactNativePackageVersion %>
@@ -13,10 +13,10 @@ JHipster React Native is designed to be used with a JHipster backend. 1. [Getting Started](#getting-started) 2. [Generating Entities](#entities) -<%_ if (context.authenticationType === 'oauth2') { _%> +<%_ if (authenticationType === 'oauth2') { _%> 3. [OAuth2 Configuration](#oauth2-configuration) <%_ } _%> -<%_ if (context.detox) { _%> +<%_ if (detox) { _%> 4. [E2E Tests](#e2e-tests) <%_ } _%> 5. [Tips](#tips) @@ -56,14 +56,14 @@ Or to import JDL: jhipster jdl ``` -<%_ if (context.authenticationType === 'oauth2') { _%> +<%_ if (authenticationType === 'oauth2') { _%> ## OAuth2 Configuration For configuring your redirect URIs, please see [the JHipster React Native OAuth2.0 docs](https://github.com/jhipster/generator-jhipster-react-native/blob/main/docs/oauth2-oidc.md). <%_ } _%> -<%_ if (context.detox) { _%> +<%_ if (detox) { _%> ## E2E Tests See the example end-to-end test in [`e2e/home-screen.spec.js`](e2e/home-screen.spec.js). diff --git a/generators/react-native/templates/app.json.ejs b/generators/react-native/templates/app.json.ejs index dce6c861d..9bc644b7a 100644 --- a/generators/react-native/templates/app.json.ejs +++ b/generators/react-native/templates/app.json.ejs @@ -1,7 +1,7 @@ { "expo": { - "name": "<%= context.reactNativeAppName %>", - "slug": "<%= context.reactNativeAppName %>", + "name": "<%= baseName %>", + "slug": "<%= baseName %>", "version": "1.0.0", "orientation": "portrait", "icon": "./assets/icon.png", @@ -15,7 +15,7 @@ "**/*" ], "ios": { - "bundleIdentifier": "com.anonymous.<%= context.reactNativeAppName %>", + "bundleIdentifier": "com.anonymous.<%= baseName %>", "supportsTablet": true }, "android": { @@ -23,7 +23,7 @@ "foregroundImage": "./assets/adaptive-icon.png", "backgroundColor": "#ffffff" }, - "package": "com.anonymous.<%= context.reactNativeAppName %>" + "package": "com.anonymous.<%= baseName %>" }, "web": { "favicon": "./assets/favicon.png" diff --git a/generators/react-native/templates/app/config/app-config.js.ejs b/generators/react-native/templates/app/config/app-config.js.ejs index 0e87d80b9..d9507b0cb 100644 --- a/generators/react-native/templates/app/config/app-config.js.ejs +++ b/generators/react-native/templates/app/config/app-config.js.ejs @@ -1,4 +1,4 @@ -<%_ if (context.authenticationType === 'oauth2') { _%> +<%_ if (authenticationType === 'oauth2') { _%> import { Platform } from 'react-native'; <%_ } _%> import Constants from 'expo-constants'; @@ -9,7 +9,7 @@ const extra = Constants.manifest?.extra ?? {}; export default { // use 10.0.2.2 for Android to connect to host machine apiUrl: 'http://localhost:8080/', - <%_ if (context.authenticationType === 'oauth2') { _%> + <%_ if (authenticationType === 'oauth2') { _%> // leave blank if using Keycloak nativeClientId: '', // use expo auth proxy with login, disable to enable logout completely from oauth provider diff --git a/generators/react-native/templates/app/config/redux-persist.js.ejs b/generators/react-native/templates/app/config/redux-persist.js.ejs index 4d6a59413..3f5ed1a30 100644 --- a/generators/react-native/templates/app/config/redux-persist.js.ejs +++ b/generators/react-native/templates/app/config/redux-persist.js.ejs @@ -8,7 +8,7 @@ const REDUX_PERSIST = { storeConfig: { key: 'primary', storage: AsyncStorage, - blacklist: ['appState'<%_ if (context.authenticationType === 'oauth2') { _%>, 'authInfo'<%_ } _%>], // reducer keys that you do NOT want stored to persistence here + blacklist: ['appState'<%_ if (authenticationType === 'oauth2') { _%>, 'authInfo'<%_ } _%>], // reducer keys that you do NOT want stored to persistence here // whitelist: [], Optionally, just specify the keys you DO want stored to // persistence. An empty array means 'don't store any reducers' -> infinitered/ignite#409 transforms: [immutablePersistenceTransform] diff --git a/generators/react-native/templates/app/modules/entities/entity-delete-modal.js.ejs b/generators/react-native/templates/app/modules/entities/entity-delete-modal.js.ejs index 81715f090..d4916e46c 100644 --- a/generators/react-native/templates/app/modules/entities/entity-delete-modal.js.ejs +++ b/generators/react-native/templates/app/modules/entities/entity-delete-modal.js.ejs @@ -2,23 +2,23 @@ import React from 'react'; import { TouchableHighlight, Modal, Text, View } from 'react-native'; import { connect } from 'react-redux'; -import <%= context.entityNameCapitalized %>Actions from './<%= context.entityFileName %>.reducer'; +import <%= entityNameCapitalized %>Actions from './<%= entityFileName %>.reducer'; -import styles from './<%= context.entityFileName %>-styles' +import styles from './<%= entityFileName %>-styles' -function <%= context.entityNameCapitalized %>DeleteModal(props) { +function <%= entityNameCapitalized %>DeleteModal(props) { const { visible, setVisible, entity, navigation, testID } = props; const deleteEntity = () => { - props.delete<%= context.entityNameCapitalized %>(entity.id); - navigation.canGoBack() ? navigation.goBack() : navigation.navigate('<%= context.entityNameCapitalized %>'); + props.delete<%= entityNameCapitalized %>(entity.id); + navigation.canGoBack() ? navigation.goBack() : navigation.navigate('<%= entityNameCapitalized %>'); }; return ( - Delete <%= context.entityNameCapitalized %> {entity.id}? + Delete <%= entityNameCapitalized %> {entity.id}? DeleteModal(props) { const mapStateToProps = (state) => { return { - <%= context.entityInstance %>: state.<%= context.entityInstancePlural %>.<%= context.entityInstance %>, - fetching: state.<%= context.entityInstancePlural %>.fetchingOne, - deleting: state.<%= context.entityInstancePlural %>.deleting, - errorDeleting: state.<%= context.entityInstancePlural %>.errorDeleting, + <%= entityInstance %>: state.<%= entityInstancePlural %>.<%= entityInstance %>, + fetching: state.<%= entityInstancePlural %>.fetchingOne, + deleting: state.<%= entityInstancePlural %>.deleting, + errorDeleting: state.<%= entityInstancePlural %>.errorDeleting, }; }; const mapDispatchToProps = (dispatch) => { return { - get<%= context.entityNameCapitalized %>: (id) => dispatch(<%= context.entityNameCapitalized %>Actions.<%= context.entityInstance %>Request(id)), - getAll<%= context.entityNamePlural %>: (options) => dispatch(<%= context.entityNameCapitalized %>Actions.<%= context.entityInstance %>AllRequest(options)), - delete<%= context.entityNameCapitalized %>: (id) => dispatch(<%= context.entityNameCapitalized %>Actions.<%= context.entityInstance %>DeleteRequest(id)), - reset<%= context.entityNamePlural %>: () => dispatch(<%= context.entityNameCapitalized %>Actions.<%= context.entityInstance %>Reset()), + get<%= entityNameCapitalized %>: (id) => dispatch(<%= entityNameCapitalized %>Actions.<%= entityInstance %>Request(id)), + getAll<%= entityNamePlural %>: (options) => dispatch(<%= entityNameCapitalized %>Actions.<%= entityInstance %>AllRequest(options)), + delete<%= entityNameCapitalized %>: (id) => dispatch(<%= entityNameCapitalized %>Actions.<%= entityInstance %>DeleteRequest(id)), + reset<%= entityNamePlural %>: () => dispatch(<%= entityNameCapitalized %>Actions.<%= entityInstance %>Reset()), }; }; -export default connect(mapStateToProps, mapDispatchToProps)(<%= context.entityNameCapitalized %>DeleteModal); +export default connect(mapStateToProps, mapDispatchToProps)(<%= entityNameCapitalized %>DeleteModal); diff --git a/generators/react-native/templates/app/modules/entities/entity-detail-screen.js.ejs b/generators/react-native/templates/app/modules/entities/entity-detail-screen.js.ejs index cdeac7f51..74483c967 100644 --- a/generators/react-native/templates/app/modules/entities/entity-detail-screen.js.ejs +++ b/generators/react-native/templates/app/modules/entities/entity-detail-screen.js.ejs @@ -1,39 +1,39 @@ import React from 'react' -import { ActivityIndicator, ScrollView, Text, <% if (context.fieldsContainImageBlob) { %>Image, <% } %>View } from 'react-native'; +import { ActivityIndicator, ScrollView, Text, <% if (fieldsContainImageBlob) { %>Image, <% } %>View } from 'react-native'; import { connect } from 'react-redux' import { useFocusEffect } from '@react-navigation/native'; -<%_ if (context.fieldsContainLocalDate) { _%> +<%_ if (fieldsContainLocalDate) { _%> import { convertLocalDateToString } from '../../../shared/util/date-transforms' <%_ } _%> -import <%= context.entityNameCapitalized %>Actions from './<%= context.entityFileName %>.reducer' +import <%= entityNameCapitalized %>Actions from './<%= entityFileName %>.reducer' import RoundedButton from '../../../shared/components/rounded-button/rounded-button' -import <%= context.entityNameCapitalized %>DeleteModal from './<%= context.entityFileName %>-delete-modal'; -import styles from './<%= context.entityFileName %>-styles' +import <%= entityNameCapitalized %>DeleteModal from './<%= entityFileName %>-delete-modal'; +import styles from './<%= entityFileName %>-styles' -function <%= context.entityNameCapitalized %>DetailScreen(props) { - const { route, get<%= context.entityNameCapitalized %>, navigation, <%= context.entityInstance %>, fetching, error } = props; +function <%= entityNameCapitalized %>DetailScreen(props) { + const { route, get<%= entityNameCapitalized %>, navigation, <%= entityInstance %>, fetching, error } = props; const [deleteModalVisible, setDeleteModalVisible] = React.useState(false); // prevents display of stale reducer data - const entityId = <%= context.entityInstance %>?.id ?? null; + const entityId = <%= entityInstance %>?.id ?? null; const routeEntityId = route.params?.entityId ?? null; const correctEntityLoaded = routeEntityId && entityId && routeEntityId.toString() === entityId.toString(); useFocusEffect( React.useCallback(() => { if (!routeEntityId) { - navigation.navigate('<%= context.entityNameCapitalized %>'); + navigation.navigate('<%= entityNameCapitalized %>'); } else { setDeleteModalVisible(false); - get<%= context.entityNameCapitalized %>(routeEntityId); + get<%= entityNameCapitalized %>(routeEntityId); } - }, [routeEntityId, get<%= context.entityNameCapitalized %>, navigation]), + }, [routeEntityId, get<%= entityNameCapitalized %>, navigation]), ); if (!entityId && !fetching && error) { return ( - Something went wrong fetching the <%= context.entityNameCapitalized %>. + Something went wrong fetching the <%= entityNameCapitalized %>. ); } @@ -45,60 +45,60 @@ function <%= context.entityNameCapitalized %>DetailScreen(props) { ); } return ( - + Id: - {<%= context.entityInstance %>.id} - <%_ context.fields.filter(field => !field.id).forEach(function (field) { _%> + {<%= entityInstance %>.id} + <%_ fields.filter(field => !field.id).forEach(function (field) { _%> {/* <%= field.fieldNameCapitalized %> Field */} <%= field.fieldNameCapitalized %>: <%_ if (field.fieldType === 'LocalDate') { _%> - {convertLocalDateToString(<%= context.entityInstance %>.<%= field.fieldName %>)} + {convertLocalDateToString(<%= entityInstance %>.<%= field.fieldName %>)} <%_ } else if (field.fieldType === 'ZonedDateTime' || field.fieldType === 'Instant' || field.fieldType === 'Boolean') { _%> - {String(<%= context.entityInstance %>.<%= field.fieldName %>)} + {String(<%= entityInstance %>.<%= field.fieldName %>)} <%_ } else if (field.fieldType === 'byte[]' && field.fieldTypeBlobContent === 'any') { _%> - Open {<%= context.entityInstance %>.<%= field.fieldName %>ContentType} (not implemented) + Open {<%= entityInstance %>.<%= field.fieldName %>ContentType} (not implemented) <%_ } else if (field.fieldType === 'byte[]' && field.fieldTypeBlobContent === 'image') { _%> - {<%= context.entityInstance %>.<%= field.fieldName %>ContentType} + {<%= entityInstance %>.<%= field.fieldName %>ContentType} .<%= field.fieldName %>ContentType};base64,${<%= context.entityInstance %>.<%= field.fieldName %>}` }} + source={{ uri: `data:${<%= entityInstance %>.<%= field.fieldName %>ContentType};base64,${<%= entityInstance %>.<%= field.fieldName %>}` }} /> <%_ } else { _%> - {<%= context.entityInstance %>.<%= field.fieldName %>} + {<%= entityInstance %>.<%= field.fieldName %>} <%_ } _%> <%_ }) _%> - <%_ context.relationships.filter(relation => relation.ownerSide).forEach(function (relation) { _%> + <%_ relationships.filter(relation => relation.ownerSide).forEach(function (relation) { _%> <%= relation.relationshipNameHumanized %>: <%_ if (relation.relationshipType === 'many-to-many') { _%> - {<%= context.entityInstance %>.<%= relation.relationshipNamePlural %> && <%= context.entityInstance %>.<%= relation.relationshipNamePlural %>.map((entity, index) => ( + {<%= entityInstance %>.<%= relation.relationshipNamePlural %> && <%= entityInstance %>.<%= relation.relationshipNamePlural %>.map((entity, index) => ( -${index}`}>{String(entity.<%= relation.otherEntityField %> || '')} ))} <%_ } else { _%> - {String(<%= context.entityInstance %>.<%= relation.relationshipName %> ? <%= context.entityInstance %>.<%= relation.relationshipName %>.<%= relation.otherEntityField %> : '')} + {String(<%= entityInstance %>.<%= relation.relationshipName %> ? <%= entityInstance %>.<%= relation.relationshipName %>.<%= relation.otherEntityField %> : '')} <%_ } _%> <%_ }) _%> navigation.navigate('<%= context.entityNameCapitalized %>Edit', { entityId })} - accessibilityLabel={'<%= context.entityNameCapitalized %> Edit Button'} - testID="<%= context.entityInstance %>EditButton" + onPress={() => navigation.navigate('<%= entityNameCapitalized %>Edit', { entityId })} + accessibilityLabel={'<%= entityNameCapitalized %> Edit Button'} + testID="<%= entityInstance %>EditButton" /> setDeleteModalVisible(true)} - accessibilityLabel={'<%= context.entityNameCapitalized %> Delete Button'} - testID="<%= context.entityInstance %>DeleteButton" + accessibilityLabel={'<%= entityNameCapitalized %> Delete Button'} + testID="<%= entityInstance %>DeleteButton" /> {deleteModalVisible && ( - <<%= context.entityNameCapitalized %>DeleteModal + <<%= entityNameCapitalized %>DeleteModal navigation={navigation} visible={deleteModalVisible} setVisible={setDeleteModalVisible} - entity={<%= context.entityInstance %>} - testID="<%= context.entityInstance %>DeleteModal" + entity={<%= entityInstance %>} + testID="<%= entityInstance %>DeleteModal" /> )} @@ -108,21 +108,21 @@ function <%= context.entityNameCapitalized %>DetailScreen(props) { const mapStateToProps = (state) => { return { - <%= context.entityInstance %>: state.<%= context.entityInstancePlural %>.<%= context.entityInstance %>, - error: state.<%= context.entityInstancePlural %>.errorOne, - fetching: state.<%= context.entityInstancePlural %>.fetchingOne, - deleting: state.<%= context.entityInstancePlural %>.deleting, - errorDeleting: state.<%= context.entityInstancePlural %>.errorDeleting + <%= entityInstance %>: state.<%= entityInstancePlural %>.<%= entityInstance %>, + error: state.<%= entityInstancePlural %>.errorOne, + fetching: state.<%= entityInstancePlural %>.fetchingOne, + deleting: state.<%= entityInstancePlural %>.deleting, + errorDeleting: state.<%= entityInstancePlural %>.errorDeleting } } const mapDispatchToProps = (dispatch) => { return { - get<%= context.entityNameCapitalized %>: (id) => dispatch(<%= context.entityNameCapitalized %>Actions.<%= context.entityInstance %>Request(id)), - getAll<%= context.entityNamePlural %>: (options) => dispatch(<%= context.entityNameCapitalized %>Actions.<%= context.entityInstance %>AllRequest(options)), - delete<%= context.entityNameCapitalized %>: (id) => dispatch(<%= context.entityNameCapitalized %>Actions.<%= context.entityInstance %>DeleteRequest(id)), - reset<%= context.entityNamePlural %>: () => dispatch(<%= context.entityNameCapitalized %>Actions.<%= context.entityInstance %>Reset()), + get<%= entityNameCapitalized %>: (id) => dispatch(<%= entityNameCapitalized %>Actions.<%= entityInstance %>Request(id)), + getAll<%= entityNamePlural %>: (options) => dispatch(<%= entityNameCapitalized %>Actions.<%= entityInstance %>AllRequest(options)), + delete<%= entityNameCapitalized %>: (id) => dispatch(<%= entityNameCapitalized %>Actions.<%= entityInstance %>DeleteRequest(id)), + reset<%= entityNamePlural %>: () => dispatch(<%= entityNameCapitalized %>Actions.<%= entityInstance %>Reset()), } } -export default connect(mapStateToProps, mapDispatchToProps)(<%= context.entityNameCapitalized %>DetailScreen) +export default connect(mapStateToProps, mapDispatchToProps)(<%= entityNameCapitalized %>DetailScreen) diff --git a/generators/react-native/templates/app/modules/entities/entity-e2e-test.js.ejs b/generators/react-native/templates/app/modules/entities/entity-e2e-test.js.ejs index 796a9f4e7..d5d2b4f56 100644 --- a/generators/react-native/templates/app/modules/entities/entity-e2e-test.js.ejs +++ b/generators/react-native/templates/app/modules/entities/entity-e2e-test.js.ejs @@ -1,4 +1,4 @@ -<%_ if (context.fieldsContainDate) { _%> +<%_ if (fieldsContainDate) { _%> const jestExpect = require('expect'); <%_ } _%> const { @@ -10,18 +10,18 @@ const { openAndTapDrawerMenuItemByLabel, waitThenTapButton, waitForElementToBeVisibleById, -<%_ if (context.fieldsContainEnum) { _%> +<%_ if (fieldsContainEnum) { _%> setPickerValue, <%_ } _%> -<%_ if (context.fieldsContainDate) { _%> +<%_ if (fieldsContainDate) { _%> setDateTimePickerValue, <%_ } _%> scrollTo, } = require('../utils'); <%_ -context.resetFakerSeed(`entity-cypress-${context.entityNameCapitalized}`); -const createFakeData = context.generateFakeData('cypress'); -const updateFakeData = context.generateFakeData('cypress'); +resetFakerSeed(`entity-cypress-${entityNameCapitalized}`); +const createFakeData = generateFakeData('cypress'); +const updateFakeData = generateFakeData('cypress'); // used for setting the datepicker date in the expected full ISO format (JS gives a compact version) Date.prototype.toFullISOString = function() { @@ -51,33 +51,33 @@ Date.prototype.toCustomLocalDate = function() { } _%> -describe('<%= context.entityNameCapitalized %> Screen Tests', () => { +describe('<%= entityNameCapitalized %> Screen Tests', () => { beforeEach(async () => { await reloadApp(); await loginAsUser(); - await navigateTo<%= context.entityNameCapitalized %>Screen(); + await navigateTo<%= entityNameCapitalized %>Screen(); }); - const navigateTo<%= context.entityNameCapitalized %>Screen = async () => { + const navigateTo<%= entityNameCapitalized %>Screen = async () => { await openAndTapDrawerMenuItemByLabel('Entities'); await waitForElementToBeVisibleById('entityScreenScrollList') - await scrollTo('<%= context.entityInstance %>EntityScreenButton', 'entityScreenScrollList') - await element(by.id('<%= context.entityInstance %>EntityScreenButton')).tap() - await waitForElementToBeVisibleById('<%= context.entityInstance %>Screen'); + await scrollTo('<%= entityInstance %>EntityScreenButton', 'entityScreenScrollList') + await element(by.id('<%= entityInstance %>EntityScreenButton')).tap() + await waitForElementToBeVisibleById('<%= entityInstance %>Screen'); } - it('should allow you to create, update, and delete the <%= context.entityNameCapitalized %> entity', async () => { - await expect(element(by.id('<%= context.entityInstance %>Screen'))).toBeVisible() + it('should allow you to create, update, and delete the <%= entityNameCapitalized %> entity', async () => { + await expect(element(by.id('<%= entityInstance %>Screen'))).toBeVisible() /* - * Create <%= context.entityNameCapitalized %> + * Create <%= entityNameCapitalized %> */ await tapFirstElementByLabel(' New ') - await waitForElementToBeVisibleById('<%= context.entityInstance %>EditScrollView'); - <%_ context.fields.filter(field => !field.id).forEach((field, index) => { _%> - <%_ let formFieldType = context.getEntityFormFieldType(field); _%> + await waitForElementToBeVisibleById('<%= entityInstance %>EditScrollView'); + <%_ fields.filter(field => !field.id).forEach((field, index) => { _%> + <%_ let formFieldType = getEntityFormFieldType(field); _%> // <%= field.fieldName %> - await scrollTo('<%= field.fieldName %>Input', '<%= context.entityInstance %>EditScrollView') + await scrollTo('<%= field.fieldName %>Input', '<%= entityInstance %>EditScrollView') <%_ if (formFieldType === 'text') { _%> <%_ if (field.fieldType === 'byte[]') { _%> <%_ if (field.fieldTypeBlobContent !== 'text') { _%> @@ -110,17 +110,17 @@ describe('<%= context.entityNameCapitalized %> Screen Tests', () => { <%_ } _%> <%_ }) _%> // save - await scrollTo('submitButton', '<%= context.entityInstance %>EditScrollView') + await scrollTo('submitButton', '<%= entityInstance %>EditScrollView') await waitThenTapButton('submitButton') /* - * View <%= context.entityNameCapitalized %> - validate the creation + * View <%= entityNameCapitalized %> - validate the creation */ - await waitForElementToBeVisibleById('<%= context.entityInstance %>DetailScrollView'); - <%_ context.fields.filter(field => !field.id).forEach((field, index) => { _%> - <%_ let formFieldType = context.getEntityFormFieldType(field); _%> + await waitForElementToBeVisibleById('<%= entityInstance %>DetailScrollView'); + <%_ fields.filter(field => !field.id).forEach((field, index) => { _%> + <%_ let formFieldType = getEntityFormFieldType(field); _%> // <%= field.fieldName %> - await scrollTo('<%= field.fieldName %>', '<%= context.entityInstance %>DetailScrollView') + await scrollTo('<%= field.fieldName %>', '<%= entityInstance %>DetailScrollView') <%_ if (formFieldType === 'text') { _%> <%_ if (field.fieldType === 'byte[]') { _%> <%_ if (field.fieldTypeBlobContent !== 'text') { _%> @@ -149,15 +149,15 @@ describe('<%= context.entityNameCapitalized %> Screen Tests', () => { <%_ }) _%> /* - * Update <%= context.entityNameCapitalized %> + * Update <%= entityNameCapitalized %> */ - await scrollTo('<%= context.entityInstance %>EditButton', '<%= context.entityInstance %>DetailScrollView') - await tapFirstElementByLabel('<%= context.entityNameCapitalized %> Edit Button'); - await waitForElementToBeVisibleById('<%= context.entityInstance %>EditScrollView'); - <%_ context.fields.filter(field => !field.id).forEach((field, index) => { _%> - <%_ let formFieldType = context.getEntityFormFieldType(field); _%> + await scrollTo('<%= entityInstance %>EditButton', '<%= entityInstance %>DetailScrollView') + await tapFirstElementByLabel('<%= entityNameCapitalized %> Edit Button'); + await waitForElementToBeVisibleById('<%= entityInstance %>EditScrollView'); + <%_ fields.filter(field => !field.id).forEach((field, index) => { _%> + <%_ let formFieldType = getEntityFormFieldType(field); _%> // <%= field.fieldName %> - await scrollTo('<%= field.fieldName %>Input', '<%= context.entityInstance %>EditScrollView') + await scrollTo('<%= field.fieldName %>Input', '<%= entityInstance %>EditScrollView') <%_ if (formFieldType === 'text') { _%> <%_ if (field.fieldType === 'byte[]') { _%> <%_ if (field.fieldTypeBlobContent !== 'text') { _%> @@ -190,17 +190,17 @@ describe('<%= context.entityNameCapitalized %> Screen Tests', () => { <%_ } _%> <%_ }) _%> // save - await scrollTo('submitButton', '<%= context.entityInstance %>EditScrollView') + await scrollTo('submitButton', '<%= entityInstance %>EditScrollView') await waitThenTapButton('submitButton') /* - * View <%= context.entityNameCapitalized %> - validate the update + * View <%= entityNameCapitalized %> - validate the update */ - await waitForElementToBeVisibleById('<%= context.entityInstance %>DetailScrollView'); - <%_ context.fields.filter(field => !field.id).forEach((field, index) => { _%> - <%_ let formFieldType = context.getEntityFormFieldType(field); _%> + await waitForElementToBeVisibleById('<%= entityInstance %>DetailScrollView'); + <%_ fields.filter(field => !field.id).forEach((field, index) => { _%> + <%_ let formFieldType = getEntityFormFieldType(field); _%> // <%= field.fieldName %> - await scrollTo('<%= field.fieldName %>', '<%= context.entityInstance %>DetailScrollView') + await scrollTo('<%= field.fieldName %>', '<%= entityInstance %>DetailScrollView') <%_ if (formFieldType === 'text') { _%> <%_ if (field.fieldType === 'byte[]') { _%> <%_ if (field.fieldTypeBlobContent !== 'text') { _%> @@ -231,11 +231,11 @@ describe('<%= context.entityNameCapitalized %> Screen Tests', () => { /* * Delete */ - await scrollTo('<%= context.entityInstance %>DeleteButton', '<%= context.entityInstance %>DetailScrollView') - await waitThenTapButton('<%= context.entityInstance %>DeleteButton'); - await waitForElementToBeVisibleById('<%= context.entityInstance %>DeleteModal'); + await scrollTo('<%= entityInstance %>DeleteButton', '<%= entityInstance %>DetailScrollView') + await waitThenTapButton('<%= entityInstance %>DeleteButton'); + await waitForElementToBeVisibleById('<%= entityInstance %>DeleteModal'); await waitThenTapButton('deleteButton') - await waitForElementToBeVisibleById('<%= context.entityInstance %>Screen'); + await waitForElementToBeVisibleById('<%= entityInstance %>Screen'); /* * Logout diff --git a/generators/react-native/templates/app/modules/entities/entity-edit-screen.js.ejs b/generators/react-native/templates/app/modules/entities/entity-edit-screen.js.ejs index 8734e8b25..2b64f302a 100644 --- a/generators/react-native/templates/app/modules/entities/entity-edit-screen.js.ejs +++ b/generators/react-native/templates/app/modules/entities/entity-edit-screen.js.ejs @@ -1,13 +1,13 @@ import React, { createRef } from 'react'; import { ActivityIndicator, Text, View } from 'react-native'; import { connect } from 'react-redux' -<%_ if (context.validation) { _%> +<%_ if (validation) { _%> import * as Yup from 'yup'; <%_ } _%> -import <%= context.entityNameCapitalized %>Actions from './<%= context.entityFileName %>.reducer' -<%_ /* context.differentRelationships.filter(relation => relation.ownerSide).filter(relation => relation.otherEntityName !== camelCaseName).forEach((relation) => { */ _%> -<%_ context.uniqueOwnerSideRelationships.filter(relation => relation.otherEntityName !== context.entityInstance).forEach((relation) => { _%> +import <%= entityNameCapitalized %>Actions from './<%= entityFileName %>.reducer' +<%_ /* differentRelationships.filter(relation => relation.ownerSide).filter(relation => relation.otherEntityName !== camelCaseName).forEach((relation) => { */ _%> +<%_ uniqueOwnerSideRelationships.filter(relation => relation.otherEntityName !== entityInstance).forEach((relation) => { _%> <%_ if (relation.otherEntityName === 'user') { _%> import UserActions from '../../../shared/reducers/user.reducer' <%_ } else { _%> @@ -19,14 +19,14 @@ import FormButton from '../../../shared/components/form/jhi-form-button'; import FormField from '../../../shared/components/form/jhi-form-field'; import Form from '../../../shared/components/form/jhi-form'; import { useDidUpdateEffect } from '../../../shared/util/use-did-update-effect'; -import styles from './<%= context.entityFileName %>-styles' +import styles from './<%= entityFileName %>-styles' -<%_ if (context.validation) { // start of validation if statement _%> +<%_ if (validation) { // start of validation if statement _%> // set up validation schema for the form const validationSchema = Yup.object().shape({ - <%_ context.fields.filter(field => !field.id).forEach((field) => { // start of fields loop + <%_ fields.filter(field => !field.id).forEach((field) => { // start of fields loop if (field.fieldValidate) { // start of fieldValidate if statement_%> - <%= field.fieldName %>: Yup.<%= context.getFieldValidateType(field.fieldType) %>() + <%= field.fieldName %>: Yup.<%= getFieldValidateType(field.fieldType) %>() <%_field.fieldValidateRules.forEach((rule, index) => { // start of fieldValidateRules loop _%> <%_ if (rule === 'required') { _%> .required() @@ -45,7 +45,7 @@ const validationSchema = Yup.object().shape({ , <%_ } // end of fieldValidate if statement _%> <%_ }) // end of fields loop _%> - <%_ context.relationships.filter(relation => relation.ownerSide).forEach((relation) => { // start of relationships loop + <%_ relationships.filter(relation => relation.ownerSide).forEach((relation) => { // start of relationships loop if (relation.relationshipRequired) { // start of relationshipRequired if statement_%> <%= relation.relationshipName %>: Yup.mixed().required(), <%_ } // end of relationshipValidate if statement _%> @@ -53,7 +53,7 @@ const validationSchema = Yup.object().shape({ }); <%_ } // end of validation if statement _%> -<%_ context.fields.filter(field => !field.id).forEach((field) => { +<%_ fields.filter(field => !field.id).forEach((field) => { if (field.fieldIsEnum) { _%> const <%= field.fieldType %> = [ <%_ @@ -69,19 +69,19 @@ _%> <%_ } // end of if statement }) // end of field loop _%> -function <%= context.entityNameCapitalized %>EditScreen(props) { +function <%= entityNameCapitalized %>EditScreen(props) { const { - get<%= context.entityNameCapitalized %>, - update<%= context.entityNameCapitalized %>, + get<%= entityNameCapitalized %>, + update<%= entityNameCapitalized %>, route, - <%= context.entityInstance %>, + <%= entityInstance %>, fetching, updating, errorUpdating, updateSuccess, navigation, reset, - <%_ context.uniqueOwnerSideRelationships.forEach((relation) => { _%> + <%_ uniqueOwnerSideRelationships.forEach((relation) => { _%> getAll<%= relation.otherEntityNameCapitalizedPlural %>, <%= relation.otherEntityName %>List, <%_ }) _%> @@ -94,27 +94,27 @@ function <%= context.entityNameCapitalized %>EditScreen(props) { React.useEffect(() => { if (!isNewEntity) { - get<%= context.entityNameCapitalized %>(route.params.entityId); + get<%= entityNameCapitalized %>(route.params.entityId); } else { reset(); } - }, [isNewEntity, get<%= context.entityNameCapitalized %>, route, reset]); + }, [isNewEntity, get<%= entityNameCapitalized %>, route, reset]); React.useEffect(() => { if (isNewEntity) { setFormValue(entityToFormValue({})); } else if (!fetching) { - setFormValue(entityToFormValue(<%= context.entityInstance %>)); + setFormValue(entityToFormValue(<%= entityInstance %>)); } - }, [<%= context.entityInstance %>, fetching, isNewEntity]); + }, [<%= entityInstance %>, fetching, isNewEntity]); // fetch related entities React.useEffect(() => { - <%_ context.uniqueOwnerSideRelationships.forEach((relation) => { _%> + <%_ uniqueOwnerSideRelationships.forEach((relation) => { _%> getAll<%= relation.otherEntityNameCapitalizedPlural %>(); <%_ }) _%> }, [ - <%_ context.uniqueOwnerSideRelationships.forEach((relation) => { _%> + <%_ uniqueOwnerSideRelationships.forEach((relation) => { _%> getAll<%= relation.otherEntityNameCapitalizedPlural %>, <%_ }) _%> ]); @@ -125,13 +125,13 @@ function <%= context.entityNameCapitalized %>EditScreen(props) { setError(errorUpdating && errorUpdating.detail ? errorUpdating.detail : 'Something went wrong updating the entity'); } else if (updateSuccess) { setError(''); - isNewEntity || !navigation.canGoBack() ? navigation.replace('<%= context.entityNameCapitalized %>Detail', { entityId: <%= context.entityInstance %>?.id }) : navigation.pop(); + isNewEntity || !navigation.canGoBack() ? navigation.replace('<%= entityNameCapitalized %>Detail', { entityId: <%= entityInstance %>?.id }) : navigation.pop(); } } }, [updateSuccess, errorUpdating, navigation]); -const onSubmit = (data) => update<%= context.entityNameCapitalized %>(formValueToEntity(data)); +const onSubmit = (data) => update<%= entityNameCapitalized %>(formValueToEntity(data)); if (fetching) { return ( @@ -142,13 +142,13 @@ const onSubmit = (data) => update<%= context.entityNameCapitalized %>(formValueT } const formRef = createRef(); - <%_ context.fields.filter(field => !field.id).forEach((field, index) => { _%> + <%_ fields.filter(field => !field.id).forEach((field, index) => { _%> const <%= field.fieldName %>Ref = createRef(); <%_ if (field.fieldType === 'byte[]' && field.fieldTypeBlobContent !== 'text') { _%> const <%= field.fieldName %>ContentTypeRef = createRef(); <%_ } _%> <%_ }) _%> - <%_ context.relationships.filter(relation => relation.ownerSide).forEach((relation, index) => { _%> + <%_ relationships.filter(relation => relation.ownerSide).forEach((relation, index) => { _%> <%_ if (relation.relationshipType === 'many-to-many') { _%> const <%= relation.relationshipNamePlural %>Ref = createRef(); <%_ } else { _%> @@ -160,25 +160,25 @@ const onSubmit = (data) => update<%= context.entityNameCapitalized %>(formValueT {!!error && {error}} {formValue && ( -
validationSchema={validationSchema} <%_ } _%>onSubmit={onSubmit} ref={formRef}> - <%_ context.fields.filter(field => !field.id).forEach((field, index) => { _%> + validationSchema={validationSchema} <%_ } _%>onSubmit={onSubmit} ref={formRef}> + <%_ fields.filter(field => !field.id).forEach((field, index) => { _%> <%_ let nextField = null; - if (index !== context.fields.filter(field => !field.id).length - 1) { - nextField = context.fields.filter(field => !field.id)[index + 1]; + if (index !== fields.filter(field => !field.id).length - 1) { + nextField = fields.filter(field => !field.id)[index + 1]; } - const formField = context.getEntityFormField(field, nextField, context.relationships.filter(relation => relation.ownerSide).length); + const formField = getEntityFormField(field, nextField, relationships.filter(relation => relation.ownerSide).length); _%> <%- formField %> <%_ }) _%> - <%_ context.relationships.filter(relation => relation.ownerSide).forEach((relation, index) => { _%> - <%_ const formField = context.getRelationshipFormField(relation); _%> + <%_ relationships.filter(relation => relation.ownerSide).forEach((relation, index) => { _%> + <%_ const formField = getRelationshipFormField(relation); _%> <%- formField %> <%_ }) _%> @@ -197,20 +197,20 @@ const entityToFormValue = (value) => { } return { id: value.id ?? null, - <%_ context.fields.filter(field => !field.id).forEach((field, index) => { _%> + <%_ fields.filter(field => !field.id).forEach((field, index) => { _%> <%= field.fieldName %>: value.<%= field.fieldName %> ?? null, <%_ if (field.fieldType === 'byte[]' && field.fieldTypeBlobContent !== 'text') { _%> <%= field.fieldName %>ContentType: value.<%= field.fieldName %>ContentType ?? null, <%_ } _%> <%_ }) _%> - <%_ context.relationships.filter(relation => relation.ownerSide).forEach((relation, index) => { _%> - <%_ if (context.dto === 'no' || !context.useOldDTOCode) { _%> + <%_ relationships.filter(relation => relation.ownerSide).forEach((relation, index) => { _%> + <%_ if (dto === 'no' || !useOldDTOCode) { _%> <%_ if (relation.relationshipType === 'many-to-many') { _%> <%= relation.relationshipNamePlural %>: value.<%= relation.relationshipNamePlural %>?.map((i) => i.id), <%_ } else { _%> <%= relation.relationshipName %>: (value.<%= relation.relationshipName %> && value.<%= relation.relationshipName %>.id) ? value.<%= relation.relationshipName %>.id : null, <%_ } _%> - <%_ } else if (context.useOldDTOCode) { _%> + <%_ } else if (useOldDTOCode) { _%> <%_ if (relation.relationshipType === 'many-to-many') { _%> <%= relation.relationshipNamePlural %>: value.<%= relation.relationshipNamePlural %>?.map((i) => i.id), <%_ } else { _%> @@ -223,7 +223,7 @@ const entityToFormValue = (value) => { const formValueToEntity = (value) => { const entity = { id: value.id ?? null, - <%_ context.fields.filter(field => !field.id).forEach((field, index) => { _%> + <%_ fields.filter(field => !field.id).forEach((field, index) => { _%> <%_ if (field.fieldType === 'Boolean') { _%> <%= field.fieldName %>: value.<%= field.fieldName %> === null ? false : Boolean(value.<%= field.fieldName %>), <%_ } else { _%> @@ -233,8 +233,8 @@ const formValueToEntity = (value) => { <%= field.fieldName %>ContentType: value.<%= field.fieldName %>ContentType ?? null, <%_ } _%> <%_ }) _%> - <%_ context.relationships.filter(relation => relation.ownerSide).forEach((relation, index) => { _%> - <%_ if (context.useOldDTOCode) { _%> + <%_ relationships.filter(relation => relation.ownerSide).forEach((relation, index) => { _%> + <%_ if (useOldDTOCode) { _%> <%_ if (relation.relationshipType === 'many-to-many') { _%> <%= relation.relationshipNamePlural %>: value.<%= relation.relationshipNamePlural %>.map((i) => ({ id: i })), <%_ } else { _%> @@ -243,8 +243,8 @@ const formValueToEntity = (value) => { <%_ } _%> <%_ }) _%> } - <%_ context.relationships.filter(relation => relation.ownerSide).forEach((relation, index) => { _%> - <%_ if (context.dto === 'no' || !context.useOldDTOCode) { _%> + <%_ relationships.filter(relation => relation.ownerSide).forEach((relation, index) => { _%> + <%_ if (dto === 'no' || !useOldDTOCode) { _%> <%_ if (relation.relationshipType === 'many-to-many') { _%> entity.<%= relation.relationshipNamePlural %> = value.<%= relation.relationshipNamePlural %>.map((id) => ({ id })); <%_ } else { _%> @@ -257,29 +257,29 @@ const formValueToEntity = (value) => { const mapStateToProps = (state) => { return { - <%_ /* context.differentRelationships.filter(relation => relation.ownerSide).forEach((relation) => { */ _%> - <%_ context.uniqueOwnerSideRelationships.forEach((relation) => { _%> + <%_ /* differentRelationships.filter(relation => relation.ownerSide).forEach((relation) => { */ _%> + <%_ uniqueOwnerSideRelationships.forEach((relation) => { _%> <%= relation.otherEntityName %>List: state.<%= relation.otherEntityNamePlural %>.<%= relation.otherEntityName %>List ?? [], <%_ }) _%> - <%= context.entityInstance %>: state.<%= context.entityInstancePlural %>.<%= context.entityInstance %>, - fetching: state.<%= context.entityInstancePlural %>.fetchingOne, - updating: state.<%= context.entityInstancePlural %>.updating, - updateSuccess: state.<%= context.entityInstancePlural %>.updateSuccess, - errorUpdating: state.<%= context.entityInstancePlural %>.errorUpdating + <%= entityInstance %>: state.<%= entityInstancePlural %>.<%= entityInstance %>, + fetching: state.<%= entityInstancePlural %>.fetchingOne, + updating: state.<%= entityInstancePlural %>.updating, + updateSuccess: state.<%= entityInstancePlural %>.updateSuccess, + errorUpdating: state.<%= entityInstancePlural %>.errorUpdating } } const mapDispatchToProps = (dispatch) => { return { - <%_ /* context.differentRelationships.filter(relation => relation.ownerSide).filter(relation => relation.otherEntityName !== camelCaseName).forEach((relation) => { */ _%> - <%_ context.uniqueOwnerSideRelationships.filter(relation => relation.otherEntityName !== context.entityInstance).forEach((relation) => { _%> + <%_ /* differentRelationships.filter(relation => relation.ownerSide).filter(relation => relation.otherEntityName !== camelCaseName).forEach((relation) => { */ _%> + <%_ uniqueOwnerSideRelationships.filter(relation => relation.otherEntityName !== entityInstance).forEach((relation) => { _%> getAll<%= relation.otherEntityNameCapitalizedPlural %>: (options) => dispatch(<%= relation.otherEntityNameCapitalized %>Actions.<%= relation.otherEntityName %>AllRequest(options)), <%_ }) _%> - get<%= context.entityNameCapitalized %>: (id) => dispatch(<%= context.entityNameCapitalized %>Actions.<%= context.entityInstance %>Request(id)), - getAll<%= context.entityNamePlural %>: (options) => dispatch(<%= context.entityNameCapitalized %>Actions.<%= context.entityInstance %>AllRequest(options)), - update<%= context.entityNameCapitalized %>: (<%= context.entityInstance %>) => dispatch(<%= context.entityNameCapitalized %>Actions.<%= context.entityInstance %>UpdateRequest(<%= context.entityInstance %>)), - reset: () => dispatch(<%= context.entityNameCapitalized %>Actions.<%= context.entityInstance %>Reset()), + get<%= entityNameCapitalized %>: (id) => dispatch(<%= entityNameCapitalized %>Actions.<%= entityInstance %>Request(id)), + getAll<%= entityNamePlural %>: (options) => dispatch(<%= entityNameCapitalized %>Actions.<%= entityInstance %>AllRequest(options)), + update<%= entityNameCapitalized %>: (<%= entityInstance %>) => dispatch(<%= entityNameCapitalized %>Actions.<%= entityInstance %>UpdateRequest(<%= entityInstance %>)), + reset: () => dispatch(<%= entityNameCapitalized %>Actions.<%= entityInstance %>Reset()), } } -export default connect(mapStateToProps, mapDispatchToProps)(<%= context.entityNameCapitalized %>EditScreen) +export default connect(mapStateToProps, mapDispatchToProps)(<%= entityNameCapitalized %>EditScreen) diff --git a/generators/react-native/templates/app/modules/entities/entity-flatlist.js.ejs b/generators/react-native/templates/app/modules/entities/entity-flatlist.js.ejs index 972576eb5..d06355aef 100644 --- a/generators/react-native/templates/app/modules/entities/entity-flatlist.js.ejs +++ b/generators/react-native/templates/app/modules/entities/entity-flatlist.js.ejs @@ -2,35 +2,35 @@ import React from 'react' import { FlatList, Text, TouchableOpacity, View } from 'react-native' import { connect } from 'react-redux' import { useFocusEffect } from '@react-navigation/native'; -<%_ if (context.searchEngine) { _%> +<%_ if (searchEngine) { _%> import SearchBar from '../../../shared/components/search-bar/search-bar' <%_ } _%> -import <%= context.entityNameCapitalized %>Actions from './<%= context.entityFileName %>.reducer' -import styles from './<%= context.entityFileName %>-styles' +import <%= entityNameCapitalized %>Actions from './<%= entityFileName %>.reducer' +import styles from './<%= entityFileName %>-styles' import AlertMessage from '../../../shared/components/alert-message/alert-message' -function <%= context.entityNameCapitalized %>Screen(props) { +function <%= entityNameCapitalized %>Screen(props) { const [page, setPage] = React.useState(0); const [sort /*, setSort*/] = React.useState('id,asc'); const [size /*, setSize*/] = React.useState(20); - <%_ if (context.searchEngine) { _%> + <%_ if (searchEngine) { _%> const [searchTerm, setSearchTerm] = React.useState(''); <%_ } _%> - const { <%= context.entityInstance %>, <%= context.entityInstance %>List, getAll<%= context.entityNamePlural %>, fetching } = props; + const { <%= entityInstance %>, <%= entityInstance %>List, getAll<%= entityNamePlural %>, fetching } = props; useFocusEffect( React.useCallback(() => { - console.debug('<%= context.entityNameCapitalized %> entity changed and the list screen is now in focus, refresh'); + console.debug('<%= entityNameCapitalized %> entity changed and the list screen is now in focus, refresh'); setPage(0); - fetch<%= context.entityNamePlural %>(); + fetch<%= entityNamePlural %>(); /* eslint-disable-next-line react-hooks/exhaustive-deps */ - }, [<%= context.entityInstance %>, fetch<%= context.entityNamePlural %>]), + }, [<%= entityInstance %>, fetch<%= entityNamePlural %>]), ); const renderRow = ({ item }) => { return ( - props.navigation.navigate('<%= context.entityNameCapitalized %>Detail', { entityId: item.id })}> + props.navigation.navigate('<%= entityNameCapitalized %>Detail', { entityId: item.id })}> ID: {item.id} {/* {item.description} */} @@ -40,24 +40,24 @@ function <%= context.entityNameCapitalized %>Screen(props) { } // Render a header - <%_ if (context.searchEngine) { _%> + <%_ if (searchEngine) { _%> const renderHeader = () => <%_ } _%> // Show this when data is empty const renderEmpty = () => - + const keyExtractor = (item, index) => `${index}` // How many items should be kept im memory as we scroll? const oneScreensWorth = 20 - <%_ if (context.searchEngine) { _%> + <%_ if (searchEngine) { _%> const cancelSearch = () => { setSearchTerm('') - fetch<%= context.entityNamePlural %>() + fetch<%= entityNamePlural %>() } const performSearch = (query) => { @@ -69,33 +69,33 @@ function <%= context.entityNameCapitalized %>Screen(props) { props.performSearch(query) } <%_ } _%> - const fetch<%= context.entityNamePlural %> = React.useCallback(() => { - getAll<%= context.entityNamePlural %>({ page: page - 1, sort, size }); - }, [getAll<%= context.entityNamePlural %>, page, sort, size]); + const fetch<%= entityNamePlural %> = React.useCallback(() => { + getAll<%= entityNamePlural %>({ page: page - 1, sort, size }); + }, [getAll<%= entityNamePlural %>, page, sort, size]); const handleLoadMore = () => { - <%_ if (context.pagination === 'no') { _%> - if (<%= context.entityInstance %>List.length) { + <%_ if (pagination === 'no') { _%> + if (<%= entityInstance %>List.length) { <%_ } else { _%> if (page < props.links.next || props.links.next === undefined || fetching) { <%_ } _%> return } setPage(page + 1) - fetch<%= context.entityNamePlural %>() + fetch<%= entityNamePlural %>() } return ( - + List} + data={<%= entityInstance %>List} renderItem={renderRow} keyExtractor={keyExtractor} initialNumToRender={oneScreensWorth} onEndReached={handleLoadMore} ListEmptyComponent={renderEmpty} - <%_ if (context.searchEngine) { _%> + <%_ if (searchEngine) { _%> ListHeaderComponent={renderHeader} <%_ } _%> /> @@ -106,23 +106,23 @@ function <%= context.entityNameCapitalized %>Screen(props) { const mapStateToProps = (state) => { return { // ...redux state to props here - <%= context.entityInstance %>List: state.<%= context.entityInstancePlural %>.<%= context.entityInstance %>List, - <%= context.entityInstance %>: state.<%= context.entityInstancePlural %>.<%= context.entityInstance %>, - fetching: state.<%= context.entityInstancePlural %>.fetchingAll, - error: state.<%= context.entityInstancePlural %>.errorAll, - <%_ if (context.pagination !== 'no') { _%> - links: state.<%= context.entityInstancePlural %>.links, + <%= entityInstance %>List: state.<%= entityInstancePlural %>.<%= entityInstance %>List, + <%= entityInstance %>: state.<%= entityInstancePlural %>.<%= entityInstance %>, + fetching: state.<%= entityInstancePlural %>.fetchingAll, + error: state.<%= entityInstancePlural %>.errorAll, + <%_ if (pagination !== 'no') { _%> + links: state.<%= entityInstancePlural %>.links, <%_ } _%> } } const mapDispatchToProps = (dispatch) => { return { - <%_ if (context.searchEngine) { _%> - performSearch: (query) => dispatch(<%= context.entityNameCapitalized %>Actions.<%= context.entityInstance %>SearchRequest(query)), + <%_ if (searchEngine) { _%> + performSearch: (query) => dispatch(<%= entityNameCapitalized %>Actions.<%= entityInstance %>SearchRequest(query)), <%_ } _%> - getAll<%= context.entityNamePlural %>: (options) => dispatch(<%= context.entityNameCapitalized %>Actions.<%= context.entityInstance %>AllRequest(options)) + getAll<%= entityNamePlural %>: (options) => dispatch(<%= entityNameCapitalized %>Actions.<%= entityInstance %>AllRequest(options)) } } -export default connect(mapStateToProps, mapDispatchToProps)(<%= context.entityNameCapitalized %>Screen) +export default connect(mapStateToProps, mapDispatchToProps)(<%= entityNameCapitalized %>Screen) diff --git a/generators/react-native/templates/app/modules/entities/entity-reducer.js.ejs b/generators/react-native/templates/app/modules/entities/entity-reducer.js.ejs index a9f532aa2..da99696f5 100644 --- a/generators/react-native/templates/app/modules/entities/entity-reducer.js.ejs +++ b/generators/react-native/templates/app/modules/entities/entity-reducer.js.ejs @@ -1,6 +1,6 @@ import { createReducer, createActions } from 'reduxsauce' import Immutable from 'seamless-immutable' -<%_ if (context.pagination !== 'no') { _%> +<%_ if (pagination !== 'no') { _%> import { loadMoreDataWhenScrolled } from '../../../shared/util/pagination-utils' import { parseHeaderForLinks } from '../../../shared/util/url-utils' <%_ } _%> @@ -8,34 +8,34 @@ import { parseHeaderForLinks } from '../../../shared/util/url-utils' /* ------------- Types and Action Creators ------------- */ const { Types, Creators } = createActions({ - <%= context.entityInstance %>Request: ['<%= context.entityInstance %>Id'], - <%= context.entityInstance %>AllRequest: ['options'], - <%= context.entityInstance %>UpdateRequest: ['<%= context.entityInstance %>'], - <%_ if (context.searchEngine) { _%> - <%= context.entityInstance %>SearchRequest: ['query'], + <%= entityInstance %>Request: ['<%= entityInstance %>Id'], + <%= entityInstance %>AllRequest: ['options'], + <%= entityInstance %>UpdateRequest: ['<%= entityInstance %>'], + <%_ if (searchEngine) { _%> + <%= entityInstance %>SearchRequest: ['query'], <%_ } _%> - <%= context.entityInstance %>DeleteRequest: ['<%= context.entityInstance %>Id'], + <%= entityInstance %>DeleteRequest: ['<%= entityInstance %>Id'], - <%= context.entityInstance %>Success: ['<%= context.entityInstance %>'], - <%= context.entityInstance %>AllSuccess: ['<%= context.entityInstance %>List', 'headers'], - <%= context.entityInstance %>UpdateSuccess: ['<%= context.entityInstance %>'], - <%_ if (context.searchEngine) { _%> - <%= context.entityInstance %>SearchSuccess: ['<%= context.entityInstance %>List'], + <%= entityInstance %>Success: ['<%= entityInstance %>'], + <%= entityInstance %>AllSuccess: ['<%= entityInstance %>List', 'headers'], + <%= entityInstance %>UpdateSuccess: ['<%= entityInstance %>'], + <%_ if (searchEngine) { _%> + <%= entityInstance %>SearchSuccess: ['<%= entityInstance %>List'], <%_ } _%> - <%= context.entityInstance %>DeleteSuccess: [], + <%= entityInstance %>DeleteSuccess: [], - <%= context.entityInstance %>Failure: ['error'], - <%= context.entityInstance %>AllFailure: ['error'], - <%= context.entityInstance %>UpdateFailure: ['error'], - <%_ if (context.searchEngine) { _%> - <%= context.entityInstance %>SearchFailure: ['error'], + <%= entityInstance %>Failure: ['error'], + <%= entityInstance %>AllFailure: ['error'], + <%= entityInstance %>UpdateFailure: ['error'], + <%_ if (searchEngine) { _%> + <%= entityInstance %>SearchFailure: ['error'], <%_ } _%> - <%= context.entityInstance %>DeleteFailure: ['error'], + <%= entityInstance %>DeleteFailure: ['error'], - <%= context.entityInstance %>Reset: [] + <%= entityInstance %>Reset: [] }) -export const <%= context.entityNameCapitalized %>Types = Types +export const <%= entityNameCapitalized %>Types = Types export default Creators /* ------------- Initial State ------------- */ @@ -44,21 +44,21 @@ export const INITIAL_STATE = Immutable({ fetchingOne: false, fetchingAll: false, updating: false, - <%_ if (context.searchEngine) { _%> + <%_ if (searchEngine) { _%> searching: false, <%_ } _%> deleting: false, updateSuccess: false, - <%= context.entityInstance %>: {id: undefined}, - <%= context.entityInstance %>List: [], + <%= entityInstance %>: {id: undefined}, + <%= entityInstance %>List: [], errorOne: null, errorAll: null, errorUpdating: null, - <%_ if (context.searchEngine) { _%> + <%_ if (searchEngine) { _%> errorSearching: null, <%_ } _%> errorDeleting: null, - <%_ if (context.pagination !== 'no') { _%> + <%_ if (pagination !== 'no') { _%> links: { next: 0 }, totalItems: 0, <%_ } _%> @@ -71,7 +71,7 @@ export const request = (state) => state.merge({ fetchingOne: true, errorOne: false, - <%= context.entityInstance %>: INITIAL_STATE.<%= context.entityInstance %> + <%= entityInstance %>: INITIAL_STATE.<%= entityInstance %> }) // request the data from an api @@ -87,7 +87,7 @@ export const updateRequest = (state) => updateSuccess: false, updating: true }) -<%_ if (context.searchEngine) { _%> +<%_ if (searchEngine) { _%> // request to search from an api export const searchRequest = (state) => state.merge({ @@ -102,49 +102,49 @@ export const deleteRequest = (state) => // successful api lookup for single entity export const success = (state, action) => { - const { <%= context.entityInstance %> } = action + const { <%= entityInstance %> } = action return state.merge({ fetchingOne: false, errorOne: null, - <%= context.entityInstance %> + <%= entityInstance %> }) } // successful api lookup for all entities export const allSuccess = (state, action) => { - const { <%= context.entityInstance %>List<%_ if (context.pagination !== 'no') { _%>, headers<%_ } _%> } = action - <%_ if (context.pagination !== 'no') { _%> + const { <%= entityInstance %>List<%_ if (pagination !== 'no') { _%>, headers<%_ } _%> } = action + <%_ if (pagination !== 'no') { _%> const links = parseHeaderForLinks(headers.link) <%_ } _%> return state.merge({ fetchingAll: false, errorAll: null, - <%_ if (context.pagination !== 'no') { _%> + <%_ if (pagination !== 'no') { _%> links, totalItems: parseInt(headers['x-total-count'], 10), - <%= context.entityInstance %>List: loadMoreDataWhenScrolled(state.<%= context.entityInstance %>List, <%= context.entityInstance %>List, links), + <%= entityInstance %>List: loadMoreDataWhenScrolled(state.<%= entityInstance %>List, <%= entityInstance %>List, links), <%_ } else { _%> - <%= context.entityInstance %>List + <%= entityInstance %>List <%_ } _%> }) } // successful api update export const updateSuccess = (state, action) => { - const { <%= context.entityInstance %> } = action + const { <%= entityInstance %> } = action return state.merge({ updateSuccess: true, updating: false, errorUpdating: null, - <%= context.entityInstance %> + <%= entityInstance %> }) } -<%_ if (context.searchEngine) { _%> +<%_ if (searchEngine) { _%> // successful api search export const searchSuccess = (state, action) => { - const { <%= context.entityInstance %>List } = action + const { <%= entityInstance %>List } = action return state.merge({ searching: false, errorSearching: null, - <%= context.entityInstance %>List + <%= entityInstance %>List }) } <%_ } _%> @@ -153,7 +153,7 @@ export const deleteSuccess = (state) => { return state.merge({ deleting: false, errorDeleting: null, - <%= context.entityInstance %>: INITIAL_STATE.<%= context.entityInstance %> + <%= entityInstance %>: INITIAL_STATE.<%= entityInstance %> }) } @@ -163,7 +163,7 @@ export const failure = (state, action) => { return state.merge({ fetchingOne: false, errorOne: error, - <%= context.entityInstance %>: INITIAL_STATE.<%= context.entityInstance %> + <%= entityInstance %>: INITIAL_STATE.<%= entityInstance %> }) } // Something went wrong fetching all entities. @@ -172,7 +172,7 @@ export const allFailure = (state, action) => { return state.merge({ fetchingAll: false, errorAll: error, - <%= context.entityInstance %>List: [] + <%= entityInstance %>List: [] }) } // Something went wrong updating. @@ -182,7 +182,7 @@ export const updateFailure = (state, action) => { updateSuccess: false, updating: false, errorUpdating: error, - <%= context.entityInstance %>: state.<%= context.entityInstance %> + <%= entityInstance %>: state.<%= entityInstance %> }) } // Something went wrong deleting. @@ -191,17 +191,17 @@ export const deleteFailure = (state, action) => { return state.merge({ deleting: false, errorDeleting: error, - <%= context.entityInstance %>: state.<%= context.entityInstance %> + <%= entityInstance %>: state.<%= entityInstance %> }) } -<%_ if (context.searchEngine) { _%> +<%_ if (searchEngine) { _%> // Something went wrong searching the entities. export const searchFailure = (state, action) => { const { error } = action return state.merge({ searching: false, errorSearching: error, - <%= context.entityInstance %>List: [] + <%= entityInstance %>List: [] }) } <%_ } _%> @@ -211,28 +211,28 @@ export const reset = (state) => INITIAL_STATE /* ------------- Hookup Reducers To Types ------------- */ export const reducer = createReducer(INITIAL_STATE, { - [Types.<%= context.entityNameSnakeCase.toUpperCase() %>_REQUEST]: request, - [Types.<%= context.entityNameSnakeCase.toUpperCase() %>_ALL_REQUEST]: allRequest, - [Types.<%= context.entityNameSnakeCase.toUpperCase() %>_UPDATE_REQUEST]: updateRequest, - <%_ if (context.searchEngine) { _%> - [Types.<%= context.entityNameSnakeCase.toUpperCase() %>_SEARCH_REQUEST]: searchRequest, + [Types.<%= entityNameSnakeCase.toUpperCase() %>_REQUEST]: request, + [Types.<%= entityNameSnakeCase.toUpperCase() %>_ALL_REQUEST]: allRequest, + [Types.<%= entityNameSnakeCase.toUpperCase() %>_UPDATE_REQUEST]: updateRequest, + <%_ if (searchEngine) { _%> + [Types.<%= entityNameSnakeCase.toUpperCase() %>_SEARCH_REQUEST]: searchRequest, <%_ } _%> - [Types.<%= context.entityNameSnakeCase.toUpperCase() %>_DELETE_REQUEST]: deleteRequest, + [Types.<%= entityNameSnakeCase.toUpperCase() %>_DELETE_REQUEST]: deleteRequest, - [Types.<%= context.entityNameSnakeCase.toUpperCase() %>_SUCCESS]: success, - [Types.<%= context.entityNameSnakeCase.toUpperCase() %>_ALL_SUCCESS]: allSuccess, - [Types.<%= context.entityNameSnakeCase.toUpperCase() %>_UPDATE_SUCCESS]: updateSuccess, - <%_ if (context.searchEngine) { _%> - [Types.<%= context.entityNameSnakeCase.toUpperCase() %>_SEARCH_SUCCESS]: searchSuccess, + [Types.<%= entityNameSnakeCase.toUpperCase() %>_SUCCESS]: success, + [Types.<%= entityNameSnakeCase.toUpperCase() %>_ALL_SUCCESS]: allSuccess, + [Types.<%= entityNameSnakeCase.toUpperCase() %>_UPDATE_SUCCESS]: updateSuccess, + <%_ if (searchEngine) { _%> + [Types.<%= entityNameSnakeCase.toUpperCase() %>_SEARCH_SUCCESS]: searchSuccess, <%_ } _%> - [Types.<%= context.entityNameSnakeCase.toUpperCase() %>_DELETE_SUCCESS]: deleteSuccess, + [Types.<%= entityNameSnakeCase.toUpperCase() %>_DELETE_SUCCESS]: deleteSuccess, - [Types.<%= context.entityNameSnakeCase.toUpperCase() %>_FAILURE]: failure, - [Types.<%= context.entityNameSnakeCase.toUpperCase() %>_ALL_FAILURE]: allFailure, - [Types.<%= context.entityNameSnakeCase.toUpperCase() %>_UPDATE_FAILURE]: updateFailure, - <%_ if (context.searchEngine) { _%> - [Types.<%= context.entityNameSnakeCase.toUpperCase() %>_SEARCH_FAILURE]: searchFailure, + [Types.<%= entityNameSnakeCase.toUpperCase() %>_FAILURE]: failure, + [Types.<%= entityNameSnakeCase.toUpperCase() %>_ALL_FAILURE]: allFailure, + [Types.<%= entityNameSnakeCase.toUpperCase() %>_UPDATE_FAILURE]: updateFailure, + <%_ if (searchEngine) { _%> + [Types.<%= entityNameSnakeCase.toUpperCase() %>_SEARCH_FAILURE]: searchFailure, <%_ } _%> - [Types.<%= context.entityNameSnakeCase.toUpperCase() %>_DELETE_FAILURE]: deleteFailure, - [Types.<%= context.entityNameSnakeCase.toUpperCase() %>_RESET]: reset + [Types.<%= entityNameSnakeCase.toUpperCase() %>_DELETE_FAILURE]: deleteFailure, + [Types.<%= entityNameSnakeCase.toUpperCase() %>_RESET]: reset }) diff --git a/generators/react-native/templates/app/modules/entities/entity-reducer.spec.js.ejs b/generators/react-native/templates/app/modules/entities/entity-reducer.spec.js.ejs index f9cc2aa78..207c0e106 100644 --- a/generators/react-native/templates/app/modules/entities/entity-reducer.spec.js.ejs +++ b/generators/react-native/templates/app/modules/entities/entity-reducer.spec.js.ejs @@ -1,129 +1,129 @@ -import Actions, { reducer, INITIAL_STATE } from '../../../../../app/modules/entities/<%= context.entityFileName %>/<%= context.entityFileName %>.reducer' +import Actions, { reducer, INITIAL_STATE } from '../../../../../app/modules/entities/<%= entityFileName %>/<%= entityFileName %>.reducer' -test('attempt retrieving a single <%= context.entityInstance %>', () => { - const state = reducer(INITIAL_STATE, Actions.<%= context.entityInstance %>Request({ id: 1 })) +test('attempt retrieving a single <%= entityInstance %>', () => { + const state = reducer(INITIAL_STATE, Actions.<%= entityInstance %>Request({ id: 1 })) expect(state.fetchingOne).toBe(true) - expect(state.<%= context.entityInstance %>).toEqual({ id: undefined }) + expect(state.<%= entityInstance %>).toEqual({ id: undefined }) }) -test('attempt retrieving a list of <%= context.entityInstance %>', () => { - const state = reducer(INITIAL_STATE, Actions.<%= context.entityInstance %>AllRequest({ id: 1 })) +test('attempt retrieving a list of <%= entityInstance %>', () => { + const state = reducer(INITIAL_STATE, Actions.<%= entityInstance %>AllRequest({ id: 1 })) expect(state.fetchingAll).toBe(true) - expect(state.<%= context.entityInstance %>List).toEqual([]) + expect(state.<%= entityInstance %>List).toEqual([]) }) -test('attempt updating a <%= context.entityInstance %>', () => { - const state = reducer(INITIAL_STATE, Actions.<%= context.entityInstance %>UpdateRequest({ id: 1 })) +test('attempt updating a <%= entityInstance %>', () => { + const state = reducer(INITIAL_STATE, Actions.<%= entityInstance %>UpdateRequest({ id: 1 })) expect(state.updating).toBe(true) }) -<%_ if (context.searchEngine) { _%> -test('attempt searching a <%= context.entityInstance %>', () => { - const state = reducer(INITIAL_STATE, Actions.<%= context.entityInstance %>SearchRequest(1)) +<%_ if (searchEngine) { _%> +test('attempt searching a <%= entityInstance %>', () => { + const state = reducer(INITIAL_STATE, Actions.<%= entityInstance %>SearchRequest(1)) expect(state.searching).toBe(true) }) <%_ } _%> -test('attempt to deleting a <%= context.entityInstance %>', () => { - const state = reducer(INITIAL_STATE, Actions.<%= context.entityInstance %>DeleteRequest({ id: 1 })) +test('attempt to deleting a <%= entityInstance %>', () => { + const state = reducer(INITIAL_STATE, Actions.<%= entityInstance %>DeleteRequest({ id: 1 })) expect(state.deleting).toBe(true) }) -test('success retrieving a <%= context.entityInstance %>', () => { - const state = reducer(INITIAL_STATE, Actions.<%= context.entityInstance %>Success({ id: 1 })) +test('success retrieving a <%= entityInstance %>', () => { + const state = reducer(INITIAL_STATE, Actions.<%= entityInstance %>Success({ id: 1 })) expect(state.fetchingOne).toBe(false) expect(state.errorOne).toBe(null) - expect(state.<%= context.entityInstance %>).toEqual({ id: 1 }) + expect(state.<%= entityInstance %>).toEqual({ id: 1 }) }) -test('success retrieving a list of <%= context.entityInstance %>', () => { +test('success retrieving a list of <%= entityInstance %>', () => { const state = reducer( INITIAL_STATE, - <%_ if (context.pagination === 'no') { _%> - Actions.<%= context.entityInstance %>AllSuccess([{ id: 1 }, { id: 2 }]), + <%_ if (pagination === 'no') { _%> + Actions.<%= entityInstance %>AllSuccess([{ id: 1 }, { id: 2 }]), <%_ } else { _%> - Actions.<%= context.entityInstance %>AllSuccess([{ id: 1 }, { id: 2 }], { link: '; rel="last",; rel="first"', 'x-total-count': 5}), + Actions.<%= entityInstance %>AllSuccess([{ id: 1 }, { id: 2 }], { link: '; rel="last",; rel="first"', 'x-total-count': 5}), <%_ } _%> ) expect(state.fetchingAll).toBe(false) expect(state.errorAll).toBe(null) - expect(state.<%= context.entityInstance %>List).toEqual([{ id: 1 }, { id: 2 }]) - <%_ if (context.pagination !== 'no') { _%> + expect(state.<%= entityInstance %>List).toEqual([{ id: 1 }, { id: 2 }]) + <%_ if (pagination !== 'no') { _%> expect(state.links).toEqual({ first: 0, last: 1 }) expect(state.totalItems).toEqual(5) <%_ } _%> }) -test('success updating a <%= context.entityInstance %>', () => { - const state = reducer(INITIAL_STATE, Actions.<%= context.entityInstance %>UpdateSuccess({ id: 1 })) +test('success updating a <%= entityInstance %>', () => { + const state = reducer(INITIAL_STATE, Actions.<%= entityInstance %>UpdateSuccess({ id: 1 })) expect(state.updating).toBe(false) expect(state.errorUpdating).toBe(null) - expect(state.<%= context.entityInstance %>).toEqual({ id: 1 }) + expect(state.<%= entityInstance %>).toEqual({ id: 1 }) }) -<%_ if (context.searchEngine) { _%> -test('success searching a <%= context.entityInstance %>', () => { - const state = reducer(INITIAL_STATE, Actions.<%= context.entityInstance %>SearchSuccess({ id: 1 })) +<%_ if (searchEngine) { _%> +test('success searching a <%= entityInstance %>', () => { + const state = reducer(INITIAL_STATE, Actions.<%= entityInstance %>SearchSuccess({ id: 1 })) expect(state.searching).toBe(false) expect(state.errorSearching).toBe(null) - expect(state.<%= context.entityInstance %>List).toEqual({ id: 1 }) + expect(state.<%= entityInstance %>List).toEqual({ id: 1 }) }) <%_ } _%> -test('success deleting a <%= context.entityInstance %>', () => { - const state = reducer(INITIAL_STATE, Actions.<%= context.entityInstance %>DeleteSuccess()) +test('success deleting a <%= entityInstance %>', () => { + const state = reducer(INITIAL_STATE, Actions.<%= entityInstance %>DeleteSuccess()) expect(state.deleting).toBe(false) expect(state.errorDeleting).toBe(null) - expect(state.<%= context.entityInstance %>).toEqual({ id: undefined }) + expect(state.<%= entityInstance %>).toEqual({ id: undefined }) }) -test('failure retrieving a <%= context.entityInstance %>', () => { - const state = reducer(INITIAL_STATE, Actions.<%= context.entityInstance %>Failure({ error: 'Not found' })) +test('failure retrieving a <%= entityInstance %>', () => { + const state = reducer(INITIAL_STATE, Actions.<%= entityInstance %>Failure({ error: 'Not found' })) expect(state.fetchingOne).toBe(false) expect(state.errorOne).toEqual({ error: 'Not found' }) - expect(state.<%= context.entityInstance %>).toEqual({ id: undefined }) + expect(state.<%= entityInstance %>).toEqual({ id: undefined }) }) -test('failure retrieving a list of <%= context.entityInstance %>', () => { - const state = reducer(INITIAL_STATE, Actions.<%= context.entityInstance %>AllFailure({ error: 'Not found' })) +test('failure retrieving a list of <%= entityInstance %>', () => { + const state = reducer(INITIAL_STATE, Actions.<%= entityInstance %>AllFailure({ error: 'Not found' })) expect(state.fetchingAll).toBe(false) expect(state.errorAll).toEqual({ error: 'Not found' }) - expect(state.<%= context.entityInstance %>List).toEqual([]) + expect(state.<%= entityInstance %>List).toEqual([]) }) -test('failure updating a <%= context.entityInstance %>', () => { - const state = reducer(INITIAL_STATE, Actions.<%= context.entityInstance %>UpdateFailure({ error: 'Not found' })) +test('failure updating a <%= entityInstance %>', () => { + const state = reducer(INITIAL_STATE, Actions.<%= entityInstance %>UpdateFailure({ error: 'Not found' })) expect(state.updating).toBe(false) expect(state.errorUpdating).toEqual({ error: 'Not found' }) - expect(state.<%= context.entityInstance %>).toEqual(INITIAL_STATE.<%= context.entityInstance %>) + expect(state.<%= entityInstance %>).toEqual(INITIAL_STATE.<%= entityInstance %>) }) -<%_ if (context.searchEngine) { _%> -test('failure searching a <%= context.entityInstance %>', () => { - const state = reducer(INITIAL_STATE, Actions.<%= context.entityInstance %>SearchFailure({ error: 'Not found' })) +<%_ if (searchEngine) { _%> +test('failure searching a <%= entityInstance %>', () => { + const state = reducer(INITIAL_STATE, Actions.<%= entityInstance %>SearchFailure({ error: 'Not found' })) expect(state.searching).toBe(false) expect(state.errorSearching).toEqual({ error: 'Not found' }) - expect(state.<%= context.entityInstance %>List).toEqual([]) + expect(state.<%= entityInstance %>List).toEqual([]) }) <%_ } _%> -test('failure deleting a <%= context.entityInstance %>', () => { - const state = reducer(INITIAL_STATE, Actions.<%= context.entityInstance %>DeleteFailure({ error: 'Not found' })) +test('failure deleting a <%= entityInstance %>', () => { + const state = reducer(INITIAL_STATE, Actions.<%= entityInstance %>DeleteFailure({ error: 'Not found' })) expect(state.deleting).toBe(false) expect(state.errorDeleting).toEqual({ error: 'Not found' }) - expect(state.<%= context.entityInstance %>).toEqual(INITIAL_STATE.<%= context.entityInstance %>) + expect(state.<%= entityInstance %>).toEqual(INITIAL_STATE.<%= entityInstance %>) }) -test('resetting state for <%= context.entityInstance %>', () => { - const state = reducer({ ...INITIAL_STATE, deleting: true }, Actions.<%= context.entityInstance %>Reset()) +test('resetting state for <%= entityInstance %>', () => { + const state = reducer({ ...INITIAL_STATE, deleting: true }, Actions.<%= entityInstance %>Reset()) expect(state).toEqual(INITIAL_STATE) }) diff --git a/generators/react-native/templates/app/modules/entities/entity-sagas.js.ejs b/generators/react-native/templates/app/modules/entities/entity-sagas.js.ejs index 6d763a3fa..6dfd68373 100644 --- a/generators/react-native/templates/app/modules/entities/entity-sagas.js.ejs +++ b/generators/react-native/templates/app/modules/entities/entity-sagas.js.ejs @@ -1,97 +1,97 @@ import { call, put } from 'redux-saga/effects' import { callApi } from '../../../shared/sagas/call-api.saga' -import <%= context.entityNameCapitalized %>Actions from './<%= context.entityFileName %>.reducer' -<%_ if (context.fieldsContainDate) { _%> +import <%= entityNameCapitalized %>Actions from './<%= entityFileName %>.reducer' +<%_ if (fieldsContainDate) { _%> import { - <%_ if (context.fieldsContainZonedDateTime || context.fieldsContainInstant) { _%> + <%_ if (fieldsContainZonedDateTime || fieldsContainInstant) { _%> convertDateTimeFromServer, <%_ } _%> - <%_ if (context.fieldsContainLocalDate) { _%> + <%_ if (fieldsContainLocalDate) { _%> convertLocalDateFromServer, <%_ } _%> } from '../../../shared/util/date-transforms' <%_ } _%> -function * get<%= context.entityNameCapitalized %> (api, action) { - const { <%= context.entityInstance %>Id } = action +function * get<%= entityNameCapitalized %> (api, action) { + const { <%= entityInstance %>Id } = action // make the call to the api - const apiCall = call(api.get<%= context.entityNameCapitalized %>, <%= context.entityInstance %>Id) + const apiCall = call(api.get<%= entityNameCapitalized %>, <%= entityInstance %>Id) const response = yield call(callApi, apiCall) // success? if (response.ok) { - <%_ if (context.fieldsContainDate) { _%> + <%_ if (fieldsContainDate) { _%> response.data = mapDateFields(response.data) <%_ } _%> - yield put(<%= context.entityNameCapitalized %>Actions.<%= context.entityInstance %>Success(response.data)) + yield put(<%= entityNameCapitalized %>Actions.<%= entityInstance %>Success(response.data)) } else { - yield put(<%= context.entityNameCapitalized %>Actions.<%= context.entityInstance %>Failure(response.data)) + yield put(<%= entityNameCapitalized %>Actions.<%= entityInstance %>Failure(response.data)) } } -function * getAll<%= context.entityNamePlural %> (api, action) { +function * getAll<%= entityNamePlural %> (api, action) { const { options } = action // make the call to the api - const apiCall = call(api.getAll<%= context.entityNamePlural %>, options) + const apiCall = call(api.getAll<%= entityNamePlural %>, options) const response = yield call(callApi, apiCall) // success? if (response.ok) { - yield put(<%= context.entityNameCapitalized %>Actions.<%= context.entityInstance %>AllSuccess(response.data, response.headers)) + yield put(<%= entityNameCapitalized %>Actions.<%= entityInstance %>AllSuccess(response.data, response.headers)) } else { - yield put(<%= context.entityNameCapitalized %>Actions.<%= context.entityInstance %>AllFailure(response.data)) + yield put(<%= entityNameCapitalized %>Actions.<%= entityInstance %>AllFailure(response.data)) } } -function * update<%= context.entityNameCapitalized %> (api, action) { - const { <%= context.entityInstance %> } = action +function * update<%= entityNameCapitalized %> (api, action) { + const { <%= entityInstance %> } = action // make the call to the api - const idIsNotNull = !(<%= context.entityInstance %>.id === null || <%= context.entityInstance %>.id === undefined); - const apiCall = call(idIsNotNull ? api.update<%= context.entityNameCapitalized %> : api.create<%= context.entityNameCapitalized %>, <%= context.entityInstance %>) + const idIsNotNull = !(<%= entityInstance %>.id === null || <%= entityInstance %>.id === undefined); + const apiCall = call(idIsNotNull ? api.update<%= entityNameCapitalized %> : api.create<%= entityNameCapitalized %>, <%= entityInstance %>) const response = yield call(callApi, apiCall) // success? if (response.ok) { - <%_ if (context.fieldsContainDate) { _%> + <%_ if (fieldsContainDate) { _%> response.data = mapDateFields(response.data) <%_ } _%> - yield put(<%= context.entityNameCapitalized %>Actions.<%= context.entityInstance %>UpdateSuccess(response.data)) + yield put(<%= entityNameCapitalized %>Actions.<%= entityInstance %>UpdateSuccess(response.data)) } else { - yield put(<%= context.entityNameCapitalized %>Actions.<%= context.entityInstance %>UpdateFailure(response.data)) + yield put(<%= entityNameCapitalized %>Actions.<%= entityInstance %>UpdateFailure(response.data)) } } -<%_ if (context.searchEngine) { _%> -function * search<%= context.entityNamePlural %> (api, action) { +<%_ if (searchEngine) { _%> +function * search<%= entityNamePlural %> (api, action) { const { query } = action // make the call to the api - const apiCall = call(api.search<%= context.entityNamePlural %>, query) + const apiCall = call(api.search<%= entityNamePlural %>, query) const response = yield call(callApi, apiCall) // success? if (response.ok) { - yield put(<%= context.entityNameCapitalized %>Actions.<%= context.entityInstance %>SearchSuccess(response.data)) + yield put(<%= entityNameCapitalized %>Actions.<%= entityInstance %>SearchSuccess(response.data)) } else { - yield put(<%= context.entityNameCapitalized %>Actions.<%= context.entityInstance %>SearchFailure(response.data)) + yield put(<%= entityNameCapitalized %>Actions.<%= entityInstance %>SearchFailure(response.data)) } } <%_ } _%> -function * delete<%= context.entityNameCapitalized %> (api, action) { - const { <%= context.entityInstance %>Id } = action +function * delete<%= entityNameCapitalized %> (api, action) { + const { <%= entityInstance %>Id } = action // make the call to the api - const apiCall = call(api.delete<%= context.entityNameCapitalized %>, <%= context.entityInstance %>Id) + const apiCall = call(api.delete<%= entityNameCapitalized %>, <%= entityInstance %>Id) const response = yield call(callApi, apiCall) // success? if (response.ok) { - yield put(<%= context.entityNameCapitalized %>Actions.<%= context.entityInstance %>DeleteSuccess()) + yield put(<%= entityNameCapitalized %>Actions.<%= entityInstance %>DeleteSuccess()) } else { - yield put(<%= context.entityNameCapitalized %>Actions.<%= context.entityInstance %>DeleteFailure(response.data)) + yield put(<%= entityNameCapitalized %>Actions.<%= entityInstance %>DeleteFailure(response.data)) } } -<%_ if (context.fieldsContainDate) { _%> +<%_ if (fieldsContainDate) { _%> function mapDateFields (data) { -<%_ context.fields.filter(field => !field.id).forEach(function (field) { _%> +<%_ fields.filter(field => !field.id).forEach(function (field) { _%> <%_ if (field.fieldType === 'LocalDate') { _%> data.<%= field.fieldName %> = convertLocalDateFromServer(data.<%= field.fieldName %>) <%_ } else if (field.fieldType === 'ZonedDateTime' || field.fieldType === 'Instant') { _%> @@ -103,12 +103,12 @@ function mapDateFields (data) { <%_ } _%> export default { - getAll<%= context.entityNamePlural %>, - get<%= context.entityNameCapitalized %>, - delete<%= context.entityNameCapitalized %>, - <%_ if (context.searchEngine) { _%> - search<%= context.entityNamePlural %>, + getAll<%= entityNamePlural %>, + get<%= entityNameCapitalized %>, + delete<%= entityNameCapitalized %>, + <%_ if (searchEngine) { _%> + search<%= entityNamePlural %>, <%_ } _%> - update<%= context.entityNameCapitalized %>, + update<%= entityNameCapitalized %>, }; diff --git a/generators/react-native/templates/app/modules/entities/entity-sagas.spec.js.ejs b/generators/react-native/templates/app/modules/entities/entity-sagas.spec.js.ejs index b31e07a7d..77b312592 100644 --- a/generators/react-native/templates/app/modules/entities/entity-sagas.spec.js.ejs +++ b/generators/react-native/templates/app/modules/entities/entity-sagas.spec.js.ejs @@ -1,99 +1,99 @@ import { put } from 'redux-saga/effects' import FixtureAPI from '../../../../../app/shared/services/fixture-api' -import <%= context.entityNameCapitalized %>Sagas from '../../../../../app/modules/entities/<%= context.entityFileName %>/<%= context.entityFileName %>.sagas' -import <%= context.entityNameCapitalized %>Actions from '../../../../../app/modules/entities/<%= context.entityFileName %>/<%= context.entityFileName %>.reducer' +import <%= entityNameCapitalized %>Sagas from '../../../../../app/modules/entities/<%= entityFileName %>/<%= entityFileName %>.sagas' +import <%= entityNameCapitalized %>Actions from '../../../../../app/modules/entities/<%= entityFileName %>/<%= entityFileName %>.reducer' -const { get<%= context.entityNameCapitalized %>, getAll<%= context.entityNamePlural %>, update<%= context.entityNameCapitalized %>, delete<%= context.entityNameCapitalized %><%= context.searchEngine ? `, search${context.entityNamePlural}` : '' %> } = <%= context.entityNameCapitalized %>Sagas; +const { get<%= entityNameCapitalized %>, getAll<%= entityNamePlural %>, update<%= entityNameCapitalized %>, delete<%= entityNameCapitalized %><%= searchEngine ? `, search${entityNamePlural}` : '' %> } = <%= entityNameCapitalized %>Sagas; const stepper = (fn) => (mock) => fn.next(mock).value test('get success path', () => { - const response = FixtureAPI.get<%= context.entityNameCapitalized %>(1) - const step = stepper(get<%= context.entityNameCapitalized %>(FixtureAPI, { <%= context.entityInstance %>Id: { id: 1 } })) + const response = FixtureAPI.get<%= entityNameCapitalized %>(1) + const step = stepper(get<%= entityNameCapitalized %>(FixtureAPI, { <%= entityInstance %>Id: { id: 1 } })) // Step 1: Hit the api step() // Step 2: Successful return and data! - expect(step(response)).toEqual(put(<%= context.entityNameCapitalized %>Actions.<%= context.entityInstance %>Success(response.data))) + expect(step(response)).toEqual(put(<%= entityNameCapitalized %>Actions.<%= entityInstance %>Success(response.data))) }) test('get failure path', () => { const response = { ok: false } - const step = stepper(get<%= context.entityNameCapitalized %>(FixtureAPI, { <%= context.entityInstance %>Id: { id: 1 } })) + const step = stepper(get<%= entityNameCapitalized %>(FixtureAPI, { <%= entityInstance %>Id: { id: 1 } })) // Step 1: Hit the api step() // Step 2: Failed response. - expect(step(response)).toEqual(put(<%= context.entityNameCapitalized %>Actions.<%= context.entityInstance %>Failure())) + expect(step(response)).toEqual(put(<%= entityNameCapitalized %>Actions.<%= entityInstance %>Failure())) }) test('getAll success path', () => { - const response = FixtureAPI.getAll<%= context.entityNamePlural %>() - const step = stepper(getAll<%= context.entityNamePlural %>(FixtureAPI, { options: { page: 0, sort: 'id,asc', size: 20 } })) + const response = FixtureAPI.getAll<%= entityNamePlural %>() + const step = stepper(getAll<%= entityNamePlural %>(FixtureAPI, { options: { page: 0, sort: 'id,asc', size: 20 } })) // Step 1: Hit the api step() // Step 2: Successful return and data! - expect(step(response)).toEqual(put(<%= context.entityNameCapitalized %>Actions.<%= context.entityInstance %>AllSuccess([{ id: 1 }, { id: 2 }]))) + expect(step(response)).toEqual(put(<%= entityNameCapitalized %>Actions.<%= entityInstance %>AllSuccess([{ id: 1 }, { id: 2 }]))) }) test('getAll failure path', () => { const response = { ok: false } - const step = stepper(getAll<%= context.entityNamePlural %>(FixtureAPI, { options: { page: 0, sort: 'id,asc', size: 20 } })) + const step = stepper(getAll<%= entityNamePlural %>(FixtureAPI, { options: { page: 0, sort: 'id,asc', size: 20 } })) // Step 1: Hit the api step() // Step 2: Failed response. - expect(step(response)).toEqual(put(<%= context.entityNameCapitalized %>Actions.<%= context.entityInstance %>AllFailure())) + expect(step(response)).toEqual(put(<%= entityNameCapitalized %>Actions.<%= entityInstance %>AllFailure())) }) test('update success path', () => { - const response = FixtureAPI.update<%= context.entityNameCapitalized %>({ id: 1 }) - const step = stepper(update<%= context.entityNameCapitalized %>(FixtureAPI, { <%= context.entityInstance %>: { id: 1 } })) + const response = FixtureAPI.update<%= entityNameCapitalized %>({ id: 1 }) + const step = stepper(update<%= entityNameCapitalized %>(FixtureAPI, { <%= entityInstance %>: { id: 1 } })) // Step 1: Hit the api step() // Step 2: Successful return and data! - expect(step(response)).toEqual(put(<%= context.entityNameCapitalized %>Actions.<%= context.entityInstance %>UpdateSuccess(response.data))) + expect(step(response)).toEqual(put(<%= entityNameCapitalized %>Actions.<%= entityInstance %>UpdateSuccess(response.data))) }) test('update failure path', () => { const response = { ok: false } - const step = stepper(update<%= context.entityNameCapitalized %>(FixtureAPI, { <%= context.entityInstance %>: { id: 1 } })) + const step = stepper(update<%= entityNameCapitalized %>(FixtureAPI, { <%= entityInstance %>: { id: 1 } })) // Step 1: Hit the api step() // Step 2: Failed response. - expect(step(response)).toEqual(put(<%= context.entityNameCapitalized %>Actions.<%= context.entityInstance %>UpdateFailure())) + expect(step(response)).toEqual(put(<%= entityNameCapitalized %>Actions.<%= entityInstance %>UpdateFailure())) }) -<%_ if (context.searchEngine) { _%> +<%_ if (searchEngine) { _%> test('search success path', () => { - const response = FixtureAPI.search<%= context.entityNamePlural %>() - const step = stepper(search<%= context.entityNamePlural %>(FixtureAPI, '*')) + const response = FixtureAPI.search<%= entityNamePlural %>() + const step = stepper(search<%= entityNamePlural %>(FixtureAPI, '*')) // Step 1: Hit the api step() // Step 2: Successful return and data! - expect(step(response)).toEqual(put(<%= context.entityNameCapitalized %>Actions.<%= context.entityInstance %>SearchSuccess([{ id: 1 }, { id: 2 }]))) + expect(step(response)).toEqual(put(<%= entityNameCapitalized %>Actions.<%= entityInstance %>SearchSuccess([{ id: 1 }, { id: 2 }]))) }) test('search failure path', () => { const response = { ok: false } - const step = stepper(search<%= context.entityNamePlural %>(FixtureAPI, '*')) + const step = stepper(search<%= entityNamePlural %>(FixtureAPI, '*')) // Step 1: Hit the api step() // Step 2: Failed response. - expect(step(response)).toEqual(put(<%= context.entityNameCapitalized %>Actions.<%= context.entityInstance %>SearchFailure())) + expect(step(response)).toEqual(put(<%= entityNameCapitalized %>Actions.<%= entityInstance %>SearchFailure())) }) <%_ } _%> test('delete success path', () => { - const response = FixtureAPI.delete<%= context.entityNameCapitalized %>({ id: 1 }) - const step = stepper(delete<%= context.entityNameCapitalized %>(FixtureAPI, { <%= context.entityInstance %>Id: { id: 1 } })) + const response = FixtureAPI.delete<%= entityNameCapitalized %>({ id: 1 }) + const step = stepper(delete<%= entityNameCapitalized %>(FixtureAPI, { <%= entityInstance %>Id: { id: 1 } })) // Step 1: Hit the api step() // Step 2: Successful return and data! - expect(step(response)).toEqual(put(<%= context.entityNameCapitalized %>Actions.<%= context.entityInstance %>DeleteSuccess(response.data))) + expect(step(response)).toEqual(put(<%= entityNameCapitalized %>Actions.<%= entityInstance %>DeleteSuccess(response.data))) }) test('delete failure path', () => { const response = { ok: false } - const step = stepper(delete<%= context.entityNameCapitalized %>(FixtureAPI, { <%= context.entityInstance %>Id: { id: 1 } })) + const step = stepper(delete<%= entityNameCapitalized %>(FixtureAPI, { <%= entityInstance %>Id: { id: 1 } })) // Step 1: Hit the api step() // Step 2: Failed response. - expect(step(response)).toEqual(put(<%= context.entityNameCapitalized %>Actions.<%= context.entityInstance %>DeleteFailure())) + expect(step(response)).toEqual(put(<%= entityNameCapitalized %>Actions.<%= entityInstance %>DeleteFailure())) }) diff --git a/generators/react-native/templates/app/modules/entities/fixtures/entity-get.json.ejs b/generators/react-native/templates/app/modules/entities/fixtures/entity-get.json.ejs index 9fbca240b..8b841ef3a 100644 --- a/generators/react-native/templates/app/modules/entities/fixtures/entity-get.json.ejs +++ b/generators/react-native/templates/app/modules/entities/fixtures/entity-get.json.ejs @@ -1,6 +1,6 @@ { "id" : 1, - <%_ context.fields.filter(field => !field.id).forEach(function (field) { _%> + <%_ fields.filter(field => !field.id).forEach(function (field) { _%> <%_ if (field.fieldType === 'LocalDate' || field.fieldType === 'ZonedDateTime' || field.fieldType === 'Instant') { _%> <%= field.fieldName %>: null, <%_ } _%> diff --git a/generators/react-native/templates/app/modules/entities/fixtures/entity-update.json.ejs b/generators/react-native/templates/app/modules/entities/fixtures/entity-update.json.ejs index 9fbca240b..8b841ef3a 100644 --- a/generators/react-native/templates/app/modules/entities/fixtures/entity-update.json.ejs +++ b/generators/react-native/templates/app/modules/entities/fixtures/entity-update.json.ejs @@ -1,6 +1,6 @@ { "id" : 1, - <%_ context.fields.filter(field => !field.id).forEach(function (field) { _%> + <%_ fields.filter(field => !field.id).forEach(function (field) { _%> <%_ if (field.fieldType === 'LocalDate' || field.fieldType === 'ZonedDateTime' || field.fieldType === 'Instant') { _%> <%= field.fieldName %>: null, <%_ } _%> diff --git a/generators/react-native/templates/app/modules/home/home-screen.js.ejs b/generators/react-native/templates/app/modules/home/home-screen.js.ejs index 9b50aabb4..cabca4487 100644 --- a/generators/react-native/templates/app/modules/home/home-screen.js.ejs +++ b/generators/react-native/templates/app/modules/home/home-screen.js.ejs @@ -14,7 +14,7 @@ function HomeScreen(props) { - <%= context.reactNativeAppName %> + <%= baseName %> Welcome to your JHipster React Native app. {account && account.login ? ( diff --git a/generators/react-native/templates/app/modules/home/learn-more-links.component.js.ejs b/generators/react-native/templates/app/modules/home/learn-more-links.component.js.ejs index 59df2d390..96a66b2d5 100644 --- a/generators/react-native/templates/app/modules/home/learn-more-links.component.js.ejs +++ b/generators/react-native/templates/app/modules/home/learn-more-links.component.js.ejs @@ -13,7 +13,7 @@ import React from 'react' import { Colors } from '../../shared/themes' const links = [ - <%_ if (context.authenticationType === 'oauth2') { _%> + <%_ if (authenticationType === 'oauth2') { _%> { id: 0, title: 'OAuth2 Login Config', @@ -63,7 +63,7 @@ const links = [ link: 'https://github.com/jhipster/generator-jhipster-react-native/blob/main/docs/storybook.md', description: 'How to use Storybook with React Native.', }, - <%_ if (context.websocket) { _%> + <%_ if (websocket) { _%> { id: 8, title: 'Websockets Demo', diff --git a/generators/react-native/templates/app/modules/login/login.sagas.js.ejs b/generators/react-native/templates/app/modules/login/login.sagas.js.ejs index 16285cb87..7d19bf601 100644 --- a/generators/react-native/templates/app/modules/login/login.sagas.js.ejs +++ b/generators/react-native/templates/app/modules/login/login.sagas.js.ejs @@ -1,25 +1,25 @@ import { call, put, select } from 'redux-saga/effects' -<%_ if (context.authenticationType === 'oauth2') { _%> +<%_ if (authenticationType === 'oauth2') { _%> import AppConfig from '../../config/app-config' <%_ } _%> import LoginActions from './login.reducer' import AccountActions from '../../shared/reducers/account.reducer' -<%_ if (context.websocket) { _%> +<%_ if (websocket) { _%> import WebsocketService from '../../shared/websockets/websocket.service' <%_ } _%> -<%_ if (context.authenticationType === 'oauth2') { _%> +<%_ if (authenticationType === 'oauth2') { _%> import AuthInfoActions from '../../shared/reducers/auth-info.reducer'; import { doOauthPkceFlow, logoutFromIdp } from './login.utils'; <%_ } _%> -<%_ if (context.authenticationType === 'oauth2') { _%> +<%_ if (authenticationType === 'oauth2') { _%> export const selectAuthInfo = (state) => state.authInfo.authInfo; export const selectIdToken = (state) => state.login.idToken; <%_ } _%> export const selectAuthToken = (state) => state.login.authToken // attempts to login -<%_ if (context.authenticationType === 'oauth2') { _%> +<%_ if (authenticationType === 'oauth2') { _%> export function * login (api) { try { const authInfo = yield select(selectAuthInfo); @@ -48,7 +48,7 @@ export function * login (api) { } } -<%_ } else if (context.authenticationType === 'jwt') { _%> +<%_ } else if (authenticationType === 'jwt') { _%> export function * login (api, { username, password }) { const authObj = { username: username, @@ -63,7 +63,7 @@ export function * login (api, { username, password }) { yield call(api.setAuthToken, response.data.id_token) yield put(LoginActions.loginSuccess(response.data.id_token)) yield put(AccountActions.accountRequest()) - <%_ if (context.websocket) { _%> + <%_ if (websocket) { _%> WebsocketService.setToken(response.data.id_token) <%_ } _%> yield put({ type: 'RELOGIN_OK' }) @@ -82,7 +82,7 @@ export function * logout (api) { yield call(api.removeAuthToken) yield put(AccountActions.accountReset()) yield put(AccountActions.accountRequest()) - <%_ if (context.authenticationType === 'oauth2') { _%> + <%_ if (authenticationType === 'oauth2') { _%> const { clientId, issuer } = yield select(selectAuthInfo); const idToken = yield select(selectIdToken); if (idToken) { @@ -99,7 +99,7 @@ export function * loginLoad (api) { // only set the token if we have it if (authToken) { yield call(api.setAuthToken, authToken) - <%_ if (context.websocket) { _%> + <%_ if (websocket) { _%> WebsocketService.setToken(authToken) <%_ } _%> } diff --git a/generators/react-native/templates/app/navigation/nav-container.js.ejs b/generators/react-native/templates/app/navigation/nav-container.js.ejs index 7d442347e..aa017cc81 100644 --- a/generators/react-native/templates/app/navigation/nav-container.js.ejs +++ b/generators/react-native/templates/app/navigation/nav-container.js.ejs @@ -11,7 +11,7 @@ import { connect } from 'react-redux'; // import screens import HomeScreen from '../modules/home/home-screen'; import LoginScreen from '../modules/login/login-screen'; -<%_ if (!context.skipUserManagement) { _%> +<%_ if (!skipUserManagement) { _%> import SettingsScreen from '../modules/account/settings/settings-screen'; import RegisterScreen from '../modules/account/register/register-screen'; import ForgotPasswordScreen from '../modules/account/password-reset/forgot-password-screen'; @@ -20,13 +20,13 @@ import ChangePasswordScreen from '../modules/account/password/change-password-sc import AccountActions from '../shared/reducers/account.reducer'; import EntityStackScreen, { getEntityRoutes } from './entity-stack'; import StorybookScreen from '../../storybook'; -<%_ if (context.websocket) { _%> +<%_ if (websocket) { _%> import ChatScreen from '../modules/chat/chat-screen' <%_ } _%> import DrawerContent from './drawer/drawer-content'; import { isReadyRef, navigationRef } from './nav-ref'; import NotFound from './not-found-screen'; -<%_ if (context.authenticationType === 'oauth2') { _%> +<%_ if (authenticationType === 'oauth2') { _%> import OAuthRedirectScreen from './oauth-redirect-screen'; <%_ } _%> import { ModalScreen } from './modal-screen'; @@ -44,7 +44,7 @@ export const drawerScreens = [ component: LoginScreen, auth: false, }, -<%_ if (!context.skipUserManagement) { _%> +<%_ if (!skipUserManagement) { _%> { name: 'Settings', route: 'settings', @@ -80,7 +80,7 @@ export const drawerScreens = [ }, auth: true, }, - <%_ if (context.websocket) { _%> + <%_ if (websocket) { _%> { name: 'Chat', route: 'chat', @@ -124,7 +124,7 @@ const linking = { }, }, ModalScreen: 'alert', -<%_ if (context.authenticationType === 'oauth2') { _%> +<%_ if (authenticationType === 'oauth2') { _%> OAuthRedirect: 'start', <%_ } _%> NotFound: '*', @@ -223,7 +223,7 @@ function NavContainer(props) { }), }} /> - <%_ if (context.authenticationType === 'oauth2') { _%> + <%_ if (authenticationType === 'oauth2') { _%> <%_ } _%> diff --git a/generators/react-native/templates/app/shared/fixtures/login.json.ejs b/generators/react-native/templates/app/shared/fixtures/login.json.ejs index f8771d56f..5032d22a6 100644 --- a/generators/react-native/templates/app/shared/fixtures/login.json.ejs +++ b/generators/react-native/templates/app/shared/fixtures/login.json.ejs @@ -1,8 +1,8 @@ -<%_ if (context.authenticationType === 'jwt') { _%> +<%_ if (authenticationType === 'jwt') { _%> { "id_token" : "eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsImF1dGgiOiJST0xFX0FETUlOLFJPTEVfVVNFUiIsImV4cCI6MTUwNDkxMTk5Mn0.4EkvUMLgqr6dp-YZr-t-IvB9n7-lcz3PQyt7UcSfsH4T1ES_KUvdUXf6P8oWy3dpn5_c9iIn11g-eUUj4VS65A" } -<%_ } else if (context.authenticationType === 'oauth2') { _%> +<%_ } else if (authenticationType === 'oauth2') { _%> { "access_token" : "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1MDQ4NzI0MTcsInVzZXJfbmFtZSI6ImFkbWluIiwiYXV0aG9yaXRpZXMiOlsiUk9MRV9BRE1JTiIsIlJPTEVfVVNFUiJdLCJqdGkiOiI1ZDkwNjdlOS0yY2JlLTRiNmMtOTMxZC1hZWMyY2E5MmVjZDYiLCJjbGllbnRfaWQiOiJ3ZWJfYXBwIiwic2NvcGUiOlsib3BlbmlkIl19.cQ5GehN2drXtuPLwiUbwxrieuD5pOR1mL7ShzCFr2bzW1I8OYYiKIPKK6yLhicjhp7kHRpnnouyS4jTozAMSsIz9aPizMN3bKi2kc9N1h0ONtJVeEr7bYHxOqGImw17li8IxD5qXP4Ib4IMzbuXxOHjNw-8Ndx5UebmXBAuMOmcTDUCEEvTxjz_34Cyb7ruqD-L0CsEmZGTm6drbHV38YXYzij8lfxF3v4Y8_4k6x9UJMph9-bt-Jd8V2wQSZJms3jniWReFwOSm-QoiD3aq5tJGLGoSdVstDJfyuobBa8JKVY2LYdKx2i-c2eUGxfN6y7HZ0l02s3ryNarCT7MDbA", "token_type" : "bearer", diff --git a/generators/react-native/templates/app/shared/reducers/create-store.js.ejs b/generators/react-native/templates/app/shared/reducers/create-store.js.ejs index cca2aa24f..c6c45fbe1 100644 --- a/generators/react-native/templates/app/shared/reducers/create-store.js.ejs +++ b/generators/react-native/templates/app/shared/reducers/create-store.js.ejs @@ -5,7 +5,7 @@ import { composeWithDevTools } from 'redux-devtools-extension'; import AppConfig from '../../config/app-config'; import RehydrationServices from '../services/rehydration.service' import ReduxPersist from '../../config/redux-persist' -<%_ if (context.websocket) { _%> +<%_ if (websocket) { _%> import WebsocketService from '../websockets/websocket.service' <%_ } _%> const compose = AppConfig.debugMode ? composeWithDevTools : composeWithoutDevTools; @@ -21,7 +21,7 @@ export default (rootReducer, rootSaga) => { const sagaMonitor = null; const sagaMiddleware = createSagaMiddleware({ sagaMonitor }) middleware.push(sagaMiddleware) - <%_ if (context.websocket) { _%> + <%_ if (websocket) { _%> const wsSagaMiddleware = createSagaMiddleware(WebsocketService.websocketSagas) middleware.push(wsSagaMiddleware) <%_ } _%> @@ -39,14 +39,14 @@ export default (rootReducer, rootSaga) => { // kick off root saga let sagasManager = sagaMiddleware.run(rootSaga) - <%_ if (context.websocket) { _%> + <%_ if (websocket) { _%> let websocketSagaManager = wsSagaMiddleware.run(WebsocketService.websocketSagas) <%_ } _%> return { store, sagasManager, - <%_ if (context.websocket) { _%> + <%_ if (websocket) { _%> websocketSagaManager, <%_ } _%> sagaMiddleware diff --git a/generators/react-native/templates/app/shared/reducers/index.js.ejs b/generators/react-native/templates/app/shared/reducers/index.js.ejs index a28382880..e41e7906f 100644 --- a/generators/react-native/templates/app/shared/reducers/index.js.ejs +++ b/generators/react-native/templates/app/shared/reducers/index.js.ejs @@ -10,15 +10,15 @@ export const reducers = combineReducers({ appState: require('./app-state.reducer').reducer, users: require('./user.reducer').reducer, // jhipster-react-native-redux-store-import-needle - <%_ if (context.websocket) { _%> + <%_ if (websocket) { _%> chat: require('../../modules/chat/chat.reducer').reducer, <%_ } _%> - <%_ if (context.authenticationType === 'oauth2') { _%> + <%_ if (authenticationType === 'oauth2') { _%> authInfo: require('./auth-info.reducer').reducer, <%_ } _%> account: require('./account.reducer').reducer, login: require('../../modules/login/login.reducer').reducer, -<%_ if (!context.skipUserManagement) { _%> +<%_ if (!skipUserManagement) { _%> register: require('../../modules/account/register/register.reducer').reducer, changePassword: require('../../modules/account/password/change-password.reducer').reducer, forgotPassword: require('../../modules/account/password-reset/forgot-password.reducer').reducer diff --git a/generators/react-native/templates/app/shared/reducers/user.reducer.js.ejs b/generators/react-native/templates/app/shared/reducers/user.reducer.js.ejs index fa18857fe..a8b316f53 100644 --- a/generators/react-native/templates/app/shared/reducers/user.reducer.js.ejs +++ b/generators/react-native/templates/app/shared/reducers/user.reducer.js.ejs @@ -5,21 +5,21 @@ import Immutable from 'seamless-immutable' const { Types, Creators } = createActions({ userAllRequest: ['options'], -<%_ if (!context.skipUserManagement) { _%> +<%_ if (!skipUserManagement) { _%> userRequest: ['userId'], userUpdateRequest: ['user'], userDeleteRequest: ['userId'], <%_ } _%> userAllSuccess: ['userList'], -<%_ if (!context.skipUserManagement) { _%> +<%_ if (!skipUserManagement) { _%> userSuccess: ['user'], userUpdateSuccess: ['user'], userDeleteSuccess: [], <%_ } _%> userAllFailure: ['error'], -<%_ if (!context.skipUserManagement) { _%> +<%_ if (!skipUserManagement) { _%> userFailure: ['error'], userUpdateFailure: ['error'], userDeleteFailure: ['error'] @@ -33,7 +33,7 @@ export default Creators export const INITIAL_STATE = Immutable({ fetchingAll: false, -<%_ if (!context.skipUserManagement) { _%> +<%_ if (!skipUserManagement) { _%> fetchingOne: false, updating: false, deleting: false, @@ -41,7 +41,7 @@ export const INITIAL_STATE = Immutable({ <%_ } _%> userList: [], errorAll: null, -<%_ if (!context.skipUserManagement) { _%> +<%_ if (!skipUserManagement) { _%> errorOne: null, errorUpdating: null, errorDeleting: null @@ -57,7 +57,7 @@ export const allRequest = (state) => userList: [] }) -<%_ if (!context.skipUserManagement) { _%> +<%_ if (!skipUserManagement) { _%> // request the data from an api export const request = (state) => state.merge({ @@ -87,7 +87,7 @@ export const allSuccess = (state, action) => { }) } -<%_ if (!context.skipUserManagement) { _%> +<%_ if (!skipUserManagement) { _%> // successful api lookup for single entity export const success = (state, action) => { const { user } = action @@ -127,7 +127,7 @@ export const allFailure = (state, action) => { }) } -<%_ if (!context.skipUserManagement) { _%> +<%_ if (!skipUserManagement) { _%> // Something went wrong fetching a single entity. export const failure = (state, action) => { const { error } = action @@ -160,21 +160,21 @@ export const deleteFailure = (state, action) => { export const reducer = createReducer(INITIAL_STATE, { [Types.USER_ALL_REQUEST]: allRequest, -<%_ if (!context.skipUserManagement) { _%> +<%_ if (!skipUserManagement) { _%> [Types.USER_REQUEST]: request, [Types.USER_UPDATE_REQUEST]: updateRequest, [Types.USER_DELETE_REQUEST]: deleteRequest, <%_ } _%> [Types.USER_ALL_SUCCESS]: allSuccess, -<%_ if (!context.skipUserManagement) { _%> +<%_ if (!skipUserManagement) { _%> [Types.USER_SUCCESS]: success, [Types.USER_UPDATE_SUCCESS]: updateSuccess, [Types.USER_DELETE_SUCCESS]: deleteSuccess, <%_ } _%> [Types.USER_ALL_FAILURE]: allFailure, -<%_ if (!context.skipUserManagement) { _%> +<%_ if (!skipUserManagement) { _%> [Types.USER_FAILURE]: failure, [Types.USER_UPDATE_FAILURE]: updateFailure, [Types.USER_DELETE_FAILURE]: deleteFailure diff --git a/generators/react-native/templates/app/shared/sagas/call-api.saga.js.ejs b/generators/react-native/templates/app/shared/sagas/call-api.saga.js.ejs index 9148a7b41..ee25aa0a2 100644 --- a/generators/react-native/templates/app/shared/sagas/call-api.saga.js.ejs +++ b/generators/react-native/templates/app/shared/sagas/call-api.saga.js.ejs @@ -1,6 +1,6 @@ import { put, take } from 'redux-saga/effects' -<%_ if (context.authenticationType === 'oauth2') { _%> +<%_ if (authenticationType === 'oauth2') { _%> import LoginActions from '../../modules/login/login.reducer' <%_ } else { _%> import { navigate } from '../../navigation/nav-ref'; @@ -17,7 +17,7 @@ export function * callApi (apiCall) { // this triggers your UI to show a login form yield put({ type: 'RELOGIN' }) - <%_ if (context.authenticationType === 'oauth2') { _%> + <%_ if (authenticationType === 'oauth2') { _%> LoginActions.loginRequest() <%_ } else { _%> navigate('LoginScreen') diff --git a/generators/react-native/templates/app/shared/sagas/index.js.ejs b/generators/react-native/templates/app/shared/sagas/index.js.ejs index 7b540792a..65717c063 100644 --- a/generators/react-native/templates/app/shared/sagas/index.js.ejs +++ b/generators/react-native/templates/app/shared/sagas/index.js.ejs @@ -6,12 +6,12 @@ import AppConfig from '../../config/app-config' /* ------------- Types ------------- */ import { StartupTypes } from '../reducers/startup.reducer' -<%_ if (context.authenticationType === 'oauth2') { _%> +<%_ if (authenticationType === 'oauth2') { _%> import { AuthInfoTypes } from '../reducers/auth-info.reducer'; <%_ } _%> import { LoginTypes } from '../../modules/login/login.reducer' import { AccountTypes } from '../../shared/reducers/account.reducer' -<%_ if (!context.skipUserManagement) { _%> +<%_ if (!skipUserManagement) { _%> import { RegisterTypes } from '../../modules/account/register/register.reducer' import { ForgotPasswordTypes } from '../../modules/account/password-reset/forgot-password.reducer' import { ChangePasswordTypes } from '../../modules/account/password/change-password.reducer' @@ -22,11 +22,11 @@ import { UserTypes } from '../../shared/reducers/user.reducer' /* ------------- Sagas ------------- */ import { startup } from './startup.saga' -<%_ if (context.authenticationType === 'oauth2') { _%> +<%_ if (authenticationType === 'oauth2') { _%> import { getAuthInfo } from './auth-info.saga'; <%_ } _%> import { login, logout, loginLoad } from '../../modules/login/login.sagas' -<%_ if (!context.skipUserManagement) { _%> +<%_ if (!skipUserManagement) { _%> import { register } from '../../modules/account/register/register.sagas' import { forgotPassword } from '../../modules/account/password-reset/forgot-password.sagas' import { changePassword } from '../../modules/account/password/change-password.sagas' @@ -47,7 +47,7 @@ export default function * root () { yield all([ // some sagas only receive an action takeLatest(StartupTypes.STARTUP, startup), -<%_ if (context.authenticationType === 'oauth2') { _%> +<%_ if (authenticationType === 'oauth2') { _%> takeLatest(AuthInfoTypes.AUTH_INFO_REQUEST, getAuthInfo, api), <%_ } _%> @@ -57,7 +57,7 @@ export default function * root () { takeLatest(LoginTypes.LOGOUT_REQUEST, logout, api), // jhipster-react-native-saga-redux-connect-needle -<%_ if (!context.skipUserManagement) { _%> +<%_ if (!skipUserManagement) { _%> takeLatest(RegisterTypes.REGISTER_REQUEST, register, api), takeLatest(ForgotPasswordTypes.FORGOT_PASSWORD_REQUEST, forgotPassword, api), takeLatest(ChangePasswordTypes.CHANGE_PASSWORD_REQUEST, changePassword, api), diff --git a/generators/react-native/templates/app/shared/sagas/startup.saga.js.ejs b/generators/react-native/templates/app/shared/sagas/startup.saga.js.ejs index 09f3029ee..91dc032d4 100644 --- a/generators/react-native/templates/app/shared/sagas/startup.saga.js.ejs +++ b/generators/react-native/templates/app/shared/sagas/startup.saga.js.ejs @@ -2,7 +2,7 @@ import { put } from 'redux-saga/effects' import AppStateActions from '../reducers/app-state.reducer' import LoginActions from '../../modules/login/login.reducer' import AccountActions from '../reducers/account.reducer' -<%_ if (context.authenticationType === 'oauth2') { _%> +<%_ if (authenticationType === 'oauth2') { _%> import AuthInfoActions from '../reducers/auth-info.reducer'; <%_ } _%> @@ -11,7 +11,7 @@ export function * startup (action) { yield put(LoginActions.loginLoad()) yield put(AccountActions.accountRequest()) yield put(AppStateActions.setRehydrationComplete()) -<%_ if (context.authenticationType === 'oauth2') { _%> +<%_ if (authenticationType === 'oauth2') { _%> yield put(AuthInfoActions.authInfoRequest()); <%_ } _%> } diff --git a/generators/react-native/templates/app/shared/services/api.js.ejs b/generators/react-native/templates/app/shared/services/api.js.ejs index ae77024fa..1779da9fe 100644 --- a/generators/react-native/templates/app/shared/services/api.js.ejs +++ b/generators/react-native/templates/app/shared/services/api.js.ejs @@ -38,11 +38,11 @@ const create = (baseURL = AppConfig.apiUrl) => { // const setAuthToken = (userAuth) => api.setHeader('Authorization', 'Bearer ' + userAuth) const removeAuthToken = () => api.deleteHeader('Authorization') - <%_ if (context.authenticationType === 'oauth2') { _%> + <%_ if (authenticationType === 'oauth2') { _%> // use an empty Authorization header in the auth-info request to prevent an invalid token from returning 401 const getOauthInfo = () => api.get('api/auth-info', {}, { headers: { Authorization: undefined } }); const getOauthIssuerInfo = (issuerUrl) => api.get(`${issuerUrl}/.well-known/openid-configuration`) - <%_ } else if (context.authenticationType === 'jwt') { _%> + <%_ } else if (authenticationType === 'jwt') { _%> const login = (userAuth) => api.post('api/authenticate', userAuth) <%_ } _%> const register = (user) => api.post('api/register', user) @@ -81,10 +81,10 @@ const create = (baseURL = AppConfig.apiUrl) => { // jhipster-react-native-api-export-needle setAuthToken, removeAuthToken, - <%_ if (context.authenticationType === 'oauth2') { _%> + <%_ if (authenticationType === 'oauth2') { _%> getOauthInfo, getOauthIssuerInfo, - <%_ } else if (context.authenticationType === 'jwt') { _%> + <%_ } else if (authenticationType === 'jwt') { _%> login, <%_ } _%> register, diff --git a/generators/react-native/templates/app/shared/services/fixture-api.js.ejs b/generators/react-native/templates/app/shared/services/fixture-api.js.ejs index c9f742b7a..34d695c4b 100644 --- a/generators/react-native/templates/app/shared/services/fixture-api.js.ejs +++ b/generators/react-native/templates/app/shared/services/fixture-api.js.ejs @@ -35,7 +35,7 @@ export default { removeAuthToken: () => { }, - <%_ if (context.authenticationType === 'jwt') { _%> + <%_ if (authenticationType === 'jwt') { _%> login: (authObj) => { if (authObj.username === 'user' && authObj.password === 'user') { return { @@ -50,7 +50,7 @@ export default { } } }, - <%_ } else if (context.authenticationType === 'oauth2') { _%> + <%_ } else if (authenticationType === 'oauth2') { _%> getOauthInfo: () => { return { ok: true, diff --git a/generators/react-native/templates/package.json.ejs b/generators/react-native/templates/package.json.ejs index acfae5102..dc3dedac1 100644 --- a/generators/react-native/templates/package.json.ejs +++ b/generators/react-native/templates/package.json.ejs @@ -1,5 +1,5 @@ { - "name": "<%= context.reactNativeAppNameKebabCase %>", + "name": "<%= reactNativeAppNameKebabCase %>", "version": "0.0.1", "scripts": { "android": "expo start --android", @@ -13,10 +13,10 @@ "build:ios": "expo build:ios", "build:android": "expo build:android", "build:web": "expo export", - <%_ if (!context.skipCommitHook) { _%> + <%_ if (!skipCommitHook) { _%> "precommit": "lint-staged", <%_ } _%> - <%_ if (context.detox) { _%> + <%_ if (detox) { _%> "start:e2e": "expo start --no-dev --minify", "test:e2e": "./e2e/scripts/setup.sh && detox test --configuration ios.sim.release --retries 3 --loglevel trace --debug-synchronization 500", <%_ } _%> @@ -38,7 +38,7 @@ "apisauce": "REPLACE_WITH_VERSION", "expo": "EXPO_REPLACE_WITH_VERSION", "expo-status-bar": "EXPO_REPLACE_WITH_VERSION", - <%_ if (context.authenticationType === 'oauth2') { _%> + <%_ if (authenticationType === 'oauth2') { _%> "expo-auth-session": "EXPO_REPLACE_WITH_VERSION", "expo-random": "EXPO_REPLACE_WITH_VERSION", "expo-web-browser": "EXPO_REPLACE_WITH_VERSION", @@ -72,7 +72,7 @@ "redux-saga": "REPLACE_WITH_VERSION", "reduxsauce": "REPLACE_WITH_VERSION", "seamless-immutable": "REPLACE_WITH_VERSION", - <%_ if (context.websocket) { _%> + <%_ if (websocket) { _%> "webstomp-client": "REPLACE_WITH_VERSION", "sockjs-client": "REPLACE_WITH_VERSION", "net": "REPLACE_WITH_VERSION", @@ -92,7 +92,7 @@ "babel-jest": "REPLACE_WITH_VERSION", "babel-preset-env": "REPLACE_WITH_VERSION", "buffer": "REPLACE_WITH_VERSION", - <%_ if (context.detox) { _%> + <%_ if (detox) { _%> "detox": "REPLACE_WITH_VERSION", "@ruddell/detox-expo-helpers": "REPLACE_WITH_VERSION", "expo-detox-hook": "REPLACE_WITH_VERSION", @@ -102,10 +102,10 @@ "eslint-config-prettier": "REPLACE_WITH_VERSION", "eslint-plugin-prettier": "REPLACE_WITH_VERSION", "expect": "REPLACE_WITH_VERSION", - "generator-jhipster-react-native": "<%= context.packageVersion %>", + "generator-jhipster-react-native": "<%= packageVersion %>", "jest": "REPLACE_WITH_VERSION", "jest-expo": "EXPO_REPLACE_WITH_VERSION", - <%_ if (!context.skipCommitHook) { _%> + <%_ if (!skipCommitHook) { _%> "lint-staged": "REPLACE_WITH_VERSION", <%_ } _%> "mockery": "REPLACE_WITH_VERSION", @@ -119,7 +119,7 @@ "tapable": "REPLACE_WITH_VERSION", "typescript": "EXPO_REPLACE_WITH_VERSION" }, - <%_ if (!context.skipCommitHook) { _%> + <%_ if (!skipCommitHook) { _%> "lint-staged": { "{,app/**/,test/**/}*.{js,json,yml,md,ts,tsx}": [ "prettier --write", diff --git a/generators/react-native/templates/test/spec/modules/login/login.sagas.spec.js.ejs b/generators/react-native/templates/test/spec/modules/login/login.sagas.spec.js.ejs index fd285f79e..2df5bc802 100644 --- a/generators/react-native/templates/test/spec/modules/login/login.sagas.spec.js.ejs +++ b/generators/react-native/templates/test/spec/modules/login/login.sagas.spec.js.ejs @@ -1,14 +1,14 @@ import FixtureAPI from '../../../../app/shared/services/fixture-api' import { call, put, select } from 'redux-saga/effects' -import { login, logout, loginLoad, selectAuthToken<%_ if (context.authenticationType === 'oauth2') { _%>, selectAuthInfo, selectIdToken<%_ } _%> } from '../../../../app/modules/login/login.sagas' +import { login, logout, loginLoad, selectAuthToken<%_ if (authenticationType === 'oauth2') { _%>, selectAuthInfo, selectIdToken<%_ } _%> } from '../../../../app/modules/login/login.sagas' import LoginActions from '../../../../app/modules/login/login.reducer' import AccountActions from '../../../../app/shared/reducers/account.reducer' const stepper = (fn) => (mock) => fn.next(mock).value test('login success path', () => { - <%_ if (context.authenticationType === 'oauth2') { _%> + <%_ if (authenticationType === 'oauth2') { _%> const oauthInfo = FixtureAPI.getOauthInfo() const step = stepper(login(FixtureAPI, oauthInfo)) const sampleOauthResponse = { @@ -25,7 +25,7 @@ test('login success path', () => { expect(step()).toEqual(put(AccountActions.accountRequest())) // Close the relogin popup if needed expect(step()).toEqual(put({ type: 'RELOGIN_OK' })) - <%_} else if (context.authenticationType === 'jwt') { _%> + <%_} else if (authenticationType === 'jwt') { _%> const authObj = { username: 'user', password: 'user', @@ -46,12 +46,12 @@ test('login success path', () => { <%_ } _%> }) test('login failure path', () => { - <%_ if (context.authenticationType === 'oauth2') { _%> + <%_ if (authenticationType === 'oauth2') { _%> const step = stepper(login(FixtureAPI)) expect(step()).toEqual(select(selectAuthInfo)); expect(step()).toEqual(put(LoginActions.loginFailure('Login failed, please try again'))); - <%_} else if (context.authenticationType === 'jwt') { _%> + <%_} else if (authenticationType === 'jwt') { _%> const authObj = { username: 'user', password: 'user2', @@ -90,7 +90,7 @@ test('logout success path', () => { // Reset the account and logout expect(step()).toEqual(put(AccountActions.accountReset())) expect(step()).toEqual(put(AccountActions.accountRequest())) - <%_ if (context.authenticationType === 'oauth2') { _%> + <%_ if (authenticationType === 'oauth2') { _%> const oauthInfo = FixtureAPI.getOauthInfo(); expect(step(oauthInfo)).toEqual(select(selectAuthInfo)); expect(step('test-id-token')).toEqual(select(selectIdToken)); diff --git a/generators/react-native/templates/test/spec/shared/reducers/user.reducer.spec.js.ejs b/generators/react-native/templates/test/spec/shared/reducers/user.reducer.spec.js.ejs index 00032509a..c8911c5e7 100644 --- a/generators/react-native/templates/test/spec/shared/reducers/user.reducer.spec.js.ejs +++ b/generators/react-native/templates/test/spec/shared/reducers/user.reducer.spec.js.ejs @@ -7,7 +7,7 @@ test('attempt retrieving a list of user', () => { expect(state.userList).toEqual([]) }) -<%_ if (!context.skipUserManagement) { _%> +<%_ if (!skipUserManagement) { _%> test('attempt retrieving a single user', () => { const state = reducer(INITIAL_STATE, Actions.userRequest({ id: 1 })) @@ -43,7 +43,7 @@ test('success retrieving a list of user', () => { expect(state.userList).toEqual([{ id: 1 }, { id: 2 }]) }) -<%_ if (!context.skipUserManagement) { _%> +<%_ if (!skipUserManagement) { _%> test('success updating a user', () => { const state = reducer(INITIAL_STATE, Actions.userUpdateSuccess({ id: 1 })) @@ -68,7 +68,7 @@ test('failure retrieving a list of user', () => { expect(state.errorAll).toEqual({ error: 'Not found' }) expect(state.userList).toEqual([]) }) -<%_ if (!context.skipUserManagement) { _%> +<%_ if (!skipUserManagement) { _%> test('failure retrieving a user', () => { const state = reducer(INITIAL_STATE, Actions.userFailure({ error: 'Not found' })) diff --git a/generators/react-native/templates/test/spec/shared/sagas/user.saga.spec.js.ejs b/generators/react-native/templates/test/spec/shared/sagas/user.saga.spec.js.ejs index c7491a8b5..3055dda2e 100644 --- a/generators/react-native/templates/test/spec/shared/sagas/user.saga.spec.js.ejs +++ b/generators/react-native/templates/test/spec/shared/sagas/user.saga.spec.js.ejs @@ -23,7 +23,7 @@ test('getAll failure path', () => { expect(step(response)).toEqual(put(UserActions.userAllFailure())) }) -<%_ if (!context.skipUserManagement) { _%> +<%_ if (!skipUserManagement) { _%> test('get success path', () => { const response = FixtureAPI.getUser(1) const step = stepper(UserSagas.getUser(FixtureAPI, { userId: { id: 1 } })) From 265f9e2490405b02ab3ee11f246fa8fd48454f46 Mon Sep 17 00:00:00 2001 From: Hideyuki Kagami Date: Sat, 20 Jan 2024 14:28:18 +0900 Subject: [PATCH 12/70] adjust loadsh-es --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 6429c9689..b562407ff 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12,7 +12,7 @@ "chalk": "4.1.2", "fs-extra": "11.2.0", "generator-jhipster": "8.1.0", - "lodash": "4.17.21", + "lodash-es": "4.17.21", "pluralize": "8.0.0", "semver": "7.5.4", "shelljs": "0.8.5", diff --git a/package.json b/package.json index cb4c33eab..1a5edc90b 100644 --- a/package.json +++ b/package.json @@ -60,7 +60,7 @@ "chalk": "4.1.2", "fs-extra": "11.2.0", "generator-jhipster": "8.1.0", - "lodash": "4.17.21", + "lodash-es": "4.17.21", "pluralize": "8.0.0", "semver": "7.5.4", "shelljs": "0.8.5", From 8f68002f2926604ff0bfea569d940f72e4af2286 Mon Sep 17 00:00:00 2001 From: Hideyuki Kagami Date: Sat, 20 Jan 2024 14:28:39 +0900 Subject: [PATCH 13/70] adjust .eslintrc.json --- .eslintrc.json | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/.eslintrc.json b/.eslintrc.json index bf7cdb825..f96cf9cd2 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -17,6 +17,14 @@ "func-names": "off", "import/no-extraneous-dependencies": ["error", { "devDependencies": true }], "import/no-unresolved": "off", + "import/extensions": [ + "error", + "ignorePackages", + { + "mjs": "always" + } + ], + "ristricted-exports": "off", "no-restricted-syntax": [ "error", { @@ -34,4 +42,4 @@ ], "no-shadow": "off" } -} \ No newline at end of file +} From 142d5798b9a3a6613091f71936c765677c73c9fd Mon Sep 17 00:00:00 2001 From: Hideyuki Kagami Date: Sat, 20 Jan 2024 14:54:16 +0900 Subject: [PATCH 14/70] add detox prompt --- generators/constants.mjs | 1 + generators/react-native/generator.mjs | 19 +++++++++++++------ .../react-native/templates/README.md.ejs | 2 +- .../react-native/templates/package.json.ejs | 2 +- 4 files changed, 16 insertions(+), 8 deletions(-) diff --git a/generators/constants.mjs b/generators/constants.mjs index c351770fe..f49260a93 100644 --- a/generators/constants.mjs +++ b/generators/constants.mjs @@ -2,3 +2,4 @@ export const REACT_NATIVE_NAMESPACE = 'jhipster-react-native'; export const DEFAULT_REACT_NATIVE_PATH = '../reactNative4j'; export const DEFAULT_BACKEND_PATH = '../backend'; export const DEFAULT_REACT_NATIVE_APP_NAME = 'RnApp'; +export const DEFAULT_ENABLE_DETOX = false; diff --git a/generators/react-native/generator.mjs b/generators/react-native/generator.mjs index 30af2d7c6..eca998d7f 100644 --- a/generators/react-native/generator.mjs +++ b/generators/react-native/generator.mjs @@ -1,4 +1,3 @@ -import * as _ from 'lodash-es'; import { relative } from 'node:path'; import chalk from 'chalk'; import BaseApplicationGenerator from 'generator-jhipster/generators/base-application'; @@ -6,7 +5,7 @@ import { generateTestEntity } from 'generator-jhipster/generators/client/support import { camelCase, kebabCase, startCase } from 'lodash-es'; import { createNeedleCallback } from 'generator-jhipster/generators/base/support'; import command from './command.mjs'; -import { DEFAULT_BACKEND_PATH } from '../constants.mjs'; +import { DEFAULT_ENABLE_DETOX, DEFAULT_BACKEND_PATH } from '../constants.mjs'; import files from './files.mjs'; import entityFiles from './entity-files.mjs'; @@ -54,10 +53,16 @@ export default class extends BaseApplicationGenerator { message: 'Enter the directory where your JHipster app is located:', default: DEFAULT_BACKEND_PATH, }, + { + name: 'detox', + type: 'confirm', + message: 'Do you want to enable end-to-end tests with Detox?', + default: DEFAULT_ENABLE_DETOX, + }, ], this.reactNativeStorage, ); - this.reactNativeStorage.defaults({ appDir: DEFAULT_BACKEND_PATH, reactNativeDir: null }); + this.reactNativeStorage.defaults({ appDir: DEFAULT_BACKEND_PATH, reactNativeDir: null, detox: DEFAULT_ENABLE_DETOX }); if (this.reactNativeConfig.appDir) { this.addBackendStorages(); @@ -125,14 +130,16 @@ export default class extends BaseApplicationGenerator { get [BaseApplicationGenerator.WRITING]() { return this.asWritingTaskGroup({ async writingTemplateTask({ application }) { - const reactNativePackageVersion = application.blueprints.find(bp => bp.name === 'generator-jhipster-react-native').version; - const reactNativeAppNameKebabCase = _.kebabCase(application.baseName); + const blueprintPackageVersion = application.blueprints.find(bp => bp.name === 'generator-jhipster-react-native').version; + const reactNativeAppNameKebabCase = kebabCase(application.baseName); + const { detox } = this.reactNativeConfig; await this.writeFiles({ sections: files, context: { ...application, - reactNativePackageVersion, + blueprintPackageVersion, reactNativeAppNameKebabCase, + detox, }, }); diff --git a/generators/react-native/templates/README.md.ejs b/generators/react-native/templates/README.md.ejs index f6bb512ed..5fb1fdcb2 100644 --- a/generators/react-native/templates/README.md.ejs +++ b/generators/react-native/templates/README.md.ejs @@ -1,5 +1,5 @@ # <%= baseName %> -> Generated by [JHipster React Native](https://github.com/jhipster/generator-jhipster-react-native) v<%= reactNativePackageVersion %> +> Generated by [JHipster React Native](https://github.com/jhipster/generator-jhipster-react-native) v<%= blueprintPackageVersion %>
diff --git a/generators/react-native/templates/package.json.ejs b/generators/react-native/templates/package.json.ejs index dc3dedac1..4d6e92b1e 100644 --- a/generators/react-native/templates/package.json.ejs +++ b/generators/react-native/templates/package.json.ejs @@ -102,7 +102,7 @@ "eslint-config-prettier": "REPLACE_WITH_VERSION", "eslint-plugin-prettier": "REPLACE_WITH_VERSION", "expect": "REPLACE_WITH_VERSION", - "generator-jhipster-react-native": "<%= packageVersion %>", + "generator-jhipster-react-native": "<%= blueprintPackageVersion %>", "jest": "REPLACE_WITH_VERSION", "jest-expo": "EXPO_REPLACE_WITH_VERSION", <%_ if (!skipCommitHook) { _%> From ff11eee9d7b8fb37752dd0eb2403fccfa379d6be Mon Sep 17 00:00:00 2001 From: Hideyuki Kagami Date: Fri, 26 Jan 2024 02:37:04 +0900 Subject: [PATCH 15/70] adjust entity-files --- generators/react-native/entity-files.mjs | 65 +++++++++-------- generators/react-native/generator.mjs | 89 ++++++++++++++++-------- 2 files changed, 90 insertions(+), 64 deletions(-) diff --git a/generators/react-native/entity-files.mjs b/generators/react-native/entity-files.mjs index 98a3ed037..50a314a2e 100644 --- a/generators/react-native/entity-files.mjs +++ b/generators/react-native/entity-files.mjs @@ -3,45 +3,40 @@ const files = { { templates: [ { - file: 'entity-delete-modal.js', - renameTo: generator => - `app/modules/entities/${generator.context.entityFileName}/${generator.context.entityFileName}-delete-modal.js`, + file: 'app/modules/entities/entity-delete-modal.js', + renameTo: generator => `app/modules/entities/${generator.entityFileName}/${generator.entityFileName}-delete-modal.js`, }, { - file: 'entity-detail-screen.js', - renameTo: generator => - `app/modules/entities/${generator.context.entityFileName}/${generator.context.entityFileName}-detail-screen.js`, + file: 'app/modules/entities/entity-detail-screen.js', + renameTo: generator => `app/modules/entities/${generator.entityFileName}/${generator.entityFileName}-detail-screen.js`, }, { - file: 'entity-edit-screen.js', - renameTo: generator => - `app/modules/entities/${generator.context.entityFileName}/${generator.context.entityFileName}-edit-screen.js`, + file: 'app/modules/entities/entity-edit-screen.js', + renameTo: generator => `app/modules/entities/${generator.entityFileName}/${generator.entityFileName}-edit-screen.js`, }, { - file: 'entity-flatlist.js', - renameTo: generator => `app/modules/entities/${generator.context.entityFileName}/${generator.context.entityFileName}-screen.js`, + file: 'app/modules/entities/entity-flatlist.js', + renameTo: generator => `app/modules/entities/${generator.entityFileName}/${generator.entityFileName}-screen.js`, }, { - file: 'entity-styles.js', - renameTo: generator => `app/modules/entities/${generator.context.entityFileName}/${generator.context.entityFileName}-styles.js`, + file: 'app/modules/entities/entity-styles.js', + renameTo: generator => `app/modules/entities/${generator.entityFileName}/${generator.entityFileName}-styles.js`, }, { - file: 'entity-reducer.js', - renameTo: generator => `app/modules/entities/${generator.context.entityFileName}/${generator.context.entityFileName}.reducer.js`, + file: 'app/modules/entities/entity-reducer.js', + renameTo: generator => `app/modules/entities/${generator.entityFileName}/${generator.entityFileName}.reducer.js`, }, { - file: 'entity-reducer.spec.js', - renameTo: generator => - `test/spec/modules/entities/${generator.context.entityFileName}/${generator.context.entityFileName}.reducer.spec.js`, + file: 'app/modules/entities/entity-reducer.spec.js', + renameTo: generator => `test/spec/modules/entities/${generator.entityFileName}/${generator.entityFileName}.reducer.spec.js`, }, { - file: 'entity-sagas.js', - renameTo: generator => `app/modules/entities/${generator.context.entityFileName}/${generator.context.entityFileName}.sagas.js`, + file: 'app/modules/entities/entity-sagas.js', + renameTo: generator => `app/modules/entities/${generator.entityFileName}/${generator.entityFileName}.sagas.js`, }, { - file: 'entity-sagas.spec.js', - renameTo: generator => - `test/spec/modules/entities/${generator.context.entityFileName}/${generator.context.entityFileName}.sagas.spec.js`, + file: 'app/modules/entities/entity-sagas.spec.js', + renameTo: generator => `test/spec/modules/entities/${generator.entityFileName}/${generator.entityFileName}.sagas.spec.js`, }, ], }, @@ -50,33 +45,35 @@ const files = { { templates: [ { - file: 'fixtures/entity-get.json', - renameTo: generator => `app/shared/fixtures/get-${generator.context.entityFileName}.json`, + file: 'app/modules/entities/fixtures/entity-get.json', + renameTo: generator => `app/shared/fixtures/get-${generator.entityFileName}.json`, }, { - file: 'fixtures/entity-get-all.json', - renameTo: generator => `app/shared/fixtures/get-all-${generator.context.entityPluralFileName}.json`, + file: 'app/modules/entities/fixtures/entity-get-all.json', + renameTo: generator => `app/shared/fixtures/get-all-${generator.entityPluralFileName}.json`, }, { - file: 'fixtures/entity-update.json', - renameTo: generator => `app/shared/fixtures/update-${generator.context.entityFileName}.json`, + file: 'app/modules/entities/fixtures/entity-update.json', + renameTo: generator => `app/shared/fixtures/update-${generator.entityFileName}.json`, }, ], }, { - condition: generator => generator.context.searchEngine, + condition: generator => generator.searchEngine, templates: [ { - file: 'fixtures/entity-get-all.json', - renameTo: generator => `app/shared/fixtures/search-${generator.context.entityPluralFileName}.json`, + file: 'app/modules/entities/fixtures/entity-get-all.json', + renameTo: generator => `app/shared/fixtures/search-${generator.entityPluralFileName}.json`, }, ], }, ], detox: [ { - condition: generator => generator.context.detox, - templates: [{ file: 'entity-e2e-test.js', renameTo: generator => `e2e/entities/${generator.context.entityFileName}.spec.js` }], + condition: generator => generator.detox, + templates: [ + { file: 'app/modules/entities/entity-e2e-test.js', renameTo: generator => `e2e/entities/${generator.entityFileName}.spec.js` }, + ], }, ], }; diff --git a/generators/react-native/generator.mjs b/generators/react-native/generator.mjs index eca998d7f..b802e58c1 100644 --- a/generators/react-native/generator.mjs +++ b/generators/react-native/generator.mjs @@ -2,12 +2,13 @@ import { relative } from 'node:path'; import chalk from 'chalk'; import BaseApplicationGenerator from 'generator-jhipster/generators/base-application'; import { generateTestEntity } from 'generator-jhipster/generators/client/support'; -import { camelCase, kebabCase, startCase } from 'lodash-es'; -import { createNeedleCallback } from 'generator-jhipster/generators/base/support'; +import { camelCase, kebabCase, startCase, snakeCase } from 'lodash-es'; +import semver from 'semver'; import command from './command.mjs'; import { DEFAULT_ENABLE_DETOX, DEFAULT_BACKEND_PATH } from '../constants.mjs'; import files from './files.mjs'; import entityFiles from './entity-files.mjs'; +import { getEntityFormField, getRelationshipFormField, getFieldValidateType, getEntityFormFieldType } from '../../lib/index.js'; export default class extends BaseApplicationGenerator { constructor(args, opts, features) { @@ -42,6 +43,10 @@ export default class extends BaseApplicationGenerator { if (this.options.defaults || this.options.force) { this.reactNativeStorage.defaults({ appDir: DEFAULT_BACKEND_PATH }); } + + if (!this.reactNativeContext) { + this.reactNativeContext = {}; + } } async beforeQueue() { @@ -127,6 +132,30 @@ export default class extends BaseApplicationGenerator { }); } + get [BaseApplicationGenerator.PREPARING]() { + return this.asPreparingTaskGroup({ + // preparing({ application }) { + // application.myCustomConfigFoo = this.jhipsterConfig.myCustomConfig === 'foo'; + // application.myCustomConfigBar = this.jhipsterConfig.myCustomConfig === 'bar'; + // application.myCustomConfigNo = !this.jhipsterConfig.myCustomConfig || this.jhipsterConfig.myCustomConfig === 'no'; + // }, + // differentRelationshipsWorkaround(foo) { + // // todo: remove this - need to figure out why context.differentRelationships + // // todo: has a value here but is undefined in the templates. + // const alreadyIncludedEntities = []; + // const uniqueEntityRelationships = []; + // this.context.relationships.forEach(relation => { + // if (!alreadyIncludedEntities.includes(relation.otherEntityName)) { + // alreadyIncludedEntities.push(relation.otherEntityName); + // uniqueEntityRelationships.push(relation); + // } + // }); + // this.reactNativeContext.uniqueOwnerSideRelationships = uniqueEntityRelationships.filter(relation => relation.ownerSide); + // this.reactNativeContext.ownerSideRelationships = this.context.relationships.filter(relation => relation.ownerSide); + // }, + }); + } + get [BaseApplicationGenerator.WRITING]() { return this.asWritingTaskGroup({ async writingTemplateTask({ application }) { @@ -142,20 +171,27 @@ export default class extends BaseApplicationGenerator { detox, }, }); - - await this.copyTemplateAsync('../resources/base/{**,**/.*}', this.destinationPath()); - - if (application.authenticationTypeJwt) { - await this.copyTemplateAsync('../resources/jwt/{**,**/.*}', this.destinationPath()); - } - - if (application.authenticationTypeOauth2) { - await this.copyTemplateAsync('../resources/oauth2/{**,**/.*}', this.destinationPath()); - } }, }); } + differentRelationshipsWorkaround(entity) { + // todo: remove this - need to figure out why context.differentRelationships + // todo: has a value here but is undefined in the templates. + const alreadyIncludedEntities = []; + const uniqueEntityRelationships = []; + entity.relationships.forEach(relation => { + if (!alreadyIncludedEntities.includes(relation.otherEntityName)) { + alreadyIncludedEntities.push(relation.otherEntityName); + uniqueEntityRelationships.push(relation); + } + }); + return { + uniqueOwnerSideRelationships: uniqueEntityRelationships.filter(relation => relation.ownerSide), + ownerSideRelationships: entity.relationships.filter(relation => relation.ownerSide), + }; + } + get [BaseApplicationGenerator.WRITING_ENTITIES]() { return this.asWritingEntitiesTaskGroup({ async writeEntities({ application, entities }) { @@ -164,31 +200,24 @@ export default class extends BaseApplicationGenerator { entities .filter(entity => !entity.builtIn) .map(async entity => { + const { uniqueOwnerSideRelationships, ownerSideRelationships } = this.differentRelationshipsWorkaround(entity); + const jhipsterVersion6 = this.jhipsterVersion && semver.major(semver.coerce(this.jhipsterVersion)) === '6'; await this.writeFiles({ sections: entityFiles, context: { ...entity, enableTranslation, + uniqueOwnerSideRelationships, + ownerSideRelationships, + getEntityFormField: getEntityFormField.bind(this), + getRelationshipFormField: getRelationshipFormField.bind(this), + getFieldValidateType: getFieldValidateType.bind(this), + getEntityFormFieldType: getEntityFormFieldType.bind(this), + entityNameSnakeCase: snakeCase(entity.entityNameCapitalized), + useOldPutMappingCode: jhipsterVersion6, + useOldDTOCode: jhipsterVersion6 && this.context.dto === 'mapstruct', }, }); - // write client side files for angular - const { entityClassHumanized, entityAngularName, entityFileName, entityFolderName } = entity; - this.editFile( - 'src/app/pages/entities/entities.page.ts', - createNeedleCallback({ - needle: 'jhipster-needle-add-entity-page', - contentToAdd: `{ name: '${entityClassHumanized}', component: '${entityAngularName}Page', route: '${entityFileName}' },`, - contentToCheck: `route: '${entityFileName}'`, - }), - ); - this.editFile( - 'src/app/pages/entities/entities.module.ts', - createNeedleCallback({ - needle: 'jhipster-needle-add-entity-route', - contentToAdd: `{ path: '${entityFileName}', loadChildren: () => import('./${entityFolderName}/${entityFileName}.module').then(m => m.${entityAngularName}PageModule) },`, - contentToCheck: `path: '${entityFileName}'`, - }), - ); }), ); }, From 3eb37da63a92c6d0202c3100c1f7dbd4ca603b66 Mon Sep 17 00:00:00 2001 From: Hideyuki Kagami Date: Sat, 27 Jan 2024 22:56:58 +0900 Subject: [PATCH 16/70] adjust entityPluralFileName --- generators/react-native/entity-files.mjs | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/generators/react-native/entity-files.mjs b/generators/react-native/entity-files.mjs index 50a314a2e..8defbc599 100644 --- a/generators/react-native/entity-files.mjs +++ b/generators/react-native/entity-files.mjs @@ -50,7 +50,8 @@ const files = { }, { file: 'app/modules/entities/fixtures/entity-get-all.json', - renameTo: generator => `app/shared/fixtures/get-all-${generator.entityPluralFileName}.json`, + // Workaround for entityPluralFileName 'xxxundefined' due to angularSuffix == undefined + renameTo: generator => `app/shared/fixtures/get-all-${generator.entityNamePluralizedAndSpinalCased}.json`, }, { file: 'app/modules/entities/fixtures/entity-update.json', @@ -59,11 +60,12 @@ const files = { ], }, { - condition: generator => generator.searchEngine, + condition: generator => generator.searchEngine && generator.searchEngine !== 'no', templates: [ { file: 'app/modules/entities/fixtures/entity-get-all.json', - renameTo: generator => `app/shared/fixtures/search-${generator.entityPluralFileName}.json`, + // Workaround for entityPluralFileName 'xxxundefined' due to angularSuffix == undefined + renameTo: generator => `app/shared/fixtures/search-${generator.entityNamePluralizedAndSpinalCased}.json`, }, ], }, From f6f802ad708a7c3e94db95255030c8b65e4eef43 Mon Sep 17 00:00:00 2001 From: Hideyuki Kagami Date: Sat, 27 Jan 2024 22:57:32 +0900 Subject: [PATCH 17/70] adjust replacePackageJsonVersions --- generators/react-native/generator.mjs | 38 ++++++++++++++++++++++++++- 1 file changed, 37 insertions(+), 1 deletion(-) diff --git a/generators/react-native/generator.mjs b/generators/react-native/generator.mjs index b802e58c1..fc0407b69 100644 --- a/generators/react-native/generator.mjs +++ b/generators/react-native/generator.mjs @@ -1,4 +1,5 @@ -import { relative } from 'node:path'; +import fs from 'fs'; +import { relative, join, dirname } from 'node:path'; import chalk from 'chalk'; import BaseApplicationGenerator from 'generator-jhipster/generators/base-application'; import { generateTestEntity } from 'generator-jhipster/generators/client/support'; @@ -172,9 +173,44 @@ export default class extends BaseApplicationGenerator { }, }); }, + async replacePackageJsonVersionsInGeneratedApp() { + const srcDir = dirname(this.resolved); + this.debug('Replacing Package.json Versions'); + this.replacePackageJsonVersions('REPLACE_WITH_VERSION', join(srcDir, 'templates/package.json')); + this.replacePackageJsonVersions('EXPO_REPLACE_WITH_VERSION', join(srcDir, 'resources/expo/package.json')); + }, }); } + /** + * From generator-jhipster@7.9.4/generators/base-application.js + * Replace placeholders with versions from packageJsonSourceFile. + * @param {string} keyToReplace - PlaceHolder name. + * @param {string} packageJsonSourceFile - Package json filepath with actual versions. + */ + replacePackageJsonVersions(keyToReplace, packageJsonSourceFile) { + const packageJsonSource = JSON.parse(fs.readFileSync(packageJsonSourceFile, 'utf-8')); + const packageJsonTargetFile = this.destinationPath('package.json'); + const packageJsonTarget = this.fs.readJSON(packageJsonTargetFile); + const replace = section => { + if (packageJsonTarget[section]) { + Object.entries(packageJsonTarget[section]).forEach(([dependency, dependencyReference]) => { + if (dependencyReference.startsWith(keyToReplace)) { + const [keyToReplaceAtSource, sectionAtSource = section, dependencyAtSource = dependency] = dependencyReference.split('#'); + if (keyToReplaceAtSource !== keyToReplace) return; + if (!packageJsonSource[sectionAtSource] || !packageJsonSource[sectionAtSource][dependencyAtSource]) { + throw new Error(`Error setting ${dependencyAtSource} version, not found at ${sectionAtSource}.${dependencyAtSource}`); + } + packageJsonTarget[section][dependency] = packageJsonSource[sectionAtSource][dependencyAtSource]; + } + }); + } + }; + replace('dependencies'); + replace('devDependencies'); + this.fs.writeJSON(packageJsonTargetFile, packageJsonTarget); + } + differentRelationshipsWorkaround(entity) { // todo: remove this - need to figure out why context.differentRelationships // todo: has a value here but is undefined in the templates. From 63adf9939dfa99ffef4d892ead73510584b46280 Mon Sep 17 00:00:00 2001 From: Hideyuki Kagami Date: Sun, 28 Jan 2024 01:34:28 +0900 Subject: [PATCH 18/70] adjust patchNavigationForEntity --- generators/react-native/generator.mjs | 20 +++++++++++++++++++- lib/patch-navigation.js | 26 ++++++++++++++------------ 2 files changed, 33 insertions(+), 13 deletions(-) diff --git a/generators/react-native/generator.mjs b/generators/react-native/generator.mjs index fc0407b69..d0e873eb0 100644 --- a/generators/react-native/generator.mjs +++ b/generators/react-native/generator.mjs @@ -9,7 +9,14 @@ import command from './command.mjs'; import { DEFAULT_ENABLE_DETOX, DEFAULT_BACKEND_PATH } from '../constants.mjs'; import files from './files.mjs'; import entityFiles from './entity-files.mjs'; -import { getEntityFormField, getRelationshipFormField, getFieldValidateType, getEntityFormFieldType } from '../../lib/index.js'; +import { + getEntityFormField, + getRelationshipFormField, + getFieldValidateType, + getEntityFormFieldType, + patchNavigationForEntity, + patchInFile, +} from '../../lib/index.js'; export default class extends BaseApplicationGenerator { constructor(args, opts, features) { @@ -127,6 +134,7 @@ export default class extends BaseApplicationGenerator { // Add blueprint config to generator-jhipster namespace, so we can omit blueprint parameter when executing jhipster command const reactNativeBlueprints = this.jhipsterConfig.blueprints; if (!reactNativeBlueprints || !reactNativeBlueprints.find(blueprint => blueprint.name === 'generator-jhipster-react-native')) { + // eslint-disable-next-line no-undef this.jhipsterConfig.blueprints = [...(localBlueprints || []), { name: 'generator-jhipster-react-native' }]; } }, @@ -211,6 +219,7 @@ export default class extends BaseApplicationGenerator { this.fs.writeJSON(packageJsonTargetFile, packageJsonTarget); } + // eslint-disable-next-line class-methods-use-this differentRelationshipsWorkaround(entity) { // todo: remove this - need to figure out why context.differentRelationships // todo: has a value here but is undefined in the templates. @@ -257,6 +266,12 @@ export default class extends BaseApplicationGenerator { }), ); }, + async patchNavigationForEntity({ entities }) { + this.patchInFile = patchInFile.bind(this); + for (const entity of entities) { + patchNavigationForEntity.bind(this)(entity); + } + }, }); } @@ -349,6 +364,7 @@ ${chalk.green(` npm start`)} * @param {any} references - references to other entities. * @param {any} additionalFields - additional fields to add to the entity or with default values that overrides generated values. */ + // eslint-disable-next-line class-methods-use-this generateTestEntity(references, additionalFields) { return generateTestEntity(references, additionalFields); } @@ -362,6 +378,7 @@ ${chalk.green(` npm start`)} * @param {string} dto - dto * @returns {{queries: Array, variables: Array, hasManyToMany: boolean}} */ + // eslint-disable-next-line class-methods-use-this generateEntityQueries(relationships, entityInstance, dto) { // workaround method being called on initialization if (!relationships) { @@ -409,6 +426,7 @@ ${chalk.green(` npm start`)} variables.push(`${variableName}: ${relationship.otherEntityAngularName}[];`); } }); + // eslint-disable-next-line consistent-return return { queries, variables, diff --git a/lib/patch-navigation.js b/lib/patch-navigation.js index 918b87aac..78e55a85d 100644 --- a/lib/patch-navigation.js +++ b/lib/patch-navigation.js @@ -1,53 +1,55 @@ -function patchNavigationForEntity(name) { +function patchNavigationForEntity(entity) { const entityScreenFilePath = 'app/modules/entities/entities-screen.js'; const entityStackPath = 'app/navigation/entity-stack.js'; // import entity screens to navigation - const navigationImport = `import ${this.context.entityNameCapitalized}Screen from '../modules/entities/${this.context.entityFileName}/${this.context.entityFileName}-screen'`; + const navigationImport = `import ${entity.entityNameCapitalized}Screen from '../modules/entities/${entity.entityFileName}/${entity.entityFileName}-screen'`; this.patchInFile(entityStackPath, { before: 'jhipster-react-native-navigation-import-needle', insert: navigationImport, }); - const navigationImportDetail = `import ${this.context.entityNameCapitalized}DetailScreen from '../modules/entities/${this.context.entityFileName}/${this.context.entityFileName}-detail-screen'`; + const navigationImportDetail = `import ${entity.entityNameCapitalized}DetailScreen from '../modules/entities/${entity.entityFileName}/${entity.entityFileName}-detail-screen'`; this.patchInFile(entityStackPath, { before: 'jhipster-react-native-navigation-import-needle', insert: navigationImportDetail, }); - const navigationImportEdit = `import ${this.context.entityNameCapitalized}EditScreen from '../modules/entities/${this.context.entityFileName}/${this.context.entityFileName}-edit-screen'`; + const navigationImportEdit = `import ${entity.entityNameCapitalized}EditScreen from '../modules/entities/${entity.entityFileName}/${entity.entityFileName}-edit-screen'`; this.patchInFile(entityStackPath, { before: 'jhipster-react-native-navigation-import-needle', insert: navigationImportEdit, }); // import entity screens to navigation - const navigationDeclaration = `{ name: '${this.context.entityNameCapitalized}', route: '${this.context.entityFileName}', component: ${this.context.entityNameCapitalized}Screen, options: { title: '${this.context.entityNamePlural}', headerLeft: () => navigate('Entities')} />, headerRight: () => navigate('${this.context.entityNameCapitalized}Edit', { id: undefined })} backImage={(props) => } /> },},`; + const navigationDeclaration = `{ name: '${entity.entityNameCapitalized}', route: '${entity.entityFileName}', component: ${entity.entityNameCapitalized}Screen, options: { title: '${entity.entityNamePlural}', headerLeft: () => navigate('Entities')} />, headerRight: () => navigate('${entity.entityNameCapitalized}Edit', { id: undefined })} backImage={(props) => } /> },},`; this.patchInFile(entityStackPath, { before: 'jhipster-react-native-navigation-declaration-needle', insert: navigationDeclaration, - ignoreIfContains: `{ name: '${this.context.entityNameCapitalized}', route: '${this.context.entityFileName}'`, + ignoreIfContains: `{ name: '${entity.entityNameCapitalized}', route: '${entity.entityFileName}'`, }); - const navigationDeclarationDetail = `{ name: '${this.context.entityNameCapitalized}Detail', route: '${this.context.entityFileName}/detail', component: ${this.context.entityNameCapitalized}DetailScreen, options: { title: 'View ${this.context.entityNameCapitalized}', headerLeft: () => navigate('${this.context.entityNameCapitalized}')} /> },},`; + const navigationDeclarationDetail = `{ name: '${entity.entityNameCapitalized}Detail', route: '${entity.entityFileName}/detail', component: ${entity.entityNameCapitalized}DetailScreen, options: { title: 'View ${entity.entityNameCapitalized}', headerLeft: () => navigate('${entity.entityNameCapitalized}')} /> },},`; this.patchInFile(entityStackPath, { before: 'jhipster-react-native-navigation-declaration-needle', insert: navigationDeclarationDetail, - ignoreIfContains: `{ name: '${this.context.entityNameCapitalized}Detail', route: '${this.context.entityFileName}/detail'`, + ignoreIfContains: `{ name: '${entity.entityNameCapitalized}Detail', route: '${entity.entityFileName}/detail'`, }); - const navigationDeclarationEdit = `{ name: '${this.context.entityNameCapitalized}Edit', route: '${this.context.entityFileName}/edit', component: ${this.context.entityNameCapitalized}EditScreen, options: { title: 'Edit ${this.context.entityNameCapitalized}', headerLeft: () => goBackOrIfParamsOrDefault('${this.context.entityNameCapitalized}Detail', '${this.context.entityNameCapitalized}')} /> },},`; + const navigationDeclarationEdit = `{ name: '${entity.entityNameCapitalized}Edit', route: '${entity.entityFileName}/edit', component: ${entity.entityNameCapitalized}EditScreen, options: { title: 'Edit ${entity.entityNameCapitalized}', headerLeft: () => goBackOrIfParamsOrDefault('${entity.entityNameCapitalized}Detail', '${entity.entityNameCapitalized}')} /> },},`; this.patchInFile(entityStackPath, { before: 'jhipster-react-native-navigation-declaration-needle', insert: navigationDeclarationEdit, - ignoreIfContains: `{ name: '${this.context.entityNameCapitalized}Edit', route: '${this.context.entityFileName}/edit'`, + ignoreIfContains: `{ name: '${entity.entityNameCapitalized}Edit', route: '${entity.entityFileName}/edit'`, }); // add entity to entities screen - const entityScreenButton = ` navigation.navigate('${this.context.entityNameCapitalized}')} testID="${this.context.entityInstance}EntityScreenButton" />`; + const entityScreenButton = ` navigation.navigate('${entity.entityNameCapitalized}')} testID="${entity.entityInstance}EntityScreenButton" />`; this.patchInFile(entityScreenFilePath, { before: 'jhipster-react-native-entity-screen-needle', insert: entityScreenButton, - ignoreIfContains: ` Date: Sun, 28 Jan 2024 08:00:46 +0900 Subject: [PATCH 19/70] adjust patchEntityApi --- generators/react-native/generator.mjs | 3 + lib/patch-entity-api.js | 95 +++++++++++++-------------- 2 files changed, 50 insertions(+), 48 deletions(-) diff --git a/generators/react-native/generator.mjs b/generators/react-native/generator.mjs index d0e873eb0..9305647b7 100644 --- a/generators/react-native/generator.mjs +++ b/generators/react-native/generator.mjs @@ -15,6 +15,7 @@ import { getFieldValidateType, getEntityFormFieldType, patchNavigationForEntity, + patchEntityApi, patchInFile, } from '../../lib/index.js'; @@ -270,6 +271,8 @@ export default class extends BaseApplicationGenerator { this.patchInFile = patchInFile.bind(this); for (const entity of entities) { patchNavigationForEntity.bind(this)(entity); + const entityNameSnakeCase = snakeCase(entity.entityNameCapitalized); + patchEntityApi.bind(this)({ entityNameSnakeCase, ...entity }); } }, }); diff --git a/lib/patch-entity-api.js b/lib/patch-entity-api.js index 5f5d35e96..aeed88164 100644 --- a/lib/patch-entity-api.js +++ b/lib/patch-entity-api.js @@ -1,89 +1,89 @@ -function patchEntityApi() { +function patchEntityApi(entity) { const apiFilePath = 'app/shared/services/api.js'; const fixtureApiFilePath = 'app/shared/services/fixture-api.js'; const reduxIndexFilePath = 'app/shared/reducers/index.js'; const sagaIndexFilePath = 'app/shared/sagas/index.js'; - const microservicePath = this.context.microserviceAppName ? `${this.context.microserviceAppName.toLowerCase()}/` : ''; + const microservicePath = entity.microserviceAppName ? `${entity.microserviceAppName.toLowerCase()}/` : ''; // handle backwards compatibility for update method - const updateMethod = this.context.useOldPutMappingCode - ? `const update${this.context.entityNameCapitalized} = (${this.context.entityInstance}) => api.put('${microservicePath}api/${this.context.entityApiUrl}', ${this.context.entityInstance});` - : `const update${this.context.entityNameCapitalized} = (${this.context.entityInstance}) => api.put(\`${microservicePath}api/${this.context.entityApiUrl}/\${${this.context.entityInstance}.id}\`, ${this.context.entityInstance});`; + const updateMethod = entity.useOldPutMappingCode + ? `const update${entity.entityNameCapitalized} = (${entity.entityInstance}) => api.put('${microservicePath}api/${entity.entityApiUrl}', ${entity.entityInstance});` + : `const update${entity.entityNameCapitalized} = (${entity.entityInstance}) => api.put(\`${microservicePath}api/${entity.entityApiUrl}/\${${entity.entityInstance}.id}\`, ${entity.entityInstance});`; // REDUX AND SAGA SECTION let apiMethods = ` - const get${this.context.entityNameCapitalized} = (${this.context.entityInstance}Id) => api.get('${microservicePath}api/${this.context.entityApiUrl}/' + ${this.context.entityInstance}Id); - const getAll${this.context.entityNamePlural} = (options) => api.get('${microservicePath}api/${this.context.entityApiUrl}', options); - const create${this.context.entityNameCapitalized} = (${this.context.entityInstance}) => api.post('${microservicePath}api/${this.context.entityApiUrl}', ${this.context.entityInstance}); + const get${entity.entityNameCapitalized} = (${entity.entityInstance}Id) => api.get('${microservicePath}api/${entity.entityApiUrl}/' + ${entity.entityInstance}Id); + const getAll${entity.entityNamePlural} = (options) => api.get('${microservicePath}api/${entity.entityApiUrl}', options); + const create${entity.entityNameCapitalized} = (${entity.entityInstance}) => api.post('${microservicePath}api/${entity.entityApiUrl}', ${entity.entityInstance}); ${updateMethod} - const delete${this.context.entityNameCapitalized} = (${this.context.entityInstance}Id) => api.delete('${microservicePath}api/${this.context.entityApiUrl}/' + ${this.context.entityInstance}Id);`; + const delete${entity.entityNameCapitalized} = (${entity.entityInstance}Id) => api.delete('${microservicePath}api/${entity.entityApiUrl}/' + ${entity.entityInstance}Id);`; - let fixtureApiMethods = ` update${this.context.entityNameCapitalized}: (${this.context.entityInstance}) => { + let fixtureApiMethods = ` update${entity.entityNameCapitalized}: (${entity.entityInstance}) => { return { ok: true, - data: require('../../shared/fixtures/update-${this.context.entityFileName}.json'), + data: require('../../shared/fixtures/update-${entity.entityFileName}.json'), }; }, - getAll${this.context.entityNamePlural}: () => { + getAll${entity.entityNamePlural}: () => { return { ok: true, - data: require('../../shared/fixtures/get-all-${this.context.entityPluralFileName}.json'), + data: require('../../shared/fixtures/get-all-${entity.entityPluralFileName}.json'), }; }, - get${this.context.entityNameCapitalized}: (${this.context.entityInstance}Id) => { + get${entity.entityNameCapitalized}: (${entity.entityInstance}Id) => { return { ok: true, - data: require('../../shared/fixtures/get-${this.context.entityFileName}.json'), + data: require('../../shared/fixtures/get-${entity.entityFileName}.json'), }; }, - delete${this.context.entityNameCapitalized}: (${this.context.entityInstance}Id) => { + delete${entity.entityNameCapitalized}: (${entity.entityInstance}Id) => { return { ok: true, }; },`; let apiMethodsExport = ` - create${this.context.entityNameCapitalized}, - update${this.context.entityNameCapitalized}, - getAll${this.context.entityNamePlural}, - get${this.context.entityNameCapitalized}, - delete${this.context.entityNameCapitalized},`; + create${entity.entityNameCapitalized}, + update${entity.entityNameCapitalized}, + getAll${entity.entityNamePlural}, + get${entity.entityNameCapitalized}, + delete${entity.entityNameCapitalized},`; /* eslint-disable indent */ let sagaConnections = ` - takeLatest(${this.context.entityNameCapitalized}Types.${this.context.entityNameSnakeCase.toUpperCase()}_REQUEST, ${ - this.context.entityNameCapitalized - }Sagas.get${this.context.entityNameCapitalized}, api), - takeLatest(${this.context.entityNameCapitalized}Types.${this.context.entityNameSnakeCase.toUpperCase()}_ALL_REQUEST, ${ - this.context.entityNameCapitalized - }Sagas.getAll${this.context.entityNamePlural}, api), - takeLatest(${this.context.entityNameCapitalized}Types.${this.context.entityNameSnakeCase.toUpperCase()}_UPDATE_REQUEST, ${ - this.context.entityNameCapitalized - }Sagas.update${this.context.entityNameCapitalized}, api), - takeLatest(${this.context.entityNameCapitalized}Types.${this.context.entityNameSnakeCase.toUpperCase()}_DELETE_REQUEST, ${ - this.context.entityNameCapitalized - }Sagas.delete${this.context.entityNameCapitalized}, api),`; + takeLatest(${entity.entityNameCapitalized}Types.${entity.entityNameSnakeCase.toUpperCase()}_REQUEST, ${ + entity.entityNameCapitalized + }Sagas.get${entity.entityNameCapitalized}, api), + takeLatest(${entity.entityNameCapitalized}Types.${entity.entityNameSnakeCase.toUpperCase()}_ALL_REQUEST, ${ + entity.entityNameCapitalized + }Sagas.getAll${entity.entityNamePlural}, api), + takeLatest(${entity.entityNameCapitalized}Types.${entity.entityNameSnakeCase.toUpperCase()}_UPDATE_REQUEST, ${ + entity.entityNameCapitalized + }Sagas.update${entity.entityNameCapitalized}, api), + takeLatest(${entity.entityNameCapitalized}Types.${entity.entityNameSnakeCase.toUpperCase()}_DELETE_REQUEST, ${ + entity.entityNameCapitalized + }Sagas.delete${entity.entityNameCapitalized}, api),`; // add searchEngine methods - if (this.context.searchEngine) { - console.log(`SearchEngine: ${this.context.searchEngine}`); + if (entity.searchEngine) { + console.log(`SearchEngine: ${entity.searchEngine}`); apiMethods += ` - const search${this.context.entityNamePlural} = (query) => api.get('${microservicePath}api/_search/${this.context.entityApiUrl}', { query: query })`; + const search${entity.entityNamePlural} = (query) => api.get('${microservicePath}api/_search/${entity.entityApiUrl}', { query: query })`; fixtureApiMethods += ` - search${this.context.entityNamePlural}: (query) => { + search${entity.entityNamePlural}: (query) => { return { ok: true, - data: require('../../shared/fixtures/search-${this.context.entityPluralFileName}.json'), + data: require('../../shared/fixtures/search-${entity.entityPluralFileName}.json'), } },`; apiMethodsExport += ` - search${this.context.entityNamePlural},`; + search${entity.entityNamePlural},`; sagaConnections += ` - takeLatest(${this.context.entityNameCapitalized}Types.${this.context.entityNameSnakeCase.toUpperCase()}_SEARCH_REQUEST, ${ - this.context.entityNameCapitalized - }Sagas.search${this.context.entityNamePlural}, api),`; + takeLatest(${entity.entityNameCapitalized}Types.${entity.entityNameSnakeCase.toUpperCase()}_SEARCH_REQUEST, ${ + entity.entityNameCapitalized + }Sagas.search${entity.entityNamePlural}, api),`; } // add methods to api @@ -103,17 +103,17 @@ function patchEntityApi() { // import redux in redux/index.js this.patchInFile(reduxIndexFilePath, { before: 'jhipster-react-native-redux-store-import-needle', - insert: ` ${this.context.entityInstancePlural}: require('../../modules/entities/${this.context.entityFileName}/${this.context.entityFileName}.reducer').reducer,`, + insert: ` ${entity.entityInstancePlural}: require('../../modules/entities/${entity.entityFileName}/${entity.entityFileName}.reducer').reducer,`, }); // import saga/redux in sagas/index.js this.patchInFile(sagaIndexFilePath, { before: 'jhipster-react-native-saga-redux-import-needle', - insert: `import { ${this.context.entityNameCapitalized}Types } from '../../modules/entities/${this.context.entityFileName}/${this.context.entityFileName}.reducer'`, + insert: `import { ${entity.entityNameCapitalized}Types } from '../../modules/entities/${entity.entityFileName}/${entity.entityFileName}.reducer'`, }); this.patchInFile(sagaIndexFilePath, { before: 'jhipster-react-native-saga-method-import-needle', - insert: `import ${this.context.entityNameCapitalized}Sagas from '../../modules/entities/${this.context.entityFileName}/${this.context.entityFileName}.sagas';`, + insert: `import ${entity.entityNameCapitalized}Sagas from '../../modules/entities/${entity.entityFileName}/${entity.entityFileName}.sagas';`, }); this.patchInFile(sagaIndexFilePath, { @@ -122,6 +122,5 @@ function patchEntityApi() { }); } -export { - patchEntityApi, -}; +// eslint-disable-next-line import/prefer-default-export +export { patchEntityApi }; From 04ea0b6df3d3de53bc3b0561dae4f90a8260d6cf Mon Sep 17 00:00:00 2001 From: Hideyuki Kagami Date: Sun, 28 Jan 2024 14:15:00 +0900 Subject: [PATCH 20/70] adjust searchEngine --- generators/react-native/entity-files.mjs | 2 +- generators/react-native/generator.mjs | 13 +++++------ .../modules/entities/entity-flatlist.js.ejs | 12 +++++----- .../modules/entities/entity-reducer.js.ejs | 22 +++++++++---------- .../entities/entity-reducer.spec.js.ejs | 6 ++--- .../app/modules/entities/entity-sagas.js.ejs | 4 ++-- .../modules/entities/entity-sagas.spec.js.ejs | 2 +- lib/patch-entity-api.js | 10 ++++----- 8 files changed, 34 insertions(+), 37 deletions(-) diff --git a/generators/react-native/entity-files.mjs b/generators/react-native/entity-files.mjs index 8defbc599..aba61d568 100644 --- a/generators/react-native/entity-files.mjs +++ b/generators/react-native/entity-files.mjs @@ -60,7 +60,7 @@ const files = { ], }, { - condition: generator => generator.searchEngine && generator.searchEngine !== 'no', + condition: generator => generator.searchEngineAny, templates: [ { file: 'app/modules/entities/fixtures/entity-get-all.json', diff --git a/generators/react-native/generator.mjs b/generators/react-native/generator.mjs index 9305647b7..531f330e5 100644 --- a/generators/react-native/generator.mjs +++ b/generators/react-native/generator.mjs @@ -242,6 +242,7 @@ export default class extends BaseApplicationGenerator { return this.asWritingEntitiesTaskGroup({ async writeEntities({ application, entities }) { const { enableTranslation } = application; + this.patchInFile = patchInFile.bind(this); await Promise.all( entities .filter(entity => !entity.builtIn) @@ -252,6 +253,7 @@ export default class extends BaseApplicationGenerator { sections: entityFiles, context: { ...entity, + ...application, enableTranslation, uniqueOwnerSideRelationships, ownerSideRelationships, @@ -264,17 +266,12 @@ export default class extends BaseApplicationGenerator { useOldDTOCode: jhipsterVersion6 && this.context.dto === 'mapstruct', }, }); + patchNavigationForEntity.bind(this)(entity); + const entityNameSnakeCase = snakeCase(entity.entityNameCapitalized); + patchEntityApi.bind(this)(application, { entityNameSnakeCase, ...entity }); }), ); }, - async patchNavigationForEntity({ entities }) { - this.patchInFile = patchInFile.bind(this); - for (const entity of entities) { - patchNavigationForEntity.bind(this)(entity); - const entityNameSnakeCase = snakeCase(entity.entityNameCapitalized); - patchEntityApi.bind(this)({ entityNameSnakeCase, ...entity }); - } - }, }); } diff --git a/generators/react-native/templates/app/modules/entities/entity-flatlist.js.ejs b/generators/react-native/templates/app/modules/entities/entity-flatlist.js.ejs index d06355aef..3d282be78 100644 --- a/generators/react-native/templates/app/modules/entities/entity-flatlist.js.ejs +++ b/generators/react-native/templates/app/modules/entities/entity-flatlist.js.ejs @@ -2,7 +2,7 @@ import React from 'react' import { FlatList, Text, TouchableOpacity, View } from 'react-native' import { connect } from 'react-redux' import { useFocusEffect } from '@react-navigation/native'; -<%_ if (searchEngine) { _%> +<%_ if (searchEngineAny) { _%> import SearchBar from '../../../shared/components/search-bar/search-bar' <%_ } _%> import <%= entityNameCapitalized %>Actions from './<%= entityFileName %>.reducer' @@ -13,7 +13,7 @@ function <%= entityNameCapitalized %>Screen(props) { const [page, setPage] = React.useState(0); const [sort /*, setSort*/] = React.useState('id,asc'); const [size /*, setSize*/] = React.useState(20); - <%_ if (searchEngine) { _%> + <%_ if (searchEngineAny) { _%> const [searchTerm, setSearchTerm] = React.useState(''); <%_ } _%> @@ -40,7 +40,7 @@ function <%= entityNameCapitalized %>Screen(props) { } // Render a header - <%_ if (searchEngine) { _%> + <%_ if (searchEngineAny) { _%> const renderHeader = () => <%_ } _%> @@ -54,7 +54,7 @@ function <%= entityNameCapitalized %>Screen(props) { // How many items should be kept im memory as we scroll? const oneScreensWorth = 20 - <%_ if (searchEngine) { _%> + <%_ if (searchEngineAny) { _%> const cancelSearch = () => { setSearchTerm('') fetch<%= entityNamePlural %>() @@ -95,7 +95,7 @@ function <%= entityNameCapitalized %>Screen(props) { initialNumToRender={oneScreensWorth} onEndReached={handleLoadMore} ListEmptyComponent={renderEmpty} - <%_ if (searchEngine) { _%> + <%_ if (searchEngineAny) { _%> ListHeaderComponent={renderHeader} <%_ } _%> /> @@ -118,7 +118,7 @@ const mapStateToProps = (state) => { const mapDispatchToProps = (dispatch) => { return { - <%_ if (searchEngine) { _%> + <%_ if (searchEngineAny) { _%> performSearch: (query) => dispatch(<%= entityNameCapitalized %>Actions.<%= entityInstance %>SearchRequest(query)), <%_ } _%> getAll<%= entityNamePlural %>: (options) => dispatch(<%= entityNameCapitalized %>Actions.<%= entityInstance %>AllRequest(options)) diff --git a/generators/react-native/templates/app/modules/entities/entity-reducer.js.ejs b/generators/react-native/templates/app/modules/entities/entity-reducer.js.ejs index da99696f5..c78c14a8e 100644 --- a/generators/react-native/templates/app/modules/entities/entity-reducer.js.ejs +++ b/generators/react-native/templates/app/modules/entities/entity-reducer.js.ejs @@ -11,7 +11,7 @@ const { Types, Creators } = createActions({ <%= entityInstance %>Request: ['<%= entityInstance %>Id'], <%= entityInstance %>AllRequest: ['options'], <%= entityInstance %>UpdateRequest: ['<%= entityInstance %>'], - <%_ if (searchEngine) { _%> + <%_ if (searchEngineAny) { _%> <%= entityInstance %>SearchRequest: ['query'], <%_ } _%> <%= entityInstance %>DeleteRequest: ['<%= entityInstance %>Id'], @@ -19,7 +19,7 @@ const { Types, Creators } = createActions({ <%= entityInstance %>Success: ['<%= entityInstance %>'], <%= entityInstance %>AllSuccess: ['<%= entityInstance %>List', 'headers'], <%= entityInstance %>UpdateSuccess: ['<%= entityInstance %>'], - <%_ if (searchEngine) { _%> + <%_ if (searchEngineAny) { _%> <%= entityInstance %>SearchSuccess: ['<%= entityInstance %>List'], <%_ } _%> <%= entityInstance %>DeleteSuccess: [], @@ -27,7 +27,7 @@ const { Types, Creators } = createActions({ <%= entityInstance %>Failure: ['error'], <%= entityInstance %>AllFailure: ['error'], <%= entityInstance %>UpdateFailure: ['error'], - <%_ if (searchEngine) { _%> + <%_ if (searchEngineAny) { _%> <%= entityInstance %>SearchFailure: ['error'], <%_ } _%> <%= entityInstance %>DeleteFailure: ['error'], @@ -44,7 +44,7 @@ export const INITIAL_STATE = Immutable({ fetchingOne: false, fetchingAll: false, updating: false, - <%_ if (searchEngine) { _%> + <%_ if (searchEngineAny) { _%> searching: false, <%_ } _%> deleting: false, @@ -54,7 +54,7 @@ export const INITIAL_STATE = Immutable({ errorOne: null, errorAll: null, errorUpdating: null, - <%_ if (searchEngine) { _%> + <%_ if (searchEngineAny) { _%> errorSearching: null, <%_ } _%> errorDeleting: null, @@ -87,7 +87,7 @@ export const updateRequest = (state) => updateSuccess: false, updating: true }) -<%_ if (searchEngine) { _%> +<%_ if (searchEngineAny) { _%> // request to search from an api export const searchRequest = (state) => state.merge({ @@ -137,7 +137,7 @@ export const updateSuccess = (state, action) => { <%= entityInstance %> }) } -<%_ if (searchEngine) { _%> +<%_ if (searchEngineAny) { _%> // successful api search export const searchSuccess = (state, action) => { const { <%= entityInstance %>List } = action @@ -194,7 +194,7 @@ export const deleteFailure = (state, action) => { <%= entityInstance %>: state.<%= entityInstance %> }) } -<%_ if (searchEngine) { _%> +<%_ if (searchEngineAny) { _%> // Something went wrong searching the entities. export const searchFailure = (state, action) => { const { error } = action @@ -214,7 +214,7 @@ export const reducer = createReducer(INITIAL_STATE, { [Types.<%= entityNameSnakeCase.toUpperCase() %>_REQUEST]: request, [Types.<%= entityNameSnakeCase.toUpperCase() %>_ALL_REQUEST]: allRequest, [Types.<%= entityNameSnakeCase.toUpperCase() %>_UPDATE_REQUEST]: updateRequest, - <%_ if (searchEngine) { _%> + <%_ if (searchEngineAny) { _%> [Types.<%= entityNameSnakeCase.toUpperCase() %>_SEARCH_REQUEST]: searchRequest, <%_ } _%> [Types.<%= entityNameSnakeCase.toUpperCase() %>_DELETE_REQUEST]: deleteRequest, @@ -222,7 +222,7 @@ export const reducer = createReducer(INITIAL_STATE, { [Types.<%= entityNameSnakeCase.toUpperCase() %>_SUCCESS]: success, [Types.<%= entityNameSnakeCase.toUpperCase() %>_ALL_SUCCESS]: allSuccess, [Types.<%= entityNameSnakeCase.toUpperCase() %>_UPDATE_SUCCESS]: updateSuccess, - <%_ if (searchEngine) { _%> + <%_ if (searchEngineAny) { _%> [Types.<%= entityNameSnakeCase.toUpperCase() %>_SEARCH_SUCCESS]: searchSuccess, <%_ } _%> [Types.<%= entityNameSnakeCase.toUpperCase() %>_DELETE_SUCCESS]: deleteSuccess, @@ -230,7 +230,7 @@ export const reducer = createReducer(INITIAL_STATE, { [Types.<%= entityNameSnakeCase.toUpperCase() %>_FAILURE]: failure, [Types.<%= entityNameSnakeCase.toUpperCase() %>_ALL_FAILURE]: allFailure, [Types.<%= entityNameSnakeCase.toUpperCase() %>_UPDATE_FAILURE]: updateFailure, - <%_ if (searchEngine) { _%> + <%_ if (searchEngineAny) { _%> [Types.<%= entityNameSnakeCase.toUpperCase() %>_SEARCH_FAILURE]: searchFailure, <%_ } _%> [Types.<%= entityNameSnakeCase.toUpperCase() %>_DELETE_FAILURE]: deleteFailure, diff --git a/generators/react-native/templates/app/modules/entities/entity-reducer.spec.js.ejs b/generators/react-native/templates/app/modules/entities/entity-reducer.spec.js.ejs index 207c0e106..cffdf6d61 100644 --- a/generators/react-native/templates/app/modules/entities/entity-reducer.spec.js.ejs +++ b/generators/react-native/templates/app/modules/entities/entity-reducer.spec.js.ejs @@ -19,7 +19,7 @@ test('attempt updating a <%= entityInstance %>', () => { expect(state.updating).toBe(true) }) -<%_ if (searchEngine) { _%> +<%_ if (searchEngineAny) { _%> test('attempt searching a <%= entityInstance %>', () => { const state = reducer(INITIAL_STATE, Actions.<%= entityInstance %>SearchRequest(1)) @@ -66,7 +66,7 @@ test('success updating a <%= entityInstance %>', () => { expect(state.errorUpdating).toBe(null) expect(state.<%= entityInstance %>).toEqual({ id: 1 }) }) -<%_ if (searchEngine) { _%> +<%_ if (searchEngineAny) { _%> test('success searching a <%= entityInstance %>', () => { const state = reducer(INITIAL_STATE, Actions.<%= entityInstance %>SearchSuccess({ id: 1 })) @@ -106,7 +106,7 @@ test('failure updating a <%= entityInstance %>', () => { expect(state.errorUpdating).toEqual({ error: 'Not found' }) expect(state.<%= entityInstance %>).toEqual(INITIAL_STATE.<%= entityInstance %>) }) -<%_ if (searchEngine) { _%> +<%_ if (searchEngineAny) { _%> test('failure searching a <%= entityInstance %>', () => { const state = reducer(INITIAL_STATE, Actions.<%= entityInstance %>SearchFailure({ error: 'Not found' })) diff --git a/generators/react-native/templates/app/modules/entities/entity-sagas.js.ejs b/generators/react-native/templates/app/modules/entities/entity-sagas.js.ejs index 6dfd68373..c7256e2bb 100644 --- a/generators/react-native/templates/app/modules/entities/entity-sagas.js.ejs +++ b/generators/react-native/templates/app/modules/entities/entity-sagas.js.ejs @@ -61,7 +61,7 @@ function * update<%= entityNameCapitalized %> (api, action) { } } -<%_ if (searchEngine) { _%> +<%_ if (searchEngineAny) { _%> function * search<%= entityNamePlural %> (api, action) { const { query } = action // make the call to the api @@ -106,7 +106,7 @@ export default { getAll<%= entityNamePlural %>, get<%= entityNameCapitalized %>, delete<%= entityNameCapitalized %>, - <%_ if (searchEngine) { _%> + <%_ if (searchEngineAny) { _%> search<%= entityNamePlural %>, <%_ } _%> update<%= entityNameCapitalized %>, diff --git a/generators/react-native/templates/app/modules/entities/entity-sagas.spec.js.ejs b/generators/react-native/templates/app/modules/entities/entity-sagas.spec.js.ejs index 77b312592..cad7e268e 100644 --- a/generators/react-native/templates/app/modules/entities/entity-sagas.spec.js.ejs +++ b/generators/react-native/templates/app/modules/entities/entity-sagas.spec.js.ejs @@ -61,7 +61,7 @@ test('update failure path', () => { expect(step(response)).toEqual(put(<%= entityNameCapitalized %>Actions.<%= entityInstance %>UpdateFailure())) }) -<%_ if (searchEngine) { _%> +<%_ if (searchEngineAny) { _%> test('search success path', () => { const response = FixtureAPI.search<%= entityNamePlural %>() const step = stepper(search<%= entityNamePlural %>(FixtureAPI, '*')) diff --git a/lib/patch-entity-api.js b/lib/patch-entity-api.js index aeed88164..02ff6ff24 100644 --- a/lib/patch-entity-api.js +++ b/lib/patch-entity-api.js @@ -1,12 +1,12 @@ -function patchEntityApi(entity) { +function patchEntityApi(application, entity) { const apiFilePath = 'app/shared/services/api.js'; const fixtureApiFilePath = 'app/shared/services/fixture-api.js'; const reduxIndexFilePath = 'app/shared/reducers/index.js'; const sagaIndexFilePath = 'app/shared/sagas/index.js'; - const microservicePath = entity.microserviceAppName ? `${entity.microserviceAppName.toLowerCase()}/` : ''; + const microservicePath = application.microserviceAppName ? `${application.microserviceAppName.toLowerCase()}/` : ''; // handle backwards compatibility for update method - const updateMethod = entity.useOldPutMappingCode + const updateMethod = application.useOldPutMappingCode ? `const update${entity.entityNameCapitalized} = (${entity.entityInstance}) => api.put('${microservicePath}api/${entity.entityApiUrl}', ${entity.entityInstance});` : `const update${entity.entityNameCapitalized} = (${entity.entityInstance}) => api.put(\`${microservicePath}api/${entity.entityApiUrl}/\${${entity.entityInstance}.id}\`, ${entity.entityInstance});`; @@ -65,8 +65,8 @@ function patchEntityApi(entity) { }Sagas.delete${entity.entityNameCapitalized}, api),`; // add searchEngine methods - if (entity.searchEngine) { - console.log(`SearchEngine: ${entity.searchEngine}`); + if (application.searchEngineAny) { + console.log(`SearchEngine: ${application.searchEngineAny}`); apiMethods += ` const search${entity.entityNamePlural} = (query) => api.get('${microservicePath}api/_search/${entity.entityApiUrl}', { query: query })`; From 4c1a5a3fbf3070945ee388b55798b6a391ce912c Mon Sep 17 00:00:00 2001 From: Hideyuki Kagami Date: Sun, 28 Jan 2024 14:24:14 +0900 Subject: [PATCH 21/70] adjust websocket --- .../app/modules/home/learn-more-links.component.js.ejs | 2 +- .../templates/app/modules/login/login.sagas.js.ejs | 6 +++--- .../templates/app/navigation/nav-container.js.ejs | 4 ++-- .../templates/app/shared/reducers/create-store.js.ejs | 8 ++++---- .../templates/app/shared/reducers/index.js.ejs | 2 +- generators/react-native/templates/package.json.ejs | 2 +- 6 files changed, 12 insertions(+), 12 deletions(-) diff --git a/generators/react-native/templates/app/modules/home/learn-more-links.component.js.ejs b/generators/react-native/templates/app/modules/home/learn-more-links.component.js.ejs index 96a66b2d5..44a21fd05 100644 --- a/generators/react-native/templates/app/modules/home/learn-more-links.component.js.ejs +++ b/generators/react-native/templates/app/modules/home/learn-more-links.component.js.ejs @@ -63,7 +63,7 @@ const links = [ link: 'https://github.com/jhipster/generator-jhipster-react-native/blob/main/docs/storybook.md', description: 'How to use Storybook with React Native.', }, - <%_ if (websocket) { _%> + <%_ if (websocket !== 'no') { _%> { id: 8, title: 'Websockets Demo', diff --git a/generators/react-native/templates/app/modules/login/login.sagas.js.ejs b/generators/react-native/templates/app/modules/login/login.sagas.js.ejs index 7d19bf601..2478dec2c 100644 --- a/generators/react-native/templates/app/modules/login/login.sagas.js.ejs +++ b/generators/react-native/templates/app/modules/login/login.sagas.js.ejs @@ -5,7 +5,7 @@ import AppConfig from '../../config/app-config' <%_ } _%> import LoginActions from './login.reducer' import AccountActions from '../../shared/reducers/account.reducer' -<%_ if (websocket) { _%> +<%_ if (websocket !== 'no') { _%> import WebsocketService from '../../shared/websockets/websocket.service' <%_ } _%> <%_ if (authenticationType === 'oauth2') { _%> @@ -63,7 +63,7 @@ export function * login (api, { username, password }) { yield call(api.setAuthToken, response.data.id_token) yield put(LoginActions.loginSuccess(response.data.id_token)) yield put(AccountActions.accountRequest()) - <%_ if (websocket) { _%> + <%_ if (websocket !== 'no') { _%> WebsocketService.setToken(response.data.id_token) <%_ } _%> yield put({ type: 'RELOGIN_OK' }) @@ -99,7 +99,7 @@ export function * loginLoad (api) { // only set the token if we have it if (authToken) { yield call(api.setAuthToken, authToken) - <%_ if (websocket) { _%> + <%_ if (websocket !== 'no') { _%> WebsocketService.setToken(authToken) <%_ } _%> } diff --git a/generators/react-native/templates/app/navigation/nav-container.js.ejs b/generators/react-native/templates/app/navigation/nav-container.js.ejs index aa017cc81..241873157 100644 --- a/generators/react-native/templates/app/navigation/nav-container.js.ejs +++ b/generators/react-native/templates/app/navigation/nav-container.js.ejs @@ -20,7 +20,7 @@ import ChangePasswordScreen from '../modules/account/password/change-password-sc import AccountActions from '../shared/reducers/account.reducer'; import EntityStackScreen, { getEntityRoutes } from './entity-stack'; import StorybookScreen from '../../storybook'; -<%_ if (websocket) { _%> +<%_ if (websocket !== 'no') { _%> import ChatScreen from '../modules/chat/chat-screen' <%_ } _%> import DrawerContent from './drawer/drawer-content'; @@ -80,7 +80,7 @@ export const drawerScreens = [ }, auth: true, }, - <%_ if (websocket) { _%> + <%_ if (websocket !== 'no') { _%> { name: 'Chat', route: 'chat', diff --git a/generators/react-native/templates/app/shared/reducers/create-store.js.ejs b/generators/react-native/templates/app/shared/reducers/create-store.js.ejs index c6c45fbe1..ab2b72833 100644 --- a/generators/react-native/templates/app/shared/reducers/create-store.js.ejs +++ b/generators/react-native/templates/app/shared/reducers/create-store.js.ejs @@ -5,7 +5,7 @@ import { composeWithDevTools } from 'redux-devtools-extension'; import AppConfig from '../../config/app-config'; import RehydrationServices from '../services/rehydration.service' import ReduxPersist from '../../config/redux-persist' -<%_ if (websocket) { _%> +<%_ if (websocket !== 'no') { _%> import WebsocketService from '../websockets/websocket.service' <%_ } _%> const compose = AppConfig.debugMode ? composeWithDevTools : composeWithoutDevTools; @@ -21,7 +21,7 @@ export default (rootReducer, rootSaga) => { const sagaMonitor = null; const sagaMiddleware = createSagaMiddleware({ sagaMonitor }) middleware.push(sagaMiddleware) - <%_ if (websocket) { _%> + <%_ if (websocket !== 'no') { _%> const wsSagaMiddleware = createSagaMiddleware(WebsocketService.websocketSagas) middleware.push(wsSagaMiddleware) <%_ } _%> @@ -39,14 +39,14 @@ export default (rootReducer, rootSaga) => { // kick off root saga let sagasManager = sagaMiddleware.run(rootSaga) - <%_ if (websocket) { _%> + <%_ if (websocket !== 'no') { _%> let websocketSagaManager = wsSagaMiddleware.run(WebsocketService.websocketSagas) <%_ } _%> return { store, sagasManager, - <%_ if (websocket) { _%> + <%_ if (websocket !== 'no') { _%> websocketSagaManager, <%_ } _%> sagaMiddleware diff --git a/generators/react-native/templates/app/shared/reducers/index.js.ejs b/generators/react-native/templates/app/shared/reducers/index.js.ejs index e41e7906f..574d3bf40 100644 --- a/generators/react-native/templates/app/shared/reducers/index.js.ejs +++ b/generators/react-native/templates/app/shared/reducers/index.js.ejs @@ -10,7 +10,7 @@ export const reducers = combineReducers({ appState: require('./app-state.reducer').reducer, users: require('./user.reducer').reducer, // jhipster-react-native-redux-store-import-needle - <%_ if (websocket) { _%> + <%_ if (websocket !== 'no') { _%> chat: require('../../modules/chat/chat.reducer').reducer, <%_ } _%> <%_ if (authenticationType === 'oauth2') { _%> diff --git a/generators/react-native/templates/package.json.ejs b/generators/react-native/templates/package.json.ejs index 4d6e92b1e..f5b7ab400 100644 --- a/generators/react-native/templates/package.json.ejs +++ b/generators/react-native/templates/package.json.ejs @@ -72,7 +72,7 @@ "redux-saga": "REPLACE_WITH_VERSION", "reduxsauce": "REPLACE_WITH_VERSION", "seamless-immutable": "REPLACE_WITH_VERSION", - <%_ if (websocket) { _%> + <%_ if (websocket !== 'no') { _%> "webstomp-client": "REPLACE_WITH_VERSION", "sockjs-client": "REPLACE_WITH_VERSION", "net": "REPLACE_WITH_VERSION", From 206d8d148daa8ffdae9760a4d72a94f097d7b7f5 Mon Sep 17 00:00:00 2001 From: Hideyuki Kagami Date: Sun, 28 Jan 2024 14:27:02 +0900 Subject: [PATCH 22/70] Workaround for entityPluralFileName 'xxxundefined' --- lib/patch-entity-api.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/patch-entity-api.js b/lib/patch-entity-api.js index 02ff6ff24..b77cf1735 100644 --- a/lib/patch-entity-api.js +++ b/lib/patch-entity-api.js @@ -27,7 +27,7 @@ function patchEntityApi(application, entity) { getAll${entity.entityNamePlural}: () => { return { ok: true, - data: require('../../shared/fixtures/get-all-${entity.entityPluralFileName}.json'), + data: require('../../shared/fixtures/get-all-${entity.entityNamePluralizedAndSpinalCased}.json'), }; }, get${entity.entityNameCapitalized}: (${entity.entityInstance}Id) => { @@ -74,7 +74,7 @@ function patchEntityApi(application, entity) { search${entity.entityNamePlural}: (query) => { return { ok: true, - data: require('../../shared/fixtures/search-${entity.entityPluralFileName}.json'), + data: require('../../shared/fixtures/search-${entity.entityNamePluralizedAndSpinalCased}.json'), } },`; From 3a55f24f27303f49401475ffe78c8b955128bc35 Mon Sep 17 00:00:00 2001 From: Hideyuki Kagami Date: Sun, 28 Jan 2024 16:00:56 +0900 Subject: [PATCH 23/70] remove old files --- generators/entities/index.js | 67 ----------------- generators/entity/index.js | 138 ----------------------------------- generators/entity/prompts.js | 88 ---------------------- 3 files changed, 293 deletions(-) delete mode 100644 generators/entities/index.js delete mode 100644 generators/entity/index.js delete mode 100644 generators/entity/prompts.js diff --git a/generators/entities/index.js b/generators/entities/index.js deleted file mode 100644 index 88f80f2e9..000000000 --- a/generators/entities/index.js +++ /dev/null @@ -1,67 +0,0 @@ -/** - * Copyright 2017-2024 the original author or authors from the JHipster project. - * - * This file is part of the JHipster project, see https://www.jhipster.tech/ - * for more information. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -const EntitiesGenerator = require('generator-jhipster/generators/entities'); - -// overriding this generator enables us to import jdl without other side-effects -module.exports = class extends EntitiesGenerator { - constructor(args, opts) { - super(args, { fromBlueprint: true, ...opts }); // fromBlueprint variable is important - - const jhContext = (this.jhipsterContext = this.options.jhipsterContext); - - if (!jhContext) { - console.log('No jhContext found after initializing blueprint (entities generator)'); - // this.error(`This is a JHipster blueprint and should be used only like ${chalk.yellow('jhipster --blueprints react-native')}`); - } - } - - get initializing() { - return {}; - } - - get composing() { - return { - composeEachEntity() { - const context = this.context; - this.getExistingEntityNames().forEach(entityName => { - if (this.options.composedEntities && this.options.composedEntities.includes(entityName)) return; - this.composeWithJHipster('jhipster-react-native:entity', [entityName], { - regenerate: true, - skipDbChangelog: this.jhipsterConfig.databaseType === 'sql' || this.options.skipDbChangelog, - skipInstall: true, - arguments: [entityName], - context, - }); - }); - }, - }; - } - - get loading() { - return super._loading(); - } - - get default() { - return {}; - } - - get writing() { - return {}; - } -}; diff --git a/generators/entity/index.js b/generators/entity/index.js deleted file mode 100644 index f218eaa42..000000000 --- a/generators/entity/index.js +++ /dev/null @@ -1,138 +0,0 @@ -const EntityGenerator = require('generator-jhipster/generators/entity'); -const semver = require('semver'); -const { askForBackendJson } = require('./prompts'); -const { writeFiles } = require('./files'); -const { - patchInFile, - patchNavigationForEntity, - patchEntityApi, - loadVariables, - getEntityFormField, - getRelationshipFormField, - getFieldValidateType, - getEntityFormFieldType, -} = require('../../lib'); - -module.exports = class extends EntityGenerator { - constructor(args, opts) { - super(args, { fromBlueprint: true, angularSuffix: '', ...opts }); // fromBlueprint variable is important - - const jhContext = (this.jhipsterContext = this.options.jhipsterContext); - - if (!jhContext) { - console.log('No jhContext found after initializing blueprint (entity generator)'); - // this.error(`This is a JHipster blueprint and should be used only like ${chalk.yellow('jhipster --blueprints react-native')}`); - } - - this.patchInFile = patchInFile.bind(this); - - // regardless of the value of skipClient, we want to prettify JS/TS/TSX files - // this does not look to be configurable from blueprints (see getPrettierExtensions in generator-base.js) - // skipClient has no effect for generator-jhipster-react-native since it only generates a client - this.skipClient = false; - // another workaround for changed JHipster behavior. - if (!this.jhipsterConfig) { - this._config = this._getStorage('generator-jhipster'); - this.jhipsterConfig = this.config.createProxy(); - } - this.jhipsterConfig.skipClient = false; - } - - get initializing() { - return super._initializing(); - } - - get prompting() { - return { - askForBackendJson: askForBackendJson.bind(this), - }; - } - - get configuring() { - return super._configuring(); - } - - get loading() { - // skipping composing - const { loadEntity, shareEntity } = super._loading(); - return { - loadEntity, - shareEntity, - loadVariables: loadVariables.bind(this), - }; - } - - get preparing() { - return { - ...super._preparing(), - addHelpers() { - // add custom methods to the context - this.context.getEntityFormField = getEntityFormField.bind(this); - this.context.getRelationshipFormField = getRelationshipFormField.bind(this); - this.context.getFieldValidateType = getFieldValidateType.bind(this); - this.context.getEntityFormFieldType = getEntityFormFieldType.bind(this); - this.context.entityNameSnakeCase = this._.snakeCase(this.context.entityNameCapitalized); - // DTO compatability for v6 - const jhipsterVersion6 = this.context.jhipsterVersion && semver.major(semver.coerce(this.context.jhipsterVersion)) === '6'; - this.context.useOldPutMappingCode = jhipsterVersion6; - this.context.useOldDTOCode = jhipsterVersion6 && this.context.dto === 'mapstruct'; - // log the context for debugging purposes - if ((this.configOptions && this.configOptions.isDebugEnabled) || (this.options && this.options.debug)) { - console.log(this.context); - } - }, - }; - } - - get preparingFields() { - return super._preparingFields(); - } - - get preparingRelationships() { - return { - ...super._preparingRelationships(), - differentRelationshipsWorkaround() { - // todo: remove this - need to figure out why context.differentRelationships - // todo: has a value here but is undefined in the templates. - const alreadyIncludedEntities = []; - const uniqueEntityRelationships = []; - this.context.relationships.forEach(relation => { - if (!alreadyIncludedEntities.includes(relation.otherEntityName)) { - alreadyIncludedEntities.push(relation.otherEntityName); - uniqueEntityRelationships.push(relation); - } - }); - this.context.uniqueOwnerSideRelationships = uniqueEntityRelationships.filter(relation => relation.ownerSide); - this.context.ownerSideRelationships = this.context.relationships.filter(relation => relation.ownerSide); - }, - }; - } - - get default() { - return {}; - } - - get writing() { - return { - setupTemplateVariables() { - const jhipsterConfig = this.config.getAll(); - this.context.searchEngine = jhipsterConfig.searchEngine; - this.context.detox = jhipsterConfig.reactNative && jhipsterConfig.reactNative.detox; - this.context.fieldsContainEnum = this.context.fields.filter(field => field.fieldIsEnum).length > 0; - }, - writeFiles: writeFiles.bind(this), - patchNavigationForEntity: patchNavigationForEntity.bind(this, this.context.name), - patchEntityApi: patchEntityApi.bind(this, this.context.name), - }; - } - - get install() { - // Here we are not overriding this phase and hence its being handled by JHipster - return super._install(); - } - - get end() { - // Here we are not overriding this phase and hence its being handled by JHipster - return super._end(); - } -}; diff --git a/generators/entity/prompts.js b/generators/entity/prompts.js deleted file mode 100644 index eeccc7ba6..000000000 --- a/generators/entity/prompts.js +++ /dev/null @@ -1,88 +0,0 @@ -/** - * Copyright 2017-2024 the original author or authors from the JHipster project. - * - * This file is part of the JHipster project, see http://www.jhipster.tech/ - * for more information. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -// https://github.com/oktadeveloper/generator-jhipster-ionic/blob/cbf8837b33629ab7a5269012eef1866059bd3ccb/generators/entity/prompts.js -const path = require('path'); -const chalk = require('chalk'); -const shelljs = require('shelljs'); - -module.exports = { - askForBackendJson, -}; - -function askForBackendJson() { - const { context } = this; - context.filename = `.jhipster/${context.name}.json`; - - if (context.entityExisted || context.configExisted) { - context.entityJSON = this.entityStorage.getAll(); - return; - } - - if (this.options.defaults) { - this.directoryPath = path.resolve('../backend'); - return; - } - - const done = this.async(); - - const prompts = [ - { - when: !this.options.fromJdl, - type: 'input', - name: 'backendPath', - message: 'Enter the directory where your JHipster app is located:', - store: true, - default: '../backend', - validate: input => { - let fromPath; - if (path.isAbsolute(input)) { - fromPath = `${input}/${context.filename}`; - } else { - fromPath = this.destinationPath(`${input}/${context.filename}`); - } - - if (shelljs.test('-f', fromPath)) { - return true; - } - return `${context.filename} not found in ${input}/`; - }, - }, - ]; - - this.prompt(prompts).then(props => { - if (props.backendPath) { - this.log(chalk.green(`\nFound the ${context.filename} configuration file, entity can be automatically generated!\n`)); - if (path.isAbsolute(props.backendPath)) { - context.backendPath = props.backendPath; - } else { - context.backendPath = path.resolve(props.backendPath); - } - context.fromPath = `${context.backendPath}/${context.filename}`; - context.appConfigFromPath = `${context.backendPath}/.yo-rc.json`; - context.useConfigurationFile = true; - - context.entityJSON = this.fs.readJSON(context.fromPath); - this.entityStorage.set(context.entityJSON); - } else if (this.options.fromJdl) { - this.log(chalk.green(`Importing entity ${context.name} from JDL!`)); - context.entityJSON = this.entityStorage.getAll(); - } - done(); - }); -} From 6b73be65d9235386088fe8ffb7778d242d03c259 Mon Sep 17 00:00:00 2001 From: Hideyuki Kagami Date: Sun, 28 Jan 2024 17:09:04 +0900 Subject: [PATCH 24/70] adjust patch libs --- generators/react-native/generator.mjs | 39 +++++++++++++-------------- 1 file changed, 19 insertions(+), 20 deletions(-) diff --git a/generators/react-native/generator.mjs b/generators/react-native/generator.mjs index 531f330e5..0e6b7c401 100644 --- a/generators/react-native/generator.mjs +++ b/generators/react-native/generator.mjs @@ -17,6 +17,8 @@ import { patchNavigationForEntity, patchEntityApi, patchInFile, + appendFiles, + patchBabel, } from '../../lib/index.js'; export default class extends BaseApplicationGenerator { @@ -144,25 +146,9 @@ export default class extends BaseApplicationGenerator { get [BaseApplicationGenerator.PREPARING]() { return this.asPreparingTaskGroup({ - // preparing({ application }) { - // application.myCustomConfigFoo = this.jhipsterConfig.myCustomConfig === 'foo'; - // application.myCustomConfigBar = this.jhipsterConfig.myCustomConfig === 'bar'; - // application.myCustomConfigNo = !this.jhipsterConfig.myCustomConfig || this.jhipsterConfig.myCustomConfig === 'no'; - // }, - // differentRelationshipsWorkaround(foo) { - // // todo: remove this - need to figure out why context.differentRelationships - // // todo: has a value here but is undefined in the templates. - // const alreadyIncludedEntities = []; - // const uniqueEntityRelationships = []; - // this.context.relationships.forEach(relation => { - // if (!alreadyIncludedEntities.includes(relation.otherEntityName)) { - // alreadyIncludedEntities.push(relation.otherEntityName); - // uniqueEntityRelationships.push(relation); - // } - // }); - // this.reactNativeContext.uniqueOwnerSideRelationships = uniqueEntityRelationships.filter(relation => relation.ownerSide); - // this.reactNativeContext.ownerSideRelationships = this.context.relationships.filter(relation => relation.ownerSide); - // }, + preparingPatchInFile() { + this.patchInFile = patchInFile.bind(this); + }, }); } @@ -188,6 +174,20 @@ export default class extends BaseApplicationGenerator { this.replacePackageJsonVersions('REPLACE_WITH_VERSION', join(srcDir, 'templates/package.json')); this.replacePackageJsonVersions('EXPO_REPLACE_WITH_VERSION', join(srcDir, 'resources/expo/package.json')); }, + async patchUriScheme({ application }) { + const appConfig = this.fs.readJSON('app.json'); + appConfig.expo.scheme = application.baseName.toLowerCase(); + appConfig.expo.extra = {}; + appConfig.expo.web = appConfig.expo.web || {}; + appConfig.expo.web.bundler = 'metro'; + this.fs.writeJSON('app.json', appConfig); + }, + async appendFiles() { + appendFiles.bind(this)(); + }, + async patchBabel() { + patchBabel.bind(this)(); + }, }); } @@ -242,7 +242,6 @@ export default class extends BaseApplicationGenerator { return this.asWritingEntitiesTaskGroup({ async writeEntities({ application, entities }) { const { enableTranslation } = application; - this.patchInFile = patchInFile.bind(this); await Promise.all( entities .filter(entity => !entity.builtIn) From c79d3299ff95aba97ddcaf488f69a7308281fe4a Mon Sep 17 00:00:00 2001 From: Hideyuki Kagami Date: Sat, 3 Feb 2024 09:10:02 +0900 Subject: [PATCH 25/70] adjust cli --- cli/{cli.cjs => rnhipster.cjs} | 0 cli/rnhipster.js | 64 ---------------------------------- package.json | 4 +-- 3 files changed, 2 insertions(+), 66 deletions(-) rename cli/{cli.cjs => rnhipster.cjs} (100%) delete mode 100755 cli/rnhipster.js diff --git a/cli/cli.cjs b/cli/rnhipster.cjs similarity index 100% rename from cli/cli.cjs rename to cli/rnhipster.cjs diff --git a/cli/rnhipster.js b/cli/rnhipster.js deleted file mode 100755 index e1ed174ae..000000000 --- a/cli/rnhipster.js +++ /dev/null @@ -1,64 +0,0 @@ -#!/usr/bin/env node -/** - * Copyright 2017-2024 the original author or authors from the JHipster project. - * - * This file is part of the JHipster project, see https://www.jhipster.tech/ - * for more information. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -const semver = require('semver'); -const { logger } = require('generator-jhipster/cli/utils'); -const packageJson = require('../package.json'); - -const currentNodeVersion = process.versions.node; -const minimumNodeVersion = packageJson.engines.node; - -if (!semver.satisfies(currentNodeVersion, minimumNodeVersion)) { - /* eslint-disable no-console */ - logger.error( - `You are running Node version ${currentNodeVersion}\nRNHipster requires Node version ${minimumNodeVersion}\nPlease update your version of Node.` - ); - /* eslint-enable */ -} - -// Pass in react-native as a blueprint module. -// User passes in blueprints flag but without react-native :> append react-native -if (!process.argv.includes('react-native') && process.argv.includes('--blueprints')) { - for (let i = 0; i < process.argv.length; i++) { - if (process.argv[i] === '--blueprints') { - process.argv[i + 1] = `${process.argv[i + 1].split(',')},react-native`; - } - } - // User passes in blueprint flag but without react-native :> append react-native -} else if (!process.argv.includes('react-native') && process.argv.includes('--blueprint')) { - for (let i = 0; i < process.argv.length; i++) { - if (process.argv[i] === '--blueprint') { - process.argv[i] = '--blueprints'; - process.argv[i + 1] = `${process.argv[i + 1]},react-native`; - } - } - // User donot pass in blueprints or blueprint flag but without react-native :> append react-native -} else if (!process.argv.includes('react-native') && !process.argv.includes('--blueprint') && !process.argv.includes('--blueprints')) { - process.argv.push('--blueprints'); - process.argv.push('react-native'); -} - -/* eslint-disable */ -// load JHipster from generator-jhipster-react-native dependencies - uses the version specified in package.json -const jhipsterPackageJson = require('generator-jhipster/package.json'); -const packageFrom = jhipsterPackageJson._from; -logger.info('Using JHipster version installed in React Native'); -logger.info(`From: ${packageFrom}`); -require('generator-jhipster/cli/cli.js'); -/* eslint-enable */ diff --git a/package.json b/package.json index 1a5edc90b..bdc044c04 100644 --- a/package.json +++ b/package.json @@ -26,8 +26,8 @@ "type": "module", "main": "generators/app/index.js", "bin": { - "jhipster-react-native": "cli/cli.cjs", - "rnhipster": "./cli/rnhipster.js" + "jhipster-react-native": "./cli/rnhipster.cjs", + "rnhipster": "./cli/rnhipster.cjs" }, "files": [ "cli", From 8389d4a06f67e92bfb670264de0e3a80d3be729b Mon Sep 17 00:00:00 2001 From: Hideyuki Kagami Date: Sat, 3 Feb 2024 09:52:03 +0900 Subject: [PATCH 26/70] bump actions version --- .github/workflows/app.yml | 14 +++++++++----- .github/workflows/generator.yml | 2 +- .github/workflows/ios.yml | 4 ++-- .github/workflows/sample-app.yml | 4 ++-- 4 files changed, 14 insertions(+), 10 deletions(-) diff --git a/.github/workflows/app.yml b/.github/workflows/app.yml index 8ef511919..e90191bec 100644 --- a/.github/workflows/app.yml +++ b/.github/workflows/app.yml @@ -23,7 +23,7 @@ jobs: strategy: fail-fast: false matrix: - node_version: [16.x] + node_version: [20.x] app_type: - JwtDtoWebsocketsApp - OauthFlickrApp @@ -34,22 +34,22 @@ jobs: auth_type: jwt dto: true websockets: true - jhipster_version: 7 + jhipster_version: 8 - app_type: OauthFlickrApp auth_type: oauth2 dto: false entity_jdl: entities-flickr2.jdl - jhipster_version: 7 + jhipster_version: 8 - app_type: OauthHealthPointsApp auth_type: oauth2 dto: false entity_jdl: entities-21points.jdl - jhipster_version: 7 + jhipster_version: 8 - app_type: JwtDtoWebsocketsAppV6 auth_type: jwt dto: true websockets: true - jhipster_version: 6 + jhipster_version: 7 env: JHI_REACT_NATIVE_APP_NAME: ${{ matrix.app_type }} JHI_AUTH_TYPE: ${{ matrix.auth_type }} @@ -61,6 +61,10 @@ jobs: PLATFORM: ios steps: - uses: actions/checkout@v4.1.1 + - uses: actions/setup-java@v4 + with: + distribution: 'adopt' + java-version: '21.x' - run: git --no-pager log -n 10 --graph --pretty='%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue) <%an>%Creset' --abbrev-commit - uses: actions/setup-node@v4.0.1 with: diff --git a/.github/workflows/generator.yml b/.github/workflows/generator.yml index bc45874fe..f4a09d9cb 100644 --- a/.github/workflows/generator.yml +++ b/.github/workflows/generator.yml @@ -22,7 +22,7 @@ jobs: strategy: fail-fast: false matrix: - node_version: [16.x] + node_version: [20.x] os: [ubuntu-latest] steps: - uses: actions/checkout@v4.1.1 diff --git a/.github/workflows/ios.yml b/.github/workflows/ios.yml index 7245b65b1..2d96d3f30 100644 --- a/.github/workflows/ios.yml +++ b/.github/workflows/ios.yml @@ -33,7 +33,7 @@ jobs: fail-fast: false matrix: jhipster_version: [7] - node_version: [16.x] + node_version: [20.x] app_type: - JwtDtoApp - JwtWebsocketsApp @@ -75,7 +75,7 @@ jobs: - uses: actions/setup-java@v4 with: distribution: 'adopt' - java-version: '11.x' + java-version: '21.x' - run: git --no-pager log -n 10 --graph --pretty='%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue) <%an>%Creset' --abbrev-commit - uses: actions/setup-node@v4.0.1 with: diff --git a/.github/workflows/sample-app.yml b/.github/workflows/sample-app.yml index 439ab803a..1ba711f6f 100644 --- a/.github/workflows/sample-app.yml +++ b/.github/workflows/sample-app.yml @@ -21,8 +21,8 @@ jobs: strategy: fail-fast: false matrix: - jhipster_version: [7] - node_version: [16.17.0] + jhipster_version: [8] + node_version: [20.10.0] os: [ubuntu-latest] env: SCRIPT_DIR: ./generator-jhipster-react-native/test/scripts From ee1e911e683777f455380b3253ff7ed2b0c53f54 Mon Sep 17 00:00:00 2001 From: Hideyuki Kagami Date: Sat, 3 Feb 2024 17:47:24 +0900 Subject: [PATCH 27/70] adjust post writing section to allow 'jhipster -bluprint' --- generators/react-native/generator.mjs | 43 ++++++++++++------ lib/append-files.js | 31 +++++++------ lib/patch-in-file.js | 65 ++++++++++++++------------- 3 files changed, 80 insertions(+), 59 deletions(-) diff --git a/generators/react-native/generator.mjs b/generators/react-native/generator.mjs index 0e6b7c401..3f6ceadc5 100644 --- a/generators/react-native/generator.mjs +++ b/generators/react-native/generator.mjs @@ -174,17 +174,6 @@ export default class extends BaseApplicationGenerator { this.replacePackageJsonVersions('REPLACE_WITH_VERSION', join(srcDir, 'templates/package.json')); this.replacePackageJsonVersions('EXPO_REPLACE_WITH_VERSION', join(srcDir, 'resources/expo/package.json')); }, - async patchUriScheme({ application }) { - const appConfig = this.fs.readJSON('app.json'); - appConfig.expo.scheme = application.baseName.toLowerCase(); - appConfig.expo.extra = {}; - appConfig.expo.web = appConfig.expo.web || {}; - appConfig.expo.web.bundler = 'metro'; - this.fs.writeJSON('app.json', appConfig); - }, - async appendFiles() { - appendFiles.bind(this)(); - }, async patchBabel() { patchBabel.bind(this)(); }, @@ -265,9 +254,6 @@ export default class extends BaseApplicationGenerator { useOldDTOCode: jhipsterVersion6 && this.context.dto === 'mapstruct', }, }); - patchNavigationForEntity.bind(this)(entity); - const entityNameSnakeCase = snakeCase(entity.entityNameCapitalized); - patchEntityApi.bind(this)(application, { entityNameSnakeCase, ...entity }); }), ); }, @@ -276,6 +262,19 @@ export default class extends BaseApplicationGenerator { get [BaseApplicationGenerator.POST_WRITING]() { return this.asPostWritingTaskGroup({ + async patchUriScheme({ application }) { + this.editFile('app.json', content => { + const appConfig = JSON.parse(content); + appConfig.expo.scheme = application.baseName.toLowerCase(); + appConfig.expo.extra = {}; + appConfig.expo.web = appConfig.expo.web || {}; + appConfig.expo.web.bundler = 'metro'; + return JSON.stringify(appConfig); + }); + }, + async appendFiles() { + appendFiles.bind(this)(); + }, customizePackageJson({ application }) { const { baseName } = this.jhipsterConfig; this.packageJson.merge({ @@ -309,6 +308,22 @@ export default class extends BaseApplicationGenerator { }); } + get [BaseApplicationGenerator.POST_WRITING_ENTITIES]() { + return this.asPostWritingEntitiesTaskGroup({ + async patchEntity({ application, entities }) { + await Promise.all( + entities + .filter(entity => !entity.builtIn) + .map(async entity => { + patchNavigationForEntity.bind(this)(entity); + const entityNameSnakeCase = snakeCase(entity.entityNameCapitalized); + await patchEntityApi.bind(this)(application, { entityNameSnakeCase, ...entity }); + }), + ); + }, + }); + } + get [BaseApplicationGenerator.INSTALL]() { return this.asInstallTaskGroup({ async install() { diff --git a/lib/append-files.js b/lib/append-files.js index 0ee4722fe..c28e737e0 100644 --- a/lib/append-files.js +++ b/lib/append-files.js @@ -1,15 +1,20 @@ function appendFiles() { - this.fs.append('.gitignore', '/coverage\n'); - this.fs.append('.gitignore', '# Misc\n'); - this.fs.append('.gitignore', '.env\n'); - this.fs.append('.gitignore', 'ios/Index/DataStore\n'); - this.fs.append('.gitignore', 'ios/Carthage\n'); - this.fs.append('.gitignore', 'ios/Pods\n'); - this.fs.append('.gitignore', '/dist\n'); - this.fs.append('.gitignore', '.artifacts\n'); - this.fs.append('.gitignore', 'e2e/Exponent.app\n'); - this.fs.append('.gitignore', '.yo-repository\n'); + this.editFile( + '.gitignore', + content => `${content} +/coverage +# Misc +.env +ios/Index/DataStore +ios/Carthage +ios/Pods +/dist +.artifacts +e2e/Exponent.app +.yo-repository +`, + ); } -export { - appendFiles, -}; + +// eslint-disable-next-line import/prefer-default-export +export { appendFiles }; diff --git a/lib/patch-in-file.js b/lib/patch-in-file.js index 65ff97a96..211a15ede 100644 --- a/lib/patch-in-file.js +++ b/lib/patch-in-file.js @@ -2,9 +2,8 @@ /** * Inserts a given bit of content to a given file at a matched location */ -const insertInFile = (filePath, findPattern, content, insertAfter, context) => { +const insertInData = (filePath, data, findPattern, content, insertAfter) => { // read full file - Not a great idea if we ever touch large files - const data = context.fs.read(filePath, 'utf8'); let newContents = ''; // get the full line of first occurance const finder = new RegExp(`.*${findPattern}.*`, ''); @@ -17,7 +16,7 @@ const insertInFile = (filePath, findPattern, content, insertAfter, context) => { newContents = data.replace(finder, `${content}\n${matches[0]}`); } // overwrite file with modified contents - context.fs.write(filePath, newContents); + return newContents; }; /** * Conditionally places a string into a file before or after another string. @@ -28,39 +27,41 @@ const insertInFile = (filePath, findPattern, content, insertAfter, context) => { */ function patchInFile(file, opts) { // console.warn(`USING DEPRECATED PATCH METHOD on ${file}`); - try { - if (!this.fs.exists(file)) return; - const data = this.fs.read(file, 'utf8'); - // If the file already has insert, no-op unless forced - // stops accidental double inserts unless you're sure you want that - const dataWithoutWhitespace = data.replace(/\s+/g, ''); - const insertWithoutWhitespace = opts.insert.replace(/\s+/g, ''); - const ignoreIfContains = opts.ignoreIfContains ? opts.ignoreIfContains.replace(/\s+/g, '') : 'unfindableStringToIgnore0911'; + this.editFile(file, data => { + try { + // If the file already has insert, no-op unless forced + // stops accidental double inserts unless you're sure you want that + const dataWithoutWhitespace = data.replace(/\s+/g, ''); + const insertWithoutWhitespace = opts.insert.replace(/\s+/g, ''); + const ignoreIfContains = opts.ignoreIfContains ? opts.ignoreIfContains.replace(/\s+/g, '') : 'unfindableStringToIgnore0911'; - if (!opts.force && (dataWithoutWhitespace.includes(insertWithoutWhitespace) || dataWithoutWhitespace.includes(ignoreIfContains))) { - this.debug(`Skipped patching of ${file}, content already in file`); - return; - } - // delete is the same as replace + insert '' - const replaceString = opts.delete || opts.replace; - const newString = opts.insert || ''; - if (replaceString) { - if (data.includes(replaceString)) { - // Replace matching string with new string - const newContents = data.replace(replaceString, `${newString}`); - this.fs.write(file, newContents, { atomic: true }); - } else { + if (!opts.force && (dataWithoutWhitespace.includes(insertWithoutWhitespace) || dataWithoutWhitespace.includes(ignoreIfContains))) { + this.debug(`Skipped patching of ${file}, content already in file`); + return data; + } + // delete is the same as replace + insert '' + const replaceString = opts.delete || opts.replace; + const newString = opts.insert || ''; + if (replaceString) { + if (data.includes(replaceString)) { + // Replace matching string with new string + const newContents = data.replace(replaceString, `${newString}`); + return newContents; + } + // eslint-disable-next-line no-console console.warn(`${replaceString} not found`); + return data; } - } else { + // Insert before/after a particular string - insertInFile(file, opts.before || opts.after, newString, !!opts.after, this); + return insertInData(file, data, opts.before || opts.after, newString, !!opts.after); + } catch (e) { + // eslint-disable-next-line no-console + console.warn(`Could not find insertion point in ${file}:\n${opts.before}`); + return data; } - } catch (e) { - console.warn(`Could not find insertion point in ${file}:\n${opts.before}`); - } + }); } -export { - patchInFile, -}; +// eslint-disable-next-line import/prefer-default-export +export { patchInFile }; From 73cc4f5aac067344dcc0b918261a15ce333808ab Mon Sep 17 00:00:00 2001 From: Hideyuki Kagami Date: Sat, 3 Feb 2024 19:00:25 +0900 Subject: [PATCH 28/70] change the starting dir for generation from server to client in CICD --- .github/workflows/app.yml | 1 + generators/constants.mjs | 2 +- test/scripts/generate-react-native-app.sh | 5 ++++- test/scripts/run-react-native-tests.sh | 2 +- 4 files changed, 7 insertions(+), 3 deletions(-) diff --git a/.github/workflows/app.yml b/.github/workflows/app.yml index e90191bec..45513b242 100644 --- a/.github/workflows/app.yml +++ b/.github/workflows/app.yml @@ -52,6 +52,7 @@ jobs: jhipster_version: 7 env: JHI_REACT_NATIVE_APP_NAME: ${{ matrix.app_type }} + JHI_REACT_NATIVE_CLIENT_DIR: client JHI_AUTH_TYPE: ${{ matrix.auth_type }} JHI_DTO: ${{ matrix.dto }} JHI_WEBSOCKETS: ${{ matrix.websockets }} diff --git a/generators/constants.mjs b/generators/constants.mjs index f49260a93..d818d242d 100644 --- a/generators/constants.mjs +++ b/generators/constants.mjs @@ -1,5 +1,5 @@ export const REACT_NATIVE_NAMESPACE = 'jhipster-react-native'; -export const DEFAULT_REACT_NATIVE_PATH = '../reactNative4j'; +export const DEFAULT_REACT_NATIVE_PATH = '../client'; export const DEFAULT_BACKEND_PATH = '../backend'; export const DEFAULT_REACT_NATIVE_APP_NAME = 'RnApp'; export const DEFAULT_ENABLE_DETOX = false; diff --git a/test/scripts/generate-react-native-app.sh b/test/scripts/generate-react-native-app.sh index 1d61abcac..0be998623 100755 --- a/test/scripts/generate-react-native-app.sh +++ b/test/scripts/generate-react-native-app.sh @@ -1,7 +1,7 @@ #!/usr/bin/env bash set -exo pipefail -# switch to a directory to generate the react-native client +# switch to a directory to generate the react-native server rm -rf ../${JHI_REACT_NATIVE_APP_NAME} && mkdir ../${JHI_REACT_NATIVE_APP_NAME} && cd ../${JHI_REACT_NATIVE_APP_NAME} echo "Using JDL for Generation" @@ -17,4 +17,7 @@ else fi # list files +echo "Listing files in directory: ${JHI_REACT_NATIVE_APP_NAME}" ls -al +echo "Listing files in directory: ${JHI_REACT_NATIVE_CLIENT_DIR}" +ls -al ../${JHI_REACT_NATIVE_CLIENT_DIR} diff --git a/test/scripts/run-react-native-tests.sh b/test/scripts/run-react-native-tests.sh index a19b55358..6140f737a 100755 --- a/test/scripts/run-react-native-tests.sh +++ b/test/scripts/run-react-native-tests.sh @@ -1,7 +1,7 @@ #!/usr/bin/env bash set -ex -cd ../${JHI_REACT_NATIVE_APP_NAME} +cd ../${JHI_REACT_NATIVE_CLIENT_DIR} npm run lint From 6cb619ee8ed97810cf419af2a3d29dae8506346d Mon Sep 17 00:00:00 2001 From: Hideyuki Kagami Date: Sat, 3 Feb 2024 19:02:34 +0900 Subject: [PATCH 29/70] fixed a bug that caused detox prompts to appear even when defaults are specified. --- generators/react-native/generator.mjs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/generators/react-native/generator.mjs b/generators/react-native/generator.mjs index 3f6ceadc5..d46364693 100644 --- a/generators/react-native/generator.mjs +++ b/generators/react-native/generator.mjs @@ -52,7 +52,7 @@ export default class extends BaseApplicationGenerator { this.jhipsterConfig.authenticationType = this.options.authenticationType; } if (this.options.defaults || this.options.force) { - this.reactNativeStorage.defaults({ appDir: DEFAULT_BACKEND_PATH }); + this.reactNativeStorage.defaults({ appDir: DEFAULT_BACKEND_PATH, reactNativeDir: null, detox: DEFAULT_ENABLE_DETOX }); } if (!this.reactNativeContext) { From b17c33294d39e85c947ac91ff09cecb9faa112dc Mon Sep 17 00:00:00 2001 From: Hideyuki Kagami Date: Sat, 3 Feb 2024 21:30:54 +0900 Subject: [PATCH 30/70] revert version for CI --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index bdc044c04..be033ec67 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "generator-jhipster-react-native", - "version": "5.0.0", + "version": "4.4.0", "description": "React Native Blueprint for existing JHipster Apps", "keywords": [ "yeoman-generator", From ebfb9aa4b73c6f467801aea756dd66a1f455365d Mon Sep 17 00:00:00 2001 From: Hideyuki Kagami Date: Sat, 3 Feb 2024 21:45:31 +0900 Subject: [PATCH 31/70] fix ci client build --- test/scripts/generate-react-native-app.sh | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/test/scripts/generate-react-native-app.sh b/test/scripts/generate-react-native-app.sh index 0be998623..886b023fe 100755 --- a/test/scripts/generate-react-native-app.sh +++ b/test/scripts/generate-react-native-app.sh @@ -19,5 +19,9 @@ fi # list files echo "Listing files in directory: ${JHI_REACT_NATIVE_APP_NAME}" ls -al + +# build react native client app +cd ../${JHI_REACT_NATIVE_CLIENT_DIR} +npm install echo "Listing files in directory: ${JHI_REACT_NATIVE_CLIENT_DIR}" -ls -al ../${JHI_REACT_NATIVE_CLIENT_DIR} +ls -al From bc1af6996a743658416da3cd553d7abb2aa1d8f0 Mon Sep 17 00:00:00 2001 From: Hideyuki Kagami Date: Sat, 3 Feb 2024 22:12:32 +0900 Subject: [PATCH 32/70] adjust lint runtime error --- generators/react-native/templates/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/generators/react-native/templates/package.json b/generators/react-native/templates/package.json index 90872d203..6b94aa57b 100644 --- a/generators/react-native/templates/package.json +++ b/generators/react-native/templates/package.json @@ -46,7 +46,7 @@ "detox": "20.17.0", "eslint": "8.56.0", "eslint-config-prettier": "9.1.0", - "eslint-plugin-prettier": "4.2.1", + "eslint-plugin-prettier": "5.1.2", "expect": "29.7.0", "expo-detox-hook": "1.0.10", "jest": "29.7.0", From d185461581499d93ec2325301825bf7e9b32a98f Mon Sep 17 00:00:00 2001 From: Hideyuki Kagami Date: Sun, 4 Feb 2024 00:54:34 +0900 Subject: [PATCH 33/70] give up backward compatibility. --- .github/workflows/app.yml | 5 ----- 1 file changed, 5 deletions(-) diff --git a/.github/workflows/app.yml b/.github/workflows/app.yml index 45513b242..47ee9630c 100644 --- a/.github/workflows/app.yml +++ b/.github/workflows/app.yml @@ -45,11 +45,6 @@ jobs: dto: false entity_jdl: entities-21points.jdl jhipster_version: 8 - - app_type: JwtDtoWebsocketsAppV6 - auth_type: jwt - dto: true - websockets: true - jhipster_version: 7 env: JHI_REACT_NATIVE_APP_NAME: ${{ matrix.app_type }} JHI_REACT_NATIVE_CLIENT_DIR: client From 7388dda9e95b2c84fa58de40cfe8df1676204e46 Mon Sep 17 00:00:00 2001 From: Hideyuki Kagami Date: Sun, 4 Feb 2024 00:54:47 +0900 Subject: [PATCH 34/70] fix jdl errors --- test/jdl/entities-21points.jdl | 8 ++++---- test/jdl/entities-flickr2.jdl | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/test/jdl/entities-21points.jdl b/test/jdl/entities-21points.jdl index a6944f264..003955ff6 100644 --- a/test/jdl/entities-21points.jdl +++ b/test/jdl/entities-21points.jdl @@ -29,12 +29,12 @@ enum Units { } relationship OneToOne { - Preferences{user(login)} to User + Preferences{user(login)} to User with builtInEntity } relationship ManyToOne { - BloodPressure{user(login)} to User - Weight{user(login)} to User - Points{user(login)} to User + BloodPressure{user(login)} to User with builtInEntity + Weight{user(login)} to User with builtInEntity + Points{user(login)} to User with builtInEntity } paginate BloodPressure, Weight with infinite-scroll diff --git a/test/jdl/entities-flickr2.jdl b/test/jdl/entities-flickr2.jdl index da562649a..55f0346ba 100644 --- a/test/jdl/entities-flickr2.jdl +++ b/test/jdl/entities-flickr2.jdl @@ -23,7 +23,7 @@ entity Tag { } relationship ManyToOne { - Album{user(login)} to User + Album{user(login)} to User with builtInEntity Photo{album(title)} to Album } From b4de70813fc4cd76cffa039d2d4f80e3d6dc6330 Mon Sep 17 00:00:00 2001 From: Hideyuki Kagami Date: Sun, 4 Feb 2024 01:24:25 +0900 Subject: [PATCH 35/70] fix jest errors in oauth2 --- generators/react-native/generator.mjs | 3 --- 1 file changed, 3 deletions(-) diff --git a/generators/react-native/generator.mjs b/generators/react-native/generator.mjs index d46364693..494f3ef6c 100644 --- a/generators/react-native/generator.mjs +++ b/generators/react-native/generator.mjs @@ -298,9 +298,6 @@ export default class extends BaseApplicationGenerator { moduleNameMapper: { '^@reactNative/storage$': '/node_modules/@reactNative/storage/dist/reactNative-storage.cjs.js', }, - transformIgnorePatterns: [ - 'node_modules/(?!.*\\.mjs$|@ngrx|@reactNative-native|@reactNative|reactNative-appauth|capacitor-secure-storage-plugin)', - ], }, }); } From e23ab6210b19b2d774a1bc0be9cbd605896e6c05 Mon Sep 17 00:00:00 2001 From: Hideyuki Kagami Date: Sun, 4 Feb 2024 01:30:41 +0900 Subject: [PATCH 36/70] forgot to delete --- .github/workflows/app.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/app.yml b/.github/workflows/app.yml index 47ee9630c..f0cd2f0b1 100644 --- a/.github/workflows/app.yml +++ b/.github/workflows/app.yml @@ -28,7 +28,6 @@ jobs: - JwtDtoWebsocketsApp - OauthFlickrApp - OauthHealthPointsApp - - JwtDtoWebsocketsAppV6 include: - app_type: JwtDtoWebsocketsApp auth_type: jwt From 2c42c1977e2be432b64863b4e6df5860f3bc210d Mon Sep 17 00:00:00 2001 From: Hideyuki Kagami Date: Sun, 4 Feb 2024 01:32:20 +0900 Subject: [PATCH 37/70] adjust ios e2e ci --- .github/workflows/ios.yml | 3 ++- test/scripts/generate-jhipster-backend.sh | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ios.yml b/.github/workflows/ios.yml index 2d96d3f30..f51306bca 100644 --- a/.github/workflows/ios.yml +++ b/.github/workflows/ios.yml @@ -32,7 +32,7 @@ jobs: strategy: fail-fast: false matrix: - jhipster_version: [7] + jhipster_version: [8] node_version: [20.x] app_type: - JwtDtoApp @@ -61,6 +61,7 @@ jobs: dto: false env: JHI_REACT_NATIVE_APP_NAME: ${{ matrix.app_type }} + JHI_REACT_NATIVE_CLIENT_DIR: client JHI_AUTH_TYPE: ${{ matrix.auth_type }} JHI_DTO: ${{ matrix.dto }} JHI_WEBSOCKETS: ${{ matrix.websockets }} diff --git a/test/scripts/generate-jhipster-backend.sh b/test/scripts/generate-jhipster-backend.sh index f9a9408d1..9cc975a5e 100755 --- a/test/scripts/generate-jhipster-backend.sh +++ b/test/scripts/generate-jhipster-backend.sh @@ -5,7 +5,7 @@ set -exo pipefail rm -rf ../backend && mkdir ../backend && cd ../backend # generate the app -jhipster jdl ../${JHI_REACT_NATIVE_APP_NAME}.jdl --force --skip-checks --skip-commit-hook --from-cli --no-insight --skip-install +jhipster jdl ../${JHI_REACT_NATIVE_APP_NAME}.jdl --force --skip-checks --skip-commit-hook --no-insight --skip-install # list files ls -al From 048c4ba2f8fe43ae11b899ee84458aba786d093c Mon Sep 17 00:00:00 2001 From: Hideyuki Kagami Date: Sun, 4 Feb 2024 09:42:39 +0900 Subject: [PATCH 38/70] adjust devDatabaseType for CI --- test/jdl/app.jdl | 1 + 1 file changed, 1 insertion(+) diff --git a/test/jdl/app.jdl b/test/jdl/app.jdl index 3ec1550c8..61acc6a81 100644 --- a/test/jdl/app.jdl +++ b/test/jdl/app.jdl @@ -3,6 +3,7 @@ application { authenticationType jwt websocket false skipClient true + devDatabaseType h2Disk } entities * } From c79cc96b7b9daea2bf468857805dec99514949a9 Mon Sep 17 00:00:00 2001 From: Hideyuki Kagami Date: Sun, 4 Feb 2024 16:01:27 +0900 Subject: [PATCH 39/70] adjust e2e entities --- generators/react-native/entity-files.mjs | 2 +- generators/react-native/generator.mjs | 11 +++++------ 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/generators/react-native/entity-files.mjs b/generators/react-native/entity-files.mjs index aba61d568..60534bf35 100644 --- a/generators/react-native/entity-files.mjs +++ b/generators/react-native/entity-files.mjs @@ -72,7 +72,7 @@ const files = { ], detox: [ { - condition: generator => generator.detox, + condition: generator => generator.reactNativeConfig.detox, templates: [ { file: 'app/modules/entities/entity-e2e-test.js', renameTo: generator => `e2e/entities/${generator.entityFileName}.spec.js` }, ], diff --git a/generators/react-native/generator.mjs b/generators/react-native/generator.mjs index 494f3ef6c..670b05319 100644 --- a/generators/react-native/generator.mjs +++ b/generators/react-native/generator.mjs @@ -54,10 +54,6 @@ export default class extends BaseApplicationGenerator { if (this.options.defaults || this.options.force) { this.reactNativeStorage.defaults({ appDir: DEFAULT_BACKEND_PATH, reactNativeDir: null, detox: DEFAULT_ENABLE_DETOX }); } - - if (!this.reactNativeContext) { - this.reactNativeContext = {}; - } } async beforeQueue() { @@ -237,12 +233,15 @@ export default class extends BaseApplicationGenerator { .map(async entity => { const { uniqueOwnerSideRelationships, ownerSideRelationships } = this.differentRelationshipsWorkaround(entity); const jhipsterVersion6 = this.jhipsterVersion && semver.major(semver.coerce(this.jhipsterVersion)) === '6'; + const fieldsContainEnum = entity.fields.filter(field => field.fieldIsEnum).length > 0; await this.writeFiles({ sections: entityFiles, context: { - ...entity, - ...application, + ...entity, // TODO: entity: {...entity} + ...application, // TODO: application: {}...application} + reactNativeConfig: { ...this.reactNativeConfig }, enableTranslation, + fieldsContainEnum, uniqueOwnerSideRelationships, ownerSideRelationships, getEntityFormField: getEntityFormField.bind(this), From 872ac0e1967122ecc4d538e8eeeef2f3ae345e1c Mon Sep 17 00:00:00 2001 From: Hideyuki Kagami Date: Sun, 4 Feb 2024 17:06:10 +0900 Subject: [PATCH 40/70] adjust websocket --- generators/react-native/files.mjs | 4 ++-- generators/react-native/generator.mjs | 5 +++++ 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/generators/react-native/files.mjs b/generators/react-native/files.mjs index eb0bb1156..e818d6dd1 100644 --- a/generators/react-native/files.mjs +++ b/generators/react-native/files.mjs @@ -168,7 +168,7 @@ const files = { ], websockets: [ { - condition: context => context.websocket === 'spring-websocket', + condition: context => !(context.websocket === 'no'), templates: [ 'app/modules/chat/chat-screen.js', 'app/modules/chat/chat-screen.styles.js', @@ -225,7 +225,7 @@ const files = { templates: ['e2e/account/change-password-screen.spec.js', 'e2e/account/login-screen.spec.js', 'e2e/account/settings-screen.spec.js'], }, { - condition: context => context.detox === true && context.websocket, + condition: context => context.detox === true && !(context.websocket === 'no'), templates: ['e2e/websockets/chat-screen.spec.js'], }, ], diff --git a/generators/react-native/generator.mjs b/generators/react-native/generator.mjs index 670b05319..3d48e654f 100644 --- a/generators/react-native/generator.mjs +++ b/generators/react-native/generator.mjs @@ -128,6 +128,11 @@ export default class extends BaseApplicationGenerator { this.backendBlueprintConfig.reactNativeDir = reactNativeDir; this.backendBlueprintConfig.appDir = null; } + + // websocket: 'spring-websocket' or 'no'; + if (this.backendConfig?.websocket) { + this.jhipsterConfig.websocket = this.backendConfig.websocket; + } }, blueprint() { // Add blueprint config to generator-jhipster namespace, so we can omit blueprint parameter when executing jhipster command From 611d8324fae8e2e5a70e084b8d310dfc01eb3c32 Mon Sep 17 00:00:00 2001 From: Hideyuki Kagami Date: Sun, 4 Feb 2024 21:05:09 +0900 Subject: [PATCH 41/70] adjust detox default enabled --- generators/react-native/generator.mjs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/generators/react-native/generator.mjs b/generators/react-native/generator.mjs index 3d48e654f..39d84488d 100644 --- a/generators/react-native/generator.mjs +++ b/generators/react-native/generator.mjs @@ -52,7 +52,8 @@ export default class extends BaseApplicationGenerator { this.jhipsterConfig.authenticationType = this.options.authenticationType; } if (this.options.defaults || this.options.force) { - this.reactNativeStorage.defaults({ appDir: DEFAULT_BACKEND_PATH, reactNativeDir: null, detox: DEFAULT_ENABLE_DETOX }); + // using defaults options, detox is enebled by default + this.reactNativeStorage.defaults({ appDir: DEFAULT_BACKEND_PATH, reactNativeDir: null, detox: true }); } } From bb4b2d51a7595c4da310189bcdfb91d87d14dd37 Mon Sep 17 00:00:00 2001 From: Hideyuki Kagami Date: Sun, 4 Feb 2024 22:01:15 +0900 Subject: [PATCH 42/70] adjust how to generate app in CI --- .github/workflows/app.yml | 1 - .github/workflows/ios.yml | 1 - test/scripts/generate-react-native-app.sh | 29 ++++++++++------------- test/scripts/rename-detox-screenshots.sh | 2 +- test/scripts/run-detox-tests.sh | 2 +- test/scripts/run-react-native-tests.sh | 2 +- 6 files changed, 16 insertions(+), 21 deletions(-) diff --git a/.github/workflows/app.yml b/.github/workflows/app.yml index f0cd2f0b1..45bf5560a 100644 --- a/.github/workflows/app.yml +++ b/.github/workflows/app.yml @@ -46,7 +46,6 @@ jobs: jhipster_version: 8 env: JHI_REACT_NATIVE_APP_NAME: ${{ matrix.app_type }} - JHI_REACT_NATIVE_CLIENT_DIR: client JHI_AUTH_TYPE: ${{ matrix.auth_type }} JHI_DTO: ${{ matrix.dto }} JHI_WEBSOCKETS: ${{ matrix.websockets }} diff --git a/.github/workflows/ios.yml b/.github/workflows/ios.yml index c68b97a05..d7143cb43 100644 --- a/.github/workflows/ios.yml +++ b/.github/workflows/ios.yml @@ -61,7 +61,6 @@ jobs: dto: false env: JHI_REACT_NATIVE_APP_NAME: ${{ matrix.app_type }} - JHI_REACT_NATIVE_CLIENT_DIR: client JHI_AUTH_TYPE: ${{ matrix.auth_type }} JHI_DTO: ${{ matrix.dto }} JHI_WEBSOCKETS: ${{ matrix.websockets }} diff --git a/test/scripts/generate-react-native-app.sh b/test/scripts/generate-react-native-app.sh index 886b023fe..5539dccc0 100755 --- a/test/scripts/generate-react-native-app.sh +++ b/test/scripts/generate-react-native-app.sh @@ -1,27 +1,24 @@ #!/usr/bin/env bash set -exo pipefail -# switch to a directory to generate the react-native server -rm -rf ../${JHI_REACT_NATIVE_APP_NAME} && mkdir ../${JHI_REACT_NATIVE_APP_NAME} && cd ../${JHI_REACT_NATIVE_APP_NAME} - echo "Using JDL for Generation" -# todo: debug fix for why --blueprints flag no longer works for jhipster v7.4.0+ -# generate the app using the same JDL as the backend -if [ "$JHIPSTER_VERSION" = "6" ]; then - rnhipster jdl ../${JHI_REACT_NATIVE_APP_NAME}.jdl \ - --defaults --no-insight --skip-git +if [ -d "../backend" ]; then + echo "Using React Native for Generation using ../backend folder" + rm -rf ../client && mkdir ../client && cd ../client + rnhipster --force else + echo "Using JHipster for Generation. Both backend and frontend will be generated." + mkdir ../backend && cd ../backend jhipster --blueprints react-native jdl ../${JHI_REACT_NATIVE_APP_NAME}.jdl \ - --defaults --no-insight --skip-git + --defaults --no-insight --skip-git + # list backend files + echo "Listing files in directory: ../backend" + ls -al fi -# list files -echo "Listing files in directory: ${JHI_REACT_NATIVE_APP_NAME}" -ls -al - -# build react native client app -cd ../${JHI_REACT_NATIVE_CLIENT_DIR} +# list client files +cd ../client npm install -echo "Listing files in directory: ${JHI_REACT_NATIVE_CLIENT_DIR}" +echo "Listing files in directory: ../client" ls -al diff --git a/test/scripts/rename-detox-screenshots.sh b/test/scripts/rename-detox-screenshots.sh index 3af3334b8..e013774d9 100755 --- a/test/scripts/rename-detox-screenshots.sh +++ b/test/scripts/rename-detox-screenshots.sh @@ -1,6 +1,6 @@ # workaround for recent detox changes that include < and > in the filename # this is refused by the github artifact uploader as an invalid filename -cd ../${JHI_REACT_NATIVE_APP_NAME}/.artifacts +cd ../client/.artifacts find . -type f -name '*.png' | while read FILE ; do newfile=$FILE newfile="$(echo ${newfile} |sed -e 's/\ Date: Mon, 5 Feb 2024 01:05:59 +0900 Subject: [PATCH 43/70] change error detection to reliable in e2e --- .../account/password/change-password-screen.js.ejs | 12 ++++++++++-- .../app/modules/login/login-screen.js.ejs | 6 +++++- .../e2e/account/change-password-screen.spec.js.ejs | 14 ++++++-------- .../templates/e2e/account/login-screen.spec.js.ejs | 5 ++--- 4 files changed, 23 insertions(+), 14 deletions(-) diff --git a/generators/react-native/templates/app/modules/account/password/change-password-screen.js.ejs b/generators/react-native/templates/app/modules/account/password/change-password-screen.js.ejs index 06a243ca0..002b896f1 100644 --- a/generators/react-native/templates/app/modules/account/password/change-password-screen.js.ejs +++ b/generators/react-native/templates/app/modules/account/password/change-password-screen.js.ejs @@ -50,8 +50,16 @@ function ChangePasswordScreen(props) { return ( - {!!error && {error}} - {!!success && {success}} + {!!error && ( + + {error} + + )} + {!!success && ( + + {success} + + )} - {!!error && {error}} + {!!error && ( + + {error} + + )} { }; it('should display a success message on change password success', async () => { - const expectedLabel = 'Password changed'; await changePassword(password, updatedPassword); - await waitForElementToBeVisibleByLabel(expectedLabel); - await expect(element(by.label(expectedLabel))).toBeVisible(); + await waitForElementToBeVisibleById('changePasswordSuccessMessage'); + await expect(element(by.id('changePasswordSuccessMessage'))).toBeVisible(); await changePassword(updatedPassword, password); - await waitForElementToBeVisibleByLabel(expectedLabel); - await expect(element(by.label(expectedLabel))).toBeVisible(); + await waitForElementToBeVisibleById('changePasswordSuccessMessage'); + await expect(element(by.id('changePasswordSuccessMessage'))).toBeVisible(); }); it('should display an error message on change password failure', async () => { - const expectedLabel = 'Incorrect password'; await changePassword('invalid-password', 'invalid-password'); - await waitForElementToBeVisibleByLabel(expectedLabel); - await expect(element(by.label(expectedLabel))).toBeVisible(); + await waitForElementToBeVisibleById('changePasswordErrorMessage'); + await expect(element(by.id('changePasswordErrorMessage'))).toBeVisible(); }); }); diff --git a/generators/react-native/templates/e2e/account/login-screen.spec.js.ejs b/generators/react-native/templates/e2e/account/login-screen.spec.js.ejs index 52deb76f1..46d2d4215 100644 --- a/generators/react-native/templates/e2e/account/login-screen.spec.js.ejs +++ b/generators/react-native/templates/e2e/account/login-screen.spec.js.ejs @@ -18,9 +18,8 @@ describe('Login Screen Tests', () => { await element(by.id('loginScreenUsername')).replaceText('invalid'); await element(by.id('loginScreenPassword')).replaceText('invalid'); await waitThenTapButton('loginScreenLoginButton') - const expectedLabel = 'Bad credentials'; - await waitForElementToBeVisibleByLabel(expectedLabel); - await expect(element(by.label(expectedLabel))).toBeVisible(); + await waitForElementToBeVisibleById('loginErrorMessage'); + await expect(element(by.id('loginErrorMessage'))).toBeVisible(); }); it('should log in and log out as user successfully', async () => { From b6f094273380becd9b657fdbf9b10fd2cea14ffe Mon Sep 17 00:00:00 2001 From: Hideyuki Kagami Date: Thu, 8 Feb 2024 22:48:30 +0900 Subject: [PATCH 44/70] passed npm test --- .../app/__snapshots__/generator.spec.mjs.snap | 995 ++++++ generators/app/generator.spec.mjs | 4 +- generators/heroku/{index.js => index.mjs} | 25 +- .../__snapshots__/generator.spec.mjs.snap | 9 + .../generator-entity.spec.mjs.snap | 1492 +++++++++ .../__snapshots__/generator.spec.mjs.snap | 2707 +++++++++++++++++ .../react-native/generator-entity.spec.mjs | 153 + generators/react-native/generator.mjs | 2 +- generators/react-native/generator.spec.mjs | 208 +- lib/entity-helpers.js | 27 +- lib/get-app-folder.js | 1 + lib/patch-babel.js | 5 +- lib/patch-entity-api.js | 1 + lib/pre-write.js | 1 + lib/print-jhipster-logo.js | 22 +- lib/setup-variables.js | 10 +- test/app.spec.js | 80 - test/entity.spec.js | 144 - test/expected-files.js | 42 +- test/templates/existing-app/.yo-rc.json | 8 +- 20 files changed, 5623 insertions(+), 313 deletions(-) create mode 100644 generators/app/__snapshots__/generator.spec.mjs.snap rename generators/heroku/{index.js => index.mjs} (89%) create mode 100644 generators/project-name/__snapshots__/generator.spec.mjs.snap create mode 100644 generators/react-native/__snapshots__/generator-entity.spec.mjs.snap create mode 100644 generators/react-native/__snapshots__/generator.spec.mjs.snap create mode 100644 generators/react-native/generator-entity.spec.mjs delete mode 100644 test/app.spec.js delete mode 100644 test/entity.spec.js diff --git a/generators/app/__snapshots__/generator.spec.mjs.snap b/generators/app/__snapshots__/generator.spec.mjs.snap new file mode 100644 index 000000000..93740e520 --- /dev/null +++ b/generators/app/__snapshots__/generator.spec.mjs.snap @@ -0,0 +1,995 @@ +// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html + +exports[`SubGenerator app of reactNative JHipster blueprint > run > should succeed 1`] = ` +{ + "../client/.detoxrc.json": { + "stateCleared": "modified", + }, + "../client/.editorconfig": { + "stateCleared": "modified", + }, + "../client/.eslintrc.js": { + "stateCleared": "modified", + }, + "../client/.gitattributes": { + "stateCleared": "modified", + }, + "../client/.gitignore": { + "stateCleared": "modified", + }, + "../client/.husky/pre-commit": { + "stateCleared": "modified", + }, + "../client/.lintstagedrc.cjs": { + "stateCleared": "modified", + }, + "../client/.prettierignore": { + "stateCleared": "modified", + }, + "../client/.prettierrc.js": { + "stateCleared": "modified", + }, + "../client/.prettierrc.yml": { + "stateCleared": "modified", + }, + "../client/.yo-rc.json": { + "stateCleared": "modified", + }, + "../client/App.js": { + "stateCleared": "modified", + }, + "../client/README.md": { + "stateCleared": "modified", + }, + "../client/app.json": { + "stateCleared": "modified", + }, + "../client/app/config/app-config.js": { + "stateCleared": "modified", + }, + "../client/app/config/redux-persist.js": { + "stateCleared": "modified", + }, + "../client/app/modules/account/password-reset/forgot-password-screen.js": { + "stateCleared": "modified", + }, + "../client/app/modules/account/password-reset/forgot-password-screen.styles.js": { + "stateCleared": "modified", + }, + "../client/app/modules/account/password-reset/forgot-password.reducer.js": { + "stateCleared": "modified", + }, + "../client/app/modules/account/password-reset/forgot-password.sagas.js": { + "stateCleared": "modified", + }, + "../client/app/modules/account/password/change-password-screen.js": { + "stateCleared": "modified", + }, + "../client/app/modules/account/password/change-password-screen.styles.js": { + "stateCleared": "modified", + }, + "../client/app/modules/account/password/change-password.reducer.js": { + "stateCleared": "modified", + }, + "../client/app/modules/account/password/change-password.sagas.js": { + "stateCleared": "modified", + }, + "../client/app/modules/account/register/register-screen.js": { + "stateCleared": "modified", + }, + "../client/app/modules/account/register/register-screen.styles.js": { + "stateCleared": "modified", + }, + "../client/app/modules/account/register/register.reducer.js": { + "stateCleared": "modified", + }, + "../client/app/modules/account/register/register.sagas.js": { + "stateCleared": "modified", + }, + "../client/app/modules/account/settings/settings-screen.js": { + "stateCleared": "modified", + }, + "../client/app/modules/account/settings/settings-screen.styles.js": { + "stateCleared": "modified", + }, + "../client/app/modules/entities/entities-screen.js": { + "stateCleared": "modified", + }, + "../client/app/modules/entities/entities-screen.styles.js": { + "stateCleared": "modified", + }, + "../client/app/modules/home/home-screen.js": { + "stateCleared": "modified", + }, + "../client/app/modules/home/home-screen.styles.js": { + "stateCleared": "modified", + }, + "../client/app/modules/home/learn-more-links.component.js": { + "stateCleared": "modified", + }, + "../client/app/modules/login/login-screen.js": { + "stateCleared": "modified", + }, + "../client/app/modules/login/login-screen.styles.js": { + "stateCleared": "modified", + }, + "../client/app/modules/login/login.reducer.js": { + "stateCleared": "modified", + }, + "../client/app/modules/login/login.sagas.js": { + "stateCleared": "modified", + }, + "../client/app/navigation/drawer/drawer-button.js": { + "stateCleared": "modified", + }, + "../client/app/navigation/drawer/drawer-content.js": { + "stateCleared": "modified", + }, + "../client/app/navigation/drawer/touchable-item.tsx": { + "stateCleared": "modified", + }, + "../client/app/navigation/entity-stack.js": { + "stateCleared": "modified", + }, + "../client/app/navigation/modal-screen.js": { + "stateCleared": "modified", + }, + "../client/app/navigation/nav-container.js": { + "stateCleared": "modified", + }, + "../client/app/navigation/nav-ref.js": { + "stateCleared": "modified", + }, + "../client/app/navigation/not-found-screen.tsx": { + "stateCleared": "modified", + }, + "../client/app/shared/components/alert-message/alert-message.js": { + "stateCleared": "modified", + }, + "../client/app/shared/components/alert-message/alert-message.story.js": { + "stateCleared": "modified", + }, + "../client/app/shared/components/alert-message/alert-message.styles.js": { + "stateCleared": "modified", + }, + "../client/app/shared/components/form/inputs/jhi-date-input.js": { + "stateCleared": "modified", + }, + "../client/app/shared/components/form/inputs/jhi-date-input.web.js": { + "stateCleared": "modified", + }, + "../client/app/shared/components/form/inputs/jhi-image-input.js": { + "stateCleared": "modified", + }, + "../client/app/shared/components/form/inputs/jhi-list-input.js": { + "stateCleared": "modified", + }, + "../client/app/shared/components/form/inputs/jhi-multi-list-input.js": { + "stateCleared": "modified", + }, + "../client/app/shared/components/form/inputs/jhi-switch-input.js": { + "stateCleared": "modified", + }, + "../client/app/shared/components/form/inputs/jhi-text-input.js": { + "stateCleared": "modified", + }, + "../client/app/shared/components/form/jhi-form-button.js": { + "stateCleared": "modified", + }, + "../client/app/shared/components/form/jhi-form-field.js": { + "stateCleared": "modified", + }, + "../client/app/shared/components/form/jhi-form-field.story.js": { + "stateCleared": "modified", + }, + "../client/app/shared/components/form/jhi-form.js": { + "stateCleared": "modified", + }, + "../client/app/shared/components/rounded-button/rounded-button.js": { + "stateCleared": "modified", + }, + "../client/app/shared/components/rounded-button/rounded-button.story.js": { + "stateCleared": "modified", + }, + "../client/app/shared/components/rounded-button/rounded-button.styles.js": { + "stateCleared": "modified", + }, + "../client/app/shared/components/search-bar/search-bar.js": { + "stateCleared": "modified", + }, + "../client/app/shared/components/search-bar/search-bar.story.js": { + "stateCleared": "modified", + }, + "../client/app/shared/components/search-bar/search-bar.styles.js": { + "stateCleared": "modified", + }, + "../client/app/shared/fixtures/README.md": { + "stateCleared": "modified", + }, + "../client/app/shared/fixtures/get-account.json": { + "stateCleared": "modified", + }, + "../client/app/shared/fixtures/get-user.json": { + "stateCleared": "modified", + }, + "../client/app/shared/fixtures/get-users.json": { + "stateCleared": "modified", + }, + "../client/app/shared/fixtures/login.json": { + "stateCleared": "modified", + }, + "../client/app/shared/fixtures/update-user.json": { + "stateCleared": "modified", + }, + "../client/app/shared/images/logo-jhipster.png": { + "stateCleared": "modified", + }, + "../client/app/shared/images/logo-jhipster@2x.png": { + "stateCleared": "modified", + }, + "../client/app/shared/images/logo-jhipster@3x.png": { + "stateCleared": "modified", + }, + "../client/app/shared/images/toggle-drawer-icon/toggle-drawer-icon.png": { + "stateCleared": "modified", + }, + "../client/app/shared/images/toggle-drawer-icon/toggle-drawer-icon@1.5x.android.png": { + "stateCleared": "modified", + }, + "../client/app/shared/images/toggle-drawer-icon/toggle-drawer-icon@1.5x.ios.png": { + "stateCleared": "modified", + }, + "../client/app/shared/images/toggle-drawer-icon/toggle-drawer-icon@1x.android.png": { + "stateCleared": "modified", + }, + "../client/app/shared/images/toggle-drawer-icon/toggle-drawer-icon@1x.ios.png": { + "stateCleared": "modified", + }, + "../client/app/shared/images/toggle-drawer-icon/toggle-drawer-icon@2x.android.png": { + "stateCleared": "modified", + }, + "../client/app/shared/images/toggle-drawer-icon/toggle-drawer-icon@2x.ios.png": { + "stateCleared": "modified", + }, + "../client/app/shared/images/toggle-drawer-icon/toggle-drawer-icon@3x.android.png": { + "stateCleared": "modified", + }, + "../client/app/shared/images/toggle-drawer-icon/toggle-drawer-icon@3x.ios.png": { + "stateCleared": "modified", + }, + "../client/app/shared/images/toggle-drawer-icon/toggle-drawer-icon@4x.android.png": { + "stateCleared": "modified", + }, + "../client/app/shared/images/toggle-drawer-icon/toggle-drawer-icon@4x.ios.png": { + "stateCleared": "modified", + }, + "../client/app/shared/reducers/account.reducer.js": { + "stateCleared": "modified", + }, + "../client/app/shared/reducers/app-state.reducer.js": { + "stateCleared": "modified", + }, + "../client/app/shared/reducers/create-store.js": { + "stateCleared": "modified", + }, + "../client/app/shared/reducers/index.js": { + "stateCleared": "modified", + }, + "../client/app/shared/reducers/startup.reducer.js": { + "stateCleared": "modified", + }, + "../client/app/shared/reducers/user.reducer.js": { + "stateCleared": "modified", + }, + "../client/app/shared/sagas/account.sagas.js": { + "stateCleared": "modified", + }, + "../client/app/shared/sagas/call-api.saga.js": { + "stateCleared": "modified", + }, + "../client/app/shared/sagas/index.js": { + "stateCleared": "modified", + }, + "../client/app/shared/sagas/startup.saga.js": { + "stateCleared": "modified", + }, + "../client/app/shared/sagas/user.sagas.js": { + "stateCleared": "modified", + }, + "../client/app/shared/services/api.js": { + "stateCleared": "modified", + }, + "../client/app/shared/services/fixture-api.js": { + "stateCleared": "modified", + }, + "../client/app/shared/services/rehydration.service.js": { + "stateCleared": "modified", + }, + "../client/app/shared/themes/application.styles.js": { + "stateCleared": "modified", + }, + "../client/app/shared/themes/colors.js": { + "stateCleared": "modified", + }, + "../client/app/shared/themes/fonts.js": { + "stateCleared": "modified", + }, + "../client/app/shared/themes/images.js": { + "stateCleared": "modified", + }, + "../client/app/shared/themes/index.js": { + "stateCleared": "modified", + }, + "../client/app/shared/themes/metrics.js": { + "stateCleared": "modified", + }, + "../client/app/shared/util/date-transforms.js": { + "stateCleared": "modified", + }, + "../client/app/shared/util/immutable-persistence-transform.js": { + "stateCleared": "modified", + }, + "../client/app/shared/util/pagination-utils.js": { + "stateCleared": "modified", + }, + "../client/app/shared/util/snake-to-camel-case.js": { + "stateCleared": "modified", + }, + "../client/app/shared/util/url-utils.js": { + "stateCleared": "modified", + }, + "../client/app/shared/util/use-did-update-effect.js": { + "stateCleared": "modified", + }, + "../client/assets/adaptive-icon.png": { + "stateCleared": "modified", + }, + "../client/assets/favicon.png": { + "stateCleared": "modified", + }, + "../client/assets/icon.png": { + "stateCleared": "modified", + }, + "../client/assets/splash.png": { + "stateCleared": "modified", + }, + "../client/babel.config.js": { + "stateCleared": "modified", + }, + "../client/e2e/account/change-password-screen.spec.js": { + "stateCleared": "modified", + }, + "../client/e2e/account/login-screen.spec.js": { + "stateCleared": "modified", + }, + "../client/e2e/account/settings-screen.spec.js": { + "stateCleared": "modified", + }, + "../client/e2e/config.json": { + "stateCleared": "modified", + }, + "../client/e2e/home-screen.spec.js": { + "stateCleared": "modified", + }, + "../client/e2e/scripts/download-expo.sh": { + "stateCleared": "modified", + }, + "../client/e2e/scripts/setup.sh": { + "stateCleared": "modified", + }, + "../client/e2e/utils.js": { + "stateCleared": "modified", + }, + "../client/metro.config.js": { + "stateCleared": "modified", + }, + "../client/package.json": { + "stateCleared": "modified", + }, + "../client/patches/react-native-keyboard-aware-scroll-view+0.9.4.patch": { + "stateCleared": "modified", + }, + "../client/patches/react-native-sectioned-multi-select+0.8.1.patch": { + "stateCleared": "modified", + }, + "../client/storybook/addons.js": { + "stateCleared": "modified", + }, + "../client/storybook/index.js": { + "stateCleared": "modified", + }, + "../client/storybook/stories.js": { + "stateCleared": "modified", + }, + "../client/test/setup.js": { + "stateCleared": "modified", + }, + "../client/test/spec/modules/account/password-reset/forgot-passsword.sagas.spec.js": { + "stateCleared": "modified", + }, + "../client/test/spec/modules/account/password-reset/forgot-password.reducer.spec.js": { + "stateCleared": "modified", + }, + "../client/test/spec/modules/account/password/change-passsword.sagas.spec.js": { + "stateCleared": "modified", + }, + "../client/test/spec/modules/account/password/change-password.reducer.spec.js": { + "stateCleared": "modified", + }, + "../client/test/spec/modules/account/register/register.reducer.spec.js": { + "stateCleared": "modified", + }, + "../client/test/spec/modules/account/register/register.sagas.spec.js": { + "stateCleared": "modified", + }, + "../client/test/spec/modules/login/login.reducer.spec.js": { + "stateCleared": "modified", + }, + "../client/test/spec/modules/login/login.sagas.spec.js": { + "stateCleared": "modified", + }, + "../client/test/spec/shared/components/alert-message/alert-message.spec.js": { + "stateCleared": "modified", + }, + "../client/test/spec/shared/components/rounded-button/rounded-button.spec.js": { + "stateCleared": "modified", + }, + "../client/test/spec/shared/components/search-bar/search-bar.spec.js": { + "stateCleared": "modified", + }, + "../client/test/spec/shared/reducers/account.reducer.spec.js": { + "stateCleared": "modified", + }, + "../client/test/spec/shared/reducers/app-state.reducer.spec.js": { + "stateCleared": "modified", + }, + "../client/test/spec/shared/reducers/user.reducer.spec.js": { + "stateCleared": "modified", + }, + "../client/test/spec/shared/sagas/account.sagas.spec.js": { + "stateCleared": "modified", + }, + "../client/test/spec/shared/sagas/call-api.saga.spec.js": { + "stateCleared": "modified", + }, + "../client/test/spec/shared/sagas/startup.saga.spec.js": { + "stateCleared": "modified", + }, + "../client/test/spec/shared/sagas/user.saga.spec.js": { + "stateCleared": "modified", + }, + "../client/test/spec/shared/services/fixture-api.spec.js": { + "stateCleared": "modified", + }, + ".editorconfig": { + "stateCleared": "modified", + }, + ".gitattributes": { + "stateCleared": "modified", + }, + ".gitignore": { + "stateCleared": "modified", + }, + ".husky/pre-commit": { + "stateCleared": "modified", + }, + ".lintstagedrc.cjs": { + "stateCleared": "modified", + }, + ".prettierignore": { + "stateCleared": "modified", + }, + ".prettierrc": { + "stateCleared": "modified", + }, + ".yo-rc.json": { + "stateCleared": "modified", + }, + "README.md": { + "stateCleared": "modified", + }, + "package.json": { + "stateCleared": "modified", + }, + "sonar-project.properties": { + "stateCleared": "modified", + }, +} +`; + +exports[`SubGenerator app of reactNative JHipster blueprint > with custom reactNative path > should succeed 1`] = ` +{ + "../reactNative-app/.detoxrc.json": { + "stateCleared": "modified", + }, + "../reactNative-app/.editorconfig": { + "stateCleared": "modified", + }, + "../reactNative-app/.eslintrc.js": { + "stateCleared": "modified", + }, + "../reactNative-app/.gitattributes": { + "stateCleared": "modified", + }, + "../reactNative-app/.gitignore": { + "stateCleared": "modified", + }, + "../reactNative-app/.husky/pre-commit": { + "stateCleared": "modified", + }, + "../reactNative-app/.lintstagedrc.cjs": { + "stateCleared": "modified", + }, + "../reactNative-app/.prettierignore": { + "stateCleared": "modified", + }, + "../reactNative-app/.prettierrc.js": { + "stateCleared": "modified", + }, + "../reactNative-app/.prettierrc.yml": { + "stateCleared": "modified", + }, + "../reactNative-app/.yo-rc.json": { + "stateCleared": "modified", + }, + "../reactNative-app/App.js": { + "stateCleared": "modified", + }, + "../reactNative-app/README.md": { + "stateCleared": "modified", + }, + "../reactNative-app/app.json": { + "stateCleared": "modified", + }, + "../reactNative-app/app/config/app-config.js": { + "stateCleared": "modified", + }, + "../reactNative-app/app/config/redux-persist.js": { + "stateCleared": "modified", + }, + "../reactNative-app/app/modules/account/password-reset/forgot-password-screen.js": { + "stateCleared": "modified", + }, + "../reactNative-app/app/modules/account/password-reset/forgot-password-screen.styles.js": { + "stateCleared": "modified", + }, + "../reactNative-app/app/modules/account/password-reset/forgot-password.reducer.js": { + "stateCleared": "modified", + }, + "../reactNative-app/app/modules/account/password-reset/forgot-password.sagas.js": { + "stateCleared": "modified", + }, + "../reactNative-app/app/modules/account/password/change-password-screen.js": { + "stateCleared": "modified", + }, + "../reactNative-app/app/modules/account/password/change-password-screen.styles.js": { + "stateCleared": "modified", + }, + "../reactNative-app/app/modules/account/password/change-password.reducer.js": { + "stateCleared": "modified", + }, + "../reactNative-app/app/modules/account/password/change-password.sagas.js": { + "stateCleared": "modified", + }, + "../reactNative-app/app/modules/account/register/register-screen.js": { + "stateCleared": "modified", + }, + "../reactNative-app/app/modules/account/register/register-screen.styles.js": { + "stateCleared": "modified", + }, + "../reactNative-app/app/modules/account/register/register.reducer.js": { + "stateCleared": "modified", + }, + "../reactNative-app/app/modules/account/register/register.sagas.js": { + "stateCleared": "modified", + }, + "../reactNative-app/app/modules/account/settings/settings-screen.js": { + "stateCleared": "modified", + }, + "../reactNative-app/app/modules/account/settings/settings-screen.styles.js": { + "stateCleared": "modified", + }, + "../reactNative-app/app/modules/entities/entities-screen.js": { + "stateCleared": "modified", + }, + "../reactNative-app/app/modules/entities/entities-screen.styles.js": { + "stateCleared": "modified", + }, + "../reactNative-app/app/modules/home/home-screen.js": { + "stateCleared": "modified", + }, + "../reactNative-app/app/modules/home/home-screen.styles.js": { + "stateCleared": "modified", + }, + "../reactNative-app/app/modules/home/learn-more-links.component.js": { + "stateCleared": "modified", + }, + "../reactNative-app/app/modules/login/login-screen.js": { + "stateCleared": "modified", + }, + "../reactNative-app/app/modules/login/login-screen.styles.js": { + "stateCleared": "modified", + }, + "../reactNative-app/app/modules/login/login.reducer.js": { + "stateCleared": "modified", + }, + "../reactNative-app/app/modules/login/login.sagas.js": { + "stateCleared": "modified", + }, + "../reactNative-app/app/navigation/drawer/drawer-button.js": { + "stateCleared": "modified", + }, + "../reactNative-app/app/navigation/drawer/drawer-content.js": { + "stateCleared": "modified", + }, + "../reactNative-app/app/navigation/drawer/touchable-item.tsx": { + "stateCleared": "modified", + }, + "../reactNative-app/app/navigation/entity-stack.js": { + "stateCleared": "modified", + }, + "../reactNative-app/app/navigation/modal-screen.js": { + "stateCleared": "modified", + }, + "../reactNative-app/app/navigation/nav-container.js": { + "stateCleared": "modified", + }, + "../reactNative-app/app/navigation/nav-ref.js": { + "stateCleared": "modified", + }, + "../reactNative-app/app/navigation/not-found-screen.tsx": { + "stateCleared": "modified", + }, + "../reactNative-app/app/shared/components/alert-message/alert-message.js": { + "stateCleared": "modified", + }, + "../reactNative-app/app/shared/components/alert-message/alert-message.story.js": { + "stateCleared": "modified", + }, + "../reactNative-app/app/shared/components/alert-message/alert-message.styles.js": { + "stateCleared": "modified", + }, + "../reactNative-app/app/shared/components/form/inputs/jhi-date-input.js": { + "stateCleared": "modified", + }, + "../reactNative-app/app/shared/components/form/inputs/jhi-date-input.web.js": { + "stateCleared": "modified", + }, + "../reactNative-app/app/shared/components/form/inputs/jhi-image-input.js": { + "stateCleared": "modified", + }, + "../reactNative-app/app/shared/components/form/inputs/jhi-list-input.js": { + "stateCleared": "modified", + }, + "../reactNative-app/app/shared/components/form/inputs/jhi-multi-list-input.js": { + "stateCleared": "modified", + }, + "../reactNative-app/app/shared/components/form/inputs/jhi-switch-input.js": { + "stateCleared": "modified", + }, + "../reactNative-app/app/shared/components/form/inputs/jhi-text-input.js": { + "stateCleared": "modified", + }, + "../reactNative-app/app/shared/components/form/jhi-form-button.js": { + "stateCleared": "modified", + }, + "../reactNative-app/app/shared/components/form/jhi-form-field.js": { + "stateCleared": "modified", + }, + "../reactNative-app/app/shared/components/form/jhi-form-field.story.js": { + "stateCleared": "modified", + }, + "../reactNative-app/app/shared/components/form/jhi-form.js": { + "stateCleared": "modified", + }, + "../reactNative-app/app/shared/components/rounded-button/rounded-button.js": { + "stateCleared": "modified", + }, + "../reactNative-app/app/shared/components/rounded-button/rounded-button.story.js": { + "stateCleared": "modified", + }, + "../reactNative-app/app/shared/components/rounded-button/rounded-button.styles.js": { + "stateCleared": "modified", + }, + "../reactNative-app/app/shared/components/search-bar/search-bar.js": { + "stateCleared": "modified", + }, + "../reactNative-app/app/shared/components/search-bar/search-bar.story.js": { + "stateCleared": "modified", + }, + "../reactNative-app/app/shared/components/search-bar/search-bar.styles.js": { + "stateCleared": "modified", + }, + "../reactNative-app/app/shared/fixtures/README.md": { + "stateCleared": "modified", + }, + "../reactNative-app/app/shared/fixtures/get-account.json": { + "stateCleared": "modified", + }, + "../reactNative-app/app/shared/fixtures/get-user.json": { + "stateCleared": "modified", + }, + "../reactNative-app/app/shared/fixtures/get-users.json": { + "stateCleared": "modified", + }, + "../reactNative-app/app/shared/fixtures/login.json": { + "stateCleared": "modified", + }, + "../reactNative-app/app/shared/fixtures/update-user.json": { + "stateCleared": "modified", + }, + "../reactNative-app/app/shared/images/logo-jhipster.png": { + "stateCleared": "modified", + }, + "../reactNative-app/app/shared/images/logo-jhipster@2x.png": { + "stateCleared": "modified", + }, + "../reactNative-app/app/shared/images/logo-jhipster@3x.png": { + "stateCleared": "modified", + }, + "../reactNative-app/app/shared/images/toggle-drawer-icon/toggle-drawer-icon.png": { + "stateCleared": "modified", + }, + "../reactNative-app/app/shared/images/toggle-drawer-icon/toggle-drawer-icon@1.5x.android.png": { + "stateCleared": "modified", + }, + "../reactNative-app/app/shared/images/toggle-drawer-icon/toggle-drawer-icon@1.5x.ios.png": { + "stateCleared": "modified", + }, + "../reactNative-app/app/shared/images/toggle-drawer-icon/toggle-drawer-icon@1x.android.png": { + "stateCleared": "modified", + }, + "../reactNative-app/app/shared/images/toggle-drawer-icon/toggle-drawer-icon@1x.ios.png": { + "stateCleared": "modified", + }, + "../reactNative-app/app/shared/images/toggle-drawer-icon/toggle-drawer-icon@2x.android.png": { + "stateCleared": "modified", + }, + "../reactNative-app/app/shared/images/toggle-drawer-icon/toggle-drawer-icon@2x.ios.png": { + "stateCleared": "modified", + }, + "../reactNative-app/app/shared/images/toggle-drawer-icon/toggle-drawer-icon@3x.android.png": { + "stateCleared": "modified", + }, + "../reactNative-app/app/shared/images/toggle-drawer-icon/toggle-drawer-icon@3x.ios.png": { + "stateCleared": "modified", + }, + "../reactNative-app/app/shared/images/toggle-drawer-icon/toggle-drawer-icon@4x.android.png": { + "stateCleared": "modified", + }, + "../reactNative-app/app/shared/images/toggle-drawer-icon/toggle-drawer-icon@4x.ios.png": { + "stateCleared": "modified", + }, + "../reactNative-app/app/shared/reducers/account.reducer.js": { + "stateCleared": "modified", + }, + "../reactNative-app/app/shared/reducers/app-state.reducer.js": { + "stateCleared": "modified", + }, + "../reactNative-app/app/shared/reducers/create-store.js": { + "stateCleared": "modified", + }, + "../reactNative-app/app/shared/reducers/index.js": { + "stateCleared": "modified", + }, + "../reactNative-app/app/shared/reducers/startup.reducer.js": { + "stateCleared": "modified", + }, + "../reactNative-app/app/shared/reducers/user.reducer.js": { + "stateCleared": "modified", + }, + "../reactNative-app/app/shared/sagas/account.sagas.js": { + "stateCleared": "modified", + }, + "../reactNative-app/app/shared/sagas/call-api.saga.js": { + "stateCleared": "modified", + }, + "../reactNative-app/app/shared/sagas/index.js": { + "stateCleared": "modified", + }, + "../reactNative-app/app/shared/sagas/startup.saga.js": { + "stateCleared": "modified", + }, + "../reactNative-app/app/shared/sagas/user.sagas.js": { + "stateCleared": "modified", + }, + "../reactNative-app/app/shared/services/api.js": { + "stateCleared": "modified", + }, + "../reactNative-app/app/shared/services/fixture-api.js": { + "stateCleared": "modified", + }, + "../reactNative-app/app/shared/services/rehydration.service.js": { + "stateCleared": "modified", + }, + "../reactNative-app/app/shared/themes/application.styles.js": { + "stateCleared": "modified", + }, + "../reactNative-app/app/shared/themes/colors.js": { + "stateCleared": "modified", + }, + "../reactNative-app/app/shared/themes/fonts.js": { + "stateCleared": "modified", + }, + "../reactNative-app/app/shared/themes/images.js": { + "stateCleared": "modified", + }, + "../reactNative-app/app/shared/themes/index.js": { + "stateCleared": "modified", + }, + "../reactNative-app/app/shared/themes/metrics.js": { + "stateCleared": "modified", + }, + "../reactNative-app/app/shared/util/date-transforms.js": { + "stateCleared": "modified", + }, + "../reactNative-app/app/shared/util/immutable-persistence-transform.js": { + "stateCleared": "modified", + }, + "../reactNative-app/app/shared/util/pagination-utils.js": { + "stateCleared": "modified", + }, + "../reactNative-app/app/shared/util/snake-to-camel-case.js": { + "stateCleared": "modified", + }, + "../reactNative-app/app/shared/util/url-utils.js": { + "stateCleared": "modified", + }, + "../reactNative-app/app/shared/util/use-did-update-effect.js": { + "stateCleared": "modified", + }, + "../reactNative-app/assets/adaptive-icon.png": { + "stateCleared": "modified", + }, + "../reactNative-app/assets/favicon.png": { + "stateCleared": "modified", + }, + "../reactNative-app/assets/icon.png": { + "stateCleared": "modified", + }, + "../reactNative-app/assets/splash.png": { + "stateCleared": "modified", + }, + "../reactNative-app/babel.config.js": { + "stateCleared": "modified", + }, + "../reactNative-app/e2e/account/change-password-screen.spec.js": { + "stateCleared": "modified", + }, + "../reactNative-app/e2e/account/login-screen.spec.js": { + "stateCleared": "modified", + }, + "../reactNative-app/e2e/account/settings-screen.spec.js": { + "stateCleared": "modified", + }, + "../reactNative-app/e2e/config.json": { + "stateCleared": "modified", + }, + "../reactNative-app/e2e/home-screen.spec.js": { + "stateCleared": "modified", + }, + "../reactNative-app/e2e/scripts/download-expo.sh": { + "stateCleared": "modified", + }, + "../reactNative-app/e2e/scripts/setup.sh": { + "stateCleared": "modified", + }, + "../reactNative-app/e2e/utils.js": { + "stateCleared": "modified", + }, + "../reactNative-app/metro.config.js": { + "stateCleared": "modified", + }, + "../reactNative-app/package.json": { + "stateCleared": "modified", + }, + "../reactNative-app/patches/react-native-keyboard-aware-scroll-view+0.9.4.patch": { + "stateCleared": "modified", + }, + "../reactNative-app/patches/react-native-sectioned-multi-select+0.8.1.patch": { + "stateCleared": "modified", + }, + "../reactNative-app/storybook/addons.js": { + "stateCleared": "modified", + }, + "../reactNative-app/storybook/index.js": { + "stateCleared": "modified", + }, + "../reactNative-app/storybook/stories.js": { + "stateCleared": "modified", + }, + "../reactNative-app/test/setup.js": { + "stateCleared": "modified", + }, + "../reactNative-app/test/spec/modules/account/password-reset/forgot-passsword.sagas.spec.js": { + "stateCleared": "modified", + }, + "../reactNative-app/test/spec/modules/account/password-reset/forgot-password.reducer.spec.js": { + "stateCleared": "modified", + }, + "../reactNative-app/test/spec/modules/account/password/change-passsword.sagas.spec.js": { + "stateCleared": "modified", + }, + "../reactNative-app/test/spec/modules/account/password/change-password.reducer.spec.js": { + "stateCleared": "modified", + }, + "../reactNative-app/test/spec/modules/account/register/register.reducer.spec.js": { + "stateCleared": "modified", + }, + "../reactNative-app/test/spec/modules/account/register/register.sagas.spec.js": { + "stateCleared": "modified", + }, + "../reactNative-app/test/spec/modules/login/login.reducer.spec.js": { + "stateCleared": "modified", + }, + "../reactNative-app/test/spec/modules/login/login.sagas.spec.js": { + "stateCleared": "modified", + }, + "../reactNative-app/test/spec/shared/components/alert-message/alert-message.spec.js": { + "stateCleared": "modified", + }, + "../reactNative-app/test/spec/shared/components/rounded-button/rounded-button.spec.js": { + "stateCleared": "modified", + }, + "../reactNative-app/test/spec/shared/components/search-bar/search-bar.spec.js": { + "stateCleared": "modified", + }, + "../reactNative-app/test/spec/shared/reducers/account.reducer.spec.js": { + "stateCleared": "modified", + }, + "../reactNative-app/test/spec/shared/reducers/app-state.reducer.spec.js": { + "stateCleared": "modified", + }, + "../reactNative-app/test/spec/shared/reducers/user.reducer.spec.js": { + "stateCleared": "modified", + }, + "../reactNative-app/test/spec/shared/sagas/account.sagas.spec.js": { + "stateCleared": "modified", + }, + "../reactNative-app/test/spec/shared/sagas/call-api.saga.spec.js": { + "stateCleared": "modified", + }, + "../reactNative-app/test/spec/shared/sagas/startup.saga.spec.js": { + "stateCleared": "modified", + }, + "../reactNative-app/test/spec/shared/sagas/user.saga.spec.js": { + "stateCleared": "modified", + }, + "../reactNative-app/test/spec/shared/services/fixture-api.spec.js": { + "stateCleared": "modified", + }, + ".editorconfig": { + "stateCleared": "modified", + }, + ".gitattributes": { + "stateCleared": "modified", + }, + ".gitignore": { + "stateCleared": "modified", + }, + ".husky/pre-commit": { + "stateCleared": "modified", + }, + ".lintstagedrc.cjs": { + "stateCleared": "modified", + }, + ".prettierignore": { + "stateCleared": "modified", + }, + ".prettierrc": { + "stateCleared": "modified", + }, + ".yo-rc.json": { + "stateCleared": "modified", + }, + "README.md": { + "stateCleared": "modified", + }, + "package.json": { + "stateCleared": "modified", + }, + "sonar-project.properties": { + "stateCleared": "modified", + }, +} +`; diff --git a/generators/app/generator.spec.mjs b/generators/app/generator.spec.mjs index 1a9124d08..ad9e2b19c 100644 --- a/generators/app/generator.spec.mjs +++ b/generators/app/generator.spec.mjs @@ -17,7 +17,7 @@ describe('SubGenerator app of reactNative JHipster blueprint', () => { }) .withOptions({ ignoreNeedlesError: true, - blueprint: 'reactNative', + blueprint: 'react-native', }) .withJHipsterLookup() .withParentBlueprintLookup(); @@ -40,7 +40,7 @@ describe('SubGenerator app of reactNative JHipster blueprint', () => { .withOptions({ skipChecks: true, ignoreNeedlesError: true, - blueprint: 'reactNative', + blueprint: 'react-native', reactNativeDir: '../reactNative-app', }) .withJHipsterLookup() diff --git a/generators/heroku/index.js b/generators/heroku/index.mjs similarity index 89% rename from generators/heroku/index.js rename to generators/heroku/index.mjs index ea1c63eec..bcad15a24 100644 --- a/generators/heroku/index.js +++ b/generators/heroku/index.mjs @@ -1,18 +1,20 @@ -const fs = require('fs'); -const ChildProcess = require('child_process'); -const util = require('util'); -const chalk = require('chalk'); -const HerokuGenerator = require('generator-jhipster/generators/heroku'); +import fs from 'fs'; +import ChildProcess from 'child_process'; +import util from 'util'; +import chalk from 'chalk'; +import HerokuGenerator from 'generator-jhipster/generators/heroku'; const execCmd = util.promisify(ChildProcess.exec); -module.exports = class extends HerokuGenerator { +export default class extends HerokuGenerator { constructor(args, opts) { super(args, { fromBlueprint: true, ...opts }); // fromBlueprint variable is important - const jhContext = (this.jhipsterContext = this.options.jhipsterContext); + const jhContext = this.options.jhipsterContext; + this.jhipsterContext = jhContext; if (!jhContext) { + // eslint-disable-next-line no-console console.log('No jhContext found after initializing blueprint (heroku generator)'); // this.error(`This is a JHipster blueprint and should be used only like ${chalk.yellow('jhipster --blueprints react-native')}`); } @@ -23,10 +25,12 @@ module.exports = class extends HerokuGenerator { } } - get initializing() { + get [HerokuGenerator.INITIALIZING]() { + // eslint-disable-next-line no-underscore-dangle return super._initializing(); } + // eslint-disable-next-line class-methods-use-this get prompting() { // todo replace with main generator prompt once PR to fix existing app is in // const { askForApp } = super._prompting(); @@ -85,6 +89,7 @@ module.exports = class extends HerokuGenerator { } get configuring() { + // eslint-disable-next-line no-underscore-dangle const { checkInstallation } = super._configuring(); return { checkInstallation, @@ -111,6 +116,7 @@ module.exports = class extends HerokuGenerator { }, }; + // eslint-disable-next-line no-underscore-dangle const { gitInit, installHerokuDeployPlugin, herokuCreate } = super._default(); const { copyHerokuFiles, addHerokuDependencies } = defaultSteps; return { @@ -122,6 +128,7 @@ module.exports = class extends HerokuGenerator { }; } + // eslint-disable-next-line class-methods-use-this get end() { return { npmInstall() { @@ -187,4 +194,4 @@ module.exports = class extends HerokuGenerator { }, }; } -}; +} diff --git a/generators/project-name/__snapshots__/generator.spec.mjs.snap b/generators/project-name/__snapshots__/generator.spec.mjs.snap new file mode 100644 index 000000000..e2da6e4ca --- /dev/null +++ b/generators/project-name/__snapshots__/generator.spec.mjs.snap @@ -0,0 +1,9 @@ +// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html + +exports[`SubGenerator project-name of react-native JHipster blueprint > run > should succeed 1`] = ` +{ + ".yo-rc.json": { + "stateCleared": "modified", + }, +} +`; diff --git a/generators/react-native/__snapshots__/generator-entity.spec.mjs.snap b/generators/react-native/__snapshots__/generator-entity.spec.mjs.snap new file mode 100644 index 000000000..34affe7f4 --- /dev/null +++ b/generators/react-native/__snapshots__/generator-entity.spec.mjs.snap @@ -0,0 +1,1492 @@ +// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html + +exports[`SubGenerator reactNative of reactNative JHipster blueprint > Entity Test: Search Engine Disabled, Detox Enabled > should succeed 1`] = ` +{ + ".detoxrc.json": { + "stateCleared": "modified", + }, + ".editorconfig": { + "stateCleared": "modified", + }, + ".eslintrc.js": { + "stateCleared": "modified", + }, + ".gitattributes": { + "stateCleared": "modified", + }, + ".gitignore": { + "stateCleared": "modified", + }, + ".husky/pre-commit": { + "stateCleared": "modified", + }, + ".jhipster/Foo.json": { + "stateCleared": "modified", + }, + ".lintstagedrc.cjs": { + "stateCleared": "modified", + }, + ".prettierignore": { + "stateCleared": "modified", + }, + ".prettierrc.js": { + "stateCleared": "modified", + }, + ".prettierrc.yml": { + "stateCleared": "modified", + }, + ".yo-rc.json": { + "stateCleared": "modified", + }, + "App.js": { + "stateCleared": "modified", + }, + "README.md": { + "stateCleared": "modified", + }, + "app.json": { + "stateCleared": "modified", + }, + "app/config/app-config.js": { + "stateCleared": "modified", + }, + "app/config/redux-persist.js": { + "stateCleared": "modified", + }, + "app/modules/account/password-reset/forgot-password-screen.js": { + "stateCleared": "modified", + }, + "app/modules/account/password-reset/forgot-password-screen.styles.js": { + "stateCleared": "modified", + }, + "app/modules/account/password-reset/forgot-password.reducer.js": { + "stateCleared": "modified", + }, + "app/modules/account/password-reset/forgot-password.sagas.js": { + "stateCleared": "modified", + }, + "app/modules/account/password/change-password-screen.js": { + "stateCleared": "modified", + }, + "app/modules/account/password/change-password-screen.styles.js": { + "stateCleared": "modified", + }, + "app/modules/account/password/change-password.reducer.js": { + "stateCleared": "modified", + }, + "app/modules/account/password/change-password.sagas.js": { + "stateCleared": "modified", + }, + "app/modules/account/register/register-screen.js": { + "stateCleared": "modified", + }, + "app/modules/account/register/register-screen.styles.js": { + "stateCleared": "modified", + }, + "app/modules/account/register/register.reducer.js": { + "stateCleared": "modified", + }, + "app/modules/account/register/register.sagas.js": { + "stateCleared": "modified", + }, + "app/modules/account/settings/settings-screen.js": { + "stateCleared": "modified", + }, + "app/modules/account/settings/settings-screen.styles.js": { + "stateCleared": "modified", + }, + "app/modules/entities/entities-screen.js": { + "stateCleared": "modified", + }, + "app/modules/entities/entities-screen.styles.js": { + "stateCleared": "modified", + }, + "app/modules/entities/foo/foo-delete-modal.js": { + "stateCleared": "modified", + }, + "app/modules/entities/foo/foo-detail-screen.js": { + "stateCleared": "modified", + }, + "app/modules/entities/foo/foo-edit-screen.js": { + "stateCleared": "modified", + }, + "app/modules/entities/foo/foo-screen.js": { + "stateCleared": "modified", + }, + "app/modules/entities/foo/foo-styles.js": { + "stateCleared": "modified", + }, + "app/modules/entities/foo/foo.reducer.js": { + "stateCleared": "modified", + }, + "app/modules/entities/foo/foo.sagas.js": { + "stateCleared": "modified", + }, + "app/modules/home/home-screen.js": { + "stateCleared": "modified", + }, + "app/modules/home/home-screen.styles.js": { + "stateCleared": "modified", + }, + "app/modules/home/learn-more-links.component.js": { + "stateCleared": "modified", + }, + "app/modules/login/login-screen.js": { + "stateCleared": "modified", + }, + "app/modules/login/login-screen.styles.js": { + "stateCleared": "modified", + }, + "app/modules/login/login.reducer.js": { + "stateCleared": "modified", + }, + "app/modules/login/login.sagas.js": { + "stateCleared": "modified", + }, + "app/navigation/drawer/drawer-button.js": { + "stateCleared": "modified", + }, + "app/navigation/drawer/drawer-content.js": { + "stateCleared": "modified", + }, + "app/navigation/drawer/touchable-item.tsx": { + "stateCleared": "modified", + }, + "app/navigation/entity-stack.js": { + "stateCleared": "modified", + }, + "app/navigation/modal-screen.js": { + "stateCleared": "modified", + }, + "app/navigation/nav-container.js": { + "stateCleared": "modified", + }, + "app/navigation/nav-ref.js": { + "stateCleared": "modified", + }, + "app/navigation/not-found-screen.tsx": { + "stateCleared": "modified", + }, + "app/shared/components/alert-message/alert-message.js": { + "stateCleared": "modified", + }, + "app/shared/components/alert-message/alert-message.story.js": { + "stateCleared": "modified", + }, + "app/shared/components/alert-message/alert-message.styles.js": { + "stateCleared": "modified", + }, + "app/shared/components/form/inputs/jhi-date-input.js": { + "stateCleared": "modified", + }, + "app/shared/components/form/inputs/jhi-date-input.web.js": { + "stateCleared": "modified", + }, + "app/shared/components/form/inputs/jhi-image-input.js": { + "stateCleared": "modified", + }, + "app/shared/components/form/inputs/jhi-list-input.js": { + "stateCleared": "modified", + }, + "app/shared/components/form/inputs/jhi-multi-list-input.js": { + "stateCleared": "modified", + }, + "app/shared/components/form/inputs/jhi-switch-input.js": { + "stateCleared": "modified", + }, + "app/shared/components/form/inputs/jhi-text-input.js": { + "stateCleared": "modified", + }, + "app/shared/components/form/jhi-form-button.js": { + "stateCleared": "modified", + }, + "app/shared/components/form/jhi-form-field.js": { + "stateCleared": "modified", + }, + "app/shared/components/form/jhi-form-field.story.js": { + "stateCleared": "modified", + }, + "app/shared/components/form/jhi-form.js": { + "stateCleared": "modified", + }, + "app/shared/components/rounded-button/rounded-button.js": { + "stateCleared": "modified", + }, + "app/shared/components/rounded-button/rounded-button.story.js": { + "stateCleared": "modified", + }, + "app/shared/components/rounded-button/rounded-button.styles.js": { + "stateCleared": "modified", + }, + "app/shared/components/search-bar/search-bar.js": { + "stateCleared": "modified", + }, + "app/shared/components/search-bar/search-bar.story.js": { + "stateCleared": "modified", + }, + "app/shared/components/search-bar/search-bar.styles.js": { + "stateCleared": "modified", + }, + "app/shared/fixtures/README.md": { + "stateCleared": "modified", + }, + "app/shared/fixtures/get-account.json": { + "stateCleared": "modified", + }, + "app/shared/fixtures/get-all-foos.json": { + "stateCleared": "modified", + }, + "app/shared/fixtures/get-foo.json": { + "stateCleared": "modified", + }, + "app/shared/fixtures/get-user.json": { + "stateCleared": "modified", + }, + "app/shared/fixtures/get-users.json": { + "stateCleared": "modified", + }, + "app/shared/fixtures/login.json": { + "stateCleared": "modified", + }, + "app/shared/fixtures/update-foo.json": { + "stateCleared": "modified", + }, + "app/shared/fixtures/update-user.json": { + "stateCleared": "modified", + }, + "app/shared/images/logo-jhipster.png": { + "stateCleared": "modified", + }, + "app/shared/images/logo-jhipster@2x.png": { + "stateCleared": "modified", + }, + "app/shared/images/logo-jhipster@3x.png": { + "stateCleared": "modified", + }, + "app/shared/images/toggle-drawer-icon/toggle-drawer-icon.png": { + "stateCleared": "modified", + }, + "app/shared/images/toggle-drawer-icon/toggle-drawer-icon@1.5x.android.png": { + "stateCleared": "modified", + }, + "app/shared/images/toggle-drawer-icon/toggle-drawer-icon@1.5x.ios.png": { + "stateCleared": "modified", + }, + "app/shared/images/toggle-drawer-icon/toggle-drawer-icon@1x.android.png": { + "stateCleared": "modified", + }, + "app/shared/images/toggle-drawer-icon/toggle-drawer-icon@1x.ios.png": { + "stateCleared": "modified", + }, + "app/shared/images/toggle-drawer-icon/toggle-drawer-icon@2x.android.png": { + "stateCleared": "modified", + }, + "app/shared/images/toggle-drawer-icon/toggle-drawer-icon@2x.ios.png": { + "stateCleared": "modified", + }, + "app/shared/images/toggle-drawer-icon/toggle-drawer-icon@3x.android.png": { + "stateCleared": "modified", + }, + "app/shared/images/toggle-drawer-icon/toggle-drawer-icon@3x.ios.png": { + "stateCleared": "modified", + }, + "app/shared/images/toggle-drawer-icon/toggle-drawer-icon@4x.android.png": { + "stateCleared": "modified", + }, + "app/shared/images/toggle-drawer-icon/toggle-drawer-icon@4x.ios.png": { + "stateCleared": "modified", + }, + "app/shared/reducers/account.reducer.js": { + "stateCleared": "modified", + }, + "app/shared/reducers/app-state.reducer.js": { + "stateCleared": "modified", + }, + "app/shared/reducers/create-store.js": { + "stateCleared": "modified", + }, + "app/shared/reducers/index.js": { + "stateCleared": "modified", + }, + "app/shared/reducers/startup.reducer.js": { + "stateCleared": "modified", + }, + "app/shared/reducers/user.reducer.js": { + "stateCleared": "modified", + }, + "app/shared/sagas/account.sagas.js": { + "stateCleared": "modified", + }, + "app/shared/sagas/call-api.saga.js": { + "stateCleared": "modified", + }, + "app/shared/sagas/index.js": { + "stateCleared": "modified", + }, + "app/shared/sagas/startup.saga.js": { + "stateCleared": "modified", + }, + "app/shared/sagas/user.sagas.js": { + "stateCleared": "modified", + }, + "app/shared/services/api.js": { + "stateCleared": "modified", + }, + "app/shared/services/fixture-api.js": { + "stateCleared": "modified", + }, + "app/shared/services/rehydration.service.js": { + "stateCleared": "modified", + }, + "app/shared/themes/application.styles.js": { + "stateCleared": "modified", + }, + "app/shared/themes/colors.js": { + "stateCleared": "modified", + }, + "app/shared/themes/fonts.js": { + "stateCleared": "modified", + }, + "app/shared/themes/images.js": { + "stateCleared": "modified", + }, + "app/shared/themes/index.js": { + "stateCleared": "modified", + }, + "app/shared/themes/metrics.js": { + "stateCleared": "modified", + }, + "app/shared/util/date-transforms.js": { + "stateCleared": "modified", + }, + "app/shared/util/immutable-persistence-transform.js": { + "stateCleared": "modified", + }, + "app/shared/util/pagination-utils.js": { + "stateCleared": "modified", + }, + "app/shared/util/snake-to-camel-case.js": { + "stateCleared": "modified", + }, + "app/shared/util/url-utils.js": { + "stateCleared": "modified", + }, + "app/shared/util/use-did-update-effect.js": { + "stateCleared": "modified", + }, + "assets/adaptive-icon.png": { + "stateCleared": "modified", + }, + "assets/favicon.png": { + "stateCleared": "modified", + }, + "assets/icon.png": { + "stateCleared": "modified", + }, + "assets/splash.png": { + "stateCleared": "modified", + }, + "babel.config.js": { + "stateCleared": "modified", + }, + "e2e/account/change-password-screen.spec.js": { + "stateCleared": "modified", + }, + "e2e/account/login-screen.spec.js": { + "stateCleared": "modified", + }, + "e2e/account/settings-screen.spec.js": { + "stateCleared": "modified", + }, + "e2e/config.json": { + "stateCleared": "modified", + }, + "e2e/entities/foo.spec.js": { + "stateCleared": "modified", + }, + "e2e/home-screen.spec.js": { + "stateCleared": "modified", + }, + "e2e/scripts/download-expo.sh": { + "stateCleared": "modified", + }, + "e2e/scripts/setup.sh": { + "stateCleared": "modified", + }, + "e2e/utils.js": { + "stateCleared": "modified", + }, + "metro.config.js": { + "stateCleared": "modified", + }, + "package.json": { + "stateCleared": "modified", + }, + "patches/react-native-keyboard-aware-scroll-view+0.9.4.patch": { + "stateCleared": "modified", + }, + "patches/react-native-sectioned-multi-select+0.8.1.patch": { + "stateCleared": "modified", + }, + "storybook/addons.js": { + "stateCleared": "modified", + }, + "storybook/index.js": { + "stateCleared": "modified", + }, + "storybook/stories.js": { + "stateCleared": "modified", + }, + "test/setup.js": { + "stateCleared": "modified", + }, + "test/spec/modules/account/password-reset/forgot-passsword.sagas.spec.js": { + "stateCleared": "modified", + }, + "test/spec/modules/account/password-reset/forgot-password.reducer.spec.js": { + "stateCleared": "modified", + }, + "test/spec/modules/account/password/change-passsword.sagas.spec.js": { + "stateCleared": "modified", + }, + "test/spec/modules/account/password/change-password.reducer.spec.js": { + "stateCleared": "modified", + }, + "test/spec/modules/account/register/register.reducer.spec.js": { + "stateCleared": "modified", + }, + "test/spec/modules/account/register/register.sagas.spec.js": { + "stateCleared": "modified", + }, + "test/spec/modules/entities/foo/foo.reducer.spec.js": { + "stateCleared": "modified", + }, + "test/spec/modules/entities/foo/foo.sagas.spec.js": { + "stateCleared": "modified", + }, + "test/spec/modules/login/login.reducer.spec.js": { + "stateCleared": "modified", + }, + "test/spec/modules/login/login.sagas.spec.js": { + "stateCleared": "modified", + }, + "test/spec/shared/components/alert-message/alert-message.spec.js": { + "stateCleared": "modified", + }, + "test/spec/shared/components/rounded-button/rounded-button.spec.js": { + "stateCleared": "modified", + }, + "test/spec/shared/components/search-bar/search-bar.spec.js": { + "stateCleared": "modified", + }, + "test/spec/shared/reducers/account.reducer.spec.js": { + "stateCleared": "modified", + }, + "test/spec/shared/reducers/app-state.reducer.spec.js": { + "stateCleared": "modified", + }, + "test/spec/shared/reducers/user.reducer.spec.js": { + "stateCleared": "modified", + }, + "test/spec/shared/sagas/account.sagas.spec.js": { + "stateCleared": "modified", + }, + "test/spec/shared/sagas/call-api.saga.spec.js": { + "stateCleared": "modified", + }, + "test/spec/shared/sagas/startup.saga.spec.js": { + "stateCleared": "modified", + }, + "test/spec/shared/sagas/user.saga.spec.js": { + "stateCleared": "modified", + }, + "test/spec/shared/services/fixture-api.spec.js": { + "stateCleared": "modified", + }, +} +`; + +exports[`SubGenerator reactNative of reactNative JHipster blueprint > Entity Test: Search Engine Disabled, No Detox > should succeed 1`] = ` +{ + ".editorconfig": { + "stateCleared": "modified", + }, + ".eslintrc.js": { + "stateCleared": "modified", + }, + ".gitattributes": { + "stateCleared": "modified", + }, + ".gitignore": { + "stateCleared": "modified", + }, + ".husky/pre-commit": { + "stateCleared": "modified", + }, + ".jhipster/Foo.json": { + "stateCleared": "modified", + }, + ".lintstagedrc.cjs": { + "stateCleared": "modified", + }, + ".prettierignore": { + "stateCleared": "modified", + }, + ".prettierrc.js": { + "stateCleared": "modified", + }, + ".prettierrc.yml": { + "stateCleared": "modified", + }, + ".yo-rc.json": { + "stateCleared": "modified", + }, + "App.js": { + "stateCleared": "modified", + }, + "README.md": { + "stateCleared": "modified", + }, + "app.json": { + "stateCleared": "modified", + }, + "app/config/app-config.js": { + "stateCleared": "modified", + }, + "app/config/redux-persist.js": { + "stateCleared": "modified", + }, + "app/modules/account/password-reset/forgot-password-screen.js": { + "stateCleared": "modified", + }, + "app/modules/account/password-reset/forgot-password-screen.styles.js": { + "stateCleared": "modified", + }, + "app/modules/account/password-reset/forgot-password.reducer.js": { + "stateCleared": "modified", + }, + "app/modules/account/password-reset/forgot-password.sagas.js": { + "stateCleared": "modified", + }, + "app/modules/account/password/change-password-screen.js": { + "stateCleared": "modified", + }, + "app/modules/account/password/change-password-screen.styles.js": { + "stateCleared": "modified", + }, + "app/modules/account/password/change-password.reducer.js": { + "stateCleared": "modified", + }, + "app/modules/account/password/change-password.sagas.js": { + "stateCleared": "modified", + }, + "app/modules/account/register/register-screen.js": { + "stateCleared": "modified", + }, + "app/modules/account/register/register-screen.styles.js": { + "stateCleared": "modified", + }, + "app/modules/account/register/register.reducer.js": { + "stateCleared": "modified", + }, + "app/modules/account/register/register.sagas.js": { + "stateCleared": "modified", + }, + "app/modules/account/settings/settings-screen.js": { + "stateCleared": "modified", + }, + "app/modules/account/settings/settings-screen.styles.js": { + "stateCleared": "modified", + }, + "app/modules/entities/entities-screen.js": { + "stateCleared": "modified", + }, + "app/modules/entities/entities-screen.styles.js": { + "stateCleared": "modified", + }, + "app/modules/entities/foo/foo-delete-modal.js": { + "stateCleared": "modified", + }, + "app/modules/entities/foo/foo-detail-screen.js": { + "stateCleared": "modified", + }, + "app/modules/entities/foo/foo-edit-screen.js": { + "stateCleared": "modified", + }, + "app/modules/entities/foo/foo-screen.js": { + "stateCleared": "modified", + }, + "app/modules/entities/foo/foo-styles.js": { + "stateCleared": "modified", + }, + "app/modules/entities/foo/foo.reducer.js": { + "stateCleared": "modified", + }, + "app/modules/entities/foo/foo.sagas.js": { + "stateCleared": "modified", + }, + "app/modules/home/home-screen.js": { + "stateCleared": "modified", + }, + "app/modules/home/home-screen.styles.js": { + "stateCleared": "modified", + }, + "app/modules/home/learn-more-links.component.js": { + "stateCleared": "modified", + }, + "app/modules/login/login-screen.js": { + "stateCleared": "modified", + }, + "app/modules/login/login-screen.styles.js": { + "stateCleared": "modified", + }, + "app/modules/login/login.reducer.js": { + "stateCleared": "modified", + }, + "app/modules/login/login.sagas.js": { + "stateCleared": "modified", + }, + "app/navigation/drawer/drawer-button.js": { + "stateCleared": "modified", + }, + "app/navigation/drawer/drawer-content.js": { + "stateCleared": "modified", + }, + "app/navigation/drawer/touchable-item.tsx": { + "stateCleared": "modified", + }, + "app/navigation/entity-stack.js": { + "stateCleared": "modified", + }, + "app/navigation/modal-screen.js": { + "stateCleared": "modified", + }, + "app/navigation/nav-container.js": { + "stateCleared": "modified", + }, + "app/navigation/nav-ref.js": { + "stateCleared": "modified", + }, + "app/navigation/not-found-screen.tsx": { + "stateCleared": "modified", + }, + "app/shared/components/alert-message/alert-message.js": { + "stateCleared": "modified", + }, + "app/shared/components/alert-message/alert-message.story.js": { + "stateCleared": "modified", + }, + "app/shared/components/alert-message/alert-message.styles.js": { + "stateCleared": "modified", + }, + "app/shared/components/form/inputs/jhi-date-input.js": { + "stateCleared": "modified", + }, + "app/shared/components/form/inputs/jhi-date-input.web.js": { + "stateCleared": "modified", + }, + "app/shared/components/form/inputs/jhi-image-input.js": { + "stateCleared": "modified", + }, + "app/shared/components/form/inputs/jhi-list-input.js": { + "stateCleared": "modified", + }, + "app/shared/components/form/inputs/jhi-multi-list-input.js": { + "stateCleared": "modified", + }, + "app/shared/components/form/inputs/jhi-switch-input.js": { + "stateCleared": "modified", + }, + "app/shared/components/form/inputs/jhi-text-input.js": { + "stateCleared": "modified", + }, + "app/shared/components/form/jhi-form-button.js": { + "stateCleared": "modified", + }, + "app/shared/components/form/jhi-form-field.js": { + "stateCleared": "modified", + }, + "app/shared/components/form/jhi-form-field.story.js": { + "stateCleared": "modified", + }, + "app/shared/components/form/jhi-form.js": { + "stateCleared": "modified", + }, + "app/shared/components/rounded-button/rounded-button.js": { + "stateCleared": "modified", + }, + "app/shared/components/rounded-button/rounded-button.story.js": { + "stateCleared": "modified", + }, + "app/shared/components/rounded-button/rounded-button.styles.js": { + "stateCleared": "modified", + }, + "app/shared/components/search-bar/search-bar.js": { + "stateCleared": "modified", + }, + "app/shared/components/search-bar/search-bar.story.js": { + "stateCleared": "modified", + }, + "app/shared/components/search-bar/search-bar.styles.js": { + "stateCleared": "modified", + }, + "app/shared/fixtures/README.md": { + "stateCleared": "modified", + }, + "app/shared/fixtures/get-account.json": { + "stateCleared": "modified", + }, + "app/shared/fixtures/get-all-foos.json": { + "stateCleared": "modified", + }, + "app/shared/fixtures/get-foo.json": { + "stateCleared": "modified", + }, + "app/shared/fixtures/get-user.json": { + "stateCleared": "modified", + }, + "app/shared/fixtures/get-users.json": { + "stateCleared": "modified", + }, + "app/shared/fixtures/login.json": { + "stateCleared": "modified", + }, + "app/shared/fixtures/update-foo.json": { + "stateCleared": "modified", + }, + "app/shared/fixtures/update-user.json": { + "stateCleared": "modified", + }, + "app/shared/images/logo-jhipster.png": { + "stateCleared": "modified", + }, + "app/shared/images/logo-jhipster@2x.png": { + "stateCleared": "modified", + }, + "app/shared/images/logo-jhipster@3x.png": { + "stateCleared": "modified", + }, + "app/shared/images/toggle-drawer-icon/toggle-drawer-icon.png": { + "stateCleared": "modified", + }, + "app/shared/images/toggle-drawer-icon/toggle-drawer-icon@1.5x.android.png": { + "stateCleared": "modified", + }, + "app/shared/images/toggle-drawer-icon/toggle-drawer-icon@1.5x.ios.png": { + "stateCleared": "modified", + }, + "app/shared/images/toggle-drawer-icon/toggle-drawer-icon@1x.android.png": { + "stateCleared": "modified", + }, + "app/shared/images/toggle-drawer-icon/toggle-drawer-icon@1x.ios.png": { + "stateCleared": "modified", + }, + "app/shared/images/toggle-drawer-icon/toggle-drawer-icon@2x.android.png": { + "stateCleared": "modified", + }, + "app/shared/images/toggle-drawer-icon/toggle-drawer-icon@2x.ios.png": { + "stateCleared": "modified", + }, + "app/shared/images/toggle-drawer-icon/toggle-drawer-icon@3x.android.png": { + "stateCleared": "modified", + }, + "app/shared/images/toggle-drawer-icon/toggle-drawer-icon@3x.ios.png": { + "stateCleared": "modified", + }, + "app/shared/images/toggle-drawer-icon/toggle-drawer-icon@4x.android.png": { + "stateCleared": "modified", + }, + "app/shared/images/toggle-drawer-icon/toggle-drawer-icon@4x.ios.png": { + "stateCleared": "modified", + }, + "app/shared/reducers/account.reducer.js": { + "stateCleared": "modified", + }, + "app/shared/reducers/app-state.reducer.js": { + "stateCleared": "modified", + }, + "app/shared/reducers/create-store.js": { + "stateCleared": "modified", + }, + "app/shared/reducers/index.js": { + "stateCleared": "modified", + }, + "app/shared/reducers/startup.reducer.js": { + "stateCleared": "modified", + }, + "app/shared/reducers/user.reducer.js": { + "stateCleared": "modified", + }, + "app/shared/sagas/account.sagas.js": { + "stateCleared": "modified", + }, + "app/shared/sagas/call-api.saga.js": { + "stateCleared": "modified", + }, + "app/shared/sagas/index.js": { + "stateCleared": "modified", + }, + "app/shared/sagas/startup.saga.js": { + "stateCleared": "modified", + }, + "app/shared/sagas/user.sagas.js": { + "stateCleared": "modified", + }, + "app/shared/services/api.js": { + "stateCleared": "modified", + }, + "app/shared/services/fixture-api.js": { + "stateCleared": "modified", + }, + "app/shared/services/rehydration.service.js": { + "stateCleared": "modified", + }, + "app/shared/themes/application.styles.js": { + "stateCleared": "modified", + }, + "app/shared/themes/colors.js": { + "stateCleared": "modified", + }, + "app/shared/themes/fonts.js": { + "stateCleared": "modified", + }, + "app/shared/themes/images.js": { + "stateCleared": "modified", + }, + "app/shared/themes/index.js": { + "stateCleared": "modified", + }, + "app/shared/themes/metrics.js": { + "stateCleared": "modified", + }, + "app/shared/util/date-transforms.js": { + "stateCleared": "modified", + }, + "app/shared/util/immutable-persistence-transform.js": { + "stateCleared": "modified", + }, + "app/shared/util/pagination-utils.js": { + "stateCleared": "modified", + }, + "app/shared/util/snake-to-camel-case.js": { + "stateCleared": "modified", + }, + "app/shared/util/url-utils.js": { + "stateCleared": "modified", + }, + "app/shared/util/use-did-update-effect.js": { + "stateCleared": "modified", + }, + "assets/adaptive-icon.png": { + "stateCleared": "modified", + }, + "assets/favicon.png": { + "stateCleared": "modified", + }, + "assets/icon.png": { + "stateCleared": "modified", + }, + "assets/splash.png": { + "stateCleared": "modified", + }, + "babel.config.js": { + "stateCleared": "modified", + }, + "metro.config.js": { + "stateCleared": "modified", + }, + "package.json": { + "stateCleared": "modified", + }, + "patches/react-native-keyboard-aware-scroll-view+0.9.4.patch": { + "stateCleared": "modified", + }, + "patches/react-native-sectioned-multi-select+0.8.1.patch": { + "stateCleared": "modified", + }, + "storybook/addons.js": { + "stateCleared": "modified", + }, + "storybook/index.js": { + "stateCleared": "modified", + }, + "storybook/stories.js": { + "stateCleared": "modified", + }, + "test/setup.js": { + "stateCleared": "modified", + }, + "test/spec/modules/account/password-reset/forgot-passsword.sagas.spec.js": { + "stateCleared": "modified", + }, + "test/spec/modules/account/password-reset/forgot-password.reducer.spec.js": { + "stateCleared": "modified", + }, + "test/spec/modules/account/password/change-passsword.sagas.spec.js": { + "stateCleared": "modified", + }, + "test/spec/modules/account/password/change-password.reducer.spec.js": { + "stateCleared": "modified", + }, + "test/spec/modules/account/register/register.reducer.spec.js": { + "stateCleared": "modified", + }, + "test/spec/modules/account/register/register.sagas.spec.js": { + "stateCleared": "modified", + }, + "test/spec/modules/entities/foo/foo.reducer.spec.js": { + "stateCleared": "modified", + }, + "test/spec/modules/entities/foo/foo.sagas.spec.js": { + "stateCleared": "modified", + }, + "test/spec/modules/login/login.reducer.spec.js": { + "stateCleared": "modified", + }, + "test/spec/modules/login/login.sagas.spec.js": { + "stateCleared": "modified", + }, + "test/spec/shared/components/alert-message/alert-message.spec.js": { + "stateCleared": "modified", + }, + "test/spec/shared/components/rounded-button/rounded-button.spec.js": { + "stateCleared": "modified", + }, + "test/spec/shared/components/search-bar/search-bar.spec.js": { + "stateCleared": "modified", + }, + "test/spec/shared/reducers/account.reducer.spec.js": { + "stateCleared": "modified", + }, + "test/spec/shared/reducers/app-state.reducer.spec.js": { + "stateCleared": "modified", + }, + "test/spec/shared/reducers/user.reducer.spec.js": { + "stateCleared": "modified", + }, + "test/spec/shared/sagas/account.sagas.spec.js": { + "stateCleared": "modified", + }, + "test/spec/shared/sagas/call-api.saga.spec.js": { + "stateCleared": "modified", + }, + "test/spec/shared/sagas/startup.saga.spec.js": { + "stateCleared": "modified", + }, + "test/spec/shared/sagas/user.saga.spec.js": { + "stateCleared": "modified", + }, + "test/spec/shared/services/fixture-api.spec.js": { + "stateCleared": "modified", + }, +} +`; + +exports[`SubGenerator reactNative of reactNative JHipster blueprint > Entity Test: Search Engine and Detox Enabled > should succeed 1`] = ` +{ + ".detoxrc.json": { + "stateCleared": "modified", + }, + ".editorconfig": { + "stateCleared": "modified", + }, + ".eslintrc.js": { + "stateCleared": "modified", + }, + ".gitattributes": { + "stateCleared": "modified", + }, + ".gitignore": { + "stateCleared": "modified", + }, + ".husky/pre-commit": { + "stateCleared": "modified", + }, + ".jhipster/Foo.json": { + "stateCleared": "modified", + }, + ".lintstagedrc.cjs": { + "stateCleared": "modified", + }, + ".prettierignore": { + "stateCleared": "modified", + }, + ".prettierrc.js": { + "stateCleared": "modified", + }, + ".prettierrc.yml": { + "stateCleared": "modified", + }, + ".yo-rc.json": { + "stateCleared": "modified", + }, + "App.js": { + "stateCleared": "modified", + }, + "README.md": { + "stateCleared": "modified", + }, + "app.json": { + "stateCleared": "modified", + }, + "app/config/app-config.js": { + "stateCleared": "modified", + }, + "app/config/redux-persist.js": { + "stateCleared": "modified", + }, + "app/modules/account/password-reset/forgot-password-screen.js": { + "stateCleared": "modified", + }, + "app/modules/account/password-reset/forgot-password-screen.styles.js": { + "stateCleared": "modified", + }, + "app/modules/account/password-reset/forgot-password.reducer.js": { + "stateCleared": "modified", + }, + "app/modules/account/password-reset/forgot-password.sagas.js": { + "stateCleared": "modified", + }, + "app/modules/account/password/change-password-screen.js": { + "stateCleared": "modified", + }, + "app/modules/account/password/change-password-screen.styles.js": { + "stateCleared": "modified", + }, + "app/modules/account/password/change-password.reducer.js": { + "stateCleared": "modified", + }, + "app/modules/account/password/change-password.sagas.js": { + "stateCleared": "modified", + }, + "app/modules/account/register/register-screen.js": { + "stateCleared": "modified", + }, + "app/modules/account/register/register-screen.styles.js": { + "stateCleared": "modified", + }, + "app/modules/account/register/register.reducer.js": { + "stateCleared": "modified", + }, + "app/modules/account/register/register.sagas.js": { + "stateCleared": "modified", + }, + "app/modules/account/settings/settings-screen.js": { + "stateCleared": "modified", + }, + "app/modules/account/settings/settings-screen.styles.js": { + "stateCleared": "modified", + }, + "app/modules/entities/entities-screen.js": { + "stateCleared": "modified", + }, + "app/modules/entities/entities-screen.styles.js": { + "stateCleared": "modified", + }, + "app/modules/entities/foo/foo-delete-modal.js": { + "stateCleared": "modified", + }, + "app/modules/entities/foo/foo-detail-screen.js": { + "stateCleared": "modified", + }, + "app/modules/entities/foo/foo-edit-screen.js": { + "stateCleared": "modified", + }, + "app/modules/entities/foo/foo-screen.js": { + "stateCleared": "modified", + }, + "app/modules/entities/foo/foo-styles.js": { + "stateCleared": "modified", + }, + "app/modules/entities/foo/foo.reducer.js": { + "stateCleared": "modified", + }, + "app/modules/entities/foo/foo.sagas.js": { + "stateCleared": "modified", + }, + "app/modules/home/home-screen.js": { + "stateCleared": "modified", + }, + "app/modules/home/home-screen.styles.js": { + "stateCleared": "modified", + }, + "app/modules/home/learn-more-links.component.js": { + "stateCleared": "modified", + }, + "app/modules/login/login-screen.js": { + "stateCleared": "modified", + }, + "app/modules/login/login-screen.styles.js": { + "stateCleared": "modified", + }, + "app/modules/login/login.reducer.js": { + "stateCleared": "modified", + }, + "app/modules/login/login.sagas.js": { + "stateCleared": "modified", + }, + "app/navigation/drawer/drawer-button.js": { + "stateCleared": "modified", + }, + "app/navigation/drawer/drawer-content.js": { + "stateCleared": "modified", + }, + "app/navigation/drawer/touchable-item.tsx": { + "stateCleared": "modified", + }, + "app/navigation/entity-stack.js": { + "stateCleared": "modified", + }, + "app/navigation/modal-screen.js": { + "stateCleared": "modified", + }, + "app/navigation/nav-container.js": { + "stateCleared": "modified", + }, + "app/navigation/nav-ref.js": { + "stateCleared": "modified", + }, + "app/navigation/not-found-screen.tsx": { + "stateCleared": "modified", + }, + "app/shared/components/alert-message/alert-message.js": { + "stateCleared": "modified", + }, + "app/shared/components/alert-message/alert-message.story.js": { + "stateCleared": "modified", + }, + "app/shared/components/alert-message/alert-message.styles.js": { + "stateCleared": "modified", + }, + "app/shared/components/form/inputs/jhi-date-input.js": { + "stateCleared": "modified", + }, + "app/shared/components/form/inputs/jhi-date-input.web.js": { + "stateCleared": "modified", + }, + "app/shared/components/form/inputs/jhi-image-input.js": { + "stateCleared": "modified", + }, + "app/shared/components/form/inputs/jhi-list-input.js": { + "stateCleared": "modified", + }, + "app/shared/components/form/inputs/jhi-multi-list-input.js": { + "stateCleared": "modified", + }, + "app/shared/components/form/inputs/jhi-switch-input.js": { + "stateCleared": "modified", + }, + "app/shared/components/form/inputs/jhi-text-input.js": { + "stateCleared": "modified", + }, + "app/shared/components/form/jhi-form-button.js": { + "stateCleared": "modified", + }, + "app/shared/components/form/jhi-form-field.js": { + "stateCleared": "modified", + }, + "app/shared/components/form/jhi-form-field.story.js": { + "stateCleared": "modified", + }, + "app/shared/components/form/jhi-form.js": { + "stateCleared": "modified", + }, + "app/shared/components/rounded-button/rounded-button.js": { + "stateCleared": "modified", + }, + "app/shared/components/rounded-button/rounded-button.story.js": { + "stateCleared": "modified", + }, + "app/shared/components/rounded-button/rounded-button.styles.js": { + "stateCleared": "modified", + }, + "app/shared/components/search-bar/search-bar.js": { + "stateCleared": "modified", + }, + "app/shared/components/search-bar/search-bar.story.js": { + "stateCleared": "modified", + }, + "app/shared/components/search-bar/search-bar.styles.js": { + "stateCleared": "modified", + }, + "app/shared/fixtures/README.md": { + "stateCleared": "modified", + }, + "app/shared/fixtures/get-account.json": { + "stateCleared": "modified", + }, + "app/shared/fixtures/get-all-foos.json": { + "stateCleared": "modified", + }, + "app/shared/fixtures/get-foo.json": { + "stateCleared": "modified", + }, + "app/shared/fixtures/get-user.json": { + "stateCleared": "modified", + }, + "app/shared/fixtures/get-users.json": { + "stateCleared": "modified", + }, + "app/shared/fixtures/login.json": { + "stateCleared": "modified", + }, + "app/shared/fixtures/search-foos.json": { + "stateCleared": "modified", + }, + "app/shared/fixtures/update-foo.json": { + "stateCleared": "modified", + }, + "app/shared/fixtures/update-user.json": { + "stateCleared": "modified", + }, + "app/shared/images/logo-jhipster.png": { + "stateCleared": "modified", + }, + "app/shared/images/logo-jhipster@2x.png": { + "stateCleared": "modified", + }, + "app/shared/images/logo-jhipster@3x.png": { + "stateCleared": "modified", + }, + "app/shared/images/toggle-drawer-icon/toggle-drawer-icon.png": { + "stateCleared": "modified", + }, + "app/shared/images/toggle-drawer-icon/toggle-drawer-icon@1.5x.android.png": { + "stateCleared": "modified", + }, + "app/shared/images/toggle-drawer-icon/toggle-drawer-icon@1.5x.ios.png": { + "stateCleared": "modified", + }, + "app/shared/images/toggle-drawer-icon/toggle-drawer-icon@1x.android.png": { + "stateCleared": "modified", + }, + "app/shared/images/toggle-drawer-icon/toggle-drawer-icon@1x.ios.png": { + "stateCleared": "modified", + }, + "app/shared/images/toggle-drawer-icon/toggle-drawer-icon@2x.android.png": { + "stateCleared": "modified", + }, + "app/shared/images/toggle-drawer-icon/toggle-drawer-icon@2x.ios.png": { + "stateCleared": "modified", + }, + "app/shared/images/toggle-drawer-icon/toggle-drawer-icon@3x.android.png": { + "stateCleared": "modified", + }, + "app/shared/images/toggle-drawer-icon/toggle-drawer-icon@3x.ios.png": { + "stateCleared": "modified", + }, + "app/shared/images/toggle-drawer-icon/toggle-drawer-icon@4x.android.png": { + "stateCleared": "modified", + }, + "app/shared/images/toggle-drawer-icon/toggle-drawer-icon@4x.ios.png": { + "stateCleared": "modified", + }, + "app/shared/reducers/account.reducer.js": { + "stateCleared": "modified", + }, + "app/shared/reducers/app-state.reducer.js": { + "stateCleared": "modified", + }, + "app/shared/reducers/create-store.js": { + "stateCleared": "modified", + }, + "app/shared/reducers/index.js": { + "stateCleared": "modified", + }, + "app/shared/reducers/startup.reducer.js": { + "stateCleared": "modified", + }, + "app/shared/reducers/user.reducer.js": { + "stateCleared": "modified", + }, + "app/shared/sagas/account.sagas.js": { + "stateCleared": "modified", + }, + "app/shared/sagas/call-api.saga.js": { + "stateCleared": "modified", + }, + "app/shared/sagas/index.js": { + "stateCleared": "modified", + }, + "app/shared/sagas/startup.saga.js": { + "stateCleared": "modified", + }, + "app/shared/sagas/user.sagas.js": { + "stateCleared": "modified", + }, + "app/shared/services/api.js": { + "stateCleared": "modified", + }, + "app/shared/services/fixture-api.js": { + "stateCleared": "modified", + }, + "app/shared/services/rehydration.service.js": { + "stateCleared": "modified", + }, + "app/shared/themes/application.styles.js": { + "stateCleared": "modified", + }, + "app/shared/themes/colors.js": { + "stateCleared": "modified", + }, + "app/shared/themes/fonts.js": { + "stateCleared": "modified", + }, + "app/shared/themes/images.js": { + "stateCleared": "modified", + }, + "app/shared/themes/index.js": { + "stateCleared": "modified", + }, + "app/shared/themes/metrics.js": { + "stateCleared": "modified", + }, + "app/shared/util/date-transforms.js": { + "stateCleared": "modified", + }, + "app/shared/util/immutable-persistence-transform.js": { + "stateCleared": "modified", + }, + "app/shared/util/pagination-utils.js": { + "stateCleared": "modified", + }, + "app/shared/util/snake-to-camel-case.js": { + "stateCleared": "modified", + }, + "app/shared/util/url-utils.js": { + "stateCleared": "modified", + }, + "app/shared/util/use-did-update-effect.js": { + "stateCleared": "modified", + }, + "assets/adaptive-icon.png": { + "stateCleared": "modified", + }, + "assets/favicon.png": { + "stateCleared": "modified", + }, + "assets/icon.png": { + "stateCleared": "modified", + }, + "assets/splash.png": { + "stateCleared": "modified", + }, + "babel.config.js": { + "stateCleared": "modified", + }, + "e2e/account/change-password-screen.spec.js": { + "stateCleared": "modified", + }, + "e2e/account/login-screen.spec.js": { + "stateCleared": "modified", + }, + "e2e/account/settings-screen.spec.js": { + "stateCleared": "modified", + }, + "e2e/config.json": { + "stateCleared": "modified", + }, + "e2e/entities/foo.spec.js": { + "stateCleared": "modified", + }, + "e2e/home-screen.spec.js": { + "stateCleared": "modified", + }, + "e2e/scripts/download-expo.sh": { + "stateCleared": "modified", + }, + "e2e/scripts/setup.sh": { + "stateCleared": "modified", + }, + "e2e/utils.js": { + "stateCleared": "modified", + }, + "metro.config.js": { + "stateCleared": "modified", + }, + "package.json": { + "stateCleared": "modified", + }, + "patches/react-native-keyboard-aware-scroll-view+0.9.4.patch": { + "stateCleared": "modified", + }, + "patches/react-native-sectioned-multi-select+0.8.1.patch": { + "stateCleared": "modified", + }, + "storybook/addons.js": { + "stateCleared": "modified", + }, + "storybook/index.js": { + "stateCleared": "modified", + }, + "storybook/stories.js": { + "stateCleared": "modified", + }, + "test/setup.js": { + "stateCleared": "modified", + }, + "test/spec/modules/account/password-reset/forgot-passsword.sagas.spec.js": { + "stateCleared": "modified", + }, + "test/spec/modules/account/password-reset/forgot-password.reducer.spec.js": { + "stateCleared": "modified", + }, + "test/spec/modules/account/password/change-passsword.sagas.spec.js": { + "stateCleared": "modified", + }, + "test/spec/modules/account/password/change-password.reducer.spec.js": { + "stateCleared": "modified", + }, + "test/spec/modules/account/register/register.reducer.spec.js": { + "stateCleared": "modified", + }, + "test/spec/modules/account/register/register.sagas.spec.js": { + "stateCleared": "modified", + }, + "test/spec/modules/entities/foo/foo.reducer.spec.js": { + "stateCleared": "modified", + }, + "test/spec/modules/entities/foo/foo.sagas.spec.js": { + "stateCleared": "modified", + }, + "test/spec/modules/login/login.reducer.spec.js": { + "stateCleared": "modified", + }, + "test/spec/modules/login/login.sagas.spec.js": { + "stateCleared": "modified", + }, + "test/spec/shared/components/alert-message/alert-message.spec.js": { + "stateCleared": "modified", + }, + "test/spec/shared/components/rounded-button/rounded-button.spec.js": { + "stateCleared": "modified", + }, + "test/spec/shared/components/search-bar/search-bar.spec.js": { + "stateCleared": "modified", + }, + "test/spec/shared/reducers/account.reducer.spec.js": { + "stateCleared": "modified", + }, + "test/spec/shared/reducers/app-state.reducer.spec.js": { + "stateCleared": "modified", + }, + "test/spec/shared/reducers/user.reducer.spec.js": { + "stateCleared": "modified", + }, + "test/spec/shared/sagas/account.sagas.spec.js": { + "stateCleared": "modified", + }, + "test/spec/shared/sagas/call-api.saga.spec.js": { + "stateCleared": "modified", + }, + "test/spec/shared/sagas/startup.saga.spec.js": { + "stateCleared": "modified", + }, + "test/spec/shared/sagas/user.saga.spec.js": { + "stateCleared": "modified", + }, + "test/spec/shared/services/fixture-api.spec.js": { + "stateCleared": "modified", + }, +} +`; diff --git a/generators/react-native/__snapshots__/generator.spec.mjs.snap b/generators/react-native/__snapshots__/generator.spec.mjs.snap new file mode 100644 index 000000000..b895c64f6 --- /dev/null +++ b/generators/react-native/__snapshots__/generator.spec.mjs.snap @@ -0,0 +1,2707 @@ +// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html + +exports[`SubGenerator reactNative of reactNative JHipster blueprint > WebSocket Disabled, JWT Authentication, No Detox Test > should succeed 1`] = ` +{ + ".editorconfig": { + "stateCleared": "modified", + }, + ".eslintrc.js": { + "stateCleared": "modified", + }, + ".gitattributes": { + "stateCleared": "modified", + }, + ".gitignore": { + "stateCleared": "modified", + }, + ".husky/pre-commit": { + "stateCleared": "modified", + }, + ".lintstagedrc.cjs": { + "stateCleared": "modified", + }, + ".prettierignore": { + "stateCleared": "modified", + }, + ".prettierrc.js": { + "stateCleared": "modified", + }, + ".prettierrc.yml": { + "stateCleared": "modified", + }, + ".yo-rc.json": { + "stateCleared": "modified", + }, + "App.js": { + "stateCleared": "modified", + }, + "README.md": { + "stateCleared": "modified", + }, + "app.json": { + "stateCleared": "modified", + }, + "app/config/app-config.js": { + "stateCleared": "modified", + }, + "app/config/redux-persist.js": { + "stateCleared": "modified", + }, + "app/modules/account/password-reset/forgot-password-screen.js": { + "stateCleared": "modified", + }, + "app/modules/account/password-reset/forgot-password-screen.styles.js": { + "stateCleared": "modified", + }, + "app/modules/account/password-reset/forgot-password.reducer.js": { + "stateCleared": "modified", + }, + "app/modules/account/password-reset/forgot-password.sagas.js": { + "stateCleared": "modified", + }, + "app/modules/account/password/change-password-screen.js": { + "stateCleared": "modified", + }, + "app/modules/account/password/change-password-screen.styles.js": { + "stateCleared": "modified", + }, + "app/modules/account/password/change-password.reducer.js": { + "stateCleared": "modified", + }, + "app/modules/account/password/change-password.sagas.js": { + "stateCleared": "modified", + }, + "app/modules/account/register/register-screen.js": { + "stateCleared": "modified", + }, + "app/modules/account/register/register-screen.styles.js": { + "stateCleared": "modified", + }, + "app/modules/account/register/register.reducer.js": { + "stateCleared": "modified", + }, + "app/modules/account/register/register.sagas.js": { + "stateCleared": "modified", + }, + "app/modules/account/settings/settings-screen.js": { + "stateCleared": "modified", + }, + "app/modules/account/settings/settings-screen.styles.js": { + "stateCleared": "modified", + }, + "app/modules/entities/entities-screen.js": { + "stateCleared": "modified", + }, + "app/modules/entities/entities-screen.styles.js": { + "stateCleared": "modified", + }, + "app/modules/home/home-screen.js": { + "stateCleared": "modified", + }, + "app/modules/home/home-screen.styles.js": { + "stateCleared": "modified", + }, + "app/modules/home/learn-more-links.component.js": { + "stateCleared": "modified", + }, + "app/modules/login/login-screen.js": { + "stateCleared": "modified", + }, + "app/modules/login/login-screen.styles.js": { + "stateCleared": "modified", + }, + "app/modules/login/login.reducer.js": { + "stateCleared": "modified", + }, + "app/modules/login/login.sagas.js": { + "stateCleared": "modified", + }, + "app/navigation/drawer/drawer-button.js": { + "stateCleared": "modified", + }, + "app/navigation/drawer/drawer-content.js": { + "stateCleared": "modified", + }, + "app/navigation/drawer/touchable-item.tsx": { + "stateCleared": "modified", + }, + "app/navigation/entity-stack.js": { + "stateCleared": "modified", + }, + "app/navigation/modal-screen.js": { + "stateCleared": "modified", + }, + "app/navigation/nav-container.js": { + "stateCleared": "modified", + }, + "app/navigation/nav-ref.js": { + "stateCleared": "modified", + }, + "app/navigation/not-found-screen.tsx": { + "stateCleared": "modified", + }, + "app/shared/components/alert-message/alert-message.js": { + "stateCleared": "modified", + }, + "app/shared/components/alert-message/alert-message.story.js": { + "stateCleared": "modified", + }, + "app/shared/components/alert-message/alert-message.styles.js": { + "stateCleared": "modified", + }, + "app/shared/components/form/inputs/jhi-date-input.js": { + "stateCleared": "modified", + }, + "app/shared/components/form/inputs/jhi-date-input.web.js": { + "stateCleared": "modified", + }, + "app/shared/components/form/inputs/jhi-image-input.js": { + "stateCleared": "modified", + }, + "app/shared/components/form/inputs/jhi-list-input.js": { + "stateCleared": "modified", + }, + "app/shared/components/form/inputs/jhi-multi-list-input.js": { + "stateCleared": "modified", + }, + "app/shared/components/form/inputs/jhi-switch-input.js": { + "stateCleared": "modified", + }, + "app/shared/components/form/inputs/jhi-text-input.js": { + "stateCleared": "modified", + }, + "app/shared/components/form/jhi-form-button.js": { + "stateCleared": "modified", + }, + "app/shared/components/form/jhi-form-field.js": { + "stateCleared": "modified", + }, + "app/shared/components/form/jhi-form-field.story.js": { + "stateCleared": "modified", + }, + "app/shared/components/form/jhi-form.js": { + "stateCleared": "modified", + }, + "app/shared/components/rounded-button/rounded-button.js": { + "stateCleared": "modified", + }, + "app/shared/components/rounded-button/rounded-button.story.js": { + "stateCleared": "modified", + }, + "app/shared/components/rounded-button/rounded-button.styles.js": { + "stateCleared": "modified", + }, + "app/shared/components/search-bar/search-bar.js": { + "stateCleared": "modified", + }, + "app/shared/components/search-bar/search-bar.story.js": { + "stateCleared": "modified", + }, + "app/shared/components/search-bar/search-bar.styles.js": { + "stateCleared": "modified", + }, + "app/shared/fixtures/README.md": { + "stateCleared": "modified", + }, + "app/shared/fixtures/get-account.json": { + "stateCleared": "modified", + }, + "app/shared/fixtures/get-user.json": { + "stateCleared": "modified", + }, + "app/shared/fixtures/get-users.json": { + "stateCleared": "modified", + }, + "app/shared/fixtures/login.json": { + "stateCleared": "modified", + }, + "app/shared/fixtures/update-user.json": { + "stateCleared": "modified", + }, + "app/shared/images/logo-jhipster.png": { + "stateCleared": "modified", + }, + "app/shared/images/logo-jhipster@2x.png": { + "stateCleared": "modified", + }, + "app/shared/images/logo-jhipster@3x.png": { + "stateCleared": "modified", + }, + "app/shared/images/toggle-drawer-icon/toggle-drawer-icon.png": { + "stateCleared": "modified", + }, + "app/shared/images/toggle-drawer-icon/toggle-drawer-icon@1.5x.android.png": { + "stateCleared": "modified", + }, + "app/shared/images/toggle-drawer-icon/toggle-drawer-icon@1.5x.ios.png": { + "stateCleared": "modified", + }, + "app/shared/images/toggle-drawer-icon/toggle-drawer-icon@1x.android.png": { + "stateCleared": "modified", + }, + "app/shared/images/toggle-drawer-icon/toggle-drawer-icon@1x.ios.png": { + "stateCleared": "modified", + }, + "app/shared/images/toggle-drawer-icon/toggle-drawer-icon@2x.android.png": { + "stateCleared": "modified", + }, + "app/shared/images/toggle-drawer-icon/toggle-drawer-icon@2x.ios.png": { + "stateCleared": "modified", + }, + "app/shared/images/toggle-drawer-icon/toggle-drawer-icon@3x.android.png": { + "stateCleared": "modified", + }, + "app/shared/images/toggle-drawer-icon/toggle-drawer-icon@3x.ios.png": { + "stateCleared": "modified", + }, + "app/shared/images/toggle-drawer-icon/toggle-drawer-icon@4x.android.png": { + "stateCleared": "modified", + }, + "app/shared/images/toggle-drawer-icon/toggle-drawer-icon@4x.ios.png": { + "stateCleared": "modified", + }, + "app/shared/reducers/account.reducer.js": { + "stateCleared": "modified", + }, + "app/shared/reducers/app-state.reducer.js": { + "stateCleared": "modified", + }, + "app/shared/reducers/create-store.js": { + "stateCleared": "modified", + }, + "app/shared/reducers/index.js": { + "stateCleared": "modified", + }, + "app/shared/reducers/startup.reducer.js": { + "stateCleared": "modified", + }, + "app/shared/reducers/user.reducer.js": { + "stateCleared": "modified", + }, + "app/shared/sagas/account.sagas.js": { + "stateCleared": "modified", + }, + "app/shared/sagas/call-api.saga.js": { + "stateCleared": "modified", + }, + "app/shared/sagas/index.js": { + "stateCleared": "modified", + }, + "app/shared/sagas/startup.saga.js": { + "stateCleared": "modified", + }, + "app/shared/sagas/user.sagas.js": { + "stateCleared": "modified", + }, + "app/shared/services/api.js": { + "stateCleared": "modified", + }, + "app/shared/services/fixture-api.js": { + "stateCleared": "modified", + }, + "app/shared/services/rehydration.service.js": { + "stateCleared": "modified", + }, + "app/shared/themes/application.styles.js": { + "stateCleared": "modified", + }, + "app/shared/themes/colors.js": { + "stateCleared": "modified", + }, + "app/shared/themes/fonts.js": { + "stateCleared": "modified", + }, + "app/shared/themes/images.js": { + "stateCleared": "modified", + }, + "app/shared/themes/index.js": { + "stateCleared": "modified", + }, + "app/shared/themes/metrics.js": { + "stateCleared": "modified", + }, + "app/shared/util/date-transforms.js": { + "stateCleared": "modified", + }, + "app/shared/util/immutable-persistence-transform.js": { + "stateCleared": "modified", + }, + "app/shared/util/pagination-utils.js": { + "stateCleared": "modified", + }, + "app/shared/util/snake-to-camel-case.js": { + "stateCleared": "modified", + }, + "app/shared/util/url-utils.js": { + "stateCleared": "modified", + }, + "app/shared/util/use-did-update-effect.js": { + "stateCleared": "modified", + }, + "assets/adaptive-icon.png": { + "stateCleared": "modified", + }, + "assets/favicon.png": { + "stateCleared": "modified", + }, + "assets/icon.png": { + "stateCleared": "modified", + }, + "assets/splash.png": { + "stateCleared": "modified", + }, + "babel.config.js": { + "stateCleared": "modified", + }, + "metro.config.js": { + "stateCleared": "modified", + }, + "package.json": { + "stateCleared": "modified", + }, + "patches/react-native-keyboard-aware-scroll-view+0.9.4.patch": { + "stateCleared": "modified", + }, + "patches/react-native-sectioned-multi-select+0.8.1.patch": { + "stateCleared": "modified", + }, + "storybook/addons.js": { + "stateCleared": "modified", + }, + "storybook/index.js": { + "stateCleared": "modified", + }, + "storybook/stories.js": { + "stateCleared": "modified", + }, + "test/setup.js": { + "stateCleared": "modified", + }, + "test/spec/modules/account/password-reset/forgot-passsword.sagas.spec.js": { + "stateCleared": "modified", + }, + "test/spec/modules/account/password-reset/forgot-password.reducer.spec.js": { + "stateCleared": "modified", + }, + "test/spec/modules/account/password/change-passsword.sagas.spec.js": { + "stateCleared": "modified", + }, + "test/spec/modules/account/password/change-password.reducer.spec.js": { + "stateCleared": "modified", + }, + "test/spec/modules/account/register/register.reducer.spec.js": { + "stateCleared": "modified", + }, + "test/spec/modules/account/register/register.sagas.spec.js": { + "stateCleared": "modified", + }, + "test/spec/modules/login/login.reducer.spec.js": { + "stateCleared": "modified", + }, + "test/spec/modules/login/login.sagas.spec.js": { + "stateCleared": "modified", + }, + "test/spec/shared/components/alert-message/alert-message.spec.js": { + "stateCleared": "modified", + }, + "test/spec/shared/components/rounded-button/rounded-button.spec.js": { + "stateCleared": "modified", + }, + "test/spec/shared/components/search-bar/search-bar.spec.js": { + "stateCleared": "modified", + }, + "test/spec/shared/reducers/account.reducer.spec.js": { + "stateCleared": "modified", + }, + "test/spec/shared/reducers/app-state.reducer.spec.js": { + "stateCleared": "modified", + }, + "test/spec/shared/reducers/user.reducer.spec.js": { + "stateCleared": "modified", + }, + "test/spec/shared/sagas/account.sagas.spec.js": { + "stateCleared": "modified", + }, + "test/spec/shared/sagas/call-api.saga.spec.js": { + "stateCleared": "modified", + }, + "test/spec/shared/sagas/startup.saga.spec.js": { + "stateCleared": "modified", + }, + "test/spec/shared/sagas/user.saga.spec.js": { + "stateCleared": "modified", + }, + "test/spec/shared/services/fixture-api.spec.js": { + "stateCleared": "modified", + }, +} +`; + +exports[`SubGenerator reactNative of reactNative JHipster blueprint > WebSocket Disabled, JWT Authentication, With Detox Test > should succeed 1`] = ` +{ + ".detoxrc.json": { + "stateCleared": "modified", + }, + ".editorconfig": { + "stateCleared": "modified", + }, + ".eslintrc.js": { + "stateCleared": "modified", + }, + ".gitattributes": { + "stateCleared": "modified", + }, + ".gitignore": { + "stateCleared": "modified", + }, + ".husky/pre-commit": { + "stateCleared": "modified", + }, + ".lintstagedrc.cjs": { + "stateCleared": "modified", + }, + ".prettierignore": { + "stateCleared": "modified", + }, + ".prettierrc.js": { + "stateCleared": "modified", + }, + ".prettierrc.yml": { + "stateCleared": "modified", + }, + ".yo-rc.json": { + "stateCleared": "modified", + }, + "App.js": { + "stateCleared": "modified", + }, + "README.md": { + "stateCleared": "modified", + }, + "app.json": { + "stateCleared": "modified", + }, + "app/config/app-config.js": { + "stateCleared": "modified", + }, + "app/config/redux-persist.js": { + "stateCleared": "modified", + }, + "app/modules/account/password-reset/forgot-password-screen.js": { + "stateCleared": "modified", + }, + "app/modules/account/password-reset/forgot-password-screen.styles.js": { + "stateCleared": "modified", + }, + "app/modules/account/password-reset/forgot-password.reducer.js": { + "stateCleared": "modified", + }, + "app/modules/account/password-reset/forgot-password.sagas.js": { + "stateCleared": "modified", + }, + "app/modules/account/password/change-password-screen.js": { + "stateCleared": "modified", + }, + "app/modules/account/password/change-password-screen.styles.js": { + "stateCleared": "modified", + }, + "app/modules/account/password/change-password.reducer.js": { + "stateCleared": "modified", + }, + "app/modules/account/password/change-password.sagas.js": { + "stateCleared": "modified", + }, + "app/modules/account/register/register-screen.js": { + "stateCleared": "modified", + }, + "app/modules/account/register/register-screen.styles.js": { + "stateCleared": "modified", + }, + "app/modules/account/register/register.reducer.js": { + "stateCleared": "modified", + }, + "app/modules/account/register/register.sagas.js": { + "stateCleared": "modified", + }, + "app/modules/account/settings/settings-screen.js": { + "stateCleared": "modified", + }, + "app/modules/account/settings/settings-screen.styles.js": { + "stateCleared": "modified", + }, + "app/modules/entities/entities-screen.js": { + "stateCleared": "modified", + }, + "app/modules/entities/entities-screen.styles.js": { + "stateCleared": "modified", + }, + "app/modules/home/home-screen.js": { + "stateCleared": "modified", + }, + "app/modules/home/home-screen.styles.js": { + "stateCleared": "modified", + }, + "app/modules/home/learn-more-links.component.js": { + "stateCleared": "modified", + }, + "app/modules/login/login-screen.js": { + "stateCleared": "modified", + }, + "app/modules/login/login-screen.styles.js": { + "stateCleared": "modified", + }, + "app/modules/login/login.reducer.js": { + "stateCleared": "modified", + }, + "app/modules/login/login.sagas.js": { + "stateCleared": "modified", + }, + "app/navigation/drawer/drawer-button.js": { + "stateCleared": "modified", + }, + "app/navigation/drawer/drawer-content.js": { + "stateCleared": "modified", + }, + "app/navigation/drawer/touchable-item.tsx": { + "stateCleared": "modified", + }, + "app/navigation/entity-stack.js": { + "stateCleared": "modified", + }, + "app/navigation/modal-screen.js": { + "stateCleared": "modified", + }, + "app/navigation/nav-container.js": { + "stateCleared": "modified", + }, + "app/navigation/nav-ref.js": { + "stateCleared": "modified", + }, + "app/navigation/not-found-screen.tsx": { + "stateCleared": "modified", + }, + "app/shared/components/alert-message/alert-message.js": { + "stateCleared": "modified", + }, + "app/shared/components/alert-message/alert-message.story.js": { + "stateCleared": "modified", + }, + "app/shared/components/alert-message/alert-message.styles.js": { + "stateCleared": "modified", + }, + "app/shared/components/form/inputs/jhi-date-input.js": { + "stateCleared": "modified", + }, + "app/shared/components/form/inputs/jhi-date-input.web.js": { + "stateCleared": "modified", + }, + "app/shared/components/form/inputs/jhi-image-input.js": { + "stateCleared": "modified", + }, + "app/shared/components/form/inputs/jhi-list-input.js": { + "stateCleared": "modified", + }, + "app/shared/components/form/inputs/jhi-multi-list-input.js": { + "stateCleared": "modified", + }, + "app/shared/components/form/inputs/jhi-switch-input.js": { + "stateCleared": "modified", + }, + "app/shared/components/form/inputs/jhi-text-input.js": { + "stateCleared": "modified", + }, + "app/shared/components/form/jhi-form-button.js": { + "stateCleared": "modified", + }, + "app/shared/components/form/jhi-form-field.js": { + "stateCleared": "modified", + }, + "app/shared/components/form/jhi-form-field.story.js": { + "stateCleared": "modified", + }, + "app/shared/components/form/jhi-form.js": { + "stateCleared": "modified", + }, + "app/shared/components/rounded-button/rounded-button.js": { + "stateCleared": "modified", + }, + "app/shared/components/rounded-button/rounded-button.story.js": { + "stateCleared": "modified", + }, + "app/shared/components/rounded-button/rounded-button.styles.js": { + "stateCleared": "modified", + }, + "app/shared/components/search-bar/search-bar.js": { + "stateCleared": "modified", + }, + "app/shared/components/search-bar/search-bar.story.js": { + "stateCleared": "modified", + }, + "app/shared/components/search-bar/search-bar.styles.js": { + "stateCleared": "modified", + }, + "app/shared/fixtures/README.md": { + "stateCleared": "modified", + }, + "app/shared/fixtures/get-account.json": { + "stateCleared": "modified", + }, + "app/shared/fixtures/get-user.json": { + "stateCleared": "modified", + }, + "app/shared/fixtures/get-users.json": { + "stateCleared": "modified", + }, + "app/shared/fixtures/login.json": { + "stateCleared": "modified", + }, + "app/shared/fixtures/update-user.json": { + "stateCleared": "modified", + }, + "app/shared/images/logo-jhipster.png": { + "stateCleared": "modified", + }, + "app/shared/images/logo-jhipster@2x.png": { + "stateCleared": "modified", + }, + "app/shared/images/logo-jhipster@3x.png": { + "stateCleared": "modified", + }, + "app/shared/images/toggle-drawer-icon/toggle-drawer-icon.png": { + "stateCleared": "modified", + }, + "app/shared/images/toggle-drawer-icon/toggle-drawer-icon@1.5x.android.png": { + "stateCleared": "modified", + }, + "app/shared/images/toggle-drawer-icon/toggle-drawer-icon@1.5x.ios.png": { + "stateCleared": "modified", + }, + "app/shared/images/toggle-drawer-icon/toggle-drawer-icon@1x.android.png": { + "stateCleared": "modified", + }, + "app/shared/images/toggle-drawer-icon/toggle-drawer-icon@1x.ios.png": { + "stateCleared": "modified", + }, + "app/shared/images/toggle-drawer-icon/toggle-drawer-icon@2x.android.png": { + "stateCleared": "modified", + }, + "app/shared/images/toggle-drawer-icon/toggle-drawer-icon@2x.ios.png": { + "stateCleared": "modified", + }, + "app/shared/images/toggle-drawer-icon/toggle-drawer-icon@3x.android.png": { + "stateCleared": "modified", + }, + "app/shared/images/toggle-drawer-icon/toggle-drawer-icon@3x.ios.png": { + "stateCleared": "modified", + }, + "app/shared/images/toggle-drawer-icon/toggle-drawer-icon@4x.android.png": { + "stateCleared": "modified", + }, + "app/shared/images/toggle-drawer-icon/toggle-drawer-icon@4x.ios.png": { + "stateCleared": "modified", + }, + "app/shared/reducers/account.reducer.js": { + "stateCleared": "modified", + }, + "app/shared/reducers/app-state.reducer.js": { + "stateCleared": "modified", + }, + "app/shared/reducers/create-store.js": { + "stateCleared": "modified", + }, + "app/shared/reducers/index.js": { + "stateCleared": "modified", + }, + "app/shared/reducers/startup.reducer.js": { + "stateCleared": "modified", + }, + "app/shared/reducers/user.reducer.js": { + "stateCleared": "modified", + }, + "app/shared/sagas/account.sagas.js": { + "stateCleared": "modified", + }, + "app/shared/sagas/call-api.saga.js": { + "stateCleared": "modified", + }, + "app/shared/sagas/index.js": { + "stateCleared": "modified", + }, + "app/shared/sagas/startup.saga.js": { + "stateCleared": "modified", + }, + "app/shared/sagas/user.sagas.js": { + "stateCleared": "modified", + }, + "app/shared/services/api.js": { + "stateCleared": "modified", + }, + "app/shared/services/fixture-api.js": { + "stateCleared": "modified", + }, + "app/shared/services/rehydration.service.js": { + "stateCleared": "modified", + }, + "app/shared/themes/application.styles.js": { + "stateCleared": "modified", + }, + "app/shared/themes/colors.js": { + "stateCleared": "modified", + }, + "app/shared/themes/fonts.js": { + "stateCleared": "modified", + }, + "app/shared/themes/images.js": { + "stateCleared": "modified", + }, + "app/shared/themes/index.js": { + "stateCleared": "modified", + }, + "app/shared/themes/metrics.js": { + "stateCleared": "modified", + }, + "app/shared/util/date-transforms.js": { + "stateCleared": "modified", + }, + "app/shared/util/immutable-persistence-transform.js": { + "stateCleared": "modified", + }, + "app/shared/util/pagination-utils.js": { + "stateCleared": "modified", + }, + "app/shared/util/snake-to-camel-case.js": { + "stateCleared": "modified", + }, + "app/shared/util/url-utils.js": { + "stateCleared": "modified", + }, + "app/shared/util/use-did-update-effect.js": { + "stateCleared": "modified", + }, + "assets/adaptive-icon.png": { + "stateCleared": "modified", + }, + "assets/favicon.png": { + "stateCleared": "modified", + }, + "assets/icon.png": { + "stateCleared": "modified", + }, + "assets/splash.png": { + "stateCleared": "modified", + }, + "babel.config.js": { + "stateCleared": "modified", + }, + "e2e/account/change-password-screen.spec.js": { + "stateCleared": "modified", + }, + "e2e/account/login-screen.spec.js": { + "stateCleared": "modified", + }, + "e2e/account/settings-screen.spec.js": { + "stateCleared": "modified", + }, + "e2e/config.json": { + "stateCleared": "modified", + }, + "e2e/home-screen.spec.js": { + "stateCleared": "modified", + }, + "e2e/scripts/download-expo.sh": { + "stateCleared": "modified", + }, + "e2e/scripts/setup.sh": { + "stateCleared": "modified", + }, + "e2e/utils.js": { + "stateCleared": "modified", + }, + "metro.config.js": { + "stateCleared": "modified", + }, + "package.json": { + "stateCleared": "modified", + }, + "patches/react-native-keyboard-aware-scroll-view+0.9.4.patch": { + "stateCleared": "modified", + }, + "patches/react-native-sectioned-multi-select+0.8.1.patch": { + "stateCleared": "modified", + }, + "storybook/addons.js": { + "stateCleared": "modified", + }, + "storybook/index.js": { + "stateCleared": "modified", + }, + "storybook/stories.js": { + "stateCleared": "modified", + }, + "test/setup.js": { + "stateCleared": "modified", + }, + "test/spec/modules/account/password-reset/forgot-passsword.sagas.spec.js": { + "stateCleared": "modified", + }, + "test/spec/modules/account/password-reset/forgot-password.reducer.spec.js": { + "stateCleared": "modified", + }, + "test/spec/modules/account/password/change-passsword.sagas.spec.js": { + "stateCleared": "modified", + }, + "test/spec/modules/account/password/change-password.reducer.spec.js": { + "stateCleared": "modified", + }, + "test/spec/modules/account/register/register.reducer.spec.js": { + "stateCleared": "modified", + }, + "test/spec/modules/account/register/register.sagas.spec.js": { + "stateCleared": "modified", + }, + "test/spec/modules/login/login.reducer.spec.js": { + "stateCleared": "modified", + }, + "test/spec/modules/login/login.sagas.spec.js": { + "stateCleared": "modified", + }, + "test/spec/shared/components/alert-message/alert-message.spec.js": { + "stateCleared": "modified", + }, + "test/spec/shared/components/rounded-button/rounded-button.spec.js": { + "stateCleared": "modified", + }, + "test/spec/shared/components/search-bar/search-bar.spec.js": { + "stateCleared": "modified", + }, + "test/spec/shared/reducers/account.reducer.spec.js": { + "stateCleared": "modified", + }, + "test/spec/shared/reducers/app-state.reducer.spec.js": { + "stateCleared": "modified", + }, + "test/spec/shared/reducers/user.reducer.spec.js": { + "stateCleared": "modified", + }, + "test/spec/shared/sagas/account.sagas.spec.js": { + "stateCleared": "modified", + }, + "test/spec/shared/sagas/call-api.saga.spec.js": { + "stateCleared": "modified", + }, + "test/spec/shared/sagas/startup.saga.spec.js": { + "stateCleared": "modified", + }, + "test/spec/shared/sagas/user.saga.spec.js": { + "stateCleared": "modified", + }, + "test/spec/shared/services/fixture-api.spec.js": { + "stateCleared": "modified", + }, +} +`; + +exports[`SubGenerator reactNative of reactNative JHipster blueprint > WebSocket Enabled with Spring, JWT Authentication, No Detox Test > should succeed 1`] = ` +{ + ".editorconfig": { + "stateCleared": "modified", + }, + ".eslintrc.js": { + "stateCleared": "modified", + }, + ".gitattributes": { + "stateCleared": "modified", + }, + ".gitignore": { + "stateCleared": "modified", + }, + ".husky/pre-commit": { + "stateCleared": "modified", + }, + ".lintstagedrc.cjs": { + "stateCleared": "modified", + }, + ".prettierignore": { + "stateCleared": "modified", + }, + ".prettierrc.js": { + "stateCleared": "modified", + }, + ".prettierrc.yml": { + "stateCleared": "modified", + }, + ".yo-rc.json": { + "stateCleared": "modified", + }, + "App.js": { + "stateCleared": "modified", + }, + "README.md": { + "stateCleared": "modified", + }, + "app.json": { + "stateCleared": "modified", + }, + "app/config/app-config.js": { + "stateCleared": "modified", + }, + "app/config/redux-persist.js": { + "stateCleared": "modified", + }, + "app/modules/account/password-reset/forgot-password-screen.js": { + "stateCleared": "modified", + }, + "app/modules/account/password-reset/forgot-password-screen.styles.js": { + "stateCleared": "modified", + }, + "app/modules/account/password-reset/forgot-password.reducer.js": { + "stateCleared": "modified", + }, + "app/modules/account/password-reset/forgot-password.sagas.js": { + "stateCleared": "modified", + }, + "app/modules/account/password/change-password-screen.js": { + "stateCleared": "modified", + }, + "app/modules/account/password/change-password-screen.styles.js": { + "stateCleared": "modified", + }, + "app/modules/account/password/change-password.reducer.js": { + "stateCleared": "modified", + }, + "app/modules/account/password/change-password.sagas.js": { + "stateCleared": "modified", + }, + "app/modules/account/register/register-screen.js": { + "stateCleared": "modified", + }, + "app/modules/account/register/register-screen.styles.js": { + "stateCleared": "modified", + }, + "app/modules/account/register/register.reducer.js": { + "stateCleared": "modified", + }, + "app/modules/account/register/register.sagas.js": { + "stateCleared": "modified", + }, + "app/modules/account/settings/settings-screen.js": { + "stateCleared": "modified", + }, + "app/modules/account/settings/settings-screen.styles.js": { + "stateCleared": "modified", + }, + "app/modules/chat/chat-screen.js": { + "stateCleared": "modified", + }, + "app/modules/chat/chat-screen.styles.js": { + "stateCleared": "modified", + }, + "app/modules/chat/chat.reducer.js": { + "stateCleared": "modified", + }, + "app/modules/entities/entities-screen.js": { + "stateCleared": "modified", + }, + "app/modules/entities/entities-screen.styles.js": { + "stateCleared": "modified", + }, + "app/modules/home/home-screen.js": { + "stateCleared": "modified", + }, + "app/modules/home/home-screen.styles.js": { + "stateCleared": "modified", + }, + "app/modules/home/learn-more-links.component.js": { + "stateCleared": "modified", + }, + "app/modules/login/login-screen.js": { + "stateCleared": "modified", + }, + "app/modules/login/login-screen.styles.js": { + "stateCleared": "modified", + }, + "app/modules/login/login.reducer.js": { + "stateCleared": "modified", + }, + "app/modules/login/login.sagas.js": { + "stateCleared": "modified", + }, + "app/navigation/drawer/drawer-button.js": { + "stateCleared": "modified", + }, + "app/navigation/drawer/drawer-content.js": { + "stateCleared": "modified", + }, + "app/navigation/drawer/touchable-item.tsx": { + "stateCleared": "modified", + }, + "app/navigation/entity-stack.js": { + "stateCleared": "modified", + }, + "app/navigation/modal-screen.js": { + "stateCleared": "modified", + }, + "app/navigation/nav-container.js": { + "stateCleared": "modified", + }, + "app/navigation/nav-ref.js": { + "stateCleared": "modified", + }, + "app/navigation/not-found-screen.tsx": { + "stateCleared": "modified", + }, + "app/shared/components/alert-message/alert-message.js": { + "stateCleared": "modified", + }, + "app/shared/components/alert-message/alert-message.story.js": { + "stateCleared": "modified", + }, + "app/shared/components/alert-message/alert-message.styles.js": { + "stateCleared": "modified", + }, + "app/shared/components/form/inputs/jhi-date-input.js": { + "stateCleared": "modified", + }, + "app/shared/components/form/inputs/jhi-date-input.web.js": { + "stateCleared": "modified", + }, + "app/shared/components/form/inputs/jhi-image-input.js": { + "stateCleared": "modified", + }, + "app/shared/components/form/inputs/jhi-list-input.js": { + "stateCleared": "modified", + }, + "app/shared/components/form/inputs/jhi-multi-list-input.js": { + "stateCleared": "modified", + }, + "app/shared/components/form/inputs/jhi-switch-input.js": { + "stateCleared": "modified", + }, + "app/shared/components/form/inputs/jhi-text-input.js": { + "stateCleared": "modified", + }, + "app/shared/components/form/jhi-form-button.js": { + "stateCleared": "modified", + }, + "app/shared/components/form/jhi-form-field.js": { + "stateCleared": "modified", + }, + "app/shared/components/form/jhi-form-field.story.js": { + "stateCleared": "modified", + }, + "app/shared/components/form/jhi-form.js": { + "stateCleared": "modified", + }, + "app/shared/components/rounded-button/rounded-button.js": { + "stateCleared": "modified", + }, + "app/shared/components/rounded-button/rounded-button.story.js": { + "stateCleared": "modified", + }, + "app/shared/components/rounded-button/rounded-button.styles.js": { + "stateCleared": "modified", + }, + "app/shared/components/search-bar/search-bar.js": { + "stateCleared": "modified", + }, + "app/shared/components/search-bar/search-bar.story.js": { + "stateCleared": "modified", + }, + "app/shared/components/search-bar/search-bar.styles.js": { + "stateCleared": "modified", + }, + "app/shared/fixtures/README.md": { + "stateCleared": "modified", + }, + "app/shared/fixtures/get-account.json": { + "stateCleared": "modified", + }, + "app/shared/fixtures/get-user.json": { + "stateCleared": "modified", + }, + "app/shared/fixtures/get-users.json": { + "stateCleared": "modified", + }, + "app/shared/fixtures/login.json": { + "stateCleared": "modified", + }, + "app/shared/fixtures/update-user.json": { + "stateCleared": "modified", + }, + "app/shared/images/logo-jhipster.png": { + "stateCleared": "modified", + }, + "app/shared/images/logo-jhipster@2x.png": { + "stateCleared": "modified", + }, + "app/shared/images/logo-jhipster@3x.png": { + "stateCleared": "modified", + }, + "app/shared/images/toggle-drawer-icon/toggle-drawer-icon.png": { + "stateCleared": "modified", + }, + "app/shared/images/toggle-drawer-icon/toggle-drawer-icon@1.5x.android.png": { + "stateCleared": "modified", + }, + "app/shared/images/toggle-drawer-icon/toggle-drawer-icon@1.5x.ios.png": { + "stateCleared": "modified", + }, + "app/shared/images/toggle-drawer-icon/toggle-drawer-icon@1x.android.png": { + "stateCleared": "modified", + }, + "app/shared/images/toggle-drawer-icon/toggle-drawer-icon@1x.ios.png": { + "stateCleared": "modified", + }, + "app/shared/images/toggle-drawer-icon/toggle-drawer-icon@2x.android.png": { + "stateCleared": "modified", + }, + "app/shared/images/toggle-drawer-icon/toggle-drawer-icon@2x.ios.png": { + "stateCleared": "modified", + }, + "app/shared/images/toggle-drawer-icon/toggle-drawer-icon@3x.android.png": { + "stateCleared": "modified", + }, + "app/shared/images/toggle-drawer-icon/toggle-drawer-icon@3x.ios.png": { + "stateCleared": "modified", + }, + "app/shared/images/toggle-drawer-icon/toggle-drawer-icon@4x.android.png": { + "stateCleared": "modified", + }, + "app/shared/images/toggle-drawer-icon/toggle-drawer-icon@4x.ios.png": { + "stateCleared": "modified", + }, + "app/shared/reducers/account.reducer.js": { + "stateCleared": "modified", + }, + "app/shared/reducers/app-state.reducer.js": { + "stateCleared": "modified", + }, + "app/shared/reducers/create-store.js": { + "stateCleared": "modified", + }, + "app/shared/reducers/index.js": { + "stateCleared": "modified", + }, + "app/shared/reducers/startup.reducer.js": { + "stateCleared": "modified", + }, + "app/shared/reducers/user.reducer.js": { + "stateCleared": "modified", + }, + "app/shared/sagas/account.sagas.js": { + "stateCleared": "modified", + }, + "app/shared/sagas/call-api.saga.js": { + "stateCleared": "modified", + }, + "app/shared/sagas/index.js": { + "stateCleared": "modified", + }, + "app/shared/sagas/startup.saga.js": { + "stateCleared": "modified", + }, + "app/shared/sagas/user.sagas.js": { + "stateCleared": "modified", + }, + "app/shared/services/api.js": { + "stateCleared": "modified", + }, + "app/shared/services/fixture-api.js": { + "stateCleared": "modified", + }, + "app/shared/services/rehydration.service.js": { + "stateCleared": "modified", + }, + "app/shared/themes/application.styles.js": { + "stateCleared": "modified", + }, + "app/shared/themes/colors.js": { + "stateCleared": "modified", + }, + "app/shared/themes/fonts.js": { + "stateCleared": "modified", + }, + "app/shared/themes/images.js": { + "stateCleared": "modified", + }, + "app/shared/themes/index.js": { + "stateCleared": "modified", + }, + "app/shared/themes/metrics.js": { + "stateCleared": "modified", + }, + "app/shared/util/date-transforms.js": { + "stateCleared": "modified", + }, + "app/shared/util/immutable-persistence-transform.js": { + "stateCleared": "modified", + }, + "app/shared/util/pagination-utils.js": { + "stateCleared": "modified", + }, + "app/shared/util/snake-to-camel-case.js": { + "stateCleared": "modified", + }, + "app/shared/util/url-utils.js": { + "stateCleared": "modified", + }, + "app/shared/util/use-did-update-effect.js": { + "stateCleared": "modified", + }, + "app/shared/websockets/websocket.sagas.js": { + "stateCleared": "modified", + }, + "app/shared/websockets/websocket.service.js": { + "stateCleared": "modified", + }, + "assets/adaptive-icon.png": { + "stateCleared": "modified", + }, + "assets/favicon.png": { + "stateCleared": "modified", + }, + "assets/icon.png": { + "stateCleared": "modified", + }, + "assets/splash.png": { + "stateCleared": "modified", + }, + "babel.config.js": { + "stateCleared": "modified", + }, + "metro.config.js": { + "stateCleared": "modified", + }, + "package.json": { + "stateCleared": "modified", + }, + "patches/react-native-keyboard-aware-scroll-view+0.9.4.patch": { + "stateCleared": "modified", + }, + "patches/react-native-sectioned-multi-select+0.8.1.patch": { + "stateCleared": "modified", + }, + "storybook/addons.js": { + "stateCleared": "modified", + }, + "storybook/index.js": { + "stateCleared": "modified", + }, + "storybook/stories.js": { + "stateCleared": "modified", + }, + "test/setup.js": { + "stateCleared": "modified", + }, + "test/spec/modules/account/password-reset/forgot-passsword.sagas.spec.js": { + "stateCleared": "modified", + }, + "test/spec/modules/account/password-reset/forgot-password.reducer.spec.js": { + "stateCleared": "modified", + }, + "test/spec/modules/account/password/change-passsword.sagas.spec.js": { + "stateCleared": "modified", + }, + "test/spec/modules/account/password/change-password.reducer.spec.js": { + "stateCleared": "modified", + }, + "test/spec/modules/account/register/register.reducer.spec.js": { + "stateCleared": "modified", + }, + "test/spec/modules/account/register/register.sagas.spec.js": { + "stateCleared": "modified", + }, + "test/spec/modules/chat/chat.reducer.spec.js": { + "stateCleared": "modified", + }, + "test/spec/modules/login/login.reducer.spec.js": { + "stateCleared": "modified", + }, + "test/spec/modules/login/login.sagas.spec.js": { + "stateCleared": "modified", + }, + "test/spec/shared/components/alert-message/alert-message.spec.js": { + "stateCleared": "modified", + }, + "test/spec/shared/components/rounded-button/rounded-button.spec.js": { + "stateCleared": "modified", + }, + "test/spec/shared/components/search-bar/search-bar.spec.js": { + "stateCleared": "modified", + }, + "test/spec/shared/reducers/account.reducer.spec.js": { + "stateCleared": "modified", + }, + "test/spec/shared/reducers/app-state.reducer.spec.js": { + "stateCleared": "modified", + }, + "test/spec/shared/reducers/user.reducer.spec.js": { + "stateCleared": "modified", + }, + "test/spec/shared/sagas/account.sagas.spec.js": { + "stateCleared": "modified", + }, + "test/spec/shared/sagas/call-api.saga.spec.js": { + "stateCleared": "modified", + }, + "test/spec/shared/sagas/startup.saga.spec.js": { + "stateCleared": "modified", + }, + "test/spec/shared/sagas/user.saga.spec.js": { + "stateCleared": "modified", + }, + "test/spec/shared/services/fixture-api.spec.js": { + "stateCleared": "modified", + }, + "test/spec/shared/websockets/websocket-service.spec.js": { + "stateCleared": "modified", + }, + "test/spec/shared/websockets/websocket.sagas.spec.js": { + "stateCleared": "modified", + }, +} +`; + +exports[`SubGenerator reactNative of reactNative JHipster blueprint > WebSocket Enabled with Spring, JWT Authentication, With Detox Test > should succeed 1`] = ` +{ + ".detoxrc.json": { + "stateCleared": "modified", + }, + ".editorconfig": { + "stateCleared": "modified", + }, + ".eslintrc.js": { + "stateCleared": "modified", + }, + ".gitattributes": { + "stateCleared": "modified", + }, + ".gitignore": { + "stateCleared": "modified", + }, + ".husky/pre-commit": { + "stateCleared": "modified", + }, + ".lintstagedrc.cjs": { + "stateCleared": "modified", + }, + ".prettierignore": { + "stateCleared": "modified", + }, + ".prettierrc.js": { + "stateCleared": "modified", + }, + ".prettierrc.yml": { + "stateCleared": "modified", + }, + ".yo-rc.json": { + "stateCleared": "modified", + }, + "App.js": { + "stateCleared": "modified", + }, + "README.md": { + "stateCleared": "modified", + }, + "app.json": { + "stateCleared": "modified", + }, + "app/config/app-config.js": { + "stateCleared": "modified", + }, + "app/config/redux-persist.js": { + "stateCleared": "modified", + }, + "app/modules/account/password-reset/forgot-password-screen.js": { + "stateCleared": "modified", + }, + "app/modules/account/password-reset/forgot-password-screen.styles.js": { + "stateCleared": "modified", + }, + "app/modules/account/password-reset/forgot-password.reducer.js": { + "stateCleared": "modified", + }, + "app/modules/account/password-reset/forgot-password.sagas.js": { + "stateCleared": "modified", + }, + "app/modules/account/password/change-password-screen.js": { + "stateCleared": "modified", + }, + "app/modules/account/password/change-password-screen.styles.js": { + "stateCleared": "modified", + }, + "app/modules/account/password/change-password.reducer.js": { + "stateCleared": "modified", + }, + "app/modules/account/password/change-password.sagas.js": { + "stateCleared": "modified", + }, + "app/modules/account/register/register-screen.js": { + "stateCleared": "modified", + }, + "app/modules/account/register/register-screen.styles.js": { + "stateCleared": "modified", + }, + "app/modules/account/register/register.reducer.js": { + "stateCleared": "modified", + }, + "app/modules/account/register/register.sagas.js": { + "stateCleared": "modified", + }, + "app/modules/account/settings/settings-screen.js": { + "stateCleared": "modified", + }, + "app/modules/account/settings/settings-screen.styles.js": { + "stateCleared": "modified", + }, + "app/modules/chat/chat-screen.js": { + "stateCleared": "modified", + }, + "app/modules/chat/chat-screen.styles.js": { + "stateCleared": "modified", + }, + "app/modules/chat/chat.reducer.js": { + "stateCleared": "modified", + }, + "app/modules/entities/entities-screen.js": { + "stateCleared": "modified", + }, + "app/modules/entities/entities-screen.styles.js": { + "stateCleared": "modified", + }, + "app/modules/home/home-screen.js": { + "stateCleared": "modified", + }, + "app/modules/home/home-screen.styles.js": { + "stateCleared": "modified", + }, + "app/modules/home/learn-more-links.component.js": { + "stateCleared": "modified", + }, + "app/modules/login/login-screen.js": { + "stateCleared": "modified", + }, + "app/modules/login/login-screen.styles.js": { + "stateCleared": "modified", + }, + "app/modules/login/login.reducer.js": { + "stateCleared": "modified", + }, + "app/modules/login/login.sagas.js": { + "stateCleared": "modified", + }, + "app/navigation/drawer/drawer-button.js": { + "stateCleared": "modified", + }, + "app/navigation/drawer/drawer-content.js": { + "stateCleared": "modified", + }, + "app/navigation/drawer/touchable-item.tsx": { + "stateCleared": "modified", + }, + "app/navigation/entity-stack.js": { + "stateCleared": "modified", + }, + "app/navigation/modal-screen.js": { + "stateCleared": "modified", + }, + "app/navigation/nav-container.js": { + "stateCleared": "modified", + }, + "app/navigation/nav-ref.js": { + "stateCleared": "modified", + }, + "app/navigation/not-found-screen.tsx": { + "stateCleared": "modified", + }, + "app/shared/components/alert-message/alert-message.js": { + "stateCleared": "modified", + }, + "app/shared/components/alert-message/alert-message.story.js": { + "stateCleared": "modified", + }, + "app/shared/components/alert-message/alert-message.styles.js": { + "stateCleared": "modified", + }, + "app/shared/components/form/inputs/jhi-date-input.js": { + "stateCleared": "modified", + }, + "app/shared/components/form/inputs/jhi-date-input.web.js": { + "stateCleared": "modified", + }, + "app/shared/components/form/inputs/jhi-image-input.js": { + "stateCleared": "modified", + }, + "app/shared/components/form/inputs/jhi-list-input.js": { + "stateCleared": "modified", + }, + "app/shared/components/form/inputs/jhi-multi-list-input.js": { + "stateCleared": "modified", + }, + "app/shared/components/form/inputs/jhi-switch-input.js": { + "stateCleared": "modified", + }, + "app/shared/components/form/inputs/jhi-text-input.js": { + "stateCleared": "modified", + }, + "app/shared/components/form/jhi-form-button.js": { + "stateCleared": "modified", + }, + "app/shared/components/form/jhi-form-field.js": { + "stateCleared": "modified", + }, + "app/shared/components/form/jhi-form-field.story.js": { + "stateCleared": "modified", + }, + "app/shared/components/form/jhi-form.js": { + "stateCleared": "modified", + }, + "app/shared/components/rounded-button/rounded-button.js": { + "stateCleared": "modified", + }, + "app/shared/components/rounded-button/rounded-button.story.js": { + "stateCleared": "modified", + }, + "app/shared/components/rounded-button/rounded-button.styles.js": { + "stateCleared": "modified", + }, + "app/shared/components/search-bar/search-bar.js": { + "stateCleared": "modified", + }, + "app/shared/components/search-bar/search-bar.story.js": { + "stateCleared": "modified", + }, + "app/shared/components/search-bar/search-bar.styles.js": { + "stateCleared": "modified", + }, + "app/shared/fixtures/README.md": { + "stateCleared": "modified", + }, + "app/shared/fixtures/get-account.json": { + "stateCleared": "modified", + }, + "app/shared/fixtures/get-user.json": { + "stateCleared": "modified", + }, + "app/shared/fixtures/get-users.json": { + "stateCleared": "modified", + }, + "app/shared/fixtures/login.json": { + "stateCleared": "modified", + }, + "app/shared/fixtures/update-user.json": { + "stateCleared": "modified", + }, + "app/shared/images/logo-jhipster.png": { + "stateCleared": "modified", + }, + "app/shared/images/logo-jhipster@2x.png": { + "stateCleared": "modified", + }, + "app/shared/images/logo-jhipster@3x.png": { + "stateCleared": "modified", + }, + "app/shared/images/toggle-drawer-icon/toggle-drawer-icon.png": { + "stateCleared": "modified", + }, + "app/shared/images/toggle-drawer-icon/toggle-drawer-icon@1.5x.android.png": { + "stateCleared": "modified", + }, + "app/shared/images/toggle-drawer-icon/toggle-drawer-icon@1.5x.ios.png": { + "stateCleared": "modified", + }, + "app/shared/images/toggle-drawer-icon/toggle-drawer-icon@1x.android.png": { + "stateCleared": "modified", + }, + "app/shared/images/toggle-drawer-icon/toggle-drawer-icon@1x.ios.png": { + "stateCleared": "modified", + }, + "app/shared/images/toggle-drawer-icon/toggle-drawer-icon@2x.android.png": { + "stateCleared": "modified", + }, + "app/shared/images/toggle-drawer-icon/toggle-drawer-icon@2x.ios.png": { + "stateCleared": "modified", + }, + "app/shared/images/toggle-drawer-icon/toggle-drawer-icon@3x.android.png": { + "stateCleared": "modified", + }, + "app/shared/images/toggle-drawer-icon/toggle-drawer-icon@3x.ios.png": { + "stateCleared": "modified", + }, + "app/shared/images/toggle-drawer-icon/toggle-drawer-icon@4x.android.png": { + "stateCleared": "modified", + }, + "app/shared/images/toggle-drawer-icon/toggle-drawer-icon@4x.ios.png": { + "stateCleared": "modified", + }, + "app/shared/reducers/account.reducer.js": { + "stateCleared": "modified", + }, + "app/shared/reducers/app-state.reducer.js": { + "stateCleared": "modified", + }, + "app/shared/reducers/create-store.js": { + "stateCleared": "modified", + }, + "app/shared/reducers/index.js": { + "stateCleared": "modified", + }, + "app/shared/reducers/startup.reducer.js": { + "stateCleared": "modified", + }, + "app/shared/reducers/user.reducer.js": { + "stateCleared": "modified", + }, + "app/shared/sagas/account.sagas.js": { + "stateCleared": "modified", + }, + "app/shared/sagas/call-api.saga.js": { + "stateCleared": "modified", + }, + "app/shared/sagas/index.js": { + "stateCleared": "modified", + }, + "app/shared/sagas/startup.saga.js": { + "stateCleared": "modified", + }, + "app/shared/sagas/user.sagas.js": { + "stateCleared": "modified", + }, + "app/shared/services/api.js": { + "stateCleared": "modified", + }, + "app/shared/services/fixture-api.js": { + "stateCleared": "modified", + }, + "app/shared/services/rehydration.service.js": { + "stateCleared": "modified", + }, + "app/shared/themes/application.styles.js": { + "stateCleared": "modified", + }, + "app/shared/themes/colors.js": { + "stateCleared": "modified", + }, + "app/shared/themes/fonts.js": { + "stateCleared": "modified", + }, + "app/shared/themes/images.js": { + "stateCleared": "modified", + }, + "app/shared/themes/index.js": { + "stateCleared": "modified", + }, + "app/shared/themes/metrics.js": { + "stateCleared": "modified", + }, + "app/shared/util/date-transforms.js": { + "stateCleared": "modified", + }, + "app/shared/util/immutable-persistence-transform.js": { + "stateCleared": "modified", + }, + "app/shared/util/pagination-utils.js": { + "stateCleared": "modified", + }, + "app/shared/util/snake-to-camel-case.js": { + "stateCleared": "modified", + }, + "app/shared/util/url-utils.js": { + "stateCleared": "modified", + }, + "app/shared/util/use-did-update-effect.js": { + "stateCleared": "modified", + }, + "app/shared/websockets/websocket.sagas.js": { + "stateCleared": "modified", + }, + "app/shared/websockets/websocket.service.js": { + "stateCleared": "modified", + }, + "assets/adaptive-icon.png": { + "stateCleared": "modified", + }, + "assets/favicon.png": { + "stateCleared": "modified", + }, + "assets/icon.png": { + "stateCleared": "modified", + }, + "assets/splash.png": { + "stateCleared": "modified", + }, + "babel.config.js": { + "stateCleared": "modified", + }, + "e2e/account/change-password-screen.spec.js": { + "stateCleared": "modified", + }, + "e2e/account/login-screen.spec.js": { + "stateCleared": "modified", + }, + "e2e/account/settings-screen.spec.js": { + "stateCleared": "modified", + }, + "e2e/config.json": { + "stateCleared": "modified", + }, + "e2e/home-screen.spec.js": { + "stateCleared": "modified", + }, + "e2e/scripts/download-expo.sh": { + "stateCleared": "modified", + }, + "e2e/scripts/setup.sh": { + "stateCleared": "modified", + }, + "e2e/utils.js": { + "stateCleared": "modified", + }, + "e2e/websockets/chat-screen.spec.js": { + "stateCleared": "modified", + }, + "metro.config.js": { + "stateCleared": "modified", + }, + "package.json": { + "stateCleared": "modified", + }, + "patches/react-native-keyboard-aware-scroll-view+0.9.4.patch": { + "stateCleared": "modified", + }, + "patches/react-native-sectioned-multi-select+0.8.1.patch": { + "stateCleared": "modified", + }, + "storybook/addons.js": { + "stateCleared": "modified", + }, + "storybook/index.js": { + "stateCleared": "modified", + }, + "storybook/stories.js": { + "stateCleared": "modified", + }, + "test/setup.js": { + "stateCleared": "modified", + }, + "test/spec/modules/account/password-reset/forgot-passsword.sagas.spec.js": { + "stateCleared": "modified", + }, + "test/spec/modules/account/password-reset/forgot-password.reducer.spec.js": { + "stateCleared": "modified", + }, + "test/spec/modules/account/password/change-passsword.sagas.spec.js": { + "stateCleared": "modified", + }, + "test/spec/modules/account/password/change-password.reducer.spec.js": { + "stateCleared": "modified", + }, + "test/spec/modules/account/register/register.reducer.spec.js": { + "stateCleared": "modified", + }, + "test/spec/modules/account/register/register.sagas.spec.js": { + "stateCleared": "modified", + }, + "test/spec/modules/chat/chat.reducer.spec.js": { + "stateCleared": "modified", + }, + "test/spec/modules/login/login.reducer.spec.js": { + "stateCleared": "modified", + }, + "test/spec/modules/login/login.sagas.spec.js": { + "stateCleared": "modified", + }, + "test/spec/shared/components/alert-message/alert-message.spec.js": { + "stateCleared": "modified", + }, + "test/spec/shared/components/rounded-button/rounded-button.spec.js": { + "stateCleared": "modified", + }, + "test/spec/shared/components/search-bar/search-bar.spec.js": { + "stateCleared": "modified", + }, + "test/spec/shared/reducers/account.reducer.spec.js": { + "stateCleared": "modified", + }, + "test/spec/shared/reducers/app-state.reducer.spec.js": { + "stateCleared": "modified", + }, + "test/spec/shared/reducers/user.reducer.spec.js": { + "stateCleared": "modified", + }, + "test/spec/shared/sagas/account.sagas.spec.js": { + "stateCleared": "modified", + }, + "test/spec/shared/sagas/call-api.saga.spec.js": { + "stateCleared": "modified", + }, + "test/spec/shared/sagas/startup.saga.spec.js": { + "stateCleared": "modified", + }, + "test/spec/shared/sagas/user.saga.spec.js": { + "stateCleared": "modified", + }, + "test/spec/shared/services/fixture-api.spec.js": { + "stateCleared": "modified", + }, + "test/spec/shared/websockets/websocket-service.spec.js": { + "stateCleared": "modified", + }, + "test/spec/shared/websockets/websocket.sagas.spec.js": { + "stateCleared": "modified", + }, +} +`; + +exports[`SubGenerator reactNative of reactNative JHipster blueprint > WebSocket Enabled with Spring, OAuth2 Authentication, No Detox Test > should succeed 1`] = ` +{ + ".editorconfig": { + "stateCleared": "modified", + }, + ".eslintrc.js": { + "stateCleared": "modified", + }, + ".gitattributes": { + "stateCleared": "modified", + }, + ".gitignore": { + "stateCleared": "modified", + }, + ".husky/pre-commit": { + "stateCleared": "modified", + }, + ".lintstagedrc.cjs": { + "stateCleared": "modified", + }, + ".prettierignore": { + "stateCleared": "modified", + }, + ".prettierrc.js": { + "stateCleared": "modified", + }, + ".prettierrc.yml": { + "stateCleared": "modified", + }, + ".yo-rc.json": { + "stateCleared": "modified", + }, + "App.js": { + "stateCleared": "modified", + }, + "README.md": { + "stateCleared": "modified", + }, + "app.json": { + "stateCleared": "modified", + }, + "app/config/app-config.js": { + "stateCleared": "modified", + }, + "app/config/redux-persist.js": { + "stateCleared": "modified", + }, + "app/modules/chat/chat-screen.js": { + "stateCleared": "modified", + }, + "app/modules/chat/chat-screen.styles.js": { + "stateCleared": "modified", + }, + "app/modules/chat/chat.reducer.js": { + "stateCleared": "modified", + }, + "app/modules/entities/entities-screen.js": { + "stateCleared": "modified", + }, + "app/modules/entities/entities-screen.styles.js": { + "stateCleared": "modified", + }, + "app/modules/home/home-screen.js": { + "stateCleared": "modified", + }, + "app/modules/home/home-screen.styles.js": { + "stateCleared": "modified", + }, + "app/modules/home/learn-more-links.component.js": { + "stateCleared": "modified", + }, + "app/modules/login/login-screen.js": { + "stateCleared": "modified", + }, + "app/modules/login/login-screen.styles.js": { + "stateCleared": "modified", + }, + "app/modules/login/login.reducer.js": { + "stateCleared": "modified", + }, + "app/modules/login/login.sagas.js": { + "stateCleared": "modified", + }, + "app/modules/login/login.utils.ts": { + "stateCleared": "modified", + }, + "app/navigation/drawer/drawer-button.js": { + "stateCleared": "modified", + }, + "app/navigation/drawer/drawer-content.js": { + "stateCleared": "modified", + }, + "app/navigation/drawer/touchable-item.tsx": { + "stateCleared": "modified", + }, + "app/navigation/entity-stack.js": { + "stateCleared": "modified", + }, + "app/navigation/modal-screen.js": { + "stateCleared": "modified", + }, + "app/navigation/nav-container.js": { + "stateCleared": "modified", + }, + "app/navigation/nav-ref.js": { + "stateCleared": "modified", + }, + "app/navigation/not-found-screen.tsx": { + "stateCleared": "modified", + }, + "app/navigation/oauth-redirect-screen.tsx": { + "stateCleared": "modified", + }, + "app/shared/components/alert-message/alert-message.js": { + "stateCleared": "modified", + }, + "app/shared/components/alert-message/alert-message.story.js": { + "stateCleared": "modified", + }, + "app/shared/components/alert-message/alert-message.styles.js": { + "stateCleared": "modified", + }, + "app/shared/components/form/inputs/jhi-date-input.js": { + "stateCleared": "modified", + }, + "app/shared/components/form/inputs/jhi-date-input.web.js": { + "stateCleared": "modified", + }, + "app/shared/components/form/inputs/jhi-image-input.js": { + "stateCleared": "modified", + }, + "app/shared/components/form/inputs/jhi-list-input.js": { + "stateCleared": "modified", + }, + "app/shared/components/form/inputs/jhi-multi-list-input.js": { + "stateCleared": "modified", + }, + "app/shared/components/form/inputs/jhi-switch-input.js": { + "stateCleared": "modified", + }, + "app/shared/components/form/inputs/jhi-text-input.js": { + "stateCleared": "modified", + }, + "app/shared/components/form/jhi-form-button.js": { + "stateCleared": "modified", + }, + "app/shared/components/form/jhi-form-field.js": { + "stateCleared": "modified", + }, + "app/shared/components/form/jhi-form-field.story.js": { + "stateCleared": "modified", + }, + "app/shared/components/form/jhi-form.js": { + "stateCleared": "modified", + }, + "app/shared/components/rounded-button/rounded-button.js": { + "stateCleared": "modified", + }, + "app/shared/components/rounded-button/rounded-button.story.js": { + "stateCleared": "modified", + }, + "app/shared/components/rounded-button/rounded-button.styles.js": { + "stateCleared": "modified", + }, + "app/shared/components/search-bar/search-bar.js": { + "stateCleared": "modified", + }, + "app/shared/components/search-bar/search-bar.story.js": { + "stateCleared": "modified", + }, + "app/shared/components/search-bar/search-bar.styles.js": { + "stateCleared": "modified", + }, + "app/shared/fixtures/README.md": { + "stateCleared": "modified", + }, + "app/shared/fixtures/get-account.json": { + "stateCleared": "modified", + }, + "app/shared/fixtures/get-oauth-info.json": { + "stateCleared": "modified", + }, + "app/shared/fixtures/get-user.json": { + "stateCleared": "modified", + }, + "app/shared/fixtures/get-users.json": { + "stateCleared": "modified", + }, + "app/shared/fixtures/login.json": { + "stateCleared": "modified", + }, + "app/shared/fixtures/update-user.json": { + "stateCleared": "modified", + }, + "app/shared/images/logo-jhipster.png": { + "stateCleared": "modified", + }, + "app/shared/images/logo-jhipster@2x.png": { + "stateCleared": "modified", + }, + "app/shared/images/logo-jhipster@3x.png": { + "stateCleared": "modified", + }, + "app/shared/images/toggle-drawer-icon/toggle-drawer-icon.png": { + "stateCleared": "modified", + }, + "app/shared/images/toggle-drawer-icon/toggle-drawer-icon@1.5x.android.png": { + "stateCleared": "modified", + }, + "app/shared/images/toggle-drawer-icon/toggle-drawer-icon@1.5x.ios.png": { + "stateCleared": "modified", + }, + "app/shared/images/toggle-drawer-icon/toggle-drawer-icon@1x.android.png": { + "stateCleared": "modified", + }, + "app/shared/images/toggle-drawer-icon/toggle-drawer-icon@1x.ios.png": { + "stateCleared": "modified", + }, + "app/shared/images/toggle-drawer-icon/toggle-drawer-icon@2x.android.png": { + "stateCleared": "modified", + }, + "app/shared/images/toggle-drawer-icon/toggle-drawer-icon@2x.ios.png": { + "stateCleared": "modified", + }, + "app/shared/images/toggle-drawer-icon/toggle-drawer-icon@3x.android.png": { + "stateCleared": "modified", + }, + "app/shared/images/toggle-drawer-icon/toggle-drawer-icon@3x.ios.png": { + "stateCleared": "modified", + }, + "app/shared/images/toggle-drawer-icon/toggle-drawer-icon@4x.android.png": { + "stateCleared": "modified", + }, + "app/shared/images/toggle-drawer-icon/toggle-drawer-icon@4x.ios.png": { + "stateCleared": "modified", + }, + "app/shared/reducers/account.reducer.js": { + "stateCleared": "modified", + }, + "app/shared/reducers/app-state.reducer.js": { + "stateCleared": "modified", + }, + "app/shared/reducers/auth-info.reducer.js": { + "stateCleared": "modified", + }, + "app/shared/reducers/create-store.js": { + "stateCleared": "modified", + }, + "app/shared/reducers/index.js": { + "stateCleared": "modified", + }, + "app/shared/reducers/startup.reducer.js": { + "stateCleared": "modified", + }, + "app/shared/reducers/user.reducer.js": { + "stateCleared": "modified", + }, + "app/shared/sagas/account.sagas.js": { + "stateCleared": "modified", + }, + "app/shared/sagas/auth-info.saga.js": { + "stateCleared": "modified", + }, + "app/shared/sagas/call-api.saga.js": { + "stateCleared": "modified", + }, + "app/shared/sagas/index.js": { + "stateCleared": "modified", + }, + "app/shared/sagas/startup.saga.js": { + "stateCleared": "modified", + }, + "app/shared/sagas/user.sagas.js": { + "stateCleared": "modified", + }, + "app/shared/services/api.js": { + "stateCleared": "modified", + }, + "app/shared/services/fixture-api.js": { + "stateCleared": "modified", + }, + "app/shared/services/rehydration.service.js": { + "stateCleared": "modified", + }, + "app/shared/themes/application.styles.js": { + "stateCleared": "modified", + }, + "app/shared/themes/colors.js": { + "stateCleared": "modified", + }, + "app/shared/themes/fonts.js": { + "stateCleared": "modified", + }, + "app/shared/themes/images.js": { + "stateCleared": "modified", + }, + "app/shared/themes/index.js": { + "stateCleared": "modified", + }, + "app/shared/themes/metrics.js": { + "stateCleared": "modified", + }, + "app/shared/util/date-transforms.js": { + "stateCleared": "modified", + }, + "app/shared/util/immutable-persistence-transform.js": { + "stateCleared": "modified", + }, + "app/shared/util/pagination-utils.js": { + "stateCleared": "modified", + }, + "app/shared/util/snake-to-camel-case.js": { + "stateCleared": "modified", + }, + "app/shared/util/url-utils.js": { + "stateCleared": "modified", + }, + "app/shared/util/use-did-update-effect.js": { + "stateCleared": "modified", + }, + "app/shared/websockets/websocket.sagas.js": { + "stateCleared": "modified", + }, + "app/shared/websockets/websocket.service.js": { + "stateCleared": "modified", + }, + "assets/adaptive-icon.png": { + "stateCleared": "modified", + }, + "assets/favicon.png": { + "stateCleared": "modified", + }, + "assets/icon.png": { + "stateCleared": "modified", + }, + "assets/splash.png": { + "stateCleared": "modified", + }, + "babel.config.js": { + "stateCleared": "modified", + }, + "metro.config.js": { + "stateCleared": "modified", + }, + "package.json": { + "stateCleared": "modified", + }, + "patches/react-native-keyboard-aware-scroll-view+0.9.4.patch": { + "stateCleared": "modified", + }, + "patches/react-native-sectioned-multi-select+0.8.1.patch": { + "stateCleared": "modified", + }, + "storybook/addons.js": { + "stateCleared": "modified", + }, + "storybook/index.js": { + "stateCleared": "modified", + }, + "storybook/stories.js": { + "stateCleared": "modified", + }, + "test/setup.js": { + "stateCleared": "modified", + }, + "test/spec/modules/chat/chat.reducer.spec.js": { + "stateCleared": "modified", + }, + "test/spec/modules/login/login.reducer.spec.js": { + "stateCleared": "modified", + }, + "test/spec/modules/login/login.sagas.spec.js": { + "stateCleared": "modified", + }, + "test/spec/shared/components/alert-message/alert-message.spec.js": { + "stateCleared": "modified", + }, + "test/spec/shared/components/rounded-button/rounded-button.spec.js": { + "stateCleared": "modified", + }, + "test/spec/shared/components/search-bar/search-bar.spec.js": { + "stateCleared": "modified", + }, + "test/spec/shared/reducers/account.reducer.spec.js": { + "stateCleared": "modified", + }, + "test/spec/shared/reducers/app-state.reducer.spec.js": { + "stateCleared": "modified", + }, + "test/spec/shared/reducers/user.reducer.spec.js": { + "stateCleared": "modified", + }, + "test/spec/shared/sagas/account.sagas.spec.js": { + "stateCleared": "modified", + }, + "test/spec/shared/sagas/call-api.saga.spec.js": { + "stateCleared": "modified", + }, + "test/spec/shared/sagas/startup.saga.spec.js": { + "stateCleared": "modified", + }, + "test/spec/shared/sagas/user.saga.spec.js": { + "stateCleared": "modified", + }, + "test/spec/shared/services/fixture-api.spec.js": { + "stateCleared": "modified", + }, + "test/spec/shared/websockets/websocket-service.spec.js": { + "stateCleared": "modified", + }, + "test/spec/shared/websockets/websocket.sagas.spec.js": { + "stateCleared": "modified", + }, +} +`; + +exports[`SubGenerator reactNative of reactNative JHipster blueprint > WebSocket Enabled with Spring, OAuth2 Authentication, With Detox Test > should succeed 1`] = ` +{ + ".detoxrc.json": { + "stateCleared": "modified", + }, + ".editorconfig": { + "stateCleared": "modified", + }, + ".eslintrc.js": { + "stateCleared": "modified", + }, + ".gitattributes": { + "stateCleared": "modified", + }, + ".gitignore": { + "stateCleared": "modified", + }, + ".husky/pre-commit": { + "stateCleared": "modified", + }, + ".lintstagedrc.cjs": { + "stateCleared": "modified", + }, + ".prettierignore": { + "stateCleared": "modified", + }, + ".prettierrc.js": { + "stateCleared": "modified", + }, + ".prettierrc.yml": { + "stateCleared": "modified", + }, + ".yo-rc.json": { + "stateCleared": "modified", + }, + "App.js": { + "stateCleared": "modified", + }, + "README.md": { + "stateCleared": "modified", + }, + "app.json": { + "stateCleared": "modified", + }, + "app/config/app-config.js": { + "stateCleared": "modified", + }, + "app/config/redux-persist.js": { + "stateCleared": "modified", + }, + "app/modules/chat/chat-screen.js": { + "stateCleared": "modified", + }, + "app/modules/chat/chat-screen.styles.js": { + "stateCleared": "modified", + }, + "app/modules/chat/chat.reducer.js": { + "stateCleared": "modified", + }, + "app/modules/entities/entities-screen.js": { + "stateCleared": "modified", + }, + "app/modules/entities/entities-screen.styles.js": { + "stateCleared": "modified", + }, + "app/modules/home/home-screen.js": { + "stateCleared": "modified", + }, + "app/modules/home/home-screen.styles.js": { + "stateCleared": "modified", + }, + "app/modules/home/learn-more-links.component.js": { + "stateCleared": "modified", + }, + "app/modules/login/login-screen.js": { + "stateCleared": "modified", + }, + "app/modules/login/login-screen.styles.js": { + "stateCleared": "modified", + }, + "app/modules/login/login.reducer.js": { + "stateCleared": "modified", + }, + "app/modules/login/login.sagas.js": { + "stateCleared": "modified", + }, + "app/modules/login/login.utils.ts": { + "stateCleared": "modified", + }, + "app/navigation/drawer/drawer-button.js": { + "stateCleared": "modified", + }, + "app/navigation/drawer/drawer-content.js": { + "stateCleared": "modified", + }, + "app/navigation/drawer/touchable-item.tsx": { + "stateCleared": "modified", + }, + "app/navigation/entity-stack.js": { + "stateCleared": "modified", + }, + "app/navigation/modal-screen.js": { + "stateCleared": "modified", + }, + "app/navigation/nav-container.js": { + "stateCleared": "modified", + }, + "app/navigation/nav-ref.js": { + "stateCleared": "modified", + }, + "app/navigation/not-found-screen.tsx": { + "stateCleared": "modified", + }, + "app/navigation/oauth-redirect-screen.tsx": { + "stateCleared": "modified", + }, + "app/shared/components/alert-message/alert-message.js": { + "stateCleared": "modified", + }, + "app/shared/components/alert-message/alert-message.story.js": { + "stateCleared": "modified", + }, + "app/shared/components/alert-message/alert-message.styles.js": { + "stateCleared": "modified", + }, + "app/shared/components/form/inputs/jhi-date-input.js": { + "stateCleared": "modified", + }, + "app/shared/components/form/inputs/jhi-date-input.web.js": { + "stateCleared": "modified", + }, + "app/shared/components/form/inputs/jhi-image-input.js": { + "stateCleared": "modified", + }, + "app/shared/components/form/inputs/jhi-list-input.js": { + "stateCleared": "modified", + }, + "app/shared/components/form/inputs/jhi-multi-list-input.js": { + "stateCleared": "modified", + }, + "app/shared/components/form/inputs/jhi-switch-input.js": { + "stateCleared": "modified", + }, + "app/shared/components/form/inputs/jhi-text-input.js": { + "stateCleared": "modified", + }, + "app/shared/components/form/jhi-form-button.js": { + "stateCleared": "modified", + }, + "app/shared/components/form/jhi-form-field.js": { + "stateCleared": "modified", + }, + "app/shared/components/form/jhi-form-field.story.js": { + "stateCleared": "modified", + }, + "app/shared/components/form/jhi-form.js": { + "stateCleared": "modified", + }, + "app/shared/components/rounded-button/rounded-button.js": { + "stateCleared": "modified", + }, + "app/shared/components/rounded-button/rounded-button.story.js": { + "stateCleared": "modified", + }, + "app/shared/components/rounded-button/rounded-button.styles.js": { + "stateCleared": "modified", + }, + "app/shared/components/search-bar/search-bar.js": { + "stateCleared": "modified", + }, + "app/shared/components/search-bar/search-bar.story.js": { + "stateCleared": "modified", + }, + "app/shared/components/search-bar/search-bar.styles.js": { + "stateCleared": "modified", + }, + "app/shared/fixtures/README.md": { + "stateCleared": "modified", + }, + "app/shared/fixtures/get-account.json": { + "stateCleared": "modified", + }, + "app/shared/fixtures/get-oauth-info.json": { + "stateCleared": "modified", + }, + "app/shared/fixtures/get-user.json": { + "stateCleared": "modified", + }, + "app/shared/fixtures/get-users.json": { + "stateCleared": "modified", + }, + "app/shared/fixtures/login.json": { + "stateCleared": "modified", + }, + "app/shared/fixtures/update-user.json": { + "stateCleared": "modified", + }, + "app/shared/images/logo-jhipster.png": { + "stateCleared": "modified", + }, + "app/shared/images/logo-jhipster@2x.png": { + "stateCleared": "modified", + }, + "app/shared/images/logo-jhipster@3x.png": { + "stateCleared": "modified", + }, + "app/shared/images/toggle-drawer-icon/toggle-drawer-icon.png": { + "stateCleared": "modified", + }, + "app/shared/images/toggle-drawer-icon/toggle-drawer-icon@1.5x.android.png": { + "stateCleared": "modified", + }, + "app/shared/images/toggle-drawer-icon/toggle-drawer-icon@1.5x.ios.png": { + "stateCleared": "modified", + }, + "app/shared/images/toggle-drawer-icon/toggle-drawer-icon@1x.android.png": { + "stateCleared": "modified", + }, + "app/shared/images/toggle-drawer-icon/toggle-drawer-icon@1x.ios.png": { + "stateCleared": "modified", + }, + "app/shared/images/toggle-drawer-icon/toggle-drawer-icon@2x.android.png": { + "stateCleared": "modified", + }, + "app/shared/images/toggle-drawer-icon/toggle-drawer-icon@2x.ios.png": { + "stateCleared": "modified", + }, + "app/shared/images/toggle-drawer-icon/toggle-drawer-icon@3x.android.png": { + "stateCleared": "modified", + }, + "app/shared/images/toggle-drawer-icon/toggle-drawer-icon@3x.ios.png": { + "stateCleared": "modified", + }, + "app/shared/images/toggle-drawer-icon/toggle-drawer-icon@4x.android.png": { + "stateCleared": "modified", + }, + "app/shared/images/toggle-drawer-icon/toggle-drawer-icon@4x.ios.png": { + "stateCleared": "modified", + }, + "app/shared/reducers/account.reducer.js": { + "stateCleared": "modified", + }, + "app/shared/reducers/app-state.reducer.js": { + "stateCleared": "modified", + }, + "app/shared/reducers/auth-info.reducer.js": { + "stateCleared": "modified", + }, + "app/shared/reducers/create-store.js": { + "stateCleared": "modified", + }, + "app/shared/reducers/index.js": { + "stateCleared": "modified", + }, + "app/shared/reducers/startup.reducer.js": { + "stateCleared": "modified", + }, + "app/shared/reducers/user.reducer.js": { + "stateCleared": "modified", + }, + "app/shared/sagas/account.sagas.js": { + "stateCleared": "modified", + }, + "app/shared/sagas/auth-info.saga.js": { + "stateCleared": "modified", + }, + "app/shared/sagas/call-api.saga.js": { + "stateCleared": "modified", + }, + "app/shared/sagas/index.js": { + "stateCleared": "modified", + }, + "app/shared/sagas/startup.saga.js": { + "stateCleared": "modified", + }, + "app/shared/sagas/user.sagas.js": { + "stateCleared": "modified", + }, + "app/shared/services/api.js": { + "stateCleared": "modified", + }, + "app/shared/services/fixture-api.js": { + "stateCleared": "modified", + }, + "app/shared/services/rehydration.service.js": { + "stateCleared": "modified", + }, + "app/shared/themes/application.styles.js": { + "stateCleared": "modified", + }, + "app/shared/themes/colors.js": { + "stateCleared": "modified", + }, + "app/shared/themes/fonts.js": { + "stateCleared": "modified", + }, + "app/shared/themes/images.js": { + "stateCleared": "modified", + }, + "app/shared/themes/index.js": { + "stateCleared": "modified", + }, + "app/shared/themes/metrics.js": { + "stateCleared": "modified", + }, + "app/shared/util/date-transforms.js": { + "stateCleared": "modified", + }, + "app/shared/util/immutable-persistence-transform.js": { + "stateCleared": "modified", + }, + "app/shared/util/pagination-utils.js": { + "stateCleared": "modified", + }, + "app/shared/util/snake-to-camel-case.js": { + "stateCleared": "modified", + }, + "app/shared/util/url-utils.js": { + "stateCleared": "modified", + }, + "app/shared/util/use-did-update-effect.js": { + "stateCleared": "modified", + }, + "app/shared/websockets/websocket.sagas.js": { + "stateCleared": "modified", + }, + "app/shared/websockets/websocket.service.js": { + "stateCleared": "modified", + }, + "assets/adaptive-icon.png": { + "stateCleared": "modified", + }, + "assets/favicon.png": { + "stateCleared": "modified", + }, + "assets/icon.png": { + "stateCleared": "modified", + }, + "assets/splash.png": { + "stateCleared": "modified", + }, + "babel.config.js": { + "stateCleared": "modified", + }, + "e2e/config.json": { + "stateCleared": "modified", + }, + "e2e/home-screen.spec.js": { + "stateCleared": "modified", + }, + "e2e/scripts/download-expo.sh": { + "stateCleared": "modified", + }, + "e2e/scripts/setup.sh": { + "stateCleared": "modified", + }, + "e2e/utils.js": { + "stateCleared": "modified", + }, + "e2e/websockets/chat-screen.spec.js": { + "stateCleared": "modified", + }, + "metro.config.js": { + "stateCleared": "modified", + }, + "package.json": { + "stateCleared": "modified", + }, + "patches/react-native-keyboard-aware-scroll-view+0.9.4.patch": { + "stateCleared": "modified", + }, + "patches/react-native-sectioned-multi-select+0.8.1.patch": { + "stateCleared": "modified", + }, + "storybook/addons.js": { + "stateCleared": "modified", + }, + "storybook/index.js": { + "stateCleared": "modified", + }, + "storybook/stories.js": { + "stateCleared": "modified", + }, + "test/setup.js": { + "stateCleared": "modified", + }, + "test/spec/modules/chat/chat.reducer.spec.js": { + "stateCleared": "modified", + }, + "test/spec/modules/login/login.reducer.spec.js": { + "stateCleared": "modified", + }, + "test/spec/modules/login/login.sagas.spec.js": { + "stateCleared": "modified", + }, + "test/spec/shared/components/alert-message/alert-message.spec.js": { + "stateCleared": "modified", + }, + "test/spec/shared/components/rounded-button/rounded-button.spec.js": { + "stateCleared": "modified", + }, + "test/spec/shared/components/search-bar/search-bar.spec.js": { + "stateCleared": "modified", + }, + "test/spec/shared/reducers/account.reducer.spec.js": { + "stateCleared": "modified", + }, + "test/spec/shared/reducers/app-state.reducer.spec.js": { + "stateCleared": "modified", + }, + "test/spec/shared/reducers/user.reducer.spec.js": { + "stateCleared": "modified", + }, + "test/spec/shared/sagas/account.sagas.spec.js": { + "stateCleared": "modified", + }, + "test/spec/shared/sagas/call-api.saga.spec.js": { + "stateCleared": "modified", + }, + "test/spec/shared/sagas/startup.saga.spec.js": { + "stateCleared": "modified", + }, + "test/spec/shared/sagas/user.saga.spec.js": { + "stateCleared": "modified", + }, + "test/spec/shared/services/fixture-api.spec.js": { + "stateCleared": "modified", + }, + "test/spec/shared/websockets/websocket-service.spec.js": { + "stateCleared": "modified", + }, + "test/spec/shared/websockets/websocket.sagas.spec.js": { + "stateCleared": "modified", + }, +} +`; diff --git a/generators/react-native/generator-entity.spec.mjs b/generators/react-native/generator-entity.spec.mjs new file mode 100644 index 000000000..ccee5ae90 --- /dev/null +++ b/generators/react-native/generator-entity.spec.mjs @@ -0,0 +1,153 @@ +import { beforeAll, describe, expect, it } from 'vitest'; + +import { defaultHelpers as helpers, result } from 'generator-jhipster/testing'; +import expectedFiles from '../../test/expected-files.js'; + +const SUB_GENERATOR = 'react-native'; +const SUB_GENERATOR_NAMESPACE = `jhipster-react-native:${SUB_GENERATOR}`; + +describe('SubGenerator reactNative of reactNative JHipster blueprint', () => { + describe('Entity Test: Search Engine Disabled, No Detox', () => { + beforeAll(async function () { + await helpers + .run(SUB_GENERATOR_NAMESPACE) + .withJHipsterConfig( + { + websocket: 'no', + searchEngine: 'no', + }, + [ + { + name: 'Foo', + changelogDate: '20201110205443', + fields: [ + { + fieldName: 'name', + fieldType: 'String', + }, + ], + }, + ], + ) + .withOptions({ + force: false, + blueprint: 'react-native', + appDir: false, + ignoreNeedlesError: true, + authenticationType: 'jwt', + }) + .withAnswers({ + detox: false, + }) + .withJHipsterLookup() + .withParentBlueprintLookup(); + }); + + it('should succeed', () => { + expect(result.getStateSnapshot()).toMatchSnapshot(); + }); + + it('it generates the expected files', () => { + result.assertFile(expectedFiles.entity); + result.assertNoFile(expectedFiles.entityDetox); + result.assertNoFile(expectedFiles.entitySearchEngine); + result.assertNoFile(expectedFiles.notExpected); + }); + }); + + describe('Entity Test: Search Engine Disabled, Detox Enabled', () => { + beforeAll(async function () { + await helpers + .run(SUB_GENERATOR_NAMESPACE) + .withJHipsterConfig( + { + websocket: 'no', + searchEngine: 'no', + }, + [ + { + name: 'Foo', + changelogDate: '20201110205443', + fields: [ + { + fieldName: 'name', + fieldType: 'String', + }, + ], + }, + ], + ) + .withOptions({ + force: false, + blueprint: 'react-native', + appDir: false, + ignoreNeedlesError: true, + authenticationType: 'jwt', + }) + .withAnswers({ + detox: true, + }) + .withJHipsterLookup() + .withParentBlueprintLookup(); + }); + + it('should succeed', () => { + expect(result.getStateSnapshot()).toMatchSnapshot(); + }); + + it('it generates the expected files', () => { + result.assertFile(expectedFiles.entity); + result.assertFile(expectedFiles.entityDetox); + result.assertNoFile(expectedFiles.entitySearchEngine); + result.assertNoFile(expectedFiles.notExpected); + }); + }); + + describe('Entity Test: Search Engine and Detox Enabled', () => { + beforeAll(async function () { + await helpers + .run(SUB_GENERATOR_NAMESPACE) + .withJHipsterConfig( + { + websocket: 'no', + searchEngine: 'eleasticsearch', + }, + [ + { + name: 'Foo', + changelogDate: '20201110205443', + fields: [ + { + fieldName: 'name', + fieldType: 'String', + }, + ], + }, + ], + ) + .withOptions({ + force: false, + blueprint: 'react-native', + appDir: false, + ignoreNeedlesError: true, + authenticationType: 'jwt', + }) + .withAnswers({ + detox: true, + }) + .withJHipsterLookup() + .withParentBlueprintLookup(); + }); + + it('should succeed', () => { + expect(result.getStateSnapshot()).toMatchSnapshot(); + }); + + it('it generates the expected files', () => { + result.assertFile(expectedFiles.entity); + result.assertFile(expectedFiles.entityDetox); + result.assertFile(expectedFiles.entitySearchEngine); + result.assertNoFile(expectedFiles.notExpected); + }); + }); +}); diff --git a/generators/react-native/generator.mjs b/generators/react-native/generator.mjs index 39d84488d..95ee6efca 100644 --- a/generators/react-native/generator.mjs +++ b/generators/react-native/generator.mjs @@ -52,7 +52,7 @@ export default class extends BaseApplicationGenerator { this.jhipsterConfig.authenticationType = this.options.authenticationType; } if (this.options.defaults || this.options.force) { - // using defaults options, detox is enebled by default + // using defaults options, detox is enabled by default this.reactNativeStorage.defaults({ appDir: DEFAULT_BACKEND_PATH, reactNativeDir: null, detox: true }); } } diff --git a/generators/react-native/generator.spec.mjs b/generators/react-native/generator.spec.mjs index 0053a7204..b995c5f63 100644 --- a/generators/react-native/generator.spec.mjs +++ b/generators/react-native/generator.spec.mjs @@ -1,29 +1,29 @@ import { beforeAll, describe, expect, it } from 'vitest'; import { defaultHelpers as helpers, result } from 'generator-jhipster/testing'; +import expectedFiles from '../../test/expected-files.js'; -const SUB_GENERATOR = 'reactNative'; -const SUB_GENERATOR_NAMESPACE = `jhipster-reactNative:${SUB_GENERATOR}`; - -const expectedJwtFiles = [ - 'src/app/services/auth/auth-jwt.service.ts', - 'src/app/services/auth/auth-jwt.service.spec.ts', - 'src/app/interceptors/auth-expired.interceptor.ts', -]; +const SUB_GENERATOR = 'react-native'; +const SUB_GENERATOR_NAMESPACE = `jhipster-react-native:${SUB_GENERATOR}`; describe('SubGenerator reactNative of reactNative JHipster blueprint', () => { - describe('with jwt authentication', () => { + describe('WebSocket Disabled, JWT Authentication, No Detox Test', () => { beforeAll(async function () { await helpers .run(SUB_GENERATOR_NAMESPACE) - .withJHipsterConfig() + .withJHipsterConfig({ + websocket: 'no', + }) .withOptions({ - blueprint: 'reactNative', + force: false, + blueprint: 'react-native', appDir: false, - baseName: 'jhipster', ignoreNeedlesError: true, authenticationType: 'jwt', }) + .withAnswers({ + detox: false, + }) .withJHipsterLookup() .withParentBlueprintLookup(); }); @@ -32,21 +32,182 @@ describe('SubGenerator reactNative of reactNative JHipster blueprint', () => { expect(result.getStateSnapshot()).toMatchSnapshot(); }); - it('should generate app/services/auth/auth-jwt.service.ts', () => { - result.assertFile(expectedJwtFiles); + it('it generates the expected files', () => { + result.assertFile(expectedFiles.defaultApp); + result.assertNoFile(expectedFiles.websockets); + result.assertFile(expectedFiles.notOauth); + result.assertNoFile(expectedFiles.oauth); + result.assertNoFile(expectedFiles.detox); + result.assertNoFile(expectedFiles.detoxAndWebsockets); + result.assertNoFile(expectedFiles.detoxAndNotOauth); + result.assertNoFile(expectedFiles.notExpected); }); }); - describe('with oauth2 authentication', () => { + + describe('WebSocket Enabled with Spring, JWT Authentication, No Detox Test', () => { beforeAll(async function () { await helpers .run(SUB_GENERATOR_NAMESPACE) - .withJHipsterConfig() + .withJHipsterConfig({ + websocket: 'spring-websocket', + }) .withOptions({ - blueprint: 'reactNative', + force: false, + blueprint: 'react-native', appDir: false, - baseName: 'jhipster', + ignoreNeedlesError: true, + authenticationType: 'jwt', + }) + .withAnswers({ + detox: false, + }) + .withJHipsterLookup() + .withParentBlueprintLookup(); + }); + + it('should succeed', () => { + expect(result.getStateSnapshot()).toMatchSnapshot(); + }); + + it('it generates the expected files', () => { + result.assertFile(expectedFiles.defaultApp); + result.assertFile(expectedFiles.websockets); + result.assertFile(expectedFiles.notOauth); + result.assertNoFile(expectedFiles.oauth); + result.assertNoFile(expectedFiles.detox); + result.assertNoFile(expectedFiles.detoxAndWebsockets); + result.assertNoFile(expectedFiles.detoxAndNotOauth); + result.assertNoFile(expectedFiles.notExpected); + }); + }); + + describe('WebSocket Enabled with Spring, OAuth2 Authentication, No Detox Test', () => { + beforeAll(async function () { + await helpers + .run(SUB_GENERATOR_NAMESPACE) + .withJHipsterConfig({ + websocket: 'spring-websocket', + }) + .withOptions({ + force: false, + blueprint: 'react-native', + appDir: false, + ignoreNeedlesError: true, authenticationType: 'oauth2', + }) + .withAnswers({ + detox: false, + }) + .withJHipsterLookup() + .withParentBlueprintLookup(); + }); + + it('should succeed', () => { + expect(result.getStateSnapshot()).toMatchSnapshot(); + }); + + it('it generates the expected files', () => { + result.assertFile(expectedFiles.defaultApp); + result.assertFile(expectedFiles.websockets); + result.assertNoFile(expectedFiles.notOauth); + result.assertFile(expectedFiles.oauth); + result.assertNoFile(expectedFiles.detox); + result.assertNoFile(expectedFiles.detoxAndWebsockets); + result.assertNoFile(expectedFiles.detoxAndNotOauth); + result.assertNoFile(expectedFiles.notExpected); + }); + }); + + describe('WebSocket Disabled, JWT Authentication, With Detox Test', () => { + beforeAll(async function () { + await helpers + .run(SUB_GENERATOR_NAMESPACE) + .withJHipsterConfig({ + websocket: 'no', + }) + .withOptions({ + force: false, + blueprint: 'react-native', + appDir: false, ignoreNeedlesError: true, + authenticationType: 'jwt', + }) + .withAnswers({ + detox: true, + }) + .withJHipsterLookup() + .withParentBlueprintLookup(); + }); + + it('should succeed', () => { + expect(result.getStateSnapshot()).toMatchSnapshot(); + }); + + it('it generates the expected files', () => { + result.assertFile(expectedFiles.defaultApp); + result.assertNoFile(expectedFiles.websockets); + result.assertFile(expectedFiles.notOauth); + result.assertNoFile(expectedFiles.oauth); + result.assertFile(expectedFiles.detox); + result.assertNoFile(expectedFiles.detoxAndWebsockets); + result.assertFile(expectedFiles.detoxAndNotOauth); + result.assertNoFile(expectedFiles.notExpected); + }); + }); + + describe('WebSocket Enabled with Spring, JWT Authentication, With Detox Test', () => { + beforeAll(async function () { + await helpers + .run(SUB_GENERATOR_NAMESPACE) + .withJHipsterConfig({ + websocket: 'spring-websocket', + }) + .withOptions({ + force: false, + blueprint: 'react-native', + appDir: false, + ignoreNeedlesError: true, + authenticationType: 'jwt', + }) + .withAnswers({ + detox: true, + }) + .withJHipsterLookup() + .withParentBlueprintLookup(); + }); + + it('should succeed', () => { + expect(result.getStateSnapshot()).toMatchSnapshot(); + }); + + it('it generates the expected files', () => { + result.assertFile(expectedFiles.defaultApp); + result.assertFile(expectedFiles.websockets); + result.assertFile(expectedFiles.notOauth); + result.assertNoFile(expectedFiles.oauth); + result.assertFile(expectedFiles.detox); + result.assertFile(expectedFiles.detoxAndWebsockets); + result.assertFile(expectedFiles.detoxAndNotOauth); + result.assertNoFile(expectedFiles.notExpected); + }); + }); + + describe('WebSocket Enabled with Spring, OAuth2 Authentication, With Detox Test', () => { + beforeAll(async function () { + await helpers + .run(SUB_GENERATOR_NAMESPACE) + .withJHipsterConfig({ + websocket: 'spring-websocket', + }) + .withOptions({ + force: false, + blueprint: 'react-native', + appDir: false, + ignoreNeedlesError: true, + authenticationType: 'oauth2', + }) + .withAnswers({ + detox: true, }) .withJHipsterLookup() .withParentBlueprintLookup(); @@ -56,8 +217,15 @@ describe('SubGenerator reactNative of reactNative JHipster blueprint', () => { expect(result.getStateSnapshot()).toMatchSnapshot(); }); - it('should not generate jwt files', () => { - result.assertNoFile(expectedJwtFiles); + it('it generates the expected files', () => { + result.assertFile(expectedFiles.defaultApp); + result.assertFile(expectedFiles.websockets); + result.assertNoFile(expectedFiles.notOauth); + result.assertFile(expectedFiles.oauth); + result.assertFile(expectedFiles.detox); + result.assertFile(expectedFiles.detoxAndWebsockets); + result.assertNoFile(expectedFiles.detoxAndNotOauth); + result.assertNoFile(expectedFiles.notExpected); }); }); }); diff --git a/lib/entity-helpers.js b/lib/entity-helpers.js index 13ee24f18..5b772202b 100644 --- a/lib/entity-helpers.js +++ b/lib/entity-helpers.js @@ -1,9 +1,9 @@ -import _ from 'lodash'; +import _ from 'lodash-es'; // todo - handle constraints, relationships const getEntityFormFieldType = field => { - const fieldType = field.fieldType; - const fieldIsEnum = field.fieldIsEnum; + const { fieldType } = field; + const { fieldIsEnum } = field; if (fieldType === 'String') { return 'text'; } @@ -43,7 +43,7 @@ const getEntityFormFieldAttributes = ( nextFieldName, nextFieldType, nextFieldIsEnum, - numRelationships + numRelationships, ) => { const fieldNameHumanized = _.startCase(fieldName); let attributes = ` @@ -106,9 +106,9 @@ const getEntityFormFieldAttributes = ( }; const getEntityFormField = (field, nextField, numRelationships) => { - const fieldType = field.fieldType; - const fieldName = field.fieldName; - const fieldIsEnum = field.fieldIsEnum; + const { fieldType } = field; + const { fieldName } = field; + const { fieldIsEnum } = field; const nextFieldName = nextField ? nextField.fieldName : null; const nextFieldType = nextField ? nextField.fieldType : null; const nextFieldIsEnum = nextField ? nextField.fieldIsEnum : null; @@ -123,7 +123,7 @@ const getEntityFormField = (field, nextField, numRelationships) => { `${fieldName}ContentType`, 'String', false, - numRelationships + numRelationships, ); const attributesContentType = getEntityFormFieldAttributes( 'String', @@ -133,7 +133,7 @@ const getEntityFormField = (field, nextField, numRelationships) => { nextFieldName, nextFieldType, false, - numRelationships + numRelationships, ); return ` `; @@ -146,7 +146,7 @@ const getEntityFormField = (field, nextField, numRelationships) => { nextFieldName, nextFieldType, nextFieldIsEnum, - numRelationships + numRelationships, ); return ``; }; @@ -196,9 +196,4 @@ const getFieldValidateType = fieldType => { return fieldValidateType; }; -export { - getEntityFormField, - getEntityFormFieldType, - getRelationshipFormField, - getFieldValidateType, -}; +export { getEntityFormField, getEntityFormFieldType, getRelationshipFormField, getFieldValidateType }; diff --git a/lib/get-app-folder.js b/lib/get-app-folder.js index 7048915bd..4d9adf04e 100644 --- a/lib/get-app-folder.js +++ b/lib/get-app-folder.js @@ -25,4 +25,5 @@ function getAppFolder(input) { return appsFolders; } +// eslint-disable-next-line import/prefer-default-export export { getAppFolder }; diff --git a/lib/patch-babel.js b/lib/patch-babel.js index ecc01f76a..419c3ff2e 100644 --- a/lib/patch-babel.js +++ b/lib/patch-babel.js @@ -6,6 +6,5 @@ function patchBabel() { }); } -export { - patchBabel, -}; +// eslint-disable-next-line import/prefer-default-export +export { patchBabel }; diff --git a/lib/patch-entity-api.js b/lib/patch-entity-api.js index b77cf1735..c2652ea98 100644 --- a/lib/patch-entity-api.js +++ b/lib/patch-entity-api.js @@ -66,6 +66,7 @@ function patchEntityApi(application, entity) { // add searchEngine methods if (application.searchEngineAny) { + // eslint-disable-next-line no-console console.log(`SearchEngine: ${application.searchEngineAny}`); apiMethods += ` const search${entity.entityNamePlural} = (query) => api.get('${microservicePath}api/_search/${entity.entityApiUrl}', { query: query })`; diff --git a/lib/pre-write.js b/lib/pre-write.js index 2196b109a..4e7ecc2fa 100644 --- a/lib/pre-write.js +++ b/lib/pre-write.js @@ -20,4 +20,5 @@ function createEarlyFiles() { fse.writeFile('.prettierrc.js', prettierRc); } +// eslint-disable-next-line import/prefer-default-export export { createEarlyFiles }; diff --git a/lib/print-jhipster-logo.js b/lib/print-jhipster-logo.js index 56388856e..6b8669d8b 100644 --- a/lib/print-jhipster-logo.js +++ b/lib/print-jhipster-logo.js @@ -1,5 +1,8 @@ import chalk from 'chalk'; -import packagejs from '../package.json' assert { type: 'json' }; +import { readFileSync } from 'fs'; + +const fileUrl = new URL('../package.json', import.meta.url); +const packagejs = JSON.parse(readFileSync(fileUrl)); const printJHipsterLogo = context => { context.log('\n'); @@ -13,25 +16,26 @@ const printJHipsterLogo = context => { context.log(chalk.white('Welcome to JHipster React Native ') + chalk.yellow(`v${packagejs.version}`)); context.log(chalk.white(`Application files will be generated in folder: ${chalk.yellow(process.cwd())}`)); context.log( - chalk.green(' _______________________________________________________________________________________________________________\n') + chalk.green(' _______________________________________________________________________________________________________________\n'), ); context.log( chalk.white( ` Documentation for creating an application is at ${chalk.yellow( - 'https://github.com/jhipster/generator-jhipster-react-native/blob/main/README.md#getting-started' - )}` - ) + 'https://github.com/jhipster/generator-jhipster-react-native/blob/main/README.md#getting-started', + )}`, + ), ); context.log( chalk.white( ` If you find JHipster React Native useful, consider sponsoring the project at ${chalk.yellow( - 'https://opencollective.com/generator-jhipster' - )}` - ) + 'https://opencollective.com/generator-jhipster', + )}`, + ), ); context.log( - chalk.green(' _______________________________________________________________________________________________________________\n') + chalk.green(' _______________________________________________________________________________________________________________\n'), ); }; +// eslint-disable-next-line import/prefer-default-export export { printJHipsterLogo }; diff --git a/lib/setup-variables.js b/lib/setup-variables.js index bef2956ad..d95e01b1e 100644 --- a/lib/setup-variables.js +++ b/lib/setup-variables.js @@ -1,7 +1,10 @@ import path from 'path'; import fse from 'fs-extra'; import { JHIPSTER_CONFIG_DIR } from 'generator-jhipster'; -import packagejs from '../package.json' assert { type: 'json' }; +import { readFileSync } from 'fs'; + +const fileUrl = new URL('../package.json', import.meta.url); +const packagejs = JSON.parse(readFileSync(fileUrl)); function loadVariables() { this.existingProject = fse.existsSync('.yo-rc.json'); @@ -63,7 +66,4 @@ function setupVariables() { ...jhipsterConfig, }); } -export { - loadVariables, - setupVariables, -}; +export { loadVariables, setupVariables }; diff --git a/test/app.spec.js b/test/app.spec.js deleted file mode 100644 index f7e14b82a..000000000 --- a/test/app.spec.js +++ /dev/null @@ -1,80 +0,0 @@ -const path = require('path'); -const fse = require('fs-extra'); -const assert = require('yeoman-assert'); -const helpers = require('yeoman-test'); -const expectedFiles = require('./expected-files'); - -// todo maybe deal with https://github.com/jhipster/generator-jhipster/pull/12903/files#diff-6b3a4e19c79c8b302650b8b7466ce6e01e78d0e2f3105d87e9e55b9d6f4cb32d - -describe('Subgenerator app', () => { - describe('Generates app from existing .yo-rc.json', () => { - before(done => { - helpers - .run('generator-jhipster/generators/app') - .inTmpDir(dir => { - fse.copySync(path.join(__dirname, '../test/templates/existing-app'), dir); - }) - .withOptions({ - 'from-cli': true, - skipInstall: true, - blueprint: 'react-native', - skipChecks: true, - debug: true, - }) - .withGenerators([ - [ - require('../generators/app'), // eslint-disable-line global-require - 'jhipster-react-native:app', - path.join(__dirname, '../generators/app/index.js'), - ], - ]) - .on('end', done); - }); - - it('it generates the expected files', () => { - // Adds your tests here - assert.file(expectedFiles.defaultApp); - assert.noFile(expectedFiles.detox); - assert.noFile(expectedFiles.oauth); - assert.noFile(expectedFiles.websockets); - assert.noFile(expectedFiles.notExpected); - }); - }); - describe('Generates app from prompts', () => { - before(done => { - helpers - .run('generator-jhipster/generators/app') - .inTmpDir(dir => { - fse.copySync(path.join(__dirname, '../test/templates/backend/'), `${dir}`); - }) - .withOptions({ - 'from-cli': true, - skipInstall: true, - blueprint: 'react-native', - skipChecks: true, - debug: true, - }) - .withGenerators([ - [ - require('../generators/app'), // eslint-disable-line global-require - 'jhipster-react-native:app', - path.join(__dirname, '../generators/app/index.js'), - ], - ]) - .withPrompts({ - detox: true, - appName: 'RnApp', - directoryPath: '../backend', - }) - .on('end', done); - }); - - it('it generates the expected files', () => { - assert.file(expectedFiles.defaultApp); - assert.file(expectedFiles.detox); - assert.noFile(expectedFiles.oauth); - assert.noFile(expectedFiles.websockets); - assert.noFile(expectedFiles.notExpected); - }); - }); -}); diff --git a/test/entity.spec.js b/test/entity.spec.js deleted file mode 100644 index 23ef9b414..000000000 --- a/test/entity.spec.js +++ /dev/null @@ -1,144 +0,0 @@ -const path = require('path'); -const fse = require('fs-extra'); -const assert = require('yeoman-assert'); -const helpers = require('yeoman-test'); -const expectedFiles = require('./expected-files'); - -describe('Subgenerator entity', () => { - describe('Generates entity from existing JSON config file', () => { - before(done => { - helpers - .run('generator-jhipster/generators/entity') - .inTmpDir(dir => { - fse.copySync(path.join(__dirname, '../test/templates/backend'), `${dir}/`); - }) - .withOptions({ - 'from-cli': true, - skipInstall: true, - blueprint: 'react-native', - skipChecks: true, - }) - .withGenerators([ - [ - require('../generators/entity'), // eslint-disable-line global-require - 'jhipster-react-native:entity', - path.join(__dirname, '../generators/entity/index.js'), - ], - ]) - .withArguments(['foo']) - .on('end', done); - }); - - it('it generates the expected files', () => { - assert.file(expectedFiles.entity); - assert.noFile(expectedFiles.entityDetox); - assert.noFile(expectedFiles.entitySearchEngine); - assert.noFile(expectedFiles.notExpected); - }); - }); - describe('Generates entity from prompt of backend path', () => { - before(done => { - helpers - .run('generator-jhipster/generators/entity') - .inTmpDir(dir => { - fse.copySync(path.join(__dirname, '../test/templates/backend'), `${dir}/../backend`); - fse.copySync(path.join(__dirname, '../test/templates/existing-app/.yo-rc.json'), `${dir}/.yo-rc.json`); - }) - .withOptions({ - 'from-cli': true, - skipInstall: true, - blueprint: 'react-native', - skipChecks: true, - }) - .withGenerators([ - [ - require('../generators/entity'), // eslint-disable-line global-require - 'jhipster-react-native:entity', - path.join(__dirname, '../generators/entity/index.js'), - ], - ]) - .withArguments(['foo']) - .withPrompts({ - backendPath: '../backend', - }) - .on('end', done); - }); - - it('it generates the expected files', () => { - assert.file(expectedFiles.entity); - assert.noFile(expectedFiles.entityDetox); - assert.noFile(expectedFiles.entitySearchEngine); - assert.noFile(expectedFiles.notExpected); - }); - }); - describe('Generates entity from prompt of backend path, with detox files', () => { - before(done => { - helpers - .run('generator-jhipster/generators/entity') - .inTmpDir(dir => { - fse.copySync(path.join(__dirname, '../test/templates/backend'), `${dir}/../backend`); - fse.copySync(path.join(__dirname, '../test/templates/existing-app-detox/.yo-rc.json'), `${dir}/.yo-rc.json`); - }) - .withOptions({ - 'from-cli': true, - skipInstall: true, - blueprint: 'react-native', - skipChecks: true, - }) - .withGenerators([ - [ - require('../generators/entity'), // eslint-disable-line global-require - 'jhipster-react-native:entity', - path.join(__dirname, '../generators/entity/index.js'), - ], - ]) - .withArguments(['foo']) - .withPrompts({ - backendPath: '../backend', - }) - .on('end', done); - }); - - it('it generates the expected files', () => { - assert.file(expectedFiles.entity); - assert.file(expectedFiles.entityDetox); - assert.noFile(expectedFiles.entitySearchEngine); - assert.noFile(expectedFiles.notExpected); - }); - }); - describe('Generates entity from prompt of backend path, with search files', () => { - before(done => { - helpers - .run('generator-jhipster/generators/entity') - .inTmpDir(dir => { - fse.copySync(path.join(__dirname, '../test/templates/backend'), `${dir}/../backend`); - fse.copySync(path.join(__dirname, '../test/templates/existing-app-elasticsearch/.yo-rc.json'), `${dir}/.yo-rc.json`); - }) - .withOptions({ - 'from-cli': true, - skipInstall: true, - blueprint: 'react-native', - skipChecks: true, - }) - .withGenerators([ - [ - require('../generators/entity'), // eslint-disable-line global-require - 'jhipster-react-native:entity', - path.join(__dirname, '../generators/entity/index.js'), - ], - ]) - .withArguments(['foo']) - .withPrompts({ - backendPath: '../backend', - }) - .on('end', done); - }); - - it('it generates the expected files', () => { - assert.file(expectedFiles.entity); - assert.file(expectedFiles.entitySearchEngine); - assert.noFile(expectedFiles.entityDetox); - assert.noFile(expectedFiles.notExpected); - }); - }); -}); diff --git a/test/expected-files.js b/test/expected-files.js index ac62a038b..56df6fe16 100644 --- a/test/expected-files.js +++ b/test/expected-files.js @@ -18,7 +18,6 @@ const expectedFiles = { 'app/navigation/modal-screen.js', 'app/modules/home/learn-more-links.component.js', 'app/modules/login/login-screen.js', - 'app/modules/account/register/register-screen.js', 'app/shared/services/api.js', 'app/modules/login/login.reducer.js', 'test/spec/modules/login/login.reducer.spec.js', @@ -33,19 +32,6 @@ const expectedFiles = { 'test/setup.js', 'app/shared/reducers/create-store.js', 'app/config/redux-persist.js', - 'app/modules/account/password-reset/forgot-password-screen.js', - 'app/modules/account/password-reset/forgot-password-screen.styles.js', - 'app/modules/account/password-reset/forgot-password.reducer.js', - 'app/modules/account/password-reset/forgot-password.sagas.js', - 'app/modules/account/password/change-password-screen.js', - 'app/modules/account/password/change-password-screen.styles.js', - 'app/modules/account/password/change-password.reducer.js', - 'app/modules/account/password/change-password.sagas.js', - 'app/modules/account/register/register-screen.styles.js', - 'app/modules/account/register/register.reducer.js', - 'app/modules/account/register/register.sagas.js', - 'app/modules/account/settings/settings-screen.js', - 'app/modules/account/settings/settings-screen.styles.js', 'app/modules/entities/entities-screen.js', 'app/modules/entities/entities-screen.styles.js', 'app/modules/home/home-screen.js', @@ -122,12 +108,6 @@ const expectedFiles = { 'storybook/addons.js', 'storybook/index.js', 'storybook/stories.js', - 'test/spec/modules/account/password-reset/forgot-passsword.sagas.spec.js', - 'test/spec/modules/account/password-reset/forgot-password.reducer.spec.js', - 'test/spec/modules/account/password/change-passsword.sagas.spec.js', - 'test/spec/modules/account/password/change-password.reducer.spec.js', - 'test/spec/modules/account/register/register.reducer.spec.js', - 'test/spec/modules/account/register/register.sagas.spec.js', 'test/spec/shared/components/alert-message/alert-message.spec.js', 'test/spec/shared/components/rounded-button/rounded-button.spec.js', 'test/spec/shared/components/search-bar/search-bar.spec.js', @@ -160,6 +140,28 @@ const expectedFiles = { 'app/shared/reducers/auth-info.reducer.js', 'app/navigation/oauth-redirect-screen.tsx', ], + notOauth: [ + 'app/modules/account/password-reset/forgot-password-screen.js', + 'app/modules/account/password-reset/forgot-password-screen.styles.js', + 'app/modules/account/password-reset/forgot-password.reducer.js', + 'app/modules/account/password-reset/forgot-password.sagas.js', + 'app/modules/account/password/change-password-screen.js', + 'app/modules/account/password/change-password-screen.styles.js', + 'app/modules/account/password/change-password.reducer.js', + 'app/modules/account/password/change-password.sagas.js', + 'app/modules/account/register/register-screen.js', + 'app/modules/account/register/register-screen.styles.js', + 'app/modules/account/register/register.reducer.js', + 'app/modules/account/register/register.sagas.js', + 'app/modules/account/settings/settings-screen.js', + 'app/modules/account/settings/settings-screen.styles.js', + 'test/spec/modules/account/password-reset/forgot-passsword.sagas.spec.js', + 'test/spec/modules/account/password-reset/forgot-password.reducer.spec.js', + 'test/spec/modules/account/password/change-passsword.sagas.spec.js', + 'test/spec/modules/account/password/change-password.reducer.spec.js', + 'test/spec/modules/account/register/register.reducer.spec.js', + 'test/spec/modules/account/register/register.sagas.spec.js', + ], websockets: [ 'app/modules/chat/chat-screen.js', 'app/modules/chat/chat-screen.styles.js', diff --git a/test/templates/existing-app/.yo-rc.json b/test/templates/existing-app/.yo-rc.json index 3a46dd4b5..3a891b822 100644 --- a/test/templates/existing-app/.yo-rc.json +++ b/test/templates/existing-app/.yo-rc.json @@ -21,7 +21,7 @@ "searchEngine": false, "skipClient": false, "testFrameworks": [], - "websocket": false, + "websocket": "spring-websocket", "applicationType": "monolith", "blueprints": [], "clientPackageManager": "npm", @@ -36,9 +36,9 @@ "reactive": false, "skipServer": false, "entities": [], - "reactNative": { - "reactNativeAppName": "Mono", - "detox": false, + "generator-jhipster-react-native": { + "appName": "Mono", + "detox": true, "version": "0.0.0" } } From 42d6401144462d576bd25532b773b6118c8b6f23 Mon Sep 17 00:00:00 2001 From: Hideyuki Kagami Date: Thu, 8 Feb 2024 23:18:01 +0900 Subject: [PATCH 45/70] avoid npm test ci error https://github.com/vitejs/vite/discussions/15532#discussioncomment-8141236 --- package-lock.json | 15 +++++++++++++++ package.json | 3 +++ 2 files changed, 18 insertions(+) diff --git a/package-lock.json b/package-lock.json index 299b3ed81..ce4a8d847 100644 --- a/package-lock.json +++ b/package-lock.json @@ -45,6 +45,9 @@ "engines": { "node": "^18.13.0 || >= 20.6.1", "npm": ">=7" + }, + "optionalDependencies": { + "@rollup/rollup-linux-x64-gnu": "4.9.5" } }, "node_modules/@aashutoshrathi/word-wrap": { @@ -1036,6 +1039,18 @@ "darwin" ] }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.9.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.9.5.tgz", + "integrity": "sha512-Dq1bqBdLaZ1Gb/l2e5/+o3B18+8TI9ANlA1SkejZqDgdU/jK/ThYaMPMJpVMMXy2uRHvGKbkz9vheVGdq3cJfA==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ] + }, "node_modules/@samverschueren/stream-to-observable": { "version": "0.3.1", "dev": true, diff --git a/package.json b/package.json index 024ed9d44..1fc72d612 100644 --- a/package.json +++ b/package.json @@ -86,6 +86,9 @@ "yeoman-assert": "3.1.1", "yeoman-test": ">=8.0.0-rc.1" }, + "optionalDependencies": { + "@rollup/rollup-linux-x64-gnu": "4.9.5" + }, "engines": { "node": "^18.13.0 || >= 20.6.1", "npm": ">=7" From b21f53699bf6e396969baec2784b9a1735c75998 Mon Sep 17 00:00:00 2001 From: Hideyuki Kagami Date: Thu, 8 Feb 2024 23:31:30 +0900 Subject: [PATCH 46/70] fix path in ci --- .github/workflows/generator.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/generator.yml b/.github/workflows/generator.yml index 14aca9dfa..e35c4304d 100644 --- a/.github/workflows/generator.yml +++ b/.github/workflows/generator.yml @@ -40,5 +40,5 @@ jobs: run: npm run test - name: check-dependencies run: | - cd generators/app/resources/expo + cd generators/react-native/resources/expo npm run check-dependencies From 703584de7f5685534b08309a8b617c8bbcbb2310 Mon Sep 17 00:00:00 2001 From: Hideyuki Kagami Date: Thu, 8 Feb 2024 23:35:52 +0900 Subject: [PATCH 47/70] adjust sample-app ci --- .github/workflows/sample-app.yml | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/.github/workflows/sample-app.yml b/.github/workflows/sample-app.yml index 5518c2d57..8aa98e2ec 100644 --- a/.github/workflows/sample-app.yml +++ b/.github/workflows/sample-app.yml @@ -64,7 +64,7 @@ jobs: find . -not -name ".yo-rc.json" -type f -maxdepth 1 -delete rm .git/index rm -rf app assets e2e patches storybook test - jhipster --no-insight --skip-checks --skip-install --force --with-entities + jhipster --no-insight --skip-checks --skip-install --force # jhipster heroku --no-insight --skip-install --force --skip-deploy # sed -i.backup "s~http://localhost:8080/~https://jh-sample-app-react-native-api.herokuapp.com/~g" app/config/app-config.js # rm app/config/app-config.js.backup @@ -76,16 +76,17 @@ jobs: git tag "${{ github.ref }}" - name: 'BUILD: run expo web build' run: | - cd sample-app + cd client + npm install npm run build:web - name: 'DIFF: show diff for generated app (from latest release)' run: | - cd sample-app + cd client git -c color.ui=always diff -R --cached --exit-code -- . ':!package-lock.json' - name: 'PUSH: push the updated sample app to Expo' if: startsWith(github.ref, 'refs/tags/') run: | - cd sample-app + cd client npm install -g sharp-cli expo publish - name: 'PUSH: push the updated sample app to GitHub' @@ -94,5 +95,5 @@ jobs: with: repository: ruddell/jhipster-sample-app-react-native github_token: ${{ secrets.SAMPLE_GITHUB_TOKEN }} - directory: sample-app + directory: client tags: true From eaa7cf6855761382f819a05257660c59ea03c11b Mon Sep 17 00:00:00 2001 From: Hideyuki Kagami Date: Fri, 9 Feb 2024 01:21:59 +0900 Subject: [PATCH 48/70] refactor entity parameter --- generators/react-native/entity-files.mjs | 38 ++++--- generators/react-native/generator.mjs | 6 +- .../entities/entity-delete-modal.js.ejs | 30 +++--- .../entities/entity-detail-screen.js.ejs | 84 +++++++-------- .../modules/entities/entity-e2e-test.js.ejs | 74 ++++++------- .../entities/entity-edit-screen.js.ejs | 92 ++++++++-------- .../modules/entities/entity-flatlist.js.ejs | 66 ++++++------ .../modules/entities/entity-reducer.js.ejs | 100 ++++++++--------- .../entities/entity-reducer.spec.js.ejs | 102 +++++++++--------- .../app/modules/entities/entity-sagas.js.ejs | 76 ++++++------- .../modules/entities/entity-sagas.spec.js.ejs | 58 +++++----- .../entities/fixtures/entity-get.json.ejs | 2 +- .../entities/fixtures/entity-update.json.ejs | 2 +- 13 files changed, 368 insertions(+), 362 deletions(-) diff --git a/generators/react-native/entity-files.mjs b/generators/react-native/entity-files.mjs index 60534bf35..701b68cc9 100644 --- a/generators/react-native/entity-files.mjs +++ b/generators/react-native/entity-files.mjs @@ -4,39 +4,44 @@ const files = { templates: [ { file: 'app/modules/entities/entity-delete-modal.js', - renameTo: generator => `app/modules/entities/${generator.entityFileName}/${generator.entityFileName}-delete-modal.js`, + renameTo: generator => + `app/modules/entities/${generator.entity.entityFileName}/${generator.entity.entityFileName}-delete-modal.js`, }, { file: 'app/modules/entities/entity-detail-screen.js', - renameTo: generator => `app/modules/entities/${generator.entityFileName}/${generator.entityFileName}-detail-screen.js`, + renameTo: generator => + `app/modules/entities/${generator.entity.entityFileName}/${generator.entity.entityFileName}-detail-screen.js`, }, { file: 'app/modules/entities/entity-edit-screen.js', - renameTo: generator => `app/modules/entities/${generator.entityFileName}/${generator.entityFileName}-edit-screen.js`, + renameTo: generator => + `app/modules/entities/${generator.entity.entityFileName}/${generator.entity.entityFileName}-edit-screen.js`, }, { file: 'app/modules/entities/entity-flatlist.js', - renameTo: generator => `app/modules/entities/${generator.entityFileName}/${generator.entityFileName}-screen.js`, + renameTo: generator => `app/modules/entities/${generator.entity.entityFileName}/${generator.entity.entityFileName}-screen.js`, }, { file: 'app/modules/entities/entity-styles.js', - renameTo: generator => `app/modules/entities/${generator.entityFileName}/${generator.entityFileName}-styles.js`, + renameTo: generator => `app/modules/entities/${generator.entity.entityFileName}/${generator.entity.entityFileName}-styles.js`, }, { file: 'app/modules/entities/entity-reducer.js', - renameTo: generator => `app/modules/entities/${generator.entityFileName}/${generator.entityFileName}.reducer.js`, + renameTo: generator => `app/modules/entities/${generator.entity.entityFileName}/${generator.entity.entityFileName}.reducer.js`, }, { file: 'app/modules/entities/entity-reducer.spec.js', - renameTo: generator => `test/spec/modules/entities/${generator.entityFileName}/${generator.entityFileName}.reducer.spec.js`, + renameTo: generator => + `test/spec/modules/entities/${generator.entity.entityFileName}/${generator.entity.entityFileName}.reducer.spec.js`, }, { file: 'app/modules/entities/entity-sagas.js', - renameTo: generator => `app/modules/entities/${generator.entityFileName}/${generator.entityFileName}.sagas.js`, + renameTo: generator => `app/modules/entities/${generator.entity.entityFileName}/${generator.entity.entityFileName}.sagas.js`, }, { file: 'app/modules/entities/entity-sagas.spec.js', - renameTo: generator => `test/spec/modules/entities/${generator.entityFileName}/${generator.entityFileName}.sagas.spec.js`, + renameTo: generator => + `test/spec/modules/entities/${generator.entity.entityFileName}/${generator.entity.entityFileName}.sagas.spec.js`, }, ], }, @@ -46,26 +51,26 @@ const files = { templates: [ { file: 'app/modules/entities/fixtures/entity-get.json', - renameTo: generator => `app/shared/fixtures/get-${generator.entityFileName}.json`, + renameTo: generator => `app/shared/fixtures/get-${generator.entity.entityFileName}.json`, }, { file: 'app/modules/entities/fixtures/entity-get-all.json', // Workaround for entityPluralFileName 'xxxundefined' due to angularSuffix == undefined - renameTo: generator => `app/shared/fixtures/get-all-${generator.entityNamePluralizedAndSpinalCased}.json`, + renameTo: generator => `app/shared/fixtures/get-all-${generator.entity.entityNamePluralizedAndSpinalCased}.json`, }, { file: 'app/modules/entities/fixtures/entity-update.json', - renameTo: generator => `app/shared/fixtures/update-${generator.entityFileName}.json`, + renameTo: generator => `app/shared/fixtures/update-${generator.entity.entityFileName}.json`, }, ], }, { - condition: generator => generator.searchEngineAny, + condition: generator => generator.entity.searchEngineAny, templates: [ { file: 'app/modules/entities/fixtures/entity-get-all.json', // Workaround for entityPluralFileName 'xxxundefined' due to angularSuffix == undefined - renameTo: generator => `app/shared/fixtures/search-${generator.entityNamePluralizedAndSpinalCased}.json`, + renameTo: generator => `app/shared/fixtures/search-${generator.entity.entityNamePluralizedAndSpinalCased}.json`, }, ], }, @@ -74,7 +79,10 @@ const files = { { condition: generator => generator.reactNativeConfig.detox, templates: [ - { file: 'app/modules/entities/entity-e2e-test.js', renameTo: generator => `e2e/entities/${generator.entityFileName}.spec.js` }, + { + file: 'app/modules/entities/entity-e2e-test.js', + renameTo: generator => `e2e/entities/${generator.entity.entityFileName}.spec.js`, + }, ], }, ], diff --git a/generators/react-native/generator.mjs b/generators/react-native/generator.mjs index 95ee6efca..e77a7cbc1 100644 --- a/generators/react-native/generator.mjs +++ b/generators/react-native/generator.mjs @@ -232,7 +232,6 @@ export default class extends BaseApplicationGenerator { get [BaseApplicationGenerator.WRITING_ENTITIES]() { return this.asWritingEntitiesTaskGroup({ async writeEntities({ application, entities }) { - const { enableTranslation } = application; await Promise.all( entities .filter(entity => !entity.builtIn) @@ -243,10 +242,9 @@ export default class extends BaseApplicationGenerator { await this.writeFiles({ sections: entityFiles, context: { - ...entity, // TODO: entity: {...entity} - ...application, // TODO: application: {}...application} + entity: { ...entity }, + application: { ...application }, reactNativeConfig: { ...this.reactNativeConfig }, - enableTranslation, fieldsContainEnum, uniqueOwnerSideRelationships, ownerSideRelationships, diff --git a/generators/react-native/templates/app/modules/entities/entity-delete-modal.js.ejs b/generators/react-native/templates/app/modules/entities/entity-delete-modal.js.ejs index d4916e46c..9daa4ccae 100644 --- a/generators/react-native/templates/app/modules/entities/entity-delete-modal.js.ejs +++ b/generators/react-native/templates/app/modules/entities/entity-delete-modal.js.ejs @@ -2,23 +2,23 @@ import React from 'react'; import { TouchableHighlight, Modal, Text, View } from 'react-native'; import { connect } from 'react-redux'; -import <%= entityNameCapitalized %>Actions from './<%= entityFileName %>.reducer'; +import <%= entity.entityNameCapitalized %>Actions from './<%= entity.entityFileName %>.reducer'; -import styles from './<%= entityFileName %>-styles' +import styles from './<%= entity.entityFileName %>-styles' -function <%= entityNameCapitalized %>DeleteModal(props) { +function <%= entity.entityNameCapitalized %>DeleteModal(props) { const { visible, setVisible, entity, navigation, testID } = props; const deleteEntity = () => { - props.delete<%= entityNameCapitalized %>(entity.id); - navigation.canGoBack() ? navigation.goBack() : navigation.navigate('<%= entityNameCapitalized %>'); + props.delete<%= entity.entityNameCapitalized %>(entity.id); + navigation.canGoBack() ? navigation.goBack() : navigation.navigate('<%= entity.entityNameCapitalized %>'); }; return ( - Delete <%= entityNameCapitalized %> {entity.id}? + Delete <%= entity.entityNameCapitalized %> {entity.id}? DeleteModal(props) { const mapStateToProps = (state) => { return { - <%= entityInstance %>: state.<%= entityInstancePlural %>.<%= entityInstance %>, - fetching: state.<%= entityInstancePlural %>.fetchingOne, - deleting: state.<%= entityInstancePlural %>.deleting, - errorDeleting: state.<%= entityInstancePlural %>.errorDeleting, + <%= entity.entityInstance %>: state.<%= entity.entityInstancePlural %>.<%= entity.entityInstance %>, + fetching: state.<%= entity.entityInstancePlural %>.fetchingOne, + deleting: state.<%= entity.entityInstancePlural %>.deleting, + errorDeleting: state.<%= entity.entityInstancePlural %>.errorDeleting, }; }; const mapDispatchToProps = (dispatch) => { return { - get<%= entityNameCapitalized %>: (id) => dispatch(<%= entityNameCapitalized %>Actions.<%= entityInstance %>Request(id)), - getAll<%= entityNamePlural %>: (options) => dispatch(<%= entityNameCapitalized %>Actions.<%= entityInstance %>AllRequest(options)), - delete<%= entityNameCapitalized %>: (id) => dispatch(<%= entityNameCapitalized %>Actions.<%= entityInstance %>DeleteRequest(id)), - reset<%= entityNamePlural %>: () => dispatch(<%= entityNameCapitalized %>Actions.<%= entityInstance %>Reset()), + get<%= entity.entityNameCapitalized %>: (id) => dispatch(<%= entity.entityNameCapitalized %>Actions.<%= entity.entityInstance %>Request(id)), + getAll<%= entity.entityNamePlural %>: (options) => dispatch(<%= entity.entityNameCapitalized %>Actions.<%= entity.entityInstance %>AllRequest(options)), + delete<%= entity.entityNameCapitalized %>: (id) => dispatch(<%= entity.entityNameCapitalized %>Actions.<%= entity.entityInstance %>DeleteRequest(id)), + reset<%= entity.entityNamePlural %>: () => dispatch(<%= entity.entityNameCapitalized %>Actions.<%= entity.entityInstance %>Reset()), }; }; -export default connect(mapStateToProps, mapDispatchToProps)(<%= entityNameCapitalized %>DeleteModal); +export default connect(mapStateToProps, mapDispatchToProps)(<%= entity.entityNameCapitalized %>DeleteModal); diff --git a/generators/react-native/templates/app/modules/entities/entity-detail-screen.js.ejs b/generators/react-native/templates/app/modules/entities/entity-detail-screen.js.ejs index 74483c967..174abeb8c 100644 --- a/generators/react-native/templates/app/modules/entities/entity-detail-screen.js.ejs +++ b/generators/react-native/templates/app/modules/entities/entity-detail-screen.js.ejs @@ -1,39 +1,39 @@ import React from 'react' -import { ActivityIndicator, ScrollView, Text, <% if (fieldsContainImageBlob) { %>Image, <% } %>View } from 'react-native'; +import { ActivityIndicator, ScrollView, Text, <% if (entity.fieldsContainImageBlob) { %>Image, <% } %>View } from 'react-native'; import { connect } from 'react-redux' import { useFocusEffect } from '@react-navigation/native'; -<%_ if (fieldsContainLocalDate) { _%> +<%_ if (entity.fieldsContainLocalDate) { _%> import { convertLocalDateToString } from '../../../shared/util/date-transforms' <%_ } _%> -import <%= entityNameCapitalized %>Actions from './<%= entityFileName %>.reducer' +import <%= entity.entityNameCapitalized %>Actions from './<%= entity.entityFileName %>.reducer' import RoundedButton from '../../../shared/components/rounded-button/rounded-button' -import <%= entityNameCapitalized %>DeleteModal from './<%= entityFileName %>-delete-modal'; -import styles from './<%= entityFileName %>-styles' +import <%= entity.entityNameCapitalized %>DeleteModal from './<%= entity.entityFileName %>-delete-modal'; +import styles from './<%= entity.entityFileName %>-styles' -function <%= entityNameCapitalized %>DetailScreen(props) { - const { route, get<%= entityNameCapitalized %>, navigation, <%= entityInstance %>, fetching, error } = props; +function <%= entity.entityNameCapitalized %>DetailScreen(props) { + const { route, get<%= entity.entityNameCapitalized %>, navigation, <%= entity.entityInstance %>, fetching, error } = props; const [deleteModalVisible, setDeleteModalVisible] = React.useState(false); // prevents display of stale reducer data - const entityId = <%= entityInstance %>?.id ?? null; + const entityId = <%= entity.entityInstance %>?.id ?? null; const routeEntityId = route.params?.entityId ?? null; const correctEntityLoaded = routeEntityId && entityId && routeEntityId.toString() === entityId.toString(); useFocusEffect( React.useCallback(() => { if (!routeEntityId) { - navigation.navigate('<%= entityNameCapitalized %>'); + navigation.navigate('<%= entity.entityNameCapitalized %>'); } else { setDeleteModalVisible(false); - get<%= entityNameCapitalized %>(routeEntityId); + get<%= entity.entityNameCapitalized %>(routeEntityId); } - }, [routeEntityId, get<%= entityNameCapitalized %>, navigation]), + }, [routeEntityId, get<%= entity.entityNameCapitalized %>, navigation]), ); if (!entityId && !fetching && error) { return ( - Something went wrong fetching the <%= entityNameCapitalized %>. + Something went wrong fetching the <%= entity.entityNameCapitalized %>. ); } @@ -45,60 +45,60 @@ function <%= entityNameCapitalized %>DetailScreen(props) { ); } return ( - + Id: - {<%= entityInstance %>.id} - <%_ fields.filter(field => !field.id).forEach(function (field) { _%> + {<%= entity.entityInstance %>.id} + <%_ entity.fields.filter(field => !field.id).forEach(function (field) { _%> {/* <%= field.fieldNameCapitalized %> Field */} <%= field.fieldNameCapitalized %>: <%_ if (field.fieldType === 'LocalDate') { _%> - {convertLocalDateToString(<%= entityInstance %>.<%= field.fieldName %>)} + {convertLocalDateToString(<%= entity.entityInstance %>.<%= field.fieldName %>)} <%_ } else if (field.fieldType === 'ZonedDateTime' || field.fieldType === 'Instant' || field.fieldType === 'Boolean') { _%> - {String(<%= entityInstance %>.<%= field.fieldName %>)} + {String(<%= entity.entityInstance %>.<%= field.fieldName %>)} <%_ } else if (field.fieldType === 'byte[]' && field.fieldTypeBlobContent === 'any') { _%> - Open {<%= entityInstance %>.<%= field.fieldName %>ContentType} (not implemented) + Open {<%= entity.entityInstance %>.<%= field.fieldName %>ContentType} (not implemented) <%_ } else if (field.fieldType === 'byte[]' && field.fieldTypeBlobContent === 'image') { _%> - {<%= entityInstance %>.<%= field.fieldName %>ContentType} + {<%= entity.entityInstance %>.<%= field.fieldName %>ContentType} .<%= field.fieldName %>ContentType};base64,${<%= entityInstance %>.<%= field.fieldName %>}` }} + source={{ uri: `data:${<%= entity.entityInstance %>.<%= field.fieldName %>ContentType};base64,${<%= entity.entityInstance %>.<%= field.fieldName %>}` }} /> <%_ } else { _%> - {<%= entityInstance %>.<%= field.fieldName %>} + {<%= entity.entityInstance %>.<%= field.fieldName %>} <%_ } _%> <%_ }) _%> - <%_ relationships.filter(relation => relation.ownerSide).forEach(function (relation) { _%> + <%_ entity.relationships.filter(relation => relation.ownerSide).forEach(function (relation) { _%> <%= relation.relationshipNameHumanized %>: <%_ if (relation.relationshipType === 'many-to-many') { _%> - {<%= entityInstance %>.<%= relation.relationshipNamePlural %> && <%= entityInstance %>.<%= relation.relationshipNamePlural %>.map((entity, index) => ( + {<%= entity.entityInstance %>.<%= relation.relationshipNamePlural %> && <%= entity.entityInstance %>.<%= relation.relationshipNamePlural %>.map((entity, index) => ( -${index}`}>{String(entity.<%= relation.otherEntityField %> || '')} ))} <%_ } else { _%> - {String(<%= entityInstance %>.<%= relation.relationshipName %> ? <%= entityInstance %>.<%= relation.relationshipName %>.<%= relation.otherEntityField %> : '')} + {String(<%= entity.entityInstance %>.<%= relation.relationshipName %> ? <%= entity.entityInstance %>.<%= relation.relationshipName %>.<%= relation.otherEntityField %> : '')} <%_ } _%> <%_ }) _%> navigation.navigate('<%= entityNameCapitalized %>Edit', { entityId })} - accessibilityLabel={'<%= entityNameCapitalized %> Edit Button'} - testID="<%= entityInstance %>EditButton" + onPress={() => navigation.navigate('<%= entity.entityNameCapitalized %>Edit', { entityId })} + accessibilityLabel={'<%= entity.entityNameCapitalized %> Edit Button'} + testID="<%= entity.entityInstance %>EditButton" /> setDeleteModalVisible(true)} - accessibilityLabel={'<%= entityNameCapitalized %> Delete Button'} - testID="<%= entityInstance %>DeleteButton" + accessibilityLabel={'<%= entity.entityNameCapitalized %> Delete Button'} + testID="<%= entity.entityInstance %>DeleteButton" /> {deleteModalVisible && ( - <<%= entityNameCapitalized %>DeleteModal + <<%= entity.entityNameCapitalized %>DeleteModal navigation={navigation} visible={deleteModalVisible} setVisible={setDeleteModalVisible} - entity={<%= entityInstance %>} - testID="<%= entityInstance %>DeleteModal" + entity={<%= entity.entityInstance %>} + testID="<%= entity.entityInstance %>DeleteModal" /> )} @@ -108,21 +108,21 @@ function <%= entityNameCapitalized %>DetailScreen(props) { const mapStateToProps = (state) => { return { - <%= entityInstance %>: state.<%= entityInstancePlural %>.<%= entityInstance %>, - error: state.<%= entityInstancePlural %>.errorOne, - fetching: state.<%= entityInstancePlural %>.fetchingOne, - deleting: state.<%= entityInstancePlural %>.deleting, - errorDeleting: state.<%= entityInstancePlural %>.errorDeleting + <%= entity.entityInstance %>: state.<%= entity.entityInstancePlural %>.<%= entity.entityInstance %>, + error: state.<%= entity.entityInstancePlural %>.errorOne, + fetching: state.<%= entity.entityInstancePlural %>.fetchingOne, + deleting: state.<%= entity.entityInstancePlural %>.deleting, + errorDeleting: state.<%= entity.entityInstancePlural %>.errorDeleting } } const mapDispatchToProps = (dispatch) => { return { - get<%= entityNameCapitalized %>: (id) => dispatch(<%= entityNameCapitalized %>Actions.<%= entityInstance %>Request(id)), - getAll<%= entityNamePlural %>: (options) => dispatch(<%= entityNameCapitalized %>Actions.<%= entityInstance %>AllRequest(options)), - delete<%= entityNameCapitalized %>: (id) => dispatch(<%= entityNameCapitalized %>Actions.<%= entityInstance %>DeleteRequest(id)), - reset<%= entityNamePlural %>: () => dispatch(<%= entityNameCapitalized %>Actions.<%= entityInstance %>Reset()), + get<%= entity.entityNameCapitalized %>: (id) => dispatch(<%= entity.entityNameCapitalized %>Actions.<%= entity.entityInstance %>Request(id)), + getAll<%= entity.entityNamePlural %>: (options) => dispatch(<%= entity.entityNameCapitalized %>Actions.<%= entity.entityInstance %>AllRequest(options)), + delete<%= entity.entityNameCapitalized %>: (id) => dispatch(<%= entity.entityNameCapitalized %>Actions.<%= entity.entityInstance %>DeleteRequest(id)), + reset<%= entity.entityNamePlural %>: () => dispatch(<%= entity.entityNameCapitalized %>Actions.<%= entity.entityInstance %>Reset()), } } -export default connect(mapStateToProps, mapDispatchToProps)(<%= entityNameCapitalized %>DetailScreen) +export default connect(mapStateToProps, mapDispatchToProps)(<%= entity.entityNameCapitalized %>DetailScreen) diff --git a/generators/react-native/templates/app/modules/entities/entity-e2e-test.js.ejs b/generators/react-native/templates/app/modules/entities/entity-e2e-test.js.ejs index 2a21c0c12..cc6834dac 100644 --- a/generators/react-native/templates/app/modules/entities/entity-e2e-test.js.ejs +++ b/generators/react-native/templates/app/modules/entities/entity-e2e-test.js.ejs @@ -1,4 +1,4 @@ -<%_ if (fieldsContainDate) { _%> +<%_ if (entity.fieldsContainDate) { _%> const jestExpect = require('expect'); <%_ } _%> const { @@ -13,15 +13,15 @@ const { <%_ if (fieldsContainEnum) { _%> setPickerValue, <%_ } _%> -<%_ if (fieldsContainDate) { _%> +<%_ if (entity.fieldsContainDate) { _%> setDateTimePickerValue, <%_ } _%> scrollTo, } = require('../utils'); <%_ -resetFakerSeed(`entity-cypress-${entityNameCapitalized}`); -const createFakeData = generateFakeData('cypress'); -const updateFakeData = generateFakeData('cypress'); +entity.resetFakerSeed(`entity-cypress-${entity.entityNameCapitalized}`); +const createFakeData = entity.generateFakeData('cypress'); +const updateFakeData = entity.generateFakeData('cypress'); // used for setting the datepicker date in the expected full ISO format (JS gives a compact version) Date.prototype.toFullISOString = function() { @@ -51,33 +51,33 @@ Date.prototype.toCustomLocalDate = function() { } _%> -describe.skip('<%= entityNameCapitalized %> Screen Tests', () => { +describe.skip('<%= entity.entityNameCapitalized %> Screen Tests', () => { beforeEach(async () => { await reloadApp(); await loginAsUser(); - await navigateTo<%= entityNameCapitalized %>Screen(); + await navigateTo<%= entity.entityNameCapitalized %>Screen(); }); - const navigateTo<%= entityNameCapitalized %>Screen = async () => { + const navigateTo<%= entity.entityNameCapitalized %>Screen = async () => { await openAndTapDrawerMenuItemByLabel('Entities'); await waitForElementToBeVisibleById('entityScreenScrollList') - await scrollTo('<%= entityInstance %>EntityScreenButton', 'entityScreenScrollList') - await element(by.id('<%= entityInstance %>EntityScreenButton')).tap() - await waitForElementToBeVisibleById('<%= entityInstance %>Screen'); + await scrollTo('<%= entity.entityInstance %>EntityScreenButton', 'entityScreenScrollList') + await element(by.id('<%= entity.entityInstance %>EntityScreenButton')).tap() + await waitForElementToBeVisibleById('<%= entity.entityInstance %>Screen'); } - it('should allow you to create, update, and delete the <%= entityNameCapitalized %> entity', async () => { - await expect(element(by.id('<%= entityInstance %>Screen'))).toBeVisible() + it('should allow you to create, update, and delete the <%= entity.entityNameCapitalized %> entity', async () => { + await expect(element(by.id('<%= entity.entityInstance %>Screen'))).toBeVisible() /* - * Create <%= entityNameCapitalized %> + * Create <%= entity.entityNameCapitalized %> */ await tapFirstElementByLabel(' New ') - await waitForElementToBeVisibleById('<%= entityInstance %>EditScrollView'); - <%_ fields.filter(field => !field.id).forEach((field, index) => { _%> + await waitForElementToBeVisibleById('<%= entity.entityInstance %>EditScrollView'); + <%_ entity.fields.filter(field => !field.id).forEach((field, index) => { _%> <%_ let formFieldType = getEntityFormFieldType(field); _%> // <%= field.fieldName %> - await scrollTo('<%= field.fieldName %>Input', '<%= entityInstance %>EditScrollView') + await scrollTo('<%= field.fieldName %>Input', '<%= entity.entityInstance %>EditScrollView') <%_ if (formFieldType === 'text') { _%> <%_ if (field.fieldType === 'byte[]') { _%> <%_ if (field.fieldTypeBlobContent !== 'text') { _%> @@ -110,17 +110,17 @@ describe.skip('<%= entityNameCapitalized %> Screen Tests', () => { <%_ } _%> <%_ }) _%> // save - await scrollTo('submitButton', '<%= entityInstance %>EditScrollView') + await scrollTo('submitButton', '<%= entity.entityInstance %>EditScrollView') await waitThenTapButton('submitButton') /* - * View <%= entityNameCapitalized %> - validate the creation + * View <%= entity.entityNameCapitalized %> - validate the creation */ - await waitForElementToBeVisibleById('<%= entityInstance %>DetailScrollView'); - <%_ fields.filter(field => !field.id).forEach((field, index) => { _%> + await waitForElementToBeVisibleById('<%= entity.entityInstance %>DetailScrollView'); + <%_ entity.fields.filter(field => !field.id).forEach((field, index) => { _%> <%_ let formFieldType = getEntityFormFieldType(field); _%> // <%= field.fieldName %> - await scrollTo('<%= field.fieldName %>', '<%= entityInstance %>DetailScrollView') + await scrollTo('<%= field.fieldName %>', '<%= entity.entityInstance %>DetailScrollView') <%_ if (formFieldType === 'text') { _%> <%_ if (field.fieldType === 'byte[]') { _%> <%_ if (field.fieldTypeBlobContent !== 'text') { _%> @@ -149,15 +149,15 @@ describe.skip('<%= entityNameCapitalized %> Screen Tests', () => { <%_ }) _%> /* - * Update <%= entityNameCapitalized %> + * Update <%= entity.entityNameCapitalized %> */ - await scrollTo('<%= entityInstance %>EditButton', '<%= entityInstance %>DetailScrollView') - await tapFirstElementByLabel('<%= entityNameCapitalized %> Edit Button'); - await waitForElementToBeVisibleById('<%= entityInstance %>EditScrollView'); - <%_ fields.filter(field => !field.id).forEach((field, index) => { _%> + await scrollTo('<%= entity.entityInstance %>EditButton', '<%= entity.entityInstance %>DetailScrollView') + await tapFirstElementByLabel('<%= entity.entityNameCapitalized %> Edit Button'); + await waitForElementToBeVisibleById('<%= entity.entityInstance %>EditScrollView'); + <%_ entity.fields.filter(field => !field.id).forEach((field, index) => { _%> <%_ let formFieldType = getEntityFormFieldType(field); _%> // <%= field.fieldName %> - await scrollTo('<%= field.fieldName %>Input', '<%= entityInstance %>EditScrollView') + await scrollTo('<%= field.fieldName %>Input', '<%= entity.entityInstance %>EditScrollView') <%_ if (formFieldType === 'text') { _%> <%_ if (field.fieldType === 'byte[]') { _%> <%_ if (field.fieldTypeBlobContent !== 'text') { _%> @@ -190,17 +190,17 @@ describe.skip('<%= entityNameCapitalized %> Screen Tests', () => { <%_ } _%> <%_ }) _%> // save - await scrollTo('submitButton', '<%= entityInstance %>EditScrollView') + await scrollTo('submitButton', '<%= entity.entityInstance %>EditScrollView') await waitThenTapButton('submitButton') /* - * View <%= entityNameCapitalized %> - validate the update + * View <%= entity.entityNameCapitalized %> - validate the update */ - await waitForElementToBeVisibleById('<%= entityInstance %>DetailScrollView'); - <%_ fields.filter(field => !field.id).forEach((field, index) => { _%> + await waitForElementToBeVisibleById('<%= entity.entityInstance %>DetailScrollView'); + <%_ entity.fields.filter(field => !field.id).forEach((field, index) => { _%> <%_ let formFieldType = getEntityFormFieldType(field); _%> // <%= field.fieldName %> - await scrollTo('<%= field.fieldName %>', '<%= entityInstance %>DetailScrollView') + await scrollTo('<%= field.fieldName %>', '<%= entity.entityInstance %>DetailScrollView') <%_ if (formFieldType === 'text') { _%> <%_ if (field.fieldType === 'byte[]') { _%> <%_ if (field.fieldTypeBlobContent !== 'text') { _%> @@ -231,11 +231,11 @@ describe.skip('<%= entityNameCapitalized %> Screen Tests', () => { /* * Delete */ - await scrollTo('<%= entityInstance %>DeleteButton', '<%= entityInstance %>DetailScrollView') - await waitThenTapButton('<%= entityInstance %>DeleteButton'); - await waitForElementToBeVisibleById('<%= entityInstance %>DeleteModal'); + await scrollTo('<%= entity.entityInstance %>DeleteButton', '<%= entity.entityInstance %>DetailScrollView') + await waitThenTapButton('<%= entity.entityInstance %>DeleteButton'); + await waitForElementToBeVisibleById('<%= entity.entityInstance %>DeleteModal'); await waitThenTapButton('deleteButton') - await waitForElementToBeVisibleById('<%= entityInstance %>Screen'); + await waitForElementToBeVisibleById('<%= entity.entityInstance %>Screen'); /* * Logout diff --git a/generators/react-native/templates/app/modules/entities/entity-edit-screen.js.ejs b/generators/react-native/templates/app/modules/entities/entity-edit-screen.js.ejs index 2b64f302a..8ed668f12 100644 --- a/generators/react-native/templates/app/modules/entities/entity-edit-screen.js.ejs +++ b/generators/react-native/templates/app/modules/entities/entity-edit-screen.js.ejs @@ -1,13 +1,13 @@ import React, { createRef } from 'react'; import { ActivityIndicator, Text, View } from 'react-native'; import { connect } from 'react-redux' -<%_ if (validation) { _%> +<%_ if (entity.validation) { _%> import * as Yup from 'yup'; <%_ } _%> -import <%= entityNameCapitalized %>Actions from './<%= entityFileName %>.reducer' +import <%= entity.entityNameCapitalized %>Actions from './<%= entity.entityFileName %>.reducer' <%_ /* differentRelationships.filter(relation => relation.ownerSide).filter(relation => relation.otherEntityName !== camelCaseName).forEach((relation) => { */ _%> -<%_ uniqueOwnerSideRelationships.filter(relation => relation.otherEntityName !== entityInstance).forEach((relation) => { _%> +<%_ uniqueOwnerSideRelationships.filter(relation => relation.otherEntityName !== entity.entityInstance).forEach((relation) => { _%> <%_ if (relation.otherEntityName === 'user') { _%> import UserActions from '../../../shared/reducers/user.reducer' <%_ } else { _%> @@ -19,12 +19,12 @@ import FormButton from '../../../shared/components/form/jhi-form-button'; import FormField from '../../../shared/components/form/jhi-form-field'; import Form from '../../../shared/components/form/jhi-form'; import { useDidUpdateEffect } from '../../../shared/util/use-did-update-effect'; -import styles from './<%= entityFileName %>-styles' +import styles from './<%= entity.entityFileName %>-styles' -<%_ if (validation) { // start of validation if statement _%> +<%_ if (entity.validation) { // start of validation if statement _%> // set up validation schema for the form const validationSchema = Yup.object().shape({ - <%_ fields.filter(field => !field.id).forEach((field) => { // start of fields loop + <%_ entity.fields.filter(field => !field.id).forEach((field) => { // start of entity.fields loop if (field.fieldValidate) { // start of fieldValidate if statement_%> <%= field.fieldName %>: Yup.<%= getFieldValidateType(field.fieldType) %>() <%_field.fieldValidateRules.forEach((rule, index) => { // start of fieldValidateRules loop _%> @@ -44,8 +44,8 @@ const validationSchema = Yup.object().shape({ <%_ }) // end of fieldValidateRules loop _%> , <%_ } // end of fieldValidate if statement _%> - <%_ }) // end of fields loop _%> - <%_ relationships.filter(relation => relation.ownerSide).forEach((relation) => { // start of relationships loop + <%_ }) // end of entity.fields loop _%> + <%_ entity.relationships.filter(relation => relation.ownerSide).forEach((relation) => { // start of relationships loop if (relation.relationshipRequired) { // start of relationshipRequired if statement_%> <%= relation.relationshipName %>: Yup.mixed().required(), <%_ } // end of relationshipValidate if statement _%> @@ -53,7 +53,7 @@ const validationSchema = Yup.object().shape({ }); <%_ } // end of validation if statement _%> -<%_ fields.filter(field => !field.id).forEach((field) => { +<%_ entity.fields.filter(field => !field.id).forEach((field) => { if (field.fieldIsEnum) { _%> const <%= field.fieldType %> = [ <%_ @@ -69,12 +69,12 @@ _%> <%_ } // end of if statement }) // end of field loop _%> -function <%= entityNameCapitalized %>EditScreen(props) { +function <%= entity.entityNameCapitalized %>EditScreen(props) { const { - get<%= entityNameCapitalized %>, - update<%= entityNameCapitalized %>, + get<%= entity.entityNameCapitalized %>, + update<%= entity.entityNameCapitalized %>, route, - <%= entityInstance %>, + <%= entity.entityInstance %>, fetching, updating, errorUpdating, @@ -94,19 +94,19 @@ function <%= entityNameCapitalized %>EditScreen(props) { React.useEffect(() => { if (!isNewEntity) { - get<%= entityNameCapitalized %>(route.params.entityId); + get<%= entity.entityNameCapitalized %>(route.params.entityId); } else { reset(); } - }, [isNewEntity, get<%= entityNameCapitalized %>, route, reset]); + }, [isNewEntity, get<%= entity.entityNameCapitalized %>, route, reset]); React.useEffect(() => { if (isNewEntity) { setFormValue(entityToFormValue({})); } else if (!fetching) { - setFormValue(entityToFormValue(<%= entityInstance %>)); + setFormValue(entityToFormValue(<%= entity.entityInstance %>)); } - }, [<%= entityInstance %>, fetching, isNewEntity]); + }, [<%= entity.entityInstance %>, fetching, isNewEntity]); // fetch related entities React.useEffect(() => { @@ -125,13 +125,13 @@ function <%= entityNameCapitalized %>EditScreen(props) { setError(errorUpdating && errorUpdating.detail ? errorUpdating.detail : 'Something went wrong updating the entity'); } else if (updateSuccess) { setError(''); - isNewEntity || !navigation.canGoBack() ? navigation.replace('<%= entityNameCapitalized %>Detail', { entityId: <%= entityInstance %>?.id }) : navigation.pop(); + isNewEntity || !navigation.canGoBack() ? navigation.replace('<%= entity.entityNameCapitalized %>Detail', { entityId: <%= entity.entityInstance %>?.id }) : navigation.pop(); } } }, [updateSuccess, errorUpdating, navigation]); -const onSubmit = (data) => update<%= entityNameCapitalized %>(formValueToEntity(data)); +const onSubmit = (data) => update<%= entity.entityNameCapitalized %>(formValueToEntity(data)); if (fetching) { return ( @@ -142,13 +142,13 @@ const onSubmit = (data) => update<%= entityNameCapitalized %>(formValueToEntity( } const formRef = createRef(); - <%_ fields.filter(field => !field.id).forEach((field, index) => { _%> + <%_ entity.fields.filter(field => !field.id).forEach((field, index) => { _%> const <%= field.fieldName %>Ref = createRef(); <%_ if (field.fieldType === 'byte[]' && field.fieldTypeBlobContent !== 'text') { _%> const <%= field.fieldName %>ContentTypeRef = createRef(); <%_ } _%> <%_ }) _%> - <%_ relationships.filter(relation => relation.ownerSide).forEach((relation, index) => { _%> + <%_ entity.relationships.filter(relation => relation.ownerSide).forEach((relation, index) => { _%> <%_ if (relation.relationshipType === 'many-to-many') { _%> const <%= relation.relationshipNamePlural %>Ref = createRef(); <%_ } else { _%> @@ -160,24 +160,24 @@ const onSubmit = (data) => update<%= entityNameCapitalized %>(formValueToEntity( {!!error && {error}} {formValue && ( - validationSchema={validationSchema} <%_ } _%>onSubmit={onSubmit} ref={formRef}> - <%_ fields.filter(field => !field.id).forEach((field, index) => { _%> + validationSchema={validationSchema} <%_ } _%>onSubmit={onSubmit} ref={formRef}> + <%_ entity.fields.filter(field => !field.id).forEach((field, index) => { _%> <%_ let nextField = null; - if (index !== fields.filter(field => !field.id).length - 1) { - nextField = fields.filter(field => !field.id)[index + 1]; + if (index !== entity.fields.filter(field => !field.id).length - 1) { + nextField = entity.fields.filter(field => !field.id)[index + 1]; } - const formField = getEntityFormField(field, nextField, relationships.filter(relation => relation.ownerSide).length); + const formField = getEntityFormField(field, nextField, entity.relationships.filter(relation => relation.ownerSide).length); _%> <%- formField %> <%_ }) _%> - <%_ relationships.filter(relation => relation.ownerSide).forEach((relation, index) => { _%> + <%_ entity.relationships.filter(relation => relation.ownerSide).forEach((relation, index) => { _%> <%_ const formField = getRelationshipFormField(relation); _%> <%- formField %> <%_ }) _%> @@ -197,14 +197,14 @@ const entityToFormValue = (value) => { } return { id: value.id ?? null, - <%_ fields.filter(field => !field.id).forEach((field, index) => { _%> + <%_ entity.fields.filter(field => !field.id).forEach((field, index) => { _%> <%= field.fieldName %>: value.<%= field.fieldName %> ?? null, <%_ if (field.fieldType === 'byte[]' && field.fieldTypeBlobContent !== 'text') { _%> <%= field.fieldName %>ContentType: value.<%= field.fieldName %>ContentType ?? null, <%_ } _%> <%_ }) _%> - <%_ relationships.filter(relation => relation.ownerSide).forEach((relation, index) => { _%> - <%_ if (dto === 'no' || !useOldDTOCode) { _%> + <%_ entity.relationships.filter(relation => relation.ownerSide).forEach((relation, index) => { _%> + <%_ if (entity.dto === 'no' || !useOldDTOCode) { _%> <%_ if (relation.relationshipType === 'many-to-many') { _%> <%= relation.relationshipNamePlural %>: value.<%= relation.relationshipNamePlural %>?.map((i) => i.id), <%_ } else { _%> @@ -223,7 +223,7 @@ const entityToFormValue = (value) => { const formValueToEntity = (value) => { const entity = { id: value.id ?? null, - <%_ fields.filter(field => !field.id).forEach((field, index) => { _%> + <%_ entity.fields.filter(field => !field.id).forEach((field, index) => { _%> <%_ if (field.fieldType === 'Boolean') { _%> <%= field.fieldName %>: value.<%= field.fieldName %> === null ? false : Boolean(value.<%= field.fieldName %>), <%_ } else { _%> @@ -233,7 +233,7 @@ const formValueToEntity = (value) => { <%= field.fieldName %>ContentType: value.<%= field.fieldName %>ContentType ?? null, <%_ } _%> <%_ }) _%> - <%_ relationships.filter(relation => relation.ownerSide).forEach((relation, index) => { _%> + <%_ entity.relationships.filter(relation => relation.ownerSide).forEach((relation, index) => { _%> <%_ if (useOldDTOCode) { _%> <%_ if (relation.relationshipType === 'many-to-many') { _%> <%= relation.relationshipNamePlural %>: value.<%= relation.relationshipNamePlural %>.map((i) => ({ id: i })), @@ -243,8 +243,8 @@ const formValueToEntity = (value) => { <%_ } _%> <%_ }) _%> } - <%_ relationships.filter(relation => relation.ownerSide).forEach((relation, index) => { _%> - <%_ if (dto === 'no' || !useOldDTOCode) { _%> + <%_ entity.relationships.filter(relation => relation.ownerSide).forEach((relation, index) => { _%> + <%_ if (entity.dto === 'no' || !useOldDTOCode) { _%> <%_ if (relation.relationshipType === 'many-to-many') { _%> entity.<%= relation.relationshipNamePlural %> = value.<%= relation.relationshipNamePlural %>.map((id) => ({ id })); <%_ } else { _%> @@ -261,25 +261,25 @@ const mapStateToProps = (state) => { <%_ uniqueOwnerSideRelationships.forEach((relation) => { _%> <%= relation.otherEntityName %>List: state.<%= relation.otherEntityNamePlural %>.<%= relation.otherEntityName %>List ?? [], <%_ }) _%> - <%= entityInstance %>: state.<%= entityInstancePlural %>.<%= entityInstance %>, - fetching: state.<%= entityInstancePlural %>.fetchingOne, - updating: state.<%= entityInstancePlural %>.updating, - updateSuccess: state.<%= entityInstancePlural %>.updateSuccess, - errorUpdating: state.<%= entityInstancePlural %>.errorUpdating + <%= entity.entityInstance %>: state.<%= entity.entityInstancePlural %>.<%= entity.entityInstance %>, + fetching: state.<%= entity.entityInstancePlural %>.fetchingOne, + updating: state.<%= entity.entityInstancePlural %>.updating, + updateSuccess: state.<%= entity.entityInstancePlural %>.updateSuccess, + errorUpdating: state.<%= entity.entityInstancePlural %>.errorUpdating } } const mapDispatchToProps = (dispatch) => { return { <%_ /* differentRelationships.filter(relation => relation.ownerSide).filter(relation => relation.otherEntityName !== camelCaseName).forEach((relation) => { */ _%> - <%_ uniqueOwnerSideRelationships.filter(relation => relation.otherEntityName !== entityInstance).forEach((relation) => { _%> + <%_ uniqueOwnerSideRelationships.filter(relation => relation.otherEntityName !== entity.entityInstance).forEach((relation) => { _%> getAll<%= relation.otherEntityNameCapitalizedPlural %>: (options) => dispatch(<%= relation.otherEntityNameCapitalized %>Actions.<%= relation.otherEntityName %>AllRequest(options)), <%_ }) _%> - get<%= entityNameCapitalized %>: (id) => dispatch(<%= entityNameCapitalized %>Actions.<%= entityInstance %>Request(id)), - getAll<%= entityNamePlural %>: (options) => dispatch(<%= entityNameCapitalized %>Actions.<%= entityInstance %>AllRequest(options)), - update<%= entityNameCapitalized %>: (<%= entityInstance %>) => dispatch(<%= entityNameCapitalized %>Actions.<%= entityInstance %>UpdateRequest(<%= entityInstance %>)), - reset: () => dispatch(<%= entityNameCapitalized %>Actions.<%= entityInstance %>Reset()), + get<%= entity.entityNameCapitalized %>: (id) => dispatch(<%= entity.entityNameCapitalized %>Actions.<%= entity.entityInstance %>Request(id)), + getAll<%= entity.entityNamePlural %>: (options) => dispatch(<%= entity.entityNameCapitalized %>Actions.<%= entity.entityInstance %>AllRequest(options)), + update<%= entity.entityNameCapitalized %>: (<%= entity.entityInstance %>) => dispatch(<%= entity.entityNameCapitalized %>Actions.<%= entity.entityInstance %>UpdateRequest(<%= entity.entityInstance %>)), + reset: () => dispatch(<%= entity.entityNameCapitalized %>Actions.<%= entity.entityInstance %>Reset()), } } -export default connect(mapStateToProps, mapDispatchToProps)(<%= entityNameCapitalized %>EditScreen) +export default connect(mapStateToProps, mapDispatchToProps)(<%= entity.entityNameCapitalized %>EditScreen) diff --git a/generators/react-native/templates/app/modules/entities/entity-flatlist.js.ejs b/generators/react-native/templates/app/modules/entities/entity-flatlist.js.ejs index 3d282be78..d7eafacdc 100644 --- a/generators/react-native/templates/app/modules/entities/entity-flatlist.js.ejs +++ b/generators/react-native/templates/app/modules/entities/entity-flatlist.js.ejs @@ -2,35 +2,35 @@ import React from 'react' import { FlatList, Text, TouchableOpacity, View } from 'react-native' import { connect } from 'react-redux' import { useFocusEffect } from '@react-navigation/native'; -<%_ if (searchEngineAny) { _%> +<%_ if (entity.searchEngineAny) { _%> import SearchBar from '../../../shared/components/search-bar/search-bar' <%_ } _%> -import <%= entityNameCapitalized %>Actions from './<%= entityFileName %>.reducer' -import styles from './<%= entityFileName %>-styles' +import <%= entity.entityNameCapitalized %>Actions from './<%= entity.entityFileName %>.reducer' +import styles from './<%= entity.entityFileName %>-styles' import AlertMessage from '../../../shared/components/alert-message/alert-message' -function <%= entityNameCapitalized %>Screen(props) { +function <%= entity.entityNameCapitalized %>Screen(props) { const [page, setPage] = React.useState(0); const [sort /*, setSort*/] = React.useState('id,asc'); const [size /*, setSize*/] = React.useState(20); - <%_ if (searchEngineAny) { _%> + <%_ if (entity.searchEngineAny) { _%> const [searchTerm, setSearchTerm] = React.useState(''); <%_ } _%> - const { <%= entityInstance %>, <%= entityInstance %>List, getAll<%= entityNamePlural %>, fetching } = props; + const { <%= entity.entityInstance %>, <%= entity.entityInstance %>List, getAll<%= entity.entityNamePlural %>, fetching } = props; useFocusEffect( React.useCallback(() => { - console.debug('<%= entityNameCapitalized %> entity changed and the list screen is now in focus, refresh'); + console.debug('<%= entity.entityNameCapitalized %> entity changed and the list screen is now in focus, refresh'); setPage(0); - fetch<%= entityNamePlural %>(); + fetch<%= entity.entityNamePlural %>(); /* eslint-disable-next-line react-hooks/exhaustive-deps */ - }, [<%= entityInstance %>, fetch<%= entityNamePlural %>]), + }, [<%= entity.entityInstance %>, fetch<%= entity.entityNamePlural %>]), ); const renderRow = ({ item }) => { return ( - props.navigation.navigate('<%= entityNameCapitalized %>Detail', { entityId: item.id })}> + props.navigation.navigate('<%= entity.entityNameCapitalized %>Detail', { entityId: item.id })}> ID: {item.id} {/* {item.description} */} @@ -40,24 +40,24 @@ function <%= entityNameCapitalized %>Screen(props) { } // Render a header - <%_ if (searchEngineAny) { _%> + <%_ if (entity.searchEngineAny) { _%> const renderHeader = () => <%_ } _%> // Show this when data is empty const renderEmpty = () => - + const keyExtractor = (item, index) => `${index}` // How many items should be kept im memory as we scroll? const oneScreensWorth = 20 - <%_ if (searchEngineAny) { _%> + <%_ if (entity.searchEngineAny) { _%> const cancelSearch = () => { setSearchTerm('') - fetch<%= entityNamePlural %>() + fetch<%= entity.entityNamePlural %>() } const performSearch = (query) => { @@ -69,33 +69,33 @@ function <%= entityNameCapitalized %>Screen(props) { props.performSearch(query) } <%_ } _%> - const fetch<%= entityNamePlural %> = React.useCallback(() => { - getAll<%= entityNamePlural %>({ page: page - 1, sort, size }); - }, [getAll<%= entityNamePlural %>, page, sort, size]); + const fetch<%= entity.entityNamePlural %> = React.useCallback(() => { + getAll<%= entity.entityNamePlural %>({ page: page - 1, sort, size }); + }, [getAll<%= entity.entityNamePlural %>, page, sort, size]); const handleLoadMore = () => { - <%_ if (pagination === 'no') { _%> - if (<%= entityInstance %>List.length) { + <%_ if (entity.pagination === 'no') { _%> + if (<%= entity.entityInstance %>List.length) { <%_ } else { _%> if (page < props.links.next || props.links.next === undefined || fetching) { <%_ } _%> return } setPage(page + 1) - fetch<%= entityNamePlural %>() + fetch<%= entity.entityNamePlural %>() } return ( - + List} + data={<%= entity.entityInstance %>List} renderItem={renderRow} keyExtractor={keyExtractor} initialNumToRender={oneScreensWorth} onEndReached={handleLoadMore} ListEmptyComponent={renderEmpty} - <%_ if (searchEngineAny) { _%> + <%_ if (entity.searchEngineAny) { _%> ListHeaderComponent={renderHeader} <%_ } _%> /> @@ -106,23 +106,23 @@ function <%= entityNameCapitalized %>Screen(props) { const mapStateToProps = (state) => { return { // ...redux state to props here - <%= entityInstance %>List: state.<%= entityInstancePlural %>.<%= entityInstance %>List, - <%= entityInstance %>: state.<%= entityInstancePlural %>.<%= entityInstance %>, - fetching: state.<%= entityInstancePlural %>.fetchingAll, - error: state.<%= entityInstancePlural %>.errorAll, - <%_ if (pagination !== 'no') { _%> - links: state.<%= entityInstancePlural %>.links, + <%= entity.entityInstance %>List: state.<%= entity.entityInstancePlural %>.<%= entity.entityInstance %>List, + <%= entity.entityInstance %>: state.<%= entity.entityInstancePlural %>.<%= entity.entityInstance %>, + fetching: state.<%= entity.entityInstancePlural %>.fetchingAll, + error: state.<%= entity.entityInstancePlural %>.errorAll, + <%_ if (entity.pagination !== 'no') { _%> + links: state.<%= entity.entityInstancePlural %>.links, <%_ } _%> } } const mapDispatchToProps = (dispatch) => { return { - <%_ if (searchEngineAny) { _%> - performSearch: (query) => dispatch(<%= entityNameCapitalized %>Actions.<%= entityInstance %>SearchRequest(query)), + <%_ if (entity.searchEngineAny) { _%> + performSearch: (query) => dispatch(<%= entity.entityNameCapitalized %>Actions.<%= entity.entityInstance %>SearchRequest(query)), <%_ } _%> - getAll<%= entityNamePlural %>: (options) => dispatch(<%= entityNameCapitalized %>Actions.<%= entityInstance %>AllRequest(options)) + getAll<%= entity.entityNamePlural %>: (options) => dispatch(<%= entity.entityNameCapitalized %>Actions.<%= entity.entityInstance %>AllRequest(options)) } } -export default connect(mapStateToProps, mapDispatchToProps)(<%= entityNameCapitalized %>Screen) +export default connect(mapStateToProps, mapDispatchToProps)(<%= entity.entityNameCapitalized %>Screen) diff --git a/generators/react-native/templates/app/modules/entities/entity-reducer.js.ejs b/generators/react-native/templates/app/modules/entities/entity-reducer.js.ejs index c78c14a8e..aaf220791 100644 --- a/generators/react-native/templates/app/modules/entities/entity-reducer.js.ejs +++ b/generators/react-native/templates/app/modules/entities/entity-reducer.js.ejs @@ -1,6 +1,6 @@ import { createReducer, createActions } from 'reduxsauce' import Immutable from 'seamless-immutable' -<%_ if (pagination !== 'no') { _%> +<%_ if (entity.pagination !== 'no') { _%> import { loadMoreDataWhenScrolled } from '../../../shared/util/pagination-utils' import { parseHeaderForLinks } from '../../../shared/util/url-utils' <%_ } _%> @@ -8,34 +8,34 @@ import { parseHeaderForLinks } from '../../../shared/util/url-utils' /* ------------- Types and Action Creators ------------- */ const { Types, Creators } = createActions({ - <%= entityInstance %>Request: ['<%= entityInstance %>Id'], - <%= entityInstance %>AllRequest: ['options'], - <%= entityInstance %>UpdateRequest: ['<%= entityInstance %>'], - <%_ if (searchEngineAny) { _%> - <%= entityInstance %>SearchRequest: ['query'], + <%= entity.entityInstance %>Request: ['<%= entity.entityInstance %>Id'], + <%= entity.entityInstance %>AllRequest: ['options'], + <%= entity.entityInstance %>UpdateRequest: ['<%= entity.entityInstance %>'], + <%_ if (entity.searchEngineAny) { _%> + <%= entity.entityInstance %>SearchRequest: ['query'], <%_ } _%> - <%= entityInstance %>DeleteRequest: ['<%= entityInstance %>Id'], + <%= entity.entityInstance %>DeleteRequest: ['<%= entity.entityInstance %>Id'], - <%= entityInstance %>Success: ['<%= entityInstance %>'], - <%= entityInstance %>AllSuccess: ['<%= entityInstance %>List', 'headers'], - <%= entityInstance %>UpdateSuccess: ['<%= entityInstance %>'], - <%_ if (searchEngineAny) { _%> - <%= entityInstance %>SearchSuccess: ['<%= entityInstance %>List'], + <%= entity.entityInstance %>Success: ['<%= entity.entityInstance %>'], + <%= entity.entityInstance %>AllSuccess: ['<%= entity.entityInstance %>List', 'headers'], + <%= entity.entityInstance %>UpdateSuccess: ['<%= entity.entityInstance %>'], + <%_ if (entity.searchEngineAny) { _%> + <%= entity.entityInstance %>SearchSuccess: ['<%= entity.entityInstance %>List'], <%_ } _%> - <%= entityInstance %>DeleteSuccess: [], + <%= entity.entityInstance %>DeleteSuccess: [], - <%= entityInstance %>Failure: ['error'], - <%= entityInstance %>AllFailure: ['error'], - <%= entityInstance %>UpdateFailure: ['error'], - <%_ if (searchEngineAny) { _%> - <%= entityInstance %>SearchFailure: ['error'], + <%= entity.entityInstance %>Failure: ['error'], + <%= entity.entityInstance %>AllFailure: ['error'], + <%= entity.entityInstance %>UpdateFailure: ['error'], + <%_ if (entity.searchEngineAny) { _%> + <%= entity.entityInstance %>SearchFailure: ['error'], <%_ } _%> - <%= entityInstance %>DeleteFailure: ['error'], + <%= entity.entityInstance %>DeleteFailure: ['error'], - <%= entityInstance %>Reset: [] + <%= entity.entityInstance %>Reset: [] }) -export const <%= entityNameCapitalized %>Types = Types +export const <%= entity.entityNameCapitalized %>Types = Types export default Creators /* ------------- Initial State ------------- */ @@ -44,21 +44,21 @@ export const INITIAL_STATE = Immutable({ fetchingOne: false, fetchingAll: false, updating: false, - <%_ if (searchEngineAny) { _%> + <%_ if (entity.searchEngineAny) { _%> searching: false, <%_ } _%> deleting: false, updateSuccess: false, - <%= entityInstance %>: {id: undefined}, - <%= entityInstance %>List: [], + <%= entity.entityInstance %>: {id: undefined}, + <%= entity.entityInstance %>List: [], errorOne: null, errorAll: null, errorUpdating: null, - <%_ if (searchEngineAny) { _%> + <%_ if (entity.searchEngineAny) { _%> errorSearching: null, <%_ } _%> errorDeleting: null, - <%_ if (pagination !== 'no') { _%> + <%_ if (entity.pagination !== 'no') { _%> links: { next: 0 }, totalItems: 0, <%_ } _%> @@ -71,7 +71,7 @@ export const request = (state) => state.merge({ fetchingOne: true, errorOne: false, - <%= entityInstance %>: INITIAL_STATE.<%= entityInstance %> + <%= entity.entityInstance %>: INITIAL_STATE.<%= entity.entityInstance %> }) // request the data from an api @@ -87,7 +87,7 @@ export const updateRequest = (state) => updateSuccess: false, updating: true }) -<%_ if (searchEngineAny) { _%> +<%_ if (entity.searchEngineAny) { _%> // request to search from an api export const searchRequest = (state) => state.merge({ @@ -102,49 +102,49 @@ export const deleteRequest = (state) => // successful api lookup for single entity export const success = (state, action) => { - const { <%= entityInstance %> } = action + const { <%= entity.entityInstance %> } = action return state.merge({ fetchingOne: false, errorOne: null, - <%= entityInstance %> + <%= entity.entityInstance %> }) } // successful api lookup for all entities export const allSuccess = (state, action) => { - const { <%= entityInstance %>List<%_ if (pagination !== 'no') { _%>, headers<%_ } _%> } = action - <%_ if (pagination !== 'no') { _%> + const { <%= entity.entityInstance %>List<%_ if (entity.pagination !== 'no') { _%>, headers<%_ } _%> } = action + <%_ if (entity.pagination !== 'no') { _%> const links = parseHeaderForLinks(headers.link) <%_ } _%> return state.merge({ fetchingAll: false, errorAll: null, - <%_ if (pagination !== 'no') { _%> + <%_ if (entity.pagination !== 'no') { _%> links, totalItems: parseInt(headers['x-total-count'], 10), - <%= entityInstance %>List: loadMoreDataWhenScrolled(state.<%= entityInstance %>List, <%= entityInstance %>List, links), + <%= entity.entityInstance %>List: loadMoreDataWhenScrolled(state.<%= entity.entityInstance %>List, <%= entity.entityInstance %>List, links), <%_ } else { _%> - <%= entityInstance %>List + <%= entity.entityInstance %>List <%_ } _%> }) } // successful api update export const updateSuccess = (state, action) => { - const { <%= entityInstance %> } = action + const { <%= entity.entityInstance %> } = action return state.merge({ updateSuccess: true, updating: false, errorUpdating: null, - <%= entityInstance %> + <%= entity.entityInstance %> }) } -<%_ if (searchEngineAny) { _%> +<%_ if (entity.searchEngineAny) { _%> // successful api search export const searchSuccess = (state, action) => { - const { <%= entityInstance %>List } = action + const { <%= entity.entityInstance %>List } = action return state.merge({ searching: false, errorSearching: null, - <%= entityInstance %>List + <%= entity.entityInstance %>List }) } <%_ } _%> @@ -153,7 +153,7 @@ export const deleteSuccess = (state) => { return state.merge({ deleting: false, errorDeleting: null, - <%= entityInstance %>: INITIAL_STATE.<%= entityInstance %> + <%= entity.entityInstance %>: INITIAL_STATE.<%= entity.entityInstance %> }) } @@ -163,7 +163,7 @@ export const failure = (state, action) => { return state.merge({ fetchingOne: false, errorOne: error, - <%= entityInstance %>: INITIAL_STATE.<%= entityInstance %> + <%= entity.entityInstance %>: INITIAL_STATE.<%= entity.entityInstance %> }) } // Something went wrong fetching all entities. @@ -172,7 +172,7 @@ export const allFailure = (state, action) => { return state.merge({ fetchingAll: false, errorAll: error, - <%= entityInstance %>List: [] + <%= entity.entityInstance %>List: [] }) } // Something went wrong updating. @@ -182,7 +182,7 @@ export const updateFailure = (state, action) => { updateSuccess: false, updating: false, errorUpdating: error, - <%= entityInstance %>: state.<%= entityInstance %> + <%= entity.entityInstance %>: state.<%= entity.entityInstance %> }) } // Something went wrong deleting. @@ -191,17 +191,17 @@ export const deleteFailure = (state, action) => { return state.merge({ deleting: false, errorDeleting: error, - <%= entityInstance %>: state.<%= entityInstance %> + <%= entity.entityInstance %>: state.<%= entity.entityInstance %> }) } -<%_ if (searchEngineAny) { _%> +<%_ if (entity.searchEngineAny) { _%> // Something went wrong searching the entities. export const searchFailure = (state, action) => { const { error } = action return state.merge({ searching: false, errorSearching: error, - <%= entityInstance %>List: [] + <%= entity.entityInstance %>List: [] }) } <%_ } _%> @@ -214,7 +214,7 @@ export const reducer = createReducer(INITIAL_STATE, { [Types.<%= entityNameSnakeCase.toUpperCase() %>_REQUEST]: request, [Types.<%= entityNameSnakeCase.toUpperCase() %>_ALL_REQUEST]: allRequest, [Types.<%= entityNameSnakeCase.toUpperCase() %>_UPDATE_REQUEST]: updateRequest, - <%_ if (searchEngineAny) { _%> + <%_ if (entity.searchEngineAny) { _%> [Types.<%= entityNameSnakeCase.toUpperCase() %>_SEARCH_REQUEST]: searchRequest, <%_ } _%> [Types.<%= entityNameSnakeCase.toUpperCase() %>_DELETE_REQUEST]: deleteRequest, @@ -222,7 +222,7 @@ export const reducer = createReducer(INITIAL_STATE, { [Types.<%= entityNameSnakeCase.toUpperCase() %>_SUCCESS]: success, [Types.<%= entityNameSnakeCase.toUpperCase() %>_ALL_SUCCESS]: allSuccess, [Types.<%= entityNameSnakeCase.toUpperCase() %>_UPDATE_SUCCESS]: updateSuccess, - <%_ if (searchEngineAny) { _%> + <%_ if (entity.searchEngineAny) { _%> [Types.<%= entityNameSnakeCase.toUpperCase() %>_SEARCH_SUCCESS]: searchSuccess, <%_ } _%> [Types.<%= entityNameSnakeCase.toUpperCase() %>_DELETE_SUCCESS]: deleteSuccess, @@ -230,7 +230,7 @@ export const reducer = createReducer(INITIAL_STATE, { [Types.<%= entityNameSnakeCase.toUpperCase() %>_FAILURE]: failure, [Types.<%= entityNameSnakeCase.toUpperCase() %>_ALL_FAILURE]: allFailure, [Types.<%= entityNameSnakeCase.toUpperCase() %>_UPDATE_FAILURE]: updateFailure, - <%_ if (searchEngineAny) { _%> + <%_ if (entity.searchEngineAny) { _%> [Types.<%= entityNameSnakeCase.toUpperCase() %>_SEARCH_FAILURE]: searchFailure, <%_ } _%> [Types.<%= entityNameSnakeCase.toUpperCase() %>_DELETE_FAILURE]: deleteFailure, diff --git a/generators/react-native/templates/app/modules/entities/entity-reducer.spec.js.ejs b/generators/react-native/templates/app/modules/entities/entity-reducer.spec.js.ejs index cffdf6d61..59198f442 100644 --- a/generators/react-native/templates/app/modules/entities/entity-reducer.spec.js.ejs +++ b/generators/react-native/templates/app/modules/entities/entity-reducer.spec.js.ejs @@ -1,129 +1,129 @@ -import Actions, { reducer, INITIAL_STATE } from '../../../../../app/modules/entities/<%= entityFileName %>/<%= entityFileName %>.reducer' +import Actions, { reducer, INITIAL_STATE } from '../../../../../app/modules/entities/<%= entity.entityFileName %>/<%= entity.entityFileName %>.reducer' -test('attempt retrieving a single <%= entityInstance %>', () => { - const state = reducer(INITIAL_STATE, Actions.<%= entityInstance %>Request({ id: 1 })) +test('attempt retrieving a single <%= entity.entityInstance %>', () => { + const state = reducer(INITIAL_STATE, Actions.<%= entity.entityInstance %>Request({ id: 1 })) expect(state.fetchingOne).toBe(true) - expect(state.<%= entityInstance %>).toEqual({ id: undefined }) + expect(state.<%= entity.entityInstance %>).toEqual({ id: undefined }) }) -test('attempt retrieving a list of <%= entityInstance %>', () => { - const state = reducer(INITIAL_STATE, Actions.<%= entityInstance %>AllRequest({ id: 1 })) +test('attempt retrieving a list of <%= entity.entityInstance %>', () => { + const state = reducer(INITIAL_STATE, Actions.<%= entity.entityInstance %>AllRequest({ id: 1 })) expect(state.fetchingAll).toBe(true) - expect(state.<%= entityInstance %>List).toEqual([]) + expect(state.<%= entity.entityInstance %>List).toEqual([]) }) -test('attempt updating a <%= entityInstance %>', () => { - const state = reducer(INITIAL_STATE, Actions.<%= entityInstance %>UpdateRequest({ id: 1 })) +test('attempt updating a <%= entity.entityInstance %>', () => { + const state = reducer(INITIAL_STATE, Actions.<%= entity.entityInstance %>UpdateRequest({ id: 1 })) expect(state.updating).toBe(true) }) -<%_ if (searchEngineAny) { _%> -test('attempt searching a <%= entityInstance %>', () => { - const state = reducer(INITIAL_STATE, Actions.<%= entityInstance %>SearchRequest(1)) +<%_ if (entity.searchEngineAny) { _%> +test('attempt searching a <%= entity.entityInstance %>', () => { + const state = reducer(INITIAL_STATE, Actions.<%= entity.entityInstance %>SearchRequest(1)) expect(state.searching).toBe(true) }) <%_ } _%> -test('attempt to deleting a <%= entityInstance %>', () => { - const state = reducer(INITIAL_STATE, Actions.<%= entityInstance %>DeleteRequest({ id: 1 })) +test('attempt to deleting a <%= entity.entityInstance %>', () => { + const state = reducer(INITIAL_STATE, Actions.<%= entity.entityInstance %>DeleteRequest({ id: 1 })) expect(state.deleting).toBe(true) }) -test('success retrieving a <%= entityInstance %>', () => { - const state = reducer(INITIAL_STATE, Actions.<%= entityInstance %>Success({ id: 1 })) +test('success retrieving a <%= entity.entityInstance %>', () => { + const state = reducer(INITIAL_STATE, Actions.<%= entity.entityInstance %>Success({ id: 1 })) expect(state.fetchingOne).toBe(false) expect(state.errorOne).toBe(null) - expect(state.<%= entityInstance %>).toEqual({ id: 1 }) + expect(state.<%= entity.entityInstance %>).toEqual({ id: 1 }) }) -test('success retrieving a list of <%= entityInstance %>', () => { +test('success retrieving a list of <%= entity.entityInstance %>', () => { const state = reducer( INITIAL_STATE, - <%_ if (pagination === 'no') { _%> - Actions.<%= entityInstance %>AllSuccess([{ id: 1 }, { id: 2 }]), + <%_ if (entity.pagination === 'no') { _%> + Actions.<%= entity.entityInstance %>AllSuccess([{ id: 1 }, { id: 2 }]), <%_ } else { _%> - Actions.<%= entityInstance %>AllSuccess([{ id: 1 }, { id: 2 }], { link: '; rel="last",; rel="first"', 'x-total-count': 5}), + Actions.<%= entity.entityInstance %>AllSuccess([{ id: 1 }, { id: 2 }], { link: '; rel="last",; rel="first"', 'x-total-count': 5}), <%_ } _%> ) expect(state.fetchingAll).toBe(false) expect(state.errorAll).toBe(null) - expect(state.<%= entityInstance %>List).toEqual([{ id: 1 }, { id: 2 }]) - <%_ if (pagination !== 'no') { _%> + expect(state.<%= entity.entityInstance %>List).toEqual([{ id: 1 }, { id: 2 }]) + <%_ if (entity.pagination !== 'no') { _%> expect(state.links).toEqual({ first: 0, last: 1 }) expect(state.totalItems).toEqual(5) <%_ } _%> }) -test('success updating a <%= entityInstance %>', () => { - const state = reducer(INITIAL_STATE, Actions.<%= entityInstance %>UpdateSuccess({ id: 1 })) +test('success updating a <%= entity.entityInstance %>', () => { + const state = reducer(INITIAL_STATE, Actions.<%= entity.entityInstance %>UpdateSuccess({ id: 1 })) expect(state.updating).toBe(false) expect(state.errorUpdating).toBe(null) - expect(state.<%= entityInstance %>).toEqual({ id: 1 }) + expect(state.<%= entity.entityInstance %>).toEqual({ id: 1 }) }) -<%_ if (searchEngineAny) { _%> -test('success searching a <%= entityInstance %>', () => { - const state = reducer(INITIAL_STATE, Actions.<%= entityInstance %>SearchSuccess({ id: 1 })) +<%_ if (entity.searchEngineAny) { _%> +test('success searching a <%= entity.entityInstance %>', () => { + const state = reducer(INITIAL_STATE, Actions.<%= entity.entityInstance %>SearchSuccess({ id: 1 })) expect(state.searching).toBe(false) expect(state.errorSearching).toBe(null) - expect(state.<%= entityInstance %>List).toEqual({ id: 1 }) + expect(state.<%= entity.entityInstance %>List).toEqual({ id: 1 }) }) <%_ } _%> -test('success deleting a <%= entityInstance %>', () => { - const state = reducer(INITIAL_STATE, Actions.<%= entityInstance %>DeleteSuccess()) +test('success deleting a <%= entity.entityInstance %>', () => { + const state = reducer(INITIAL_STATE, Actions.<%= entity.entityInstance %>DeleteSuccess()) expect(state.deleting).toBe(false) expect(state.errorDeleting).toBe(null) - expect(state.<%= entityInstance %>).toEqual({ id: undefined }) + expect(state.<%= entity.entityInstance %>).toEqual({ id: undefined }) }) -test('failure retrieving a <%= entityInstance %>', () => { - const state = reducer(INITIAL_STATE, Actions.<%= entityInstance %>Failure({ error: 'Not found' })) +test('failure retrieving a <%= entity.entityInstance %>', () => { + const state = reducer(INITIAL_STATE, Actions.<%= entity.entityInstance %>Failure({ error: 'Not found' })) expect(state.fetchingOne).toBe(false) expect(state.errorOne).toEqual({ error: 'Not found' }) - expect(state.<%= entityInstance %>).toEqual({ id: undefined }) + expect(state.<%= entity.entityInstance %>).toEqual({ id: undefined }) }) -test('failure retrieving a list of <%= entityInstance %>', () => { - const state = reducer(INITIAL_STATE, Actions.<%= entityInstance %>AllFailure({ error: 'Not found' })) +test('failure retrieving a list of <%= entity.entityInstance %>', () => { + const state = reducer(INITIAL_STATE, Actions.<%= entity.entityInstance %>AllFailure({ error: 'Not found' })) expect(state.fetchingAll).toBe(false) expect(state.errorAll).toEqual({ error: 'Not found' }) - expect(state.<%= entityInstance %>List).toEqual([]) + expect(state.<%= entity.entityInstance %>List).toEqual([]) }) -test('failure updating a <%= entityInstance %>', () => { - const state = reducer(INITIAL_STATE, Actions.<%= entityInstance %>UpdateFailure({ error: 'Not found' })) +test('failure updating a <%= entity.entityInstance %>', () => { + const state = reducer(INITIAL_STATE, Actions.<%= entity.entityInstance %>UpdateFailure({ error: 'Not found' })) expect(state.updating).toBe(false) expect(state.errorUpdating).toEqual({ error: 'Not found' }) - expect(state.<%= entityInstance %>).toEqual(INITIAL_STATE.<%= entityInstance %>) + expect(state.<%= entity.entityInstance %>).toEqual(INITIAL_STATE.<%= entity.entityInstance %>) }) -<%_ if (searchEngineAny) { _%> -test('failure searching a <%= entityInstance %>', () => { - const state = reducer(INITIAL_STATE, Actions.<%= entityInstance %>SearchFailure({ error: 'Not found' })) +<%_ if (entity.searchEngineAny) { _%> +test('failure searching a <%= entity.entityInstance %>', () => { + const state = reducer(INITIAL_STATE, Actions.<%= entity.entityInstance %>SearchFailure({ error: 'Not found' })) expect(state.searching).toBe(false) expect(state.errorSearching).toEqual({ error: 'Not found' }) - expect(state.<%= entityInstance %>List).toEqual([]) + expect(state.<%= entity.entityInstance %>List).toEqual([]) }) <%_ } _%> -test('failure deleting a <%= entityInstance %>', () => { - const state = reducer(INITIAL_STATE, Actions.<%= entityInstance %>DeleteFailure({ error: 'Not found' })) +test('failure deleting a <%= entity.entityInstance %>', () => { + const state = reducer(INITIAL_STATE, Actions.<%= entity.entityInstance %>DeleteFailure({ error: 'Not found' })) expect(state.deleting).toBe(false) expect(state.errorDeleting).toEqual({ error: 'Not found' }) - expect(state.<%= entityInstance %>).toEqual(INITIAL_STATE.<%= entityInstance %>) + expect(state.<%= entity.entityInstance %>).toEqual(INITIAL_STATE.<%= entity.entityInstance %>) }) -test('resetting state for <%= entityInstance %>', () => { - const state = reducer({ ...INITIAL_STATE, deleting: true }, Actions.<%= entityInstance %>Reset()) +test('resetting state for <%= entity.entityInstance %>', () => { + const state = reducer({ ...INITIAL_STATE, deleting: true }, Actions.<%= entity.entityInstance %>Reset()) expect(state).toEqual(INITIAL_STATE) }) diff --git a/generators/react-native/templates/app/modules/entities/entity-sagas.js.ejs b/generators/react-native/templates/app/modules/entities/entity-sagas.js.ejs index c7256e2bb..168d44657 100644 --- a/generators/react-native/templates/app/modules/entities/entity-sagas.js.ejs +++ b/generators/react-native/templates/app/modules/entities/entity-sagas.js.ejs @@ -1,9 +1,9 @@ import { call, put } from 'redux-saga/effects' import { callApi } from '../../../shared/sagas/call-api.saga' -import <%= entityNameCapitalized %>Actions from './<%= entityFileName %>.reducer' -<%_ if (fieldsContainDate) { _%> +import <%= entity.entityNameCapitalized %>Actions from './<%= entity.entityFileName %>.reducer' +<%_ if (entity.fieldsContainDate) { _%> import { - <%_ if (fieldsContainZonedDateTime || fieldsContainInstant) { _%> + <%_ if (fieldsContainZonedDateTime || entity.fieldsContainInstant) { _%> convertDateTimeFromServer, <%_ } _%> <%_ if (fieldsContainLocalDate) { _%> @@ -12,86 +12,86 @@ import { } from '../../../shared/util/date-transforms' <%_ } _%> -function * get<%= entityNameCapitalized %> (api, action) { - const { <%= entityInstance %>Id } = action +function * get<%= entity.entityNameCapitalized %> (api, action) { + const { <%= entity.entityInstance %>Id } = action // make the call to the api - const apiCall = call(api.get<%= entityNameCapitalized %>, <%= entityInstance %>Id) + const apiCall = call(api.get<%= entity.entityNameCapitalized %>, <%= entity.entityInstance %>Id) const response = yield call(callApi, apiCall) // success? if (response.ok) { - <%_ if (fieldsContainDate) { _%> + <%_ if (entity.fieldsContainDate) { _%> response.data = mapDateFields(response.data) <%_ } _%> - yield put(<%= entityNameCapitalized %>Actions.<%= entityInstance %>Success(response.data)) + yield put(<%= entity.entityNameCapitalized %>Actions.<%= entity.entityInstance %>Success(response.data)) } else { - yield put(<%= entityNameCapitalized %>Actions.<%= entityInstance %>Failure(response.data)) + yield put(<%= entity.entityNameCapitalized %>Actions.<%= entity.entityInstance %>Failure(response.data)) } } -function * getAll<%= entityNamePlural %> (api, action) { +function * getAll<%= entity.entityNamePlural %> (api, action) { const { options } = action // make the call to the api - const apiCall = call(api.getAll<%= entityNamePlural %>, options) + const apiCall = call(api.getAll<%= entity.entityNamePlural %>, options) const response = yield call(callApi, apiCall) // success? if (response.ok) { - yield put(<%= entityNameCapitalized %>Actions.<%= entityInstance %>AllSuccess(response.data, response.headers)) + yield put(<%= entity.entityNameCapitalized %>Actions.<%= entity.entityInstance %>AllSuccess(response.data, response.headers)) } else { - yield put(<%= entityNameCapitalized %>Actions.<%= entityInstance %>AllFailure(response.data)) + yield put(<%= entity.entityNameCapitalized %>Actions.<%= entity.entityInstance %>AllFailure(response.data)) } } -function * update<%= entityNameCapitalized %> (api, action) { - const { <%= entityInstance %> } = action +function * update<%= entity.entityNameCapitalized %> (api, action) { + const { <%= entity.entityInstance %> } = action // make the call to the api - const idIsNotNull = !(<%= entityInstance %>.id === null || <%= entityInstance %>.id === undefined); - const apiCall = call(idIsNotNull ? api.update<%= entityNameCapitalized %> : api.create<%= entityNameCapitalized %>, <%= entityInstance %>) + const idIsNotNull = !(<%= entity.entityInstance %>.id === null || <%= entity.entityInstance %>.id === undefined); + const apiCall = call(idIsNotNull ? api.update<%= entity.entityNameCapitalized %> : api.create<%= entity.entityNameCapitalized %>, <%= entity.entityInstance %>) const response = yield call(callApi, apiCall) // success? if (response.ok) { - <%_ if (fieldsContainDate) { _%> + <%_ if (entity.fieldsContainDate) { _%> response.data = mapDateFields(response.data) <%_ } _%> - yield put(<%= entityNameCapitalized %>Actions.<%= entityInstance %>UpdateSuccess(response.data)) + yield put(<%= entity.entityNameCapitalized %>Actions.<%= entity.entityInstance %>UpdateSuccess(response.data)) } else { - yield put(<%= entityNameCapitalized %>Actions.<%= entityInstance %>UpdateFailure(response.data)) + yield put(<%= entity.entityNameCapitalized %>Actions.<%= entity.entityInstance %>UpdateFailure(response.data)) } } -<%_ if (searchEngineAny) { _%> -function * search<%= entityNamePlural %> (api, action) { +<%_ if (entity.searchEngineAny) { _%> +function * search<%= entity.entityNamePlural %> (api, action) { const { query } = action // make the call to the api - const apiCall = call(api.search<%= entityNamePlural %>, query) + const apiCall = call(api.search<%= entity.entityNamePlural %>, query) const response = yield call(callApi, apiCall) // success? if (response.ok) { - yield put(<%= entityNameCapitalized %>Actions.<%= entityInstance %>SearchSuccess(response.data)) + yield put(<%= entity.entityNameCapitalized %>Actions.<%= entity.entityInstance %>SearchSuccess(response.data)) } else { - yield put(<%= entityNameCapitalized %>Actions.<%= entityInstance %>SearchFailure(response.data)) + yield put(<%= entity.entityNameCapitalized %>Actions.<%= entity.entityInstance %>SearchFailure(response.data)) } } <%_ } _%> -function * delete<%= entityNameCapitalized %> (api, action) { - const { <%= entityInstance %>Id } = action +function * delete<%= entity.entityNameCapitalized %> (api, action) { + const { <%= entity.entityInstance %>Id } = action // make the call to the api - const apiCall = call(api.delete<%= entityNameCapitalized %>, <%= entityInstance %>Id) + const apiCall = call(api.delete<%= entity.entityNameCapitalized %>, <%= entity.entityInstance %>Id) const response = yield call(callApi, apiCall) // success? if (response.ok) { - yield put(<%= entityNameCapitalized %>Actions.<%= entityInstance %>DeleteSuccess()) + yield put(<%= entity.entityNameCapitalized %>Actions.<%= entity.entityInstance %>DeleteSuccess()) } else { - yield put(<%= entityNameCapitalized %>Actions.<%= entityInstance %>DeleteFailure(response.data)) + yield put(<%= entity.entityNameCapitalized %>Actions.<%= entity.entityInstance %>DeleteFailure(response.data)) } } -<%_ if (fieldsContainDate) { _%> +<%_ if (entity.fieldsContainDate) { _%> function mapDateFields (data) { -<%_ fields.filter(field => !field.id).forEach(function (field) { _%> +<%_ entity.fields.filter(field => !field.id).forEach(function (field) { _%> <%_ if (field.fieldType === 'LocalDate') { _%> data.<%= field.fieldName %> = convertLocalDateFromServer(data.<%= field.fieldName %>) <%_ } else if (field.fieldType === 'ZonedDateTime' || field.fieldType === 'Instant') { _%> @@ -103,12 +103,12 @@ function mapDateFields (data) { <%_ } _%> export default { - getAll<%= entityNamePlural %>, - get<%= entityNameCapitalized %>, - delete<%= entityNameCapitalized %>, - <%_ if (searchEngineAny) { _%> - search<%= entityNamePlural %>, + getAll<%= entity.entityNamePlural %>, + get<%= entity.entityNameCapitalized %>, + delete<%= entity.entityNameCapitalized %>, + <%_ if (entity.searchEngineAny) { _%> + search<%= entity.entityNamePlural %>, <%_ } _%> - update<%= entityNameCapitalized %>, + update<%= entity.entityNameCapitalized %>, }; diff --git a/generators/react-native/templates/app/modules/entities/entity-sagas.spec.js.ejs b/generators/react-native/templates/app/modules/entities/entity-sagas.spec.js.ejs index cad7e268e..0d972af94 100644 --- a/generators/react-native/templates/app/modules/entities/entity-sagas.spec.js.ejs +++ b/generators/react-native/templates/app/modules/entities/entity-sagas.spec.js.ejs @@ -1,99 +1,99 @@ import { put } from 'redux-saga/effects' import FixtureAPI from '../../../../../app/shared/services/fixture-api' -import <%= entityNameCapitalized %>Sagas from '../../../../../app/modules/entities/<%= entityFileName %>/<%= entityFileName %>.sagas' -import <%= entityNameCapitalized %>Actions from '../../../../../app/modules/entities/<%= entityFileName %>/<%= entityFileName %>.reducer' +import <%= entity.entityNameCapitalized %>Sagas from '../../../../../app/modules/entities/<%= entity.entityFileName %>/<%= entity.entityFileName %>.sagas' +import <%= entity.entityNameCapitalized %>Actions from '../../../../../app/modules/entities/<%= entity.entityFileName %>/<%= entity.entityFileName %>.reducer' -const { get<%= entityNameCapitalized %>, getAll<%= entityNamePlural %>, update<%= entityNameCapitalized %>, delete<%= entityNameCapitalized %><%= searchEngine ? `, search${entityNamePlural}` : '' %> } = <%= entityNameCapitalized %>Sagas; +const { get<%= entity.entityNameCapitalized %>, getAll<%= entity.entityNamePlural %>, update<%= entity.entityNameCapitalized %>, delete<%= entity.entityNameCapitalized %><%= entity.searchEngine ? `, search${entity.entityNamePlural}` : '' %> } = <%= entity.entityNameCapitalized %>Sagas; const stepper = (fn) => (mock) => fn.next(mock).value test('get success path', () => { - const response = FixtureAPI.get<%= entityNameCapitalized %>(1) - const step = stepper(get<%= entityNameCapitalized %>(FixtureAPI, { <%= entityInstance %>Id: { id: 1 } })) + const response = FixtureAPI.get<%= entity.entityNameCapitalized %>(1) + const step = stepper(get<%= entity.entityNameCapitalized %>(FixtureAPI, { <%= entity.entityInstance %>Id: { id: 1 } })) // Step 1: Hit the api step() // Step 2: Successful return and data! - expect(step(response)).toEqual(put(<%= entityNameCapitalized %>Actions.<%= entityInstance %>Success(response.data))) + expect(step(response)).toEqual(put(<%= entity.entityNameCapitalized %>Actions.<%= entity.entityInstance %>Success(response.data))) }) test('get failure path', () => { const response = { ok: false } - const step = stepper(get<%= entityNameCapitalized %>(FixtureAPI, { <%= entityInstance %>Id: { id: 1 } })) + const step = stepper(get<%= entity.entityNameCapitalized %>(FixtureAPI, { <%= entity.entityInstance %>Id: { id: 1 } })) // Step 1: Hit the api step() // Step 2: Failed response. - expect(step(response)).toEqual(put(<%= entityNameCapitalized %>Actions.<%= entityInstance %>Failure())) + expect(step(response)).toEqual(put(<%= entity.entityNameCapitalized %>Actions.<%= entity.entityInstance %>Failure())) }) test('getAll success path', () => { - const response = FixtureAPI.getAll<%= entityNamePlural %>() - const step = stepper(getAll<%= entityNamePlural %>(FixtureAPI, { options: { page: 0, sort: 'id,asc', size: 20 } })) + const response = FixtureAPI.getAll<%= entity.entityNamePlural %>() + const step = stepper(getAll<%= entity.entityNamePlural %>(FixtureAPI, { options: { page: 0, sort: 'id,asc', size: 20 } })) // Step 1: Hit the api step() // Step 2: Successful return and data! - expect(step(response)).toEqual(put(<%= entityNameCapitalized %>Actions.<%= entityInstance %>AllSuccess([{ id: 1 }, { id: 2 }]))) + expect(step(response)).toEqual(put(<%= entity.entityNameCapitalized %>Actions.<%= entity.entityInstance %>AllSuccess([{ id: 1 }, { id: 2 }]))) }) test('getAll failure path', () => { const response = { ok: false } - const step = stepper(getAll<%= entityNamePlural %>(FixtureAPI, { options: { page: 0, sort: 'id,asc', size: 20 } })) + const step = stepper(getAll<%= entity.entityNamePlural %>(FixtureAPI, { options: { page: 0, sort: 'id,asc', size: 20 } })) // Step 1: Hit the api step() // Step 2: Failed response. - expect(step(response)).toEqual(put(<%= entityNameCapitalized %>Actions.<%= entityInstance %>AllFailure())) + expect(step(response)).toEqual(put(<%= entity.entityNameCapitalized %>Actions.<%= entity.entityInstance %>AllFailure())) }) test('update success path', () => { - const response = FixtureAPI.update<%= entityNameCapitalized %>({ id: 1 }) - const step = stepper(update<%= entityNameCapitalized %>(FixtureAPI, { <%= entityInstance %>: { id: 1 } })) + const response = FixtureAPI.update<%= entity.entityNameCapitalized %>({ id: 1 }) + const step = stepper(update<%= entity.entityNameCapitalized %>(FixtureAPI, { <%= entity.entityInstance %>: { id: 1 } })) // Step 1: Hit the api step() // Step 2: Successful return and data! - expect(step(response)).toEqual(put(<%= entityNameCapitalized %>Actions.<%= entityInstance %>UpdateSuccess(response.data))) + expect(step(response)).toEqual(put(<%= entity.entityNameCapitalized %>Actions.<%= entity.entityInstance %>UpdateSuccess(response.data))) }) test('update failure path', () => { const response = { ok: false } - const step = stepper(update<%= entityNameCapitalized %>(FixtureAPI, { <%= entityInstance %>: { id: 1 } })) + const step = stepper(update<%= entity.entityNameCapitalized %>(FixtureAPI, { <%= entity.entityInstance %>: { id: 1 } })) // Step 1: Hit the api step() // Step 2: Failed response. - expect(step(response)).toEqual(put(<%= entityNameCapitalized %>Actions.<%= entityInstance %>UpdateFailure())) + expect(step(response)).toEqual(put(<%= entity.entityNameCapitalized %>Actions.<%= entity.entityInstance %>UpdateFailure())) }) -<%_ if (searchEngineAny) { _%> +<%_ if (entity.searchEngineAny) { _%> test('search success path', () => { - const response = FixtureAPI.search<%= entityNamePlural %>() - const step = stepper(search<%= entityNamePlural %>(FixtureAPI, '*')) + const response = FixtureAPI.search<%= entity.entityNamePlural %>() + const step = stepper(search<%= entity.entityNamePlural %>(FixtureAPI, '*')) // Step 1: Hit the api step() // Step 2: Successful return and data! - expect(step(response)).toEqual(put(<%= entityNameCapitalized %>Actions.<%= entityInstance %>SearchSuccess([{ id: 1 }, { id: 2 }]))) + expect(step(response)).toEqual(put(<%= entity.entityNameCapitalized %>Actions.<%= entity.entityInstance %>SearchSuccess([{ id: 1 }, { id: 2 }]))) }) test('search failure path', () => { const response = { ok: false } - const step = stepper(search<%= entityNamePlural %>(FixtureAPI, '*')) + const step = stepper(search<%= entity.entityNamePlural %>(FixtureAPI, '*')) // Step 1: Hit the api step() // Step 2: Failed response. - expect(step(response)).toEqual(put(<%= entityNameCapitalized %>Actions.<%= entityInstance %>SearchFailure())) + expect(step(response)).toEqual(put(<%= entity.entityNameCapitalized %>Actions.<%= entity.entityInstance %>SearchFailure())) }) <%_ } _%> test('delete success path', () => { - const response = FixtureAPI.delete<%= entityNameCapitalized %>({ id: 1 }) - const step = stepper(delete<%= entityNameCapitalized %>(FixtureAPI, { <%= entityInstance %>Id: { id: 1 } })) + const response = FixtureAPI.delete<%= entity.entityNameCapitalized %>({ id: 1 }) + const step = stepper(delete<%= entity.entityNameCapitalized %>(FixtureAPI, { <%= entity.entityInstance %>Id: { id: 1 } })) // Step 1: Hit the api step() // Step 2: Successful return and data! - expect(step(response)).toEqual(put(<%= entityNameCapitalized %>Actions.<%= entityInstance %>DeleteSuccess(response.data))) + expect(step(response)).toEqual(put(<%= entity.entityNameCapitalized %>Actions.<%= entity.entityInstance %>DeleteSuccess(response.data))) }) test('delete failure path', () => { const response = { ok: false } - const step = stepper(delete<%= entityNameCapitalized %>(FixtureAPI, { <%= entityInstance %>Id: { id: 1 } })) + const step = stepper(delete<%= entity.entityNameCapitalized %>(FixtureAPI, { <%= entity.entityInstance %>Id: { id: 1 } })) // Step 1: Hit the api step() // Step 2: Failed response. - expect(step(response)).toEqual(put(<%= entityNameCapitalized %>Actions.<%= entityInstance %>DeleteFailure())) + expect(step(response)).toEqual(put(<%= entity.entityNameCapitalized %>Actions.<%= entity.entityInstance %>DeleteFailure())) }) diff --git a/generators/react-native/templates/app/modules/entities/fixtures/entity-get.json.ejs b/generators/react-native/templates/app/modules/entities/fixtures/entity-get.json.ejs index 8b841ef3a..6f2f76377 100644 --- a/generators/react-native/templates/app/modules/entities/fixtures/entity-get.json.ejs +++ b/generators/react-native/templates/app/modules/entities/fixtures/entity-get.json.ejs @@ -1,6 +1,6 @@ { "id" : 1, - <%_ fields.filter(field => !field.id).forEach(function (field) { _%> + <%_ entity.fields.filter(field => !field.id).forEach(function (field) { _%> <%_ if (field.fieldType === 'LocalDate' || field.fieldType === 'ZonedDateTime' || field.fieldType === 'Instant') { _%> <%= field.fieldName %>: null, <%_ } _%> diff --git a/generators/react-native/templates/app/modules/entities/fixtures/entity-update.json.ejs b/generators/react-native/templates/app/modules/entities/fixtures/entity-update.json.ejs index 8b841ef3a..6f2f76377 100644 --- a/generators/react-native/templates/app/modules/entities/fixtures/entity-update.json.ejs +++ b/generators/react-native/templates/app/modules/entities/fixtures/entity-update.json.ejs @@ -1,6 +1,6 @@ { "id" : 1, - <%_ fields.filter(field => !field.id).forEach(function (field) { _%> + <%_ entity.fields.filter(field => !field.id).forEach(function (field) { _%> <%_ if (field.fieldType === 'LocalDate' || field.fieldType === 'ZonedDateTime' || field.fieldType === 'Instant') { _%> <%= field.fieldName %>: null, <%_ } _%> From 14d485554a6ead7b705b433a15483eeee9f53d7d Mon Sep 17 00:00:00 2001 From: Hideyuki Kagami Date: Fri, 9 Feb 2024 01:56:03 +0900 Subject: [PATCH 49/70] add logo --- generators/react-native/generator.mjs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/generators/react-native/generator.mjs b/generators/react-native/generator.mjs index e77a7cbc1..8f283cf34 100644 --- a/generators/react-native/generator.mjs +++ b/generators/react-native/generator.mjs @@ -19,6 +19,7 @@ import { patchInFile, appendFiles, patchBabel, + printJHipsterLogo, } from '../../lib/index.js'; export default class extends BaseApplicationGenerator { @@ -88,6 +89,7 @@ export default class extends BaseApplicationGenerator { get [BaseApplicationGenerator.INITIALIZING]() { return this.asInitializingTaskGroup({ async initializingTemplateTask() { + printJHipsterLogo(this); this.parseJHipsterCommand(command); }, }); From ab604ce9e0c94698632b14e3048cc7ee46287295 Mon Sep 17 00:00:00 2001 From: Hideyuki Kagami Date: Fri, 9 Feb 2024 01:59:07 +0900 Subject: [PATCH 50/70] remove unused files --- lib/get-app-folder.js | 29 -------- lib/index.js | 3 - lib/pre-write.js | 24 ------- lib/setup-variables.js | 69 ------------------- test/templates/backend/.jhipster/Foo.json | 20 ------ test/templates/backend/.yo-rc.json | 40 ----------- test/templates/existing-app-detox/.yo-rc.json | 45 ------------ .../existing-app-elasticsearch/.yo-rc.json | 45 ------------ test/templates/existing-app/.yo-rc.json | 45 ------------ 9 files changed, 320 deletions(-) delete mode 100644 lib/get-app-folder.js delete mode 100644 lib/pre-write.js delete mode 100644 lib/setup-variables.js delete mode 100644 test/templates/backend/.jhipster/Foo.json delete mode 100644 test/templates/backend/.yo-rc.json delete mode 100644 test/templates/existing-app-detox/.yo-rc.json delete mode 100644 test/templates/existing-app-elasticsearch/.yo-rc.json delete mode 100644 test/templates/existing-app/.yo-rc.json diff --git a/lib/get-app-folder.js b/lib/get-app-folder.js deleted file mode 100644 index 4d9adf04e..000000000 --- a/lib/get-app-folder.js +++ /dev/null @@ -1,29 +0,0 @@ -import chalk from 'chalk'; -import shelljs from 'shelljs'; - -/** - * Get App Folders - * @param input path to join to destination path - * @returns {Array} array of string representing app folders - */ -function getAppFolder(input) { - const destinationPath = this.destinationPath(input); - const appsFolders = []; - - if (shelljs.test('-f', `${destinationPath}/.yo-rc.json`)) { - try { - const fileData = this.fs.readJSON(`${destinationPath}/.yo-rc.json`); - if (fileData['generator-jhipster'].baseName !== undefined) { - appsFolders.push(destinationPath); - } - } catch (err) { - this.log(chalk.red(`The .yo-rc.json in ${destinationPath} can't be read!`)); - this.debug('Error:', err); - } - } - - return appsFolders; -} - -// eslint-disable-next-line import/prefer-default-export -export { getAppFolder }; diff --git a/lib/index.js b/lib/index.js index ffa0e40b5..3c46e82b7 100644 --- a/lib/index.js +++ b/lib/index.js @@ -1,8 +1,5 @@ export { printJHipsterLogo } from './print-jhipster-logo.js'; -export { loadVariables, setupVariables } from './setup-variables.js'; -export { createEarlyFiles } from './pre-write.js'; export { appendFiles } from './append-files.js'; -export { getAppFolder } from './get-app-folder.js'; export { patchBabel } from './patch-babel.js'; export { patchNavigationForEntity } from './patch-navigation.js'; export { patchInFile } from './patch-in-file.js'; diff --git a/lib/pre-write.js b/lib/pre-write.js deleted file mode 100644 index 4e7ecc2fa..000000000 --- a/lib/pre-write.js +++ /dev/null @@ -1,24 +0,0 @@ -import fse from 'fs-extra'; -// prettierrc and yo-resolve files are created manually so they apply to the generation process - -function createEarlyFiles() { - // if (this.existingProject) { - // return; - // } - const prettierRc = `module.exports = { - bracketSpacing: false, - bracketSameLine: true, - singleQuote: true, - trailingComma: 'all', - semi: true, - printWidth: 140, - tabWidth: 2, - bracketSpacing: true, - useTabs: false, -}; -`; - fse.writeFile('.prettierrc.js', prettierRc); -} - -// eslint-disable-next-line import/prefer-default-export -export { createEarlyFiles }; diff --git a/lib/setup-variables.js b/lib/setup-variables.js deleted file mode 100644 index d95e01b1e..000000000 --- a/lib/setup-variables.js +++ /dev/null @@ -1,69 +0,0 @@ -import path from 'path'; -import fse from 'fs-extra'; -import { JHIPSTER_CONFIG_DIR } from 'generator-jhipster'; -import { readFileSync } from 'fs'; - -const fileUrl = new URL('../package.json', import.meta.url); -const packagejs = JSON.parse(readFileSync(fileUrl)); - -function loadVariables() { - this.existingProject = fse.existsSync('.yo-rc.json'); - if (this.existingProject) { - const jhipsterConfig = this.config.getAll(); - if (Object.prototype.hasOwnProperty.call(jhipsterConfig, 'baseName')) { - this.existingProject = true; - if (Object.prototype.hasOwnProperty.call(jhipsterConfig, 'reactNative')) { - this.context.reactNativeAppName = jhipsterConfig.reactNative.reactNativeAppName; - this.context.detox = jhipsterConfig.reactNative.detox; - } else { - this.debug('React Native config not found, will prompt'); - } - } - } -} -function setupVariables() { - let jhipsterConfig; - if (this.options.fromJdl || this.existingProject) { - this.debug('Generating app from JDL, setting default values for React Native config'); - jhipsterConfig = this.config.getAll(); - loadVariables.bind(this)(); - } else { - const configFilePath = path.join(this.directoryPath, '.yo-rc.json'); - this.debug(`Fetching config file from ${configFilePath}`); - try { - jhipsterConfig = this.fs.readJSON(configFilePath)['generator-jhipster']; - } catch (e) { - this.error(`Couldn't load JHipster configuration from ${configFilePath}`); - } - - // check for withEntities - if (this.options.withEntities) { - const entityFolderPath = path.join(this.directoryPath, JHIPSTER_CONFIG_DIR); - if (fse.pathExistsSync(entityFolderPath)) { - const entityFiles = fse - .readdirSync(entityFolderPath) - .map(f => ({ name: f.replace('.json', ''), path: path.join(this.directoryPath, JHIPSTER_CONFIG_DIR, f) })); - const entities = entityFiles.map(entityFile => { - const entityName = entityFile.name; - const entity = fse.readJsonSync(entityFile.path); - const file = this.destinationPath(JHIPSTER_CONFIG_DIR, `${entityName}.json`); - this.fs.writeJSON(file, { ...this.fs.readJSON(file), ...entity }); - return entityName; - }); - this.jhipsterConfig.entities = [...new Set((this.jhipsterConfig.entities || []).concat(entities))]; - } - } - } - - this.context.packageVersion = packagejs.version; - - this.config.set({ - reactNative: { - reactNativeAppName: this.context.reactNativeAppName, - detox: this.context.detox, - backend: this.directoryPath, - }, - ...jhipsterConfig, - }); -} -export { loadVariables, setupVariables }; diff --git a/test/templates/backend/.jhipster/Foo.json b/test/templates/backend/.jhipster/Foo.json deleted file mode 100644 index 0d8a53353..000000000 --- a/test/templates/backend/.jhipster/Foo.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "fluentMethods": true, - "clientRootFolder": "", - "relationships": [], - "fields": [ - { - "fieldName": "name", - "fieldType": "String" - } - ], - "changelogDate": "20201110205443", - "dto": "mapstruct", - "searchEngine": false, - "service": "serviceClass", - "entityTableName": "foo", - "databaseType": "sql", - "readOnly": false, - "jpaMetamodelFiltering": true, - "pagination": "pagination" -} diff --git a/test/templates/backend/.yo-rc.json b/test/templates/backend/.yo-rc.json deleted file mode 100644 index 791fe7331..000000000 --- a/test/templates/backend/.yo-rc.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "generator-jhipster": { - "authenticationType": "jwt", - "cacheProvider": "ehcache", - "clientFramework": "angularX", - "serverPort": "8080", - "serviceDiscoveryType": false, - "skipUserManagement": false, - "baseName": "mono", - "buildTool": "maven", - "databaseType": "sql", - "devDatabaseType": "h2Disk", - "enableHibernateCache": true, - "enableSwaggerCodegen": false, - "enableTranslation": true, - "jhiPrefix": "jhi", - "languages": ["en"], - "messageBroker": false, - "nativeLanguage": "en", - "prodDatabaseType": "mysql", - "searchEngine": false, - "skipClient": false, - "testFrameworks": [], - "websocket": false, - "applicationType": "monolith", - "blueprints": [], - "clientPackageManager": "npm", - "clientTheme": "none", - "clientThemeVariant": "primary", - "creationTimestamp": 1604601028779, - "dtoSuffix": "DTO", - "jwtSecretKey": "N2NhMzI3YzdmNmM5YjRmNDBkZWE4N2Y2ODFmYjU0MjVhYzBmYzM0MmM2MjU2ZDFiMTU4NWNiZmVmMTU4MTViM2IyMzZkNWQxNzc5NDk2YTRhMjYyNWVhZTcxNTVmOTRkY2QyOTIwZmYyODA3MDUzMGEyMDljMjA2ZWUyMTE1YjE=", - "otherModules": [], - "packageName": "com.mycompany.myapp", - "packageFolder": "com/mycompany/myapp", - "reactive": false, - "skipServer": false, - "entities": [] - } -} diff --git a/test/templates/existing-app-detox/.yo-rc.json b/test/templates/existing-app-detox/.yo-rc.json deleted file mode 100644 index 7c32b19cf..000000000 --- a/test/templates/existing-app-detox/.yo-rc.json +++ /dev/null @@ -1,45 +0,0 @@ -{ - "generator-jhipster": { - "authenticationType": "jwt", - "cacheProvider": "ehcache", - "clientFramework": "angularX", - "serverPort": "8080", - "serviceDiscoveryType": false, - "skipUserManagement": false, - "baseName": "mono", - "buildTool": "maven", - "databaseType": "sql", - "devDatabaseType": "h2Disk", - "enableHibernateCache": true, - "enableSwaggerCodegen": false, - "enableTranslation": true, - "jhiPrefix": "jhi", - "languages": ["en"], - "messageBroker": false, - "nativeLanguage": "en", - "prodDatabaseType": "mysql", - "searchEngine": false, - "skipClient": false, - "testFrameworks": [], - "websocket": false, - "applicationType": "monolith", - "blueprints": [], - "clientPackageManager": "npm", - "clientTheme": "none", - "clientThemeVariant": "primary", - "creationTimestamp": 1604601028779, - "dtoSuffix": "DTO", - "jwtSecretKey": "N2NhMzI3YzdmNmM5YjRmNDBkZWE4N2Y2ODFmYjU0MjVhYzBmYzM0MmM2MjU2ZDFiMTU4NWNiZmVmMTU4MTViM2IyMzZkNWQxNzc5NDk2YTRhMjYyNWVhZTcxNTVmOTRkY2QyOTIwZmYyODA3MDUzMGEyMDljMjA2ZWUyMTE1YjE=", - "otherModules": [], - "packageName": "com.mycompany.myapp", - "packageFolder": "com/mycompany/myapp", - "reactive": false, - "skipServer": false, - "entities": [], - "reactNative": { - "reactNativeAppName": "Mono", - "detox": true, - "version": "0.0.0" - } - } -} diff --git a/test/templates/existing-app-elasticsearch/.yo-rc.json b/test/templates/existing-app-elasticsearch/.yo-rc.json deleted file mode 100644 index 915ead195..000000000 --- a/test/templates/existing-app-elasticsearch/.yo-rc.json +++ /dev/null @@ -1,45 +0,0 @@ -{ - "generator-jhipster": { - "authenticationType": "jwt", - "cacheProvider": "ehcache", - "clientFramework": "angularX", - "serverPort": "8080", - "serviceDiscoveryType": false, - "skipUserManagement": false, - "baseName": "mono", - "buildTool": "maven", - "databaseType": "sql", - "devDatabaseType": "h2Disk", - "enableHibernateCache": true, - "enableSwaggerCodegen": false, - "enableTranslation": true, - "jhiPrefix": "jhi", - "languages": ["en"], - "messageBroker": false, - "nativeLanguage": "en", - "prodDatabaseType": "mysql", - "searchEngine": "elasticsearch", - "skipClient": false, - "testFrameworks": [], - "websocket": false, - "applicationType": "monolith", - "blueprints": [], - "clientPackageManager": "npm", - "clientTheme": "none", - "clientThemeVariant": "primary", - "creationTimestamp": 1604601028779, - "dtoSuffix": "DTO", - "jwtSecretKey": "N2NhMzI3YzdmNmM5YjRmNDBkZWE4N2Y2ODFmYjU0MjVhYzBmYzM0MmM2MjU2ZDFiMTU4NWNiZmVmMTU4MTViM2IyMzZkNWQxNzc5NDk2YTRhMjYyNWVhZTcxNTVmOTRkY2QyOTIwZmYyODA3MDUzMGEyMDljMjA2ZWUyMTE1YjE=", - "otherModules": [], - "packageName": "com.mycompany.myapp", - "packageFolder": "com/mycompany/myapp", - "reactive": false, - "skipServer": false, - "entities": [], - "reactNative": { - "reactNativeAppName": "Mono", - "detox": false, - "version": "0.0.0" - } - } -} diff --git a/test/templates/existing-app/.yo-rc.json b/test/templates/existing-app/.yo-rc.json deleted file mode 100644 index 3a891b822..000000000 --- a/test/templates/existing-app/.yo-rc.json +++ /dev/null @@ -1,45 +0,0 @@ -{ - "generator-jhipster": { - "authenticationType": "jwt", - "cacheProvider": "ehcache", - "clientFramework": "angularX", - "serverPort": "8080", - "serviceDiscoveryType": false, - "skipUserManagement": false, - "baseName": "mono", - "buildTool": "maven", - "databaseType": "sql", - "devDatabaseType": "h2Disk", - "enableHibernateCache": true, - "enableSwaggerCodegen": false, - "enableTranslation": true, - "jhiPrefix": "jhi", - "languages": ["en"], - "messageBroker": false, - "nativeLanguage": "en", - "prodDatabaseType": "mysql", - "searchEngine": false, - "skipClient": false, - "testFrameworks": [], - "websocket": "spring-websocket", - "applicationType": "monolith", - "blueprints": [], - "clientPackageManager": "npm", - "clientTheme": "none", - "clientThemeVariant": "primary", - "creationTimestamp": 1604601028779, - "dtoSuffix": "DTO", - "jwtSecretKey": "N2NhMzI3YzdmNmM5YjRmNDBkZWE4N2Y2ODFmYjU0MjVhYzBmYzM0MmM2MjU2ZDFiMTU4NWNiZmVmMTU4MTViM2IyMzZkNWQxNzc5NDk2YTRhMjYyNWVhZTcxNTVmOTRkY2QyOTIwZmYyODA3MDUzMGEyMDljMjA2ZWUyMTE1YjE=", - "otherModules": [], - "packageName": "com.mycompany.myapp", - "packageFolder": "com/mycompany/myapp", - "reactive": false, - "skipServer": false, - "entities": [], - "generator-jhipster-react-native": { - "appName": "Mono", - "detox": true, - "version": "0.0.0" - } - } -} From 9f54e797b29862016b4d95d07d6829ac119045e7 Mon Sep 17 00:00:00 2001 From: Hideyuki Kagami Date: Sat, 10 Feb 2024 00:36:27 +0900 Subject: [PATCH 51/70] revert entity context layer --- generators/react-native/entity-files.mjs | 38 +++---- generators/react-native/generator.mjs | 2 +- .../entities/entity-delete-modal.js.ejs | 30 +++--- .../entities/entity-detail-screen.js.ejs | 84 +++++++-------- .../modules/entities/entity-e2e-test.js.ejs | 74 ++++++------- .../entities/entity-edit-screen.js.ejs | 92 ++++++++-------- .../modules/entities/entity-flatlist.js.ejs | 66 ++++++------ .../modules/entities/entity-reducer.js.ejs | 100 ++++++++--------- .../entities/entity-reducer.spec.js.ejs | 102 +++++++++--------- .../app/modules/entities/entity-sagas.js.ejs | 76 ++++++------- .../modules/entities/entity-sagas.spec.js.ejs | 58 +++++----- .../entities/fixtures/entity-get.json.ejs | 2 +- .../entities/fixtures/entity-update.json.ejs | 2 +- 13 files changed, 359 insertions(+), 367 deletions(-) diff --git a/generators/react-native/entity-files.mjs b/generators/react-native/entity-files.mjs index 701b68cc9..60534bf35 100644 --- a/generators/react-native/entity-files.mjs +++ b/generators/react-native/entity-files.mjs @@ -4,44 +4,39 @@ const files = { templates: [ { file: 'app/modules/entities/entity-delete-modal.js', - renameTo: generator => - `app/modules/entities/${generator.entity.entityFileName}/${generator.entity.entityFileName}-delete-modal.js`, + renameTo: generator => `app/modules/entities/${generator.entityFileName}/${generator.entityFileName}-delete-modal.js`, }, { file: 'app/modules/entities/entity-detail-screen.js', - renameTo: generator => - `app/modules/entities/${generator.entity.entityFileName}/${generator.entity.entityFileName}-detail-screen.js`, + renameTo: generator => `app/modules/entities/${generator.entityFileName}/${generator.entityFileName}-detail-screen.js`, }, { file: 'app/modules/entities/entity-edit-screen.js', - renameTo: generator => - `app/modules/entities/${generator.entity.entityFileName}/${generator.entity.entityFileName}-edit-screen.js`, + renameTo: generator => `app/modules/entities/${generator.entityFileName}/${generator.entityFileName}-edit-screen.js`, }, { file: 'app/modules/entities/entity-flatlist.js', - renameTo: generator => `app/modules/entities/${generator.entity.entityFileName}/${generator.entity.entityFileName}-screen.js`, + renameTo: generator => `app/modules/entities/${generator.entityFileName}/${generator.entityFileName}-screen.js`, }, { file: 'app/modules/entities/entity-styles.js', - renameTo: generator => `app/modules/entities/${generator.entity.entityFileName}/${generator.entity.entityFileName}-styles.js`, + renameTo: generator => `app/modules/entities/${generator.entityFileName}/${generator.entityFileName}-styles.js`, }, { file: 'app/modules/entities/entity-reducer.js', - renameTo: generator => `app/modules/entities/${generator.entity.entityFileName}/${generator.entity.entityFileName}.reducer.js`, + renameTo: generator => `app/modules/entities/${generator.entityFileName}/${generator.entityFileName}.reducer.js`, }, { file: 'app/modules/entities/entity-reducer.spec.js', - renameTo: generator => - `test/spec/modules/entities/${generator.entity.entityFileName}/${generator.entity.entityFileName}.reducer.spec.js`, + renameTo: generator => `test/spec/modules/entities/${generator.entityFileName}/${generator.entityFileName}.reducer.spec.js`, }, { file: 'app/modules/entities/entity-sagas.js', - renameTo: generator => `app/modules/entities/${generator.entity.entityFileName}/${generator.entity.entityFileName}.sagas.js`, + renameTo: generator => `app/modules/entities/${generator.entityFileName}/${generator.entityFileName}.sagas.js`, }, { file: 'app/modules/entities/entity-sagas.spec.js', - renameTo: generator => - `test/spec/modules/entities/${generator.entity.entityFileName}/${generator.entity.entityFileName}.sagas.spec.js`, + renameTo: generator => `test/spec/modules/entities/${generator.entityFileName}/${generator.entityFileName}.sagas.spec.js`, }, ], }, @@ -51,26 +46,26 @@ const files = { templates: [ { file: 'app/modules/entities/fixtures/entity-get.json', - renameTo: generator => `app/shared/fixtures/get-${generator.entity.entityFileName}.json`, + renameTo: generator => `app/shared/fixtures/get-${generator.entityFileName}.json`, }, { file: 'app/modules/entities/fixtures/entity-get-all.json', // Workaround for entityPluralFileName 'xxxundefined' due to angularSuffix == undefined - renameTo: generator => `app/shared/fixtures/get-all-${generator.entity.entityNamePluralizedAndSpinalCased}.json`, + renameTo: generator => `app/shared/fixtures/get-all-${generator.entityNamePluralizedAndSpinalCased}.json`, }, { file: 'app/modules/entities/fixtures/entity-update.json', - renameTo: generator => `app/shared/fixtures/update-${generator.entity.entityFileName}.json`, + renameTo: generator => `app/shared/fixtures/update-${generator.entityFileName}.json`, }, ], }, { - condition: generator => generator.entity.searchEngineAny, + condition: generator => generator.searchEngineAny, templates: [ { file: 'app/modules/entities/fixtures/entity-get-all.json', // Workaround for entityPluralFileName 'xxxundefined' due to angularSuffix == undefined - renameTo: generator => `app/shared/fixtures/search-${generator.entity.entityNamePluralizedAndSpinalCased}.json`, + renameTo: generator => `app/shared/fixtures/search-${generator.entityNamePluralizedAndSpinalCased}.json`, }, ], }, @@ -79,10 +74,7 @@ const files = { { condition: generator => generator.reactNativeConfig.detox, templates: [ - { - file: 'app/modules/entities/entity-e2e-test.js', - renameTo: generator => `e2e/entities/${generator.entity.entityFileName}.spec.js`, - }, + { file: 'app/modules/entities/entity-e2e-test.js', renameTo: generator => `e2e/entities/${generator.entityFileName}.spec.js` }, ], }, ], diff --git a/generators/react-native/generator.mjs b/generators/react-native/generator.mjs index 8f283cf34..cfe86c718 100644 --- a/generators/react-native/generator.mjs +++ b/generators/react-native/generator.mjs @@ -244,7 +244,7 @@ export default class extends BaseApplicationGenerator { await this.writeFiles({ sections: entityFiles, context: { - entity: { ...entity }, + ...entity, application: { ...application }, reactNativeConfig: { ...this.reactNativeConfig }, fieldsContainEnum, diff --git a/generators/react-native/templates/app/modules/entities/entity-delete-modal.js.ejs b/generators/react-native/templates/app/modules/entities/entity-delete-modal.js.ejs index 9daa4ccae..d4916e46c 100644 --- a/generators/react-native/templates/app/modules/entities/entity-delete-modal.js.ejs +++ b/generators/react-native/templates/app/modules/entities/entity-delete-modal.js.ejs @@ -2,23 +2,23 @@ import React from 'react'; import { TouchableHighlight, Modal, Text, View } from 'react-native'; import { connect } from 'react-redux'; -import <%= entity.entityNameCapitalized %>Actions from './<%= entity.entityFileName %>.reducer'; +import <%= entityNameCapitalized %>Actions from './<%= entityFileName %>.reducer'; -import styles from './<%= entity.entityFileName %>-styles' +import styles from './<%= entityFileName %>-styles' -function <%= entity.entityNameCapitalized %>DeleteModal(props) { +function <%= entityNameCapitalized %>DeleteModal(props) { const { visible, setVisible, entity, navigation, testID } = props; const deleteEntity = () => { - props.delete<%= entity.entityNameCapitalized %>(entity.id); - navigation.canGoBack() ? navigation.goBack() : navigation.navigate('<%= entity.entityNameCapitalized %>'); + props.delete<%= entityNameCapitalized %>(entity.id); + navigation.canGoBack() ? navigation.goBack() : navigation.navigate('<%= entityNameCapitalized %>'); }; return ( - Delete <%= entity.entityNameCapitalized %> {entity.id}? + Delete <%= entityNameCapitalized %> {entity.id}? DeleteModal(props) { const mapStateToProps = (state) => { return { - <%= entity.entityInstance %>: state.<%= entity.entityInstancePlural %>.<%= entity.entityInstance %>, - fetching: state.<%= entity.entityInstancePlural %>.fetchingOne, - deleting: state.<%= entity.entityInstancePlural %>.deleting, - errorDeleting: state.<%= entity.entityInstancePlural %>.errorDeleting, + <%= entityInstance %>: state.<%= entityInstancePlural %>.<%= entityInstance %>, + fetching: state.<%= entityInstancePlural %>.fetchingOne, + deleting: state.<%= entityInstancePlural %>.deleting, + errorDeleting: state.<%= entityInstancePlural %>.errorDeleting, }; }; const mapDispatchToProps = (dispatch) => { return { - get<%= entity.entityNameCapitalized %>: (id) => dispatch(<%= entity.entityNameCapitalized %>Actions.<%= entity.entityInstance %>Request(id)), - getAll<%= entity.entityNamePlural %>: (options) => dispatch(<%= entity.entityNameCapitalized %>Actions.<%= entity.entityInstance %>AllRequest(options)), - delete<%= entity.entityNameCapitalized %>: (id) => dispatch(<%= entity.entityNameCapitalized %>Actions.<%= entity.entityInstance %>DeleteRequest(id)), - reset<%= entity.entityNamePlural %>: () => dispatch(<%= entity.entityNameCapitalized %>Actions.<%= entity.entityInstance %>Reset()), + get<%= entityNameCapitalized %>: (id) => dispatch(<%= entityNameCapitalized %>Actions.<%= entityInstance %>Request(id)), + getAll<%= entityNamePlural %>: (options) => dispatch(<%= entityNameCapitalized %>Actions.<%= entityInstance %>AllRequest(options)), + delete<%= entityNameCapitalized %>: (id) => dispatch(<%= entityNameCapitalized %>Actions.<%= entityInstance %>DeleteRequest(id)), + reset<%= entityNamePlural %>: () => dispatch(<%= entityNameCapitalized %>Actions.<%= entityInstance %>Reset()), }; }; -export default connect(mapStateToProps, mapDispatchToProps)(<%= entity.entityNameCapitalized %>DeleteModal); +export default connect(mapStateToProps, mapDispatchToProps)(<%= entityNameCapitalized %>DeleteModal); diff --git a/generators/react-native/templates/app/modules/entities/entity-detail-screen.js.ejs b/generators/react-native/templates/app/modules/entities/entity-detail-screen.js.ejs index 174abeb8c..74483c967 100644 --- a/generators/react-native/templates/app/modules/entities/entity-detail-screen.js.ejs +++ b/generators/react-native/templates/app/modules/entities/entity-detail-screen.js.ejs @@ -1,39 +1,39 @@ import React from 'react' -import { ActivityIndicator, ScrollView, Text, <% if (entity.fieldsContainImageBlob) { %>Image, <% } %>View } from 'react-native'; +import { ActivityIndicator, ScrollView, Text, <% if (fieldsContainImageBlob) { %>Image, <% } %>View } from 'react-native'; import { connect } from 'react-redux' import { useFocusEffect } from '@react-navigation/native'; -<%_ if (entity.fieldsContainLocalDate) { _%> +<%_ if (fieldsContainLocalDate) { _%> import { convertLocalDateToString } from '../../../shared/util/date-transforms' <%_ } _%> -import <%= entity.entityNameCapitalized %>Actions from './<%= entity.entityFileName %>.reducer' +import <%= entityNameCapitalized %>Actions from './<%= entityFileName %>.reducer' import RoundedButton from '../../../shared/components/rounded-button/rounded-button' -import <%= entity.entityNameCapitalized %>DeleteModal from './<%= entity.entityFileName %>-delete-modal'; -import styles from './<%= entity.entityFileName %>-styles' +import <%= entityNameCapitalized %>DeleteModal from './<%= entityFileName %>-delete-modal'; +import styles from './<%= entityFileName %>-styles' -function <%= entity.entityNameCapitalized %>DetailScreen(props) { - const { route, get<%= entity.entityNameCapitalized %>, navigation, <%= entity.entityInstance %>, fetching, error } = props; +function <%= entityNameCapitalized %>DetailScreen(props) { + const { route, get<%= entityNameCapitalized %>, navigation, <%= entityInstance %>, fetching, error } = props; const [deleteModalVisible, setDeleteModalVisible] = React.useState(false); // prevents display of stale reducer data - const entityId = <%= entity.entityInstance %>?.id ?? null; + const entityId = <%= entityInstance %>?.id ?? null; const routeEntityId = route.params?.entityId ?? null; const correctEntityLoaded = routeEntityId && entityId && routeEntityId.toString() === entityId.toString(); useFocusEffect( React.useCallback(() => { if (!routeEntityId) { - navigation.navigate('<%= entity.entityNameCapitalized %>'); + navigation.navigate('<%= entityNameCapitalized %>'); } else { setDeleteModalVisible(false); - get<%= entity.entityNameCapitalized %>(routeEntityId); + get<%= entityNameCapitalized %>(routeEntityId); } - }, [routeEntityId, get<%= entity.entityNameCapitalized %>, navigation]), + }, [routeEntityId, get<%= entityNameCapitalized %>, navigation]), ); if (!entityId && !fetching && error) { return ( - Something went wrong fetching the <%= entity.entityNameCapitalized %>. + Something went wrong fetching the <%= entityNameCapitalized %>. ); } @@ -45,60 +45,60 @@ function <%= entity.entityNameCapitalized %>DetailScreen(props) { ); } return ( - + Id: - {<%= entity.entityInstance %>.id} - <%_ entity.fields.filter(field => !field.id).forEach(function (field) { _%> + {<%= entityInstance %>.id} + <%_ fields.filter(field => !field.id).forEach(function (field) { _%> {/* <%= field.fieldNameCapitalized %> Field */} <%= field.fieldNameCapitalized %>: <%_ if (field.fieldType === 'LocalDate') { _%> - {convertLocalDateToString(<%= entity.entityInstance %>.<%= field.fieldName %>)} + {convertLocalDateToString(<%= entityInstance %>.<%= field.fieldName %>)} <%_ } else if (field.fieldType === 'ZonedDateTime' || field.fieldType === 'Instant' || field.fieldType === 'Boolean') { _%> - {String(<%= entity.entityInstance %>.<%= field.fieldName %>)} + {String(<%= entityInstance %>.<%= field.fieldName %>)} <%_ } else if (field.fieldType === 'byte[]' && field.fieldTypeBlobContent === 'any') { _%> - Open {<%= entity.entityInstance %>.<%= field.fieldName %>ContentType} (not implemented) + Open {<%= entityInstance %>.<%= field.fieldName %>ContentType} (not implemented) <%_ } else if (field.fieldType === 'byte[]' && field.fieldTypeBlobContent === 'image') { _%> - {<%= entity.entityInstance %>.<%= field.fieldName %>ContentType} + {<%= entityInstance %>.<%= field.fieldName %>ContentType} .<%= field.fieldName %>ContentType};base64,${<%= entity.entityInstance %>.<%= field.fieldName %>}` }} + source={{ uri: `data:${<%= entityInstance %>.<%= field.fieldName %>ContentType};base64,${<%= entityInstance %>.<%= field.fieldName %>}` }} /> <%_ } else { _%> - {<%= entity.entityInstance %>.<%= field.fieldName %>} + {<%= entityInstance %>.<%= field.fieldName %>} <%_ } _%> <%_ }) _%> - <%_ entity.relationships.filter(relation => relation.ownerSide).forEach(function (relation) { _%> + <%_ relationships.filter(relation => relation.ownerSide).forEach(function (relation) { _%> <%= relation.relationshipNameHumanized %>: <%_ if (relation.relationshipType === 'many-to-many') { _%> - {<%= entity.entityInstance %>.<%= relation.relationshipNamePlural %> && <%= entity.entityInstance %>.<%= relation.relationshipNamePlural %>.map((entity, index) => ( + {<%= entityInstance %>.<%= relation.relationshipNamePlural %> && <%= entityInstance %>.<%= relation.relationshipNamePlural %>.map((entity, index) => ( -${index}`}>{String(entity.<%= relation.otherEntityField %> || '')} ))} <%_ } else { _%> - {String(<%= entity.entityInstance %>.<%= relation.relationshipName %> ? <%= entity.entityInstance %>.<%= relation.relationshipName %>.<%= relation.otherEntityField %> : '')} + {String(<%= entityInstance %>.<%= relation.relationshipName %> ? <%= entityInstance %>.<%= relation.relationshipName %>.<%= relation.otherEntityField %> : '')} <%_ } _%> <%_ }) _%> navigation.navigate('<%= entity.entityNameCapitalized %>Edit', { entityId })} - accessibilityLabel={'<%= entity.entityNameCapitalized %> Edit Button'} - testID="<%= entity.entityInstance %>EditButton" + onPress={() => navigation.navigate('<%= entityNameCapitalized %>Edit', { entityId })} + accessibilityLabel={'<%= entityNameCapitalized %> Edit Button'} + testID="<%= entityInstance %>EditButton" /> setDeleteModalVisible(true)} - accessibilityLabel={'<%= entity.entityNameCapitalized %> Delete Button'} - testID="<%= entity.entityInstance %>DeleteButton" + accessibilityLabel={'<%= entityNameCapitalized %> Delete Button'} + testID="<%= entityInstance %>DeleteButton" /> {deleteModalVisible && ( - <<%= entity.entityNameCapitalized %>DeleteModal + <<%= entityNameCapitalized %>DeleteModal navigation={navigation} visible={deleteModalVisible} setVisible={setDeleteModalVisible} - entity={<%= entity.entityInstance %>} - testID="<%= entity.entityInstance %>DeleteModal" + entity={<%= entityInstance %>} + testID="<%= entityInstance %>DeleteModal" /> )} @@ -108,21 +108,21 @@ function <%= entity.entityNameCapitalized %>DetailScreen(props) { const mapStateToProps = (state) => { return { - <%= entity.entityInstance %>: state.<%= entity.entityInstancePlural %>.<%= entity.entityInstance %>, - error: state.<%= entity.entityInstancePlural %>.errorOne, - fetching: state.<%= entity.entityInstancePlural %>.fetchingOne, - deleting: state.<%= entity.entityInstancePlural %>.deleting, - errorDeleting: state.<%= entity.entityInstancePlural %>.errorDeleting + <%= entityInstance %>: state.<%= entityInstancePlural %>.<%= entityInstance %>, + error: state.<%= entityInstancePlural %>.errorOne, + fetching: state.<%= entityInstancePlural %>.fetchingOne, + deleting: state.<%= entityInstancePlural %>.deleting, + errorDeleting: state.<%= entityInstancePlural %>.errorDeleting } } const mapDispatchToProps = (dispatch) => { return { - get<%= entity.entityNameCapitalized %>: (id) => dispatch(<%= entity.entityNameCapitalized %>Actions.<%= entity.entityInstance %>Request(id)), - getAll<%= entity.entityNamePlural %>: (options) => dispatch(<%= entity.entityNameCapitalized %>Actions.<%= entity.entityInstance %>AllRequest(options)), - delete<%= entity.entityNameCapitalized %>: (id) => dispatch(<%= entity.entityNameCapitalized %>Actions.<%= entity.entityInstance %>DeleteRequest(id)), - reset<%= entity.entityNamePlural %>: () => dispatch(<%= entity.entityNameCapitalized %>Actions.<%= entity.entityInstance %>Reset()), + get<%= entityNameCapitalized %>: (id) => dispatch(<%= entityNameCapitalized %>Actions.<%= entityInstance %>Request(id)), + getAll<%= entityNamePlural %>: (options) => dispatch(<%= entityNameCapitalized %>Actions.<%= entityInstance %>AllRequest(options)), + delete<%= entityNameCapitalized %>: (id) => dispatch(<%= entityNameCapitalized %>Actions.<%= entityInstance %>DeleteRequest(id)), + reset<%= entityNamePlural %>: () => dispatch(<%= entityNameCapitalized %>Actions.<%= entityInstance %>Reset()), } } -export default connect(mapStateToProps, mapDispatchToProps)(<%= entity.entityNameCapitalized %>DetailScreen) +export default connect(mapStateToProps, mapDispatchToProps)(<%= entityNameCapitalized %>DetailScreen) diff --git a/generators/react-native/templates/app/modules/entities/entity-e2e-test.js.ejs b/generators/react-native/templates/app/modules/entities/entity-e2e-test.js.ejs index cc6834dac..2a21c0c12 100644 --- a/generators/react-native/templates/app/modules/entities/entity-e2e-test.js.ejs +++ b/generators/react-native/templates/app/modules/entities/entity-e2e-test.js.ejs @@ -1,4 +1,4 @@ -<%_ if (entity.fieldsContainDate) { _%> +<%_ if (fieldsContainDate) { _%> const jestExpect = require('expect'); <%_ } _%> const { @@ -13,15 +13,15 @@ const { <%_ if (fieldsContainEnum) { _%> setPickerValue, <%_ } _%> -<%_ if (entity.fieldsContainDate) { _%> +<%_ if (fieldsContainDate) { _%> setDateTimePickerValue, <%_ } _%> scrollTo, } = require('../utils'); <%_ -entity.resetFakerSeed(`entity-cypress-${entity.entityNameCapitalized}`); -const createFakeData = entity.generateFakeData('cypress'); -const updateFakeData = entity.generateFakeData('cypress'); +resetFakerSeed(`entity-cypress-${entityNameCapitalized}`); +const createFakeData = generateFakeData('cypress'); +const updateFakeData = generateFakeData('cypress'); // used for setting the datepicker date in the expected full ISO format (JS gives a compact version) Date.prototype.toFullISOString = function() { @@ -51,33 +51,33 @@ Date.prototype.toCustomLocalDate = function() { } _%> -describe.skip('<%= entity.entityNameCapitalized %> Screen Tests', () => { +describe.skip('<%= entityNameCapitalized %> Screen Tests', () => { beforeEach(async () => { await reloadApp(); await loginAsUser(); - await navigateTo<%= entity.entityNameCapitalized %>Screen(); + await navigateTo<%= entityNameCapitalized %>Screen(); }); - const navigateTo<%= entity.entityNameCapitalized %>Screen = async () => { + const navigateTo<%= entityNameCapitalized %>Screen = async () => { await openAndTapDrawerMenuItemByLabel('Entities'); await waitForElementToBeVisibleById('entityScreenScrollList') - await scrollTo('<%= entity.entityInstance %>EntityScreenButton', 'entityScreenScrollList') - await element(by.id('<%= entity.entityInstance %>EntityScreenButton')).tap() - await waitForElementToBeVisibleById('<%= entity.entityInstance %>Screen'); + await scrollTo('<%= entityInstance %>EntityScreenButton', 'entityScreenScrollList') + await element(by.id('<%= entityInstance %>EntityScreenButton')).tap() + await waitForElementToBeVisibleById('<%= entityInstance %>Screen'); } - it('should allow you to create, update, and delete the <%= entity.entityNameCapitalized %> entity', async () => { - await expect(element(by.id('<%= entity.entityInstance %>Screen'))).toBeVisible() + it('should allow you to create, update, and delete the <%= entityNameCapitalized %> entity', async () => { + await expect(element(by.id('<%= entityInstance %>Screen'))).toBeVisible() /* - * Create <%= entity.entityNameCapitalized %> + * Create <%= entityNameCapitalized %> */ await tapFirstElementByLabel(' New ') - await waitForElementToBeVisibleById('<%= entity.entityInstance %>EditScrollView'); - <%_ entity.fields.filter(field => !field.id).forEach((field, index) => { _%> + await waitForElementToBeVisibleById('<%= entityInstance %>EditScrollView'); + <%_ fields.filter(field => !field.id).forEach((field, index) => { _%> <%_ let formFieldType = getEntityFormFieldType(field); _%> // <%= field.fieldName %> - await scrollTo('<%= field.fieldName %>Input', '<%= entity.entityInstance %>EditScrollView') + await scrollTo('<%= field.fieldName %>Input', '<%= entityInstance %>EditScrollView') <%_ if (formFieldType === 'text') { _%> <%_ if (field.fieldType === 'byte[]') { _%> <%_ if (field.fieldTypeBlobContent !== 'text') { _%> @@ -110,17 +110,17 @@ describe.skip('<%= entity.entityNameCapitalized %> Screen Tests', () => { <%_ } _%> <%_ }) _%> // save - await scrollTo('submitButton', '<%= entity.entityInstance %>EditScrollView') + await scrollTo('submitButton', '<%= entityInstance %>EditScrollView') await waitThenTapButton('submitButton') /* - * View <%= entity.entityNameCapitalized %> - validate the creation + * View <%= entityNameCapitalized %> - validate the creation */ - await waitForElementToBeVisibleById('<%= entity.entityInstance %>DetailScrollView'); - <%_ entity.fields.filter(field => !field.id).forEach((field, index) => { _%> + await waitForElementToBeVisibleById('<%= entityInstance %>DetailScrollView'); + <%_ fields.filter(field => !field.id).forEach((field, index) => { _%> <%_ let formFieldType = getEntityFormFieldType(field); _%> // <%= field.fieldName %> - await scrollTo('<%= field.fieldName %>', '<%= entity.entityInstance %>DetailScrollView') + await scrollTo('<%= field.fieldName %>', '<%= entityInstance %>DetailScrollView') <%_ if (formFieldType === 'text') { _%> <%_ if (field.fieldType === 'byte[]') { _%> <%_ if (field.fieldTypeBlobContent !== 'text') { _%> @@ -149,15 +149,15 @@ describe.skip('<%= entity.entityNameCapitalized %> Screen Tests', () => { <%_ }) _%> /* - * Update <%= entity.entityNameCapitalized %> + * Update <%= entityNameCapitalized %> */ - await scrollTo('<%= entity.entityInstance %>EditButton', '<%= entity.entityInstance %>DetailScrollView') - await tapFirstElementByLabel('<%= entity.entityNameCapitalized %> Edit Button'); - await waitForElementToBeVisibleById('<%= entity.entityInstance %>EditScrollView'); - <%_ entity.fields.filter(field => !field.id).forEach((field, index) => { _%> + await scrollTo('<%= entityInstance %>EditButton', '<%= entityInstance %>DetailScrollView') + await tapFirstElementByLabel('<%= entityNameCapitalized %> Edit Button'); + await waitForElementToBeVisibleById('<%= entityInstance %>EditScrollView'); + <%_ fields.filter(field => !field.id).forEach((field, index) => { _%> <%_ let formFieldType = getEntityFormFieldType(field); _%> // <%= field.fieldName %> - await scrollTo('<%= field.fieldName %>Input', '<%= entity.entityInstance %>EditScrollView') + await scrollTo('<%= field.fieldName %>Input', '<%= entityInstance %>EditScrollView') <%_ if (formFieldType === 'text') { _%> <%_ if (field.fieldType === 'byte[]') { _%> <%_ if (field.fieldTypeBlobContent !== 'text') { _%> @@ -190,17 +190,17 @@ describe.skip('<%= entity.entityNameCapitalized %> Screen Tests', () => { <%_ } _%> <%_ }) _%> // save - await scrollTo('submitButton', '<%= entity.entityInstance %>EditScrollView') + await scrollTo('submitButton', '<%= entityInstance %>EditScrollView') await waitThenTapButton('submitButton') /* - * View <%= entity.entityNameCapitalized %> - validate the update + * View <%= entityNameCapitalized %> - validate the update */ - await waitForElementToBeVisibleById('<%= entity.entityInstance %>DetailScrollView'); - <%_ entity.fields.filter(field => !field.id).forEach((field, index) => { _%> + await waitForElementToBeVisibleById('<%= entityInstance %>DetailScrollView'); + <%_ fields.filter(field => !field.id).forEach((field, index) => { _%> <%_ let formFieldType = getEntityFormFieldType(field); _%> // <%= field.fieldName %> - await scrollTo('<%= field.fieldName %>', '<%= entity.entityInstance %>DetailScrollView') + await scrollTo('<%= field.fieldName %>', '<%= entityInstance %>DetailScrollView') <%_ if (formFieldType === 'text') { _%> <%_ if (field.fieldType === 'byte[]') { _%> <%_ if (field.fieldTypeBlobContent !== 'text') { _%> @@ -231,11 +231,11 @@ describe.skip('<%= entity.entityNameCapitalized %> Screen Tests', () => { /* * Delete */ - await scrollTo('<%= entity.entityInstance %>DeleteButton', '<%= entity.entityInstance %>DetailScrollView') - await waitThenTapButton('<%= entity.entityInstance %>DeleteButton'); - await waitForElementToBeVisibleById('<%= entity.entityInstance %>DeleteModal'); + await scrollTo('<%= entityInstance %>DeleteButton', '<%= entityInstance %>DetailScrollView') + await waitThenTapButton('<%= entityInstance %>DeleteButton'); + await waitForElementToBeVisibleById('<%= entityInstance %>DeleteModal'); await waitThenTapButton('deleteButton') - await waitForElementToBeVisibleById('<%= entity.entityInstance %>Screen'); + await waitForElementToBeVisibleById('<%= entityInstance %>Screen'); /* * Logout diff --git a/generators/react-native/templates/app/modules/entities/entity-edit-screen.js.ejs b/generators/react-native/templates/app/modules/entities/entity-edit-screen.js.ejs index 8ed668f12..2b64f302a 100644 --- a/generators/react-native/templates/app/modules/entities/entity-edit-screen.js.ejs +++ b/generators/react-native/templates/app/modules/entities/entity-edit-screen.js.ejs @@ -1,13 +1,13 @@ import React, { createRef } from 'react'; import { ActivityIndicator, Text, View } from 'react-native'; import { connect } from 'react-redux' -<%_ if (entity.validation) { _%> +<%_ if (validation) { _%> import * as Yup from 'yup'; <%_ } _%> -import <%= entity.entityNameCapitalized %>Actions from './<%= entity.entityFileName %>.reducer' +import <%= entityNameCapitalized %>Actions from './<%= entityFileName %>.reducer' <%_ /* differentRelationships.filter(relation => relation.ownerSide).filter(relation => relation.otherEntityName !== camelCaseName).forEach((relation) => { */ _%> -<%_ uniqueOwnerSideRelationships.filter(relation => relation.otherEntityName !== entity.entityInstance).forEach((relation) => { _%> +<%_ uniqueOwnerSideRelationships.filter(relation => relation.otherEntityName !== entityInstance).forEach((relation) => { _%> <%_ if (relation.otherEntityName === 'user') { _%> import UserActions from '../../../shared/reducers/user.reducer' <%_ } else { _%> @@ -19,12 +19,12 @@ import FormButton from '../../../shared/components/form/jhi-form-button'; import FormField from '../../../shared/components/form/jhi-form-field'; import Form from '../../../shared/components/form/jhi-form'; import { useDidUpdateEffect } from '../../../shared/util/use-did-update-effect'; -import styles from './<%= entity.entityFileName %>-styles' +import styles from './<%= entityFileName %>-styles' -<%_ if (entity.validation) { // start of validation if statement _%> +<%_ if (validation) { // start of validation if statement _%> // set up validation schema for the form const validationSchema = Yup.object().shape({ - <%_ entity.fields.filter(field => !field.id).forEach((field) => { // start of entity.fields loop + <%_ fields.filter(field => !field.id).forEach((field) => { // start of fields loop if (field.fieldValidate) { // start of fieldValidate if statement_%> <%= field.fieldName %>: Yup.<%= getFieldValidateType(field.fieldType) %>() <%_field.fieldValidateRules.forEach((rule, index) => { // start of fieldValidateRules loop _%> @@ -44,8 +44,8 @@ const validationSchema = Yup.object().shape({ <%_ }) // end of fieldValidateRules loop _%> , <%_ } // end of fieldValidate if statement _%> - <%_ }) // end of entity.fields loop _%> - <%_ entity.relationships.filter(relation => relation.ownerSide).forEach((relation) => { // start of relationships loop + <%_ }) // end of fields loop _%> + <%_ relationships.filter(relation => relation.ownerSide).forEach((relation) => { // start of relationships loop if (relation.relationshipRequired) { // start of relationshipRequired if statement_%> <%= relation.relationshipName %>: Yup.mixed().required(), <%_ } // end of relationshipValidate if statement _%> @@ -53,7 +53,7 @@ const validationSchema = Yup.object().shape({ }); <%_ } // end of validation if statement _%> -<%_ entity.fields.filter(field => !field.id).forEach((field) => { +<%_ fields.filter(field => !field.id).forEach((field) => { if (field.fieldIsEnum) { _%> const <%= field.fieldType %> = [ <%_ @@ -69,12 +69,12 @@ _%> <%_ } // end of if statement }) // end of field loop _%> -function <%= entity.entityNameCapitalized %>EditScreen(props) { +function <%= entityNameCapitalized %>EditScreen(props) { const { - get<%= entity.entityNameCapitalized %>, - update<%= entity.entityNameCapitalized %>, + get<%= entityNameCapitalized %>, + update<%= entityNameCapitalized %>, route, - <%= entity.entityInstance %>, + <%= entityInstance %>, fetching, updating, errorUpdating, @@ -94,19 +94,19 @@ function <%= entity.entityNameCapitalized %>EditScreen(props) { React.useEffect(() => { if (!isNewEntity) { - get<%= entity.entityNameCapitalized %>(route.params.entityId); + get<%= entityNameCapitalized %>(route.params.entityId); } else { reset(); } - }, [isNewEntity, get<%= entity.entityNameCapitalized %>, route, reset]); + }, [isNewEntity, get<%= entityNameCapitalized %>, route, reset]); React.useEffect(() => { if (isNewEntity) { setFormValue(entityToFormValue({})); } else if (!fetching) { - setFormValue(entityToFormValue(<%= entity.entityInstance %>)); + setFormValue(entityToFormValue(<%= entityInstance %>)); } - }, [<%= entity.entityInstance %>, fetching, isNewEntity]); + }, [<%= entityInstance %>, fetching, isNewEntity]); // fetch related entities React.useEffect(() => { @@ -125,13 +125,13 @@ function <%= entity.entityNameCapitalized %>EditScreen(props) { setError(errorUpdating && errorUpdating.detail ? errorUpdating.detail : 'Something went wrong updating the entity'); } else if (updateSuccess) { setError(''); - isNewEntity || !navigation.canGoBack() ? navigation.replace('<%= entity.entityNameCapitalized %>Detail', { entityId: <%= entity.entityInstance %>?.id }) : navigation.pop(); + isNewEntity || !navigation.canGoBack() ? navigation.replace('<%= entityNameCapitalized %>Detail', { entityId: <%= entityInstance %>?.id }) : navigation.pop(); } } }, [updateSuccess, errorUpdating, navigation]); -const onSubmit = (data) => update<%= entity.entityNameCapitalized %>(formValueToEntity(data)); +const onSubmit = (data) => update<%= entityNameCapitalized %>(formValueToEntity(data)); if (fetching) { return ( @@ -142,13 +142,13 @@ const onSubmit = (data) => update<%= entity.entityNameCapitalized %>(formValueTo } const formRef = createRef(); - <%_ entity.fields.filter(field => !field.id).forEach((field, index) => { _%> + <%_ fields.filter(field => !field.id).forEach((field, index) => { _%> const <%= field.fieldName %>Ref = createRef(); <%_ if (field.fieldType === 'byte[]' && field.fieldTypeBlobContent !== 'text') { _%> const <%= field.fieldName %>ContentTypeRef = createRef(); <%_ } _%> <%_ }) _%> - <%_ entity.relationships.filter(relation => relation.ownerSide).forEach((relation, index) => { _%> + <%_ relationships.filter(relation => relation.ownerSide).forEach((relation, index) => { _%> <%_ if (relation.relationshipType === 'many-to-many') { _%> const <%= relation.relationshipNamePlural %>Ref = createRef(); <%_ } else { _%> @@ -160,24 +160,24 @@ const onSubmit = (data) => update<%= entity.entityNameCapitalized %>(formValueTo {!!error && {error}} {formValue && ( - validationSchema={validationSchema} <%_ } _%>onSubmit={onSubmit} ref={formRef}> - <%_ entity.fields.filter(field => !field.id).forEach((field, index) => { _%> + validationSchema={validationSchema} <%_ } _%>onSubmit={onSubmit} ref={formRef}> + <%_ fields.filter(field => !field.id).forEach((field, index) => { _%> <%_ let nextField = null; - if (index !== entity.fields.filter(field => !field.id).length - 1) { - nextField = entity.fields.filter(field => !field.id)[index + 1]; + if (index !== fields.filter(field => !field.id).length - 1) { + nextField = fields.filter(field => !field.id)[index + 1]; } - const formField = getEntityFormField(field, nextField, entity.relationships.filter(relation => relation.ownerSide).length); + const formField = getEntityFormField(field, nextField, relationships.filter(relation => relation.ownerSide).length); _%> <%- formField %> <%_ }) _%> - <%_ entity.relationships.filter(relation => relation.ownerSide).forEach((relation, index) => { _%> + <%_ relationships.filter(relation => relation.ownerSide).forEach((relation, index) => { _%> <%_ const formField = getRelationshipFormField(relation); _%> <%- formField %> <%_ }) _%> @@ -197,14 +197,14 @@ const entityToFormValue = (value) => { } return { id: value.id ?? null, - <%_ entity.fields.filter(field => !field.id).forEach((field, index) => { _%> + <%_ fields.filter(field => !field.id).forEach((field, index) => { _%> <%= field.fieldName %>: value.<%= field.fieldName %> ?? null, <%_ if (field.fieldType === 'byte[]' && field.fieldTypeBlobContent !== 'text') { _%> <%= field.fieldName %>ContentType: value.<%= field.fieldName %>ContentType ?? null, <%_ } _%> <%_ }) _%> - <%_ entity.relationships.filter(relation => relation.ownerSide).forEach((relation, index) => { _%> - <%_ if (entity.dto === 'no' || !useOldDTOCode) { _%> + <%_ relationships.filter(relation => relation.ownerSide).forEach((relation, index) => { _%> + <%_ if (dto === 'no' || !useOldDTOCode) { _%> <%_ if (relation.relationshipType === 'many-to-many') { _%> <%= relation.relationshipNamePlural %>: value.<%= relation.relationshipNamePlural %>?.map((i) => i.id), <%_ } else { _%> @@ -223,7 +223,7 @@ const entityToFormValue = (value) => { const formValueToEntity = (value) => { const entity = { id: value.id ?? null, - <%_ entity.fields.filter(field => !field.id).forEach((field, index) => { _%> + <%_ fields.filter(field => !field.id).forEach((field, index) => { _%> <%_ if (field.fieldType === 'Boolean') { _%> <%= field.fieldName %>: value.<%= field.fieldName %> === null ? false : Boolean(value.<%= field.fieldName %>), <%_ } else { _%> @@ -233,7 +233,7 @@ const formValueToEntity = (value) => { <%= field.fieldName %>ContentType: value.<%= field.fieldName %>ContentType ?? null, <%_ } _%> <%_ }) _%> - <%_ entity.relationships.filter(relation => relation.ownerSide).forEach((relation, index) => { _%> + <%_ relationships.filter(relation => relation.ownerSide).forEach((relation, index) => { _%> <%_ if (useOldDTOCode) { _%> <%_ if (relation.relationshipType === 'many-to-many') { _%> <%= relation.relationshipNamePlural %>: value.<%= relation.relationshipNamePlural %>.map((i) => ({ id: i })), @@ -243,8 +243,8 @@ const formValueToEntity = (value) => { <%_ } _%> <%_ }) _%> } - <%_ entity.relationships.filter(relation => relation.ownerSide).forEach((relation, index) => { _%> - <%_ if (entity.dto === 'no' || !useOldDTOCode) { _%> + <%_ relationships.filter(relation => relation.ownerSide).forEach((relation, index) => { _%> + <%_ if (dto === 'no' || !useOldDTOCode) { _%> <%_ if (relation.relationshipType === 'many-to-many') { _%> entity.<%= relation.relationshipNamePlural %> = value.<%= relation.relationshipNamePlural %>.map((id) => ({ id })); <%_ } else { _%> @@ -261,25 +261,25 @@ const mapStateToProps = (state) => { <%_ uniqueOwnerSideRelationships.forEach((relation) => { _%> <%= relation.otherEntityName %>List: state.<%= relation.otherEntityNamePlural %>.<%= relation.otherEntityName %>List ?? [], <%_ }) _%> - <%= entity.entityInstance %>: state.<%= entity.entityInstancePlural %>.<%= entity.entityInstance %>, - fetching: state.<%= entity.entityInstancePlural %>.fetchingOne, - updating: state.<%= entity.entityInstancePlural %>.updating, - updateSuccess: state.<%= entity.entityInstancePlural %>.updateSuccess, - errorUpdating: state.<%= entity.entityInstancePlural %>.errorUpdating + <%= entityInstance %>: state.<%= entityInstancePlural %>.<%= entityInstance %>, + fetching: state.<%= entityInstancePlural %>.fetchingOne, + updating: state.<%= entityInstancePlural %>.updating, + updateSuccess: state.<%= entityInstancePlural %>.updateSuccess, + errorUpdating: state.<%= entityInstancePlural %>.errorUpdating } } const mapDispatchToProps = (dispatch) => { return { <%_ /* differentRelationships.filter(relation => relation.ownerSide).filter(relation => relation.otherEntityName !== camelCaseName).forEach((relation) => { */ _%> - <%_ uniqueOwnerSideRelationships.filter(relation => relation.otherEntityName !== entity.entityInstance).forEach((relation) => { _%> + <%_ uniqueOwnerSideRelationships.filter(relation => relation.otherEntityName !== entityInstance).forEach((relation) => { _%> getAll<%= relation.otherEntityNameCapitalizedPlural %>: (options) => dispatch(<%= relation.otherEntityNameCapitalized %>Actions.<%= relation.otherEntityName %>AllRequest(options)), <%_ }) _%> - get<%= entity.entityNameCapitalized %>: (id) => dispatch(<%= entity.entityNameCapitalized %>Actions.<%= entity.entityInstance %>Request(id)), - getAll<%= entity.entityNamePlural %>: (options) => dispatch(<%= entity.entityNameCapitalized %>Actions.<%= entity.entityInstance %>AllRequest(options)), - update<%= entity.entityNameCapitalized %>: (<%= entity.entityInstance %>) => dispatch(<%= entity.entityNameCapitalized %>Actions.<%= entity.entityInstance %>UpdateRequest(<%= entity.entityInstance %>)), - reset: () => dispatch(<%= entity.entityNameCapitalized %>Actions.<%= entity.entityInstance %>Reset()), + get<%= entityNameCapitalized %>: (id) => dispatch(<%= entityNameCapitalized %>Actions.<%= entityInstance %>Request(id)), + getAll<%= entityNamePlural %>: (options) => dispatch(<%= entityNameCapitalized %>Actions.<%= entityInstance %>AllRequest(options)), + update<%= entityNameCapitalized %>: (<%= entityInstance %>) => dispatch(<%= entityNameCapitalized %>Actions.<%= entityInstance %>UpdateRequest(<%= entityInstance %>)), + reset: () => dispatch(<%= entityNameCapitalized %>Actions.<%= entityInstance %>Reset()), } } -export default connect(mapStateToProps, mapDispatchToProps)(<%= entity.entityNameCapitalized %>EditScreen) +export default connect(mapStateToProps, mapDispatchToProps)(<%= entityNameCapitalized %>EditScreen) diff --git a/generators/react-native/templates/app/modules/entities/entity-flatlist.js.ejs b/generators/react-native/templates/app/modules/entities/entity-flatlist.js.ejs index d7eafacdc..3d282be78 100644 --- a/generators/react-native/templates/app/modules/entities/entity-flatlist.js.ejs +++ b/generators/react-native/templates/app/modules/entities/entity-flatlist.js.ejs @@ -2,35 +2,35 @@ import React from 'react' import { FlatList, Text, TouchableOpacity, View } from 'react-native' import { connect } from 'react-redux' import { useFocusEffect } from '@react-navigation/native'; -<%_ if (entity.searchEngineAny) { _%> +<%_ if (searchEngineAny) { _%> import SearchBar from '../../../shared/components/search-bar/search-bar' <%_ } _%> -import <%= entity.entityNameCapitalized %>Actions from './<%= entity.entityFileName %>.reducer' -import styles from './<%= entity.entityFileName %>-styles' +import <%= entityNameCapitalized %>Actions from './<%= entityFileName %>.reducer' +import styles from './<%= entityFileName %>-styles' import AlertMessage from '../../../shared/components/alert-message/alert-message' -function <%= entity.entityNameCapitalized %>Screen(props) { +function <%= entityNameCapitalized %>Screen(props) { const [page, setPage] = React.useState(0); const [sort /*, setSort*/] = React.useState('id,asc'); const [size /*, setSize*/] = React.useState(20); - <%_ if (entity.searchEngineAny) { _%> + <%_ if (searchEngineAny) { _%> const [searchTerm, setSearchTerm] = React.useState(''); <%_ } _%> - const { <%= entity.entityInstance %>, <%= entity.entityInstance %>List, getAll<%= entity.entityNamePlural %>, fetching } = props; + const { <%= entityInstance %>, <%= entityInstance %>List, getAll<%= entityNamePlural %>, fetching } = props; useFocusEffect( React.useCallback(() => { - console.debug('<%= entity.entityNameCapitalized %> entity changed and the list screen is now in focus, refresh'); + console.debug('<%= entityNameCapitalized %> entity changed and the list screen is now in focus, refresh'); setPage(0); - fetch<%= entity.entityNamePlural %>(); + fetch<%= entityNamePlural %>(); /* eslint-disable-next-line react-hooks/exhaustive-deps */ - }, [<%= entity.entityInstance %>, fetch<%= entity.entityNamePlural %>]), + }, [<%= entityInstance %>, fetch<%= entityNamePlural %>]), ); const renderRow = ({ item }) => { return ( - props.navigation.navigate('<%= entity.entityNameCapitalized %>Detail', { entityId: item.id })}> + props.navigation.navigate('<%= entityNameCapitalized %>Detail', { entityId: item.id })}> ID: {item.id} {/* {item.description} */} @@ -40,24 +40,24 @@ function <%= entity.entityNameCapitalized %>Screen(props) { } // Render a header - <%_ if (entity.searchEngineAny) { _%> + <%_ if (searchEngineAny) { _%> const renderHeader = () => <%_ } _%> // Show this when data is empty const renderEmpty = () => - + const keyExtractor = (item, index) => `${index}` // How many items should be kept im memory as we scroll? const oneScreensWorth = 20 - <%_ if (entity.searchEngineAny) { _%> + <%_ if (searchEngineAny) { _%> const cancelSearch = () => { setSearchTerm('') - fetch<%= entity.entityNamePlural %>() + fetch<%= entityNamePlural %>() } const performSearch = (query) => { @@ -69,33 +69,33 @@ function <%= entity.entityNameCapitalized %>Screen(props) { props.performSearch(query) } <%_ } _%> - const fetch<%= entity.entityNamePlural %> = React.useCallback(() => { - getAll<%= entity.entityNamePlural %>({ page: page - 1, sort, size }); - }, [getAll<%= entity.entityNamePlural %>, page, sort, size]); + const fetch<%= entityNamePlural %> = React.useCallback(() => { + getAll<%= entityNamePlural %>({ page: page - 1, sort, size }); + }, [getAll<%= entityNamePlural %>, page, sort, size]); const handleLoadMore = () => { - <%_ if (entity.pagination === 'no') { _%> - if (<%= entity.entityInstance %>List.length) { + <%_ if (pagination === 'no') { _%> + if (<%= entityInstance %>List.length) { <%_ } else { _%> if (page < props.links.next || props.links.next === undefined || fetching) { <%_ } _%> return } setPage(page + 1) - fetch<%= entity.entityNamePlural %>() + fetch<%= entityNamePlural %>() } return ( - + List} + data={<%= entityInstance %>List} renderItem={renderRow} keyExtractor={keyExtractor} initialNumToRender={oneScreensWorth} onEndReached={handleLoadMore} ListEmptyComponent={renderEmpty} - <%_ if (entity.searchEngineAny) { _%> + <%_ if (searchEngineAny) { _%> ListHeaderComponent={renderHeader} <%_ } _%> /> @@ -106,23 +106,23 @@ function <%= entity.entityNameCapitalized %>Screen(props) { const mapStateToProps = (state) => { return { // ...redux state to props here - <%= entity.entityInstance %>List: state.<%= entity.entityInstancePlural %>.<%= entity.entityInstance %>List, - <%= entity.entityInstance %>: state.<%= entity.entityInstancePlural %>.<%= entity.entityInstance %>, - fetching: state.<%= entity.entityInstancePlural %>.fetchingAll, - error: state.<%= entity.entityInstancePlural %>.errorAll, - <%_ if (entity.pagination !== 'no') { _%> - links: state.<%= entity.entityInstancePlural %>.links, + <%= entityInstance %>List: state.<%= entityInstancePlural %>.<%= entityInstance %>List, + <%= entityInstance %>: state.<%= entityInstancePlural %>.<%= entityInstance %>, + fetching: state.<%= entityInstancePlural %>.fetchingAll, + error: state.<%= entityInstancePlural %>.errorAll, + <%_ if (pagination !== 'no') { _%> + links: state.<%= entityInstancePlural %>.links, <%_ } _%> } } const mapDispatchToProps = (dispatch) => { return { - <%_ if (entity.searchEngineAny) { _%> - performSearch: (query) => dispatch(<%= entity.entityNameCapitalized %>Actions.<%= entity.entityInstance %>SearchRequest(query)), + <%_ if (searchEngineAny) { _%> + performSearch: (query) => dispatch(<%= entityNameCapitalized %>Actions.<%= entityInstance %>SearchRequest(query)), <%_ } _%> - getAll<%= entity.entityNamePlural %>: (options) => dispatch(<%= entity.entityNameCapitalized %>Actions.<%= entity.entityInstance %>AllRequest(options)) + getAll<%= entityNamePlural %>: (options) => dispatch(<%= entityNameCapitalized %>Actions.<%= entityInstance %>AllRequest(options)) } } -export default connect(mapStateToProps, mapDispatchToProps)(<%= entity.entityNameCapitalized %>Screen) +export default connect(mapStateToProps, mapDispatchToProps)(<%= entityNameCapitalized %>Screen) diff --git a/generators/react-native/templates/app/modules/entities/entity-reducer.js.ejs b/generators/react-native/templates/app/modules/entities/entity-reducer.js.ejs index aaf220791..c78c14a8e 100644 --- a/generators/react-native/templates/app/modules/entities/entity-reducer.js.ejs +++ b/generators/react-native/templates/app/modules/entities/entity-reducer.js.ejs @@ -1,6 +1,6 @@ import { createReducer, createActions } from 'reduxsauce' import Immutable from 'seamless-immutable' -<%_ if (entity.pagination !== 'no') { _%> +<%_ if (pagination !== 'no') { _%> import { loadMoreDataWhenScrolled } from '../../../shared/util/pagination-utils' import { parseHeaderForLinks } from '../../../shared/util/url-utils' <%_ } _%> @@ -8,34 +8,34 @@ import { parseHeaderForLinks } from '../../../shared/util/url-utils' /* ------------- Types and Action Creators ------------- */ const { Types, Creators } = createActions({ - <%= entity.entityInstance %>Request: ['<%= entity.entityInstance %>Id'], - <%= entity.entityInstance %>AllRequest: ['options'], - <%= entity.entityInstance %>UpdateRequest: ['<%= entity.entityInstance %>'], - <%_ if (entity.searchEngineAny) { _%> - <%= entity.entityInstance %>SearchRequest: ['query'], + <%= entityInstance %>Request: ['<%= entityInstance %>Id'], + <%= entityInstance %>AllRequest: ['options'], + <%= entityInstance %>UpdateRequest: ['<%= entityInstance %>'], + <%_ if (searchEngineAny) { _%> + <%= entityInstance %>SearchRequest: ['query'], <%_ } _%> - <%= entity.entityInstance %>DeleteRequest: ['<%= entity.entityInstance %>Id'], + <%= entityInstance %>DeleteRequest: ['<%= entityInstance %>Id'], - <%= entity.entityInstance %>Success: ['<%= entity.entityInstance %>'], - <%= entity.entityInstance %>AllSuccess: ['<%= entity.entityInstance %>List', 'headers'], - <%= entity.entityInstance %>UpdateSuccess: ['<%= entity.entityInstance %>'], - <%_ if (entity.searchEngineAny) { _%> - <%= entity.entityInstance %>SearchSuccess: ['<%= entity.entityInstance %>List'], + <%= entityInstance %>Success: ['<%= entityInstance %>'], + <%= entityInstance %>AllSuccess: ['<%= entityInstance %>List', 'headers'], + <%= entityInstance %>UpdateSuccess: ['<%= entityInstance %>'], + <%_ if (searchEngineAny) { _%> + <%= entityInstance %>SearchSuccess: ['<%= entityInstance %>List'], <%_ } _%> - <%= entity.entityInstance %>DeleteSuccess: [], + <%= entityInstance %>DeleteSuccess: [], - <%= entity.entityInstance %>Failure: ['error'], - <%= entity.entityInstance %>AllFailure: ['error'], - <%= entity.entityInstance %>UpdateFailure: ['error'], - <%_ if (entity.searchEngineAny) { _%> - <%= entity.entityInstance %>SearchFailure: ['error'], + <%= entityInstance %>Failure: ['error'], + <%= entityInstance %>AllFailure: ['error'], + <%= entityInstance %>UpdateFailure: ['error'], + <%_ if (searchEngineAny) { _%> + <%= entityInstance %>SearchFailure: ['error'], <%_ } _%> - <%= entity.entityInstance %>DeleteFailure: ['error'], + <%= entityInstance %>DeleteFailure: ['error'], - <%= entity.entityInstance %>Reset: [] + <%= entityInstance %>Reset: [] }) -export const <%= entity.entityNameCapitalized %>Types = Types +export const <%= entityNameCapitalized %>Types = Types export default Creators /* ------------- Initial State ------------- */ @@ -44,21 +44,21 @@ export const INITIAL_STATE = Immutable({ fetchingOne: false, fetchingAll: false, updating: false, - <%_ if (entity.searchEngineAny) { _%> + <%_ if (searchEngineAny) { _%> searching: false, <%_ } _%> deleting: false, updateSuccess: false, - <%= entity.entityInstance %>: {id: undefined}, - <%= entity.entityInstance %>List: [], + <%= entityInstance %>: {id: undefined}, + <%= entityInstance %>List: [], errorOne: null, errorAll: null, errorUpdating: null, - <%_ if (entity.searchEngineAny) { _%> + <%_ if (searchEngineAny) { _%> errorSearching: null, <%_ } _%> errorDeleting: null, - <%_ if (entity.pagination !== 'no') { _%> + <%_ if (pagination !== 'no') { _%> links: { next: 0 }, totalItems: 0, <%_ } _%> @@ -71,7 +71,7 @@ export const request = (state) => state.merge({ fetchingOne: true, errorOne: false, - <%= entity.entityInstance %>: INITIAL_STATE.<%= entity.entityInstance %> + <%= entityInstance %>: INITIAL_STATE.<%= entityInstance %> }) // request the data from an api @@ -87,7 +87,7 @@ export const updateRequest = (state) => updateSuccess: false, updating: true }) -<%_ if (entity.searchEngineAny) { _%> +<%_ if (searchEngineAny) { _%> // request to search from an api export const searchRequest = (state) => state.merge({ @@ -102,49 +102,49 @@ export const deleteRequest = (state) => // successful api lookup for single entity export const success = (state, action) => { - const { <%= entity.entityInstance %> } = action + const { <%= entityInstance %> } = action return state.merge({ fetchingOne: false, errorOne: null, - <%= entity.entityInstance %> + <%= entityInstance %> }) } // successful api lookup for all entities export const allSuccess = (state, action) => { - const { <%= entity.entityInstance %>List<%_ if (entity.pagination !== 'no') { _%>, headers<%_ } _%> } = action - <%_ if (entity.pagination !== 'no') { _%> + const { <%= entityInstance %>List<%_ if (pagination !== 'no') { _%>, headers<%_ } _%> } = action + <%_ if (pagination !== 'no') { _%> const links = parseHeaderForLinks(headers.link) <%_ } _%> return state.merge({ fetchingAll: false, errorAll: null, - <%_ if (entity.pagination !== 'no') { _%> + <%_ if (pagination !== 'no') { _%> links, totalItems: parseInt(headers['x-total-count'], 10), - <%= entity.entityInstance %>List: loadMoreDataWhenScrolled(state.<%= entity.entityInstance %>List, <%= entity.entityInstance %>List, links), + <%= entityInstance %>List: loadMoreDataWhenScrolled(state.<%= entityInstance %>List, <%= entityInstance %>List, links), <%_ } else { _%> - <%= entity.entityInstance %>List + <%= entityInstance %>List <%_ } _%> }) } // successful api update export const updateSuccess = (state, action) => { - const { <%= entity.entityInstance %> } = action + const { <%= entityInstance %> } = action return state.merge({ updateSuccess: true, updating: false, errorUpdating: null, - <%= entity.entityInstance %> + <%= entityInstance %> }) } -<%_ if (entity.searchEngineAny) { _%> +<%_ if (searchEngineAny) { _%> // successful api search export const searchSuccess = (state, action) => { - const { <%= entity.entityInstance %>List } = action + const { <%= entityInstance %>List } = action return state.merge({ searching: false, errorSearching: null, - <%= entity.entityInstance %>List + <%= entityInstance %>List }) } <%_ } _%> @@ -153,7 +153,7 @@ export const deleteSuccess = (state) => { return state.merge({ deleting: false, errorDeleting: null, - <%= entity.entityInstance %>: INITIAL_STATE.<%= entity.entityInstance %> + <%= entityInstance %>: INITIAL_STATE.<%= entityInstance %> }) } @@ -163,7 +163,7 @@ export const failure = (state, action) => { return state.merge({ fetchingOne: false, errorOne: error, - <%= entity.entityInstance %>: INITIAL_STATE.<%= entity.entityInstance %> + <%= entityInstance %>: INITIAL_STATE.<%= entityInstance %> }) } // Something went wrong fetching all entities. @@ -172,7 +172,7 @@ export const allFailure = (state, action) => { return state.merge({ fetchingAll: false, errorAll: error, - <%= entity.entityInstance %>List: [] + <%= entityInstance %>List: [] }) } // Something went wrong updating. @@ -182,7 +182,7 @@ export const updateFailure = (state, action) => { updateSuccess: false, updating: false, errorUpdating: error, - <%= entity.entityInstance %>: state.<%= entity.entityInstance %> + <%= entityInstance %>: state.<%= entityInstance %> }) } // Something went wrong deleting. @@ -191,17 +191,17 @@ export const deleteFailure = (state, action) => { return state.merge({ deleting: false, errorDeleting: error, - <%= entity.entityInstance %>: state.<%= entity.entityInstance %> + <%= entityInstance %>: state.<%= entityInstance %> }) } -<%_ if (entity.searchEngineAny) { _%> +<%_ if (searchEngineAny) { _%> // Something went wrong searching the entities. export const searchFailure = (state, action) => { const { error } = action return state.merge({ searching: false, errorSearching: error, - <%= entity.entityInstance %>List: [] + <%= entityInstance %>List: [] }) } <%_ } _%> @@ -214,7 +214,7 @@ export const reducer = createReducer(INITIAL_STATE, { [Types.<%= entityNameSnakeCase.toUpperCase() %>_REQUEST]: request, [Types.<%= entityNameSnakeCase.toUpperCase() %>_ALL_REQUEST]: allRequest, [Types.<%= entityNameSnakeCase.toUpperCase() %>_UPDATE_REQUEST]: updateRequest, - <%_ if (entity.searchEngineAny) { _%> + <%_ if (searchEngineAny) { _%> [Types.<%= entityNameSnakeCase.toUpperCase() %>_SEARCH_REQUEST]: searchRequest, <%_ } _%> [Types.<%= entityNameSnakeCase.toUpperCase() %>_DELETE_REQUEST]: deleteRequest, @@ -222,7 +222,7 @@ export const reducer = createReducer(INITIAL_STATE, { [Types.<%= entityNameSnakeCase.toUpperCase() %>_SUCCESS]: success, [Types.<%= entityNameSnakeCase.toUpperCase() %>_ALL_SUCCESS]: allSuccess, [Types.<%= entityNameSnakeCase.toUpperCase() %>_UPDATE_SUCCESS]: updateSuccess, - <%_ if (entity.searchEngineAny) { _%> + <%_ if (searchEngineAny) { _%> [Types.<%= entityNameSnakeCase.toUpperCase() %>_SEARCH_SUCCESS]: searchSuccess, <%_ } _%> [Types.<%= entityNameSnakeCase.toUpperCase() %>_DELETE_SUCCESS]: deleteSuccess, @@ -230,7 +230,7 @@ export const reducer = createReducer(INITIAL_STATE, { [Types.<%= entityNameSnakeCase.toUpperCase() %>_FAILURE]: failure, [Types.<%= entityNameSnakeCase.toUpperCase() %>_ALL_FAILURE]: allFailure, [Types.<%= entityNameSnakeCase.toUpperCase() %>_UPDATE_FAILURE]: updateFailure, - <%_ if (entity.searchEngineAny) { _%> + <%_ if (searchEngineAny) { _%> [Types.<%= entityNameSnakeCase.toUpperCase() %>_SEARCH_FAILURE]: searchFailure, <%_ } _%> [Types.<%= entityNameSnakeCase.toUpperCase() %>_DELETE_FAILURE]: deleteFailure, diff --git a/generators/react-native/templates/app/modules/entities/entity-reducer.spec.js.ejs b/generators/react-native/templates/app/modules/entities/entity-reducer.spec.js.ejs index 59198f442..cffdf6d61 100644 --- a/generators/react-native/templates/app/modules/entities/entity-reducer.spec.js.ejs +++ b/generators/react-native/templates/app/modules/entities/entity-reducer.spec.js.ejs @@ -1,129 +1,129 @@ -import Actions, { reducer, INITIAL_STATE } from '../../../../../app/modules/entities/<%= entity.entityFileName %>/<%= entity.entityFileName %>.reducer' +import Actions, { reducer, INITIAL_STATE } from '../../../../../app/modules/entities/<%= entityFileName %>/<%= entityFileName %>.reducer' -test('attempt retrieving a single <%= entity.entityInstance %>', () => { - const state = reducer(INITIAL_STATE, Actions.<%= entity.entityInstance %>Request({ id: 1 })) +test('attempt retrieving a single <%= entityInstance %>', () => { + const state = reducer(INITIAL_STATE, Actions.<%= entityInstance %>Request({ id: 1 })) expect(state.fetchingOne).toBe(true) - expect(state.<%= entity.entityInstance %>).toEqual({ id: undefined }) + expect(state.<%= entityInstance %>).toEqual({ id: undefined }) }) -test('attempt retrieving a list of <%= entity.entityInstance %>', () => { - const state = reducer(INITIAL_STATE, Actions.<%= entity.entityInstance %>AllRequest({ id: 1 })) +test('attempt retrieving a list of <%= entityInstance %>', () => { + const state = reducer(INITIAL_STATE, Actions.<%= entityInstance %>AllRequest({ id: 1 })) expect(state.fetchingAll).toBe(true) - expect(state.<%= entity.entityInstance %>List).toEqual([]) + expect(state.<%= entityInstance %>List).toEqual([]) }) -test('attempt updating a <%= entity.entityInstance %>', () => { - const state = reducer(INITIAL_STATE, Actions.<%= entity.entityInstance %>UpdateRequest({ id: 1 })) +test('attempt updating a <%= entityInstance %>', () => { + const state = reducer(INITIAL_STATE, Actions.<%= entityInstance %>UpdateRequest({ id: 1 })) expect(state.updating).toBe(true) }) -<%_ if (entity.searchEngineAny) { _%> -test('attempt searching a <%= entity.entityInstance %>', () => { - const state = reducer(INITIAL_STATE, Actions.<%= entity.entityInstance %>SearchRequest(1)) +<%_ if (searchEngineAny) { _%> +test('attempt searching a <%= entityInstance %>', () => { + const state = reducer(INITIAL_STATE, Actions.<%= entityInstance %>SearchRequest(1)) expect(state.searching).toBe(true) }) <%_ } _%> -test('attempt to deleting a <%= entity.entityInstance %>', () => { - const state = reducer(INITIAL_STATE, Actions.<%= entity.entityInstance %>DeleteRequest({ id: 1 })) +test('attempt to deleting a <%= entityInstance %>', () => { + const state = reducer(INITIAL_STATE, Actions.<%= entityInstance %>DeleteRequest({ id: 1 })) expect(state.deleting).toBe(true) }) -test('success retrieving a <%= entity.entityInstance %>', () => { - const state = reducer(INITIAL_STATE, Actions.<%= entity.entityInstance %>Success({ id: 1 })) +test('success retrieving a <%= entityInstance %>', () => { + const state = reducer(INITIAL_STATE, Actions.<%= entityInstance %>Success({ id: 1 })) expect(state.fetchingOne).toBe(false) expect(state.errorOne).toBe(null) - expect(state.<%= entity.entityInstance %>).toEqual({ id: 1 }) + expect(state.<%= entityInstance %>).toEqual({ id: 1 }) }) -test('success retrieving a list of <%= entity.entityInstance %>', () => { +test('success retrieving a list of <%= entityInstance %>', () => { const state = reducer( INITIAL_STATE, - <%_ if (entity.pagination === 'no') { _%> - Actions.<%= entity.entityInstance %>AllSuccess([{ id: 1 }, { id: 2 }]), + <%_ if (pagination === 'no') { _%> + Actions.<%= entityInstance %>AllSuccess([{ id: 1 }, { id: 2 }]), <%_ } else { _%> - Actions.<%= entity.entityInstance %>AllSuccess([{ id: 1 }, { id: 2 }], { link: '; rel="last",; rel="first"', 'x-total-count': 5}), + Actions.<%= entityInstance %>AllSuccess([{ id: 1 }, { id: 2 }], { link: '; rel="last",; rel="first"', 'x-total-count': 5}), <%_ } _%> ) expect(state.fetchingAll).toBe(false) expect(state.errorAll).toBe(null) - expect(state.<%= entity.entityInstance %>List).toEqual([{ id: 1 }, { id: 2 }]) - <%_ if (entity.pagination !== 'no') { _%> + expect(state.<%= entityInstance %>List).toEqual([{ id: 1 }, { id: 2 }]) + <%_ if (pagination !== 'no') { _%> expect(state.links).toEqual({ first: 0, last: 1 }) expect(state.totalItems).toEqual(5) <%_ } _%> }) -test('success updating a <%= entity.entityInstance %>', () => { - const state = reducer(INITIAL_STATE, Actions.<%= entity.entityInstance %>UpdateSuccess({ id: 1 })) +test('success updating a <%= entityInstance %>', () => { + const state = reducer(INITIAL_STATE, Actions.<%= entityInstance %>UpdateSuccess({ id: 1 })) expect(state.updating).toBe(false) expect(state.errorUpdating).toBe(null) - expect(state.<%= entity.entityInstance %>).toEqual({ id: 1 }) + expect(state.<%= entityInstance %>).toEqual({ id: 1 }) }) -<%_ if (entity.searchEngineAny) { _%> -test('success searching a <%= entity.entityInstance %>', () => { - const state = reducer(INITIAL_STATE, Actions.<%= entity.entityInstance %>SearchSuccess({ id: 1 })) +<%_ if (searchEngineAny) { _%> +test('success searching a <%= entityInstance %>', () => { + const state = reducer(INITIAL_STATE, Actions.<%= entityInstance %>SearchSuccess({ id: 1 })) expect(state.searching).toBe(false) expect(state.errorSearching).toBe(null) - expect(state.<%= entity.entityInstance %>List).toEqual({ id: 1 }) + expect(state.<%= entityInstance %>List).toEqual({ id: 1 }) }) <%_ } _%> -test('success deleting a <%= entity.entityInstance %>', () => { - const state = reducer(INITIAL_STATE, Actions.<%= entity.entityInstance %>DeleteSuccess()) +test('success deleting a <%= entityInstance %>', () => { + const state = reducer(INITIAL_STATE, Actions.<%= entityInstance %>DeleteSuccess()) expect(state.deleting).toBe(false) expect(state.errorDeleting).toBe(null) - expect(state.<%= entity.entityInstance %>).toEqual({ id: undefined }) + expect(state.<%= entityInstance %>).toEqual({ id: undefined }) }) -test('failure retrieving a <%= entity.entityInstance %>', () => { - const state = reducer(INITIAL_STATE, Actions.<%= entity.entityInstance %>Failure({ error: 'Not found' })) +test('failure retrieving a <%= entityInstance %>', () => { + const state = reducer(INITIAL_STATE, Actions.<%= entityInstance %>Failure({ error: 'Not found' })) expect(state.fetchingOne).toBe(false) expect(state.errorOne).toEqual({ error: 'Not found' }) - expect(state.<%= entity.entityInstance %>).toEqual({ id: undefined }) + expect(state.<%= entityInstance %>).toEqual({ id: undefined }) }) -test('failure retrieving a list of <%= entity.entityInstance %>', () => { - const state = reducer(INITIAL_STATE, Actions.<%= entity.entityInstance %>AllFailure({ error: 'Not found' })) +test('failure retrieving a list of <%= entityInstance %>', () => { + const state = reducer(INITIAL_STATE, Actions.<%= entityInstance %>AllFailure({ error: 'Not found' })) expect(state.fetchingAll).toBe(false) expect(state.errorAll).toEqual({ error: 'Not found' }) - expect(state.<%= entity.entityInstance %>List).toEqual([]) + expect(state.<%= entityInstance %>List).toEqual([]) }) -test('failure updating a <%= entity.entityInstance %>', () => { - const state = reducer(INITIAL_STATE, Actions.<%= entity.entityInstance %>UpdateFailure({ error: 'Not found' })) +test('failure updating a <%= entityInstance %>', () => { + const state = reducer(INITIAL_STATE, Actions.<%= entityInstance %>UpdateFailure({ error: 'Not found' })) expect(state.updating).toBe(false) expect(state.errorUpdating).toEqual({ error: 'Not found' }) - expect(state.<%= entity.entityInstance %>).toEqual(INITIAL_STATE.<%= entity.entityInstance %>) + expect(state.<%= entityInstance %>).toEqual(INITIAL_STATE.<%= entityInstance %>) }) -<%_ if (entity.searchEngineAny) { _%> -test('failure searching a <%= entity.entityInstance %>', () => { - const state = reducer(INITIAL_STATE, Actions.<%= entity.entityInstance %>SearchFailure({ error: 'Not found' })) +<%_ if (searchEngineAny) { _%> +test('failure searching a <%= entityInstance %>', () => { + const state = reducer(INITIAL_STATE, Actions.<%= entityInstance %>SearchFailure({ error: 'Not found' })) expect(state.searching).toBe(false) expect(state.errorSearching).toEqual({ error: 'Not found' }) - expect(state.<%= entity.entityInstance %>List).toEqual([]) + expect(state.<%= entityInstance %>List).toEqual([]) }) <%_ } _%> -test('failure deleting a <%= entity.entityInstance %>', () => { - const state = reducer(INITIAL_STATE, Actions.<%= entity.entityInstance %>DeleteFailure({ error: 'Not found' })) +test('failure deleting a <%= entityInstance %>', () => { + const state = reducer(INITIAL_STATE, Actions.<%= entityInstance %>DeleteFailure({ error: 'Not found' })) expect(state.deleting).toBe(false) expect(state.errorDeleting).toEqual({ error: 'Not found' }) - expect(state.<%= entity.entityInstance %>).toEqual(INITIAL_STATE.<%= entity.entityInstance %>) + expect(state.<%= entityInstance %>).toEqual(INITIAL_STATE.<%= entityInstance %>) }) -test('resetting state for <%= entity.entityInstance %>', () => { - const state = reducer({ ...INITIAL_STATE, deleting: true }, Actions.<%= entity.entityInstance %>Reset()) +test('resetting state for <%= entityInstance %>', () => { + const state = reducer({ ...INITIAL_STATE, deleting: true }, Actions.<%= entityInstance %>Reset()) expect(state).toEqual(INITIAL_STATE) }) diff --git a/generators/react-native/templates/app/modules/entities/entity-sagas.js.ejs b/generators/react-native/templates/app/modules/entities/entity-sagas.js.ejs index 168d44657..c7256e2bb 100644 --- a/generators/react-native/templates/app/modules/entities/entity-sagas.js.ejs +++ b/generators/react-native/templates/app/modules/entities/entity-sagas.js.ejs @@ -1,9 +1,9 @@ import { call, put } from 'redux-saga/effects' import { callApi } from '../../../shared/sagas/call-api.saga' -import <%= entity.entityNameCapitalized %>Actions from './<%= entity.entityFileName %>.reducer' -<%_ if (entity.fieldsContainDate) { _%> +import <%= entityNameCapitalized %>Actions from './<%= entityFileName %>.reducer' +<%_ if (fieldsContainDate) { _%> import { - <%_ if (fieldsContainZonedDateTime || entity.fieldsContainInstant) { _%> + <%_ if (fieldsContainZonedDateTime || fieldsContainInstant) { _%> convertDateTimeFromServer, <%_ } _%> <%_ if (fieldsContainLocalDate) { _%> @@ -12,86 +12,86 @@ import { } from '../../../shared/util/date-transforms' <%_ } _%> -function * get<%= entity.entityNameCapitalized %> (api, action) { - const { <%= entity.entityInstance %>Id } = action +function * get<%= entityNameCapitalized %> (api, action) { + const { <%= entityInstance %>Id } = action // make the call to the api - const apiCall = call(api.get<%= entity.entityNameCapitalized %>, <%= entity.entityInstance %>Id) + const apiCall = call(api.get<%= entityNameCapitalized %>, <%= entityInstance %>Id) const response = yield call(callApi, apiCall) // success? if (response.ok) { - <%_ if (entity.fieldsContainDate) { _%> + <%_ if (fieldsContainDate) { _%> response.data = mapDateFields(response.data) <%_ } _%> - yield put(<%= entity.entityNameCapitalized %>Actions.<%= entity.entityInstance %>Success(response.data)) + yield put(<%= entityNameCapitalized %>Actions.<%= entityInstance %>Success(response.data)) } else { - yield put(<%= entity.entityNameCapitalized %>Actions.<%= entity.entityInstance %>Failure(response.data)) + yield put(<%= entityNameCapitalized %>Actions.<%= entityInstance %>Failure(response.data)) } } -function * getAll<%= entity.entityNamePlural %> (api, action) { +function * getAll<%= entityNamePlural %> (api, action) { const { options } = action // make the call to the api - const apiCall = call(api.getAll<%= entity.entityNamePlural %>, options) + const apiCall = call(api.getAll<%= entityNamePlural %>, options) const response = yield call(callApi, apiCall) // success? if (response.ok) { - yield put(<%= entity.entityNameCapitalized %>Actions.<%= entity.entityInstance %>AllSuccess(response.data, response.headers)) + yield put(<%= entityNameCapitalized %>Actions.<%= entityInstance %>AllSuccess(response.data, response.headers)) } else { - yield put(<%= entity.entityNameCapitalized %>Actions.<%= entity.entityInstance %>AllFailure(response.data)) + yield put(<%= entityNameCapitalized %>Actions.<%= entityInstance %>AllFailure(response.data)) } } -function * update<%= entity.entityNameCapitalized %> (api, action) { - const { <%= entity.entityInstance %> } = action +function * update<%= entityNameCapitalized %> (api, action) { + const { <%= entityInstance %> } = action // make the call to the api - const idIsNotNull = !(<%= entity.entityInstance %>.id === null || <%= entity.entityInstance %>.id === undefined); - const apiCall = call(idIsNotNull ? api.update<%= entity.entityNameCapitalized %> : api.create<%= entity.entityNameCapitalized %>, <%= entity.entityInstance %>) + const idIsNotNull = !(<%= entityInstance %>.id === null || <%= entityInstance %>.id === undefined); + const apiCall = call(idIsNotNull ? api.update<%= entityNameCapitalized %> : api.create<%= entityNameCapitalized %>, <%= entityInstance %>) const response = yield call(callApi, apiCall) // success? if (response.ok) { - <%_ if (entity.fieldsContainDate) { _%> + <%_ if (fieldsContainDate) { _%> response.data = mapDateFields(response.data) <%_ } _%> - yield put(<%= entity.entityNameCapitalized %>Actions.<%= entity.entityInstance %>UpdateSuccess(response.data)) + yield put(<%= entityNameCapitalized %>Actions.<%= entityInstance %>UpdateSuccess(response.data)) } else { - yield put(<%= entity.entityNameCapitalized %>Actions.<%= entity.entityInstance %>UpdateFailure(response.data)) + yield put(<%= entityNameCapitalized %>Actions.<%= entityInstance %>UpdateFailure(response.data)) } } -<%_ if (entity.searchEngineAny) { _%> -function * search<%= entity.entityNamePlural %> (api, action) { +<%_ if (searchEngineAny) { _%> +function * search<%= entityNamePlural %> (api, action) { const { query } = action // make the call to the api - const apiCall = call(api.search<%= entity.entityNamePlural %>, query) + const apiCall = call(api.search<%= entityNamePlural %>, query) const response = yield call(callApi, apiCall) // success? if (response.ok) { - yield put(<%= entity.entityNameCapitalized %>Actions.<%= entity.entityInstance %>SearchSuccess(response.data)) + yield put(<%= entityNameCapitalized %>Actions.<%= entityInstance %>SearchSuccess(response.data)) } else { - yield put(<%= entity.entityNameCapitalized %>Actions.<%= entity.entityInstance %>SearchFailure(response.data)) + yield put(<%= entityNameCapitalized %>Actions.<%= entityInstance %>SearchFailure(response.data)) } } <%_ } _%> -function * delete<%= entity.entityNameCapitalized %> (api, action) { - const { <%= entity.entityInstance %>Id } = action +function * delete<%= entityNameCapitalized %> (api, action) { + const { <%= entityInstance %>Id } = action // make the call to the api - const apiCall = call(api.delete<%= entity.entityNameCapitalized %>, <%= entity.entityInstance %>Id) + const apiCall = call(api.delete<%= entityNameCapitalized %>, <%= entityInstance %>Id) const response = yield call(callApi, apiCall) // success? if (response.ok) { - yield put(<%= entity.entityNameCapitalized %>Actions.<%= entity.entityInstance %>DeleteSuccess()) + yield put(<%= entityNameCapitalized %>Actions.<%= entityInstance %>DeleteSuccess()) } else { - yield put(<%= entity.entityNameCapitalized %>Actions.<%= entity.entityInstance %>DeleteFailure(response.data)) + yield put(<%= entityNameCapitalized %>Actions.<%= entityInstance %>DeleteFailure(response.data)) } } -<%_ if (entity.fieldsContainDate) { _%> +<%_ if (fieldsContainDate) { _%> function mapDateFields (data) { -<%_ entity.fields.filter(field => !field.id).forEach(function (field) { _%> +<%_ fields.filter(field => !field.id).forEach(function (field) { _%> <%_ if (field.fieldType === 'LocalDate') { _%> data.<%= field.fieldName %> = convertLocalDateFromServer(data.<%= field.fieldName %>) <%_ } else if (field.fieldType === 'ZonedDateTime' || field.fieldType === 'Instant') { _%> @@ -103,12 +103,12 @@ function mapDateFields (data) { <%_ } _%> export default { - getAll<%= entity.entityNamePlural %>, - get<%= entity.entityNameCapitalized %>, - delete<%= entity.entityNameCapitalized %>, - <%_ if (entity.searchEngineAny) { _%> - search<%= entity.entityNamePlural %>, + getAll<%= entityNamePlural %>, + get<%= entityNameCapitalized %>, + delete<%= entityNameCapitalized %>, + <%_ if (searchEngineAny) { _%> + search<%= entityNamePlural %>, <%_ } _%> - update<%= entity.entityNameCapitalized %>, + update<%= entityNameCapitalized %>, }; diff --git a/generators/react-native/templates/app/modules/entities/entity-sagas.spec.js.ejs b/generators/react-native/templates/app/modules/entities/entity-sagas.spec.js.ejs index 0d972af94..cad7e268e 100644 --- a/generators/react-native/templates/app/modules/entities/entity-sagas.spec.js.ejs +++ b/generators/react-native/templates/app/modules/entities/entity-sagas.spec.js.ejs @@ -1,99 +1,99 @@ import { put } from 'redux-saga/effects' import FixtureAPI from '../../../../../app/shared/services/fixture-api' -import <%= entity.entityNameCapitalized %>Sagas from '../../../../../app/modules/entities/<%= entity.entityFileName %>/<%= entity.entityFileName %>.sagas' -import <%= entity.entityNameCapitalized %>Actions from '../../../../../app/modules/entities/<%= entity.entityFileName %>/<%= entity.entityFileName %>.reducer' +import <%= entityNameCapitalized %>Sagas from '../../../../../app/modules/entities/<%= entityFileName %>/<%= entityFileName %>.sagas' +import <%= entityNameCapitalized %>Actions from '../../../../../app/modules/entities/<%= entityFileName %>/<%= entityFileName %>.reducer' -const { get<%= entity.entityNameCapitalized %>, getAll<%= entity.entityNamePlural %>, update<%= entity.entityNameCapitalized %>, delete<%= entity.entityNameCapitalized %><%= entity.searchEngine ? `, search${entity.entityNamePlural}` : '' %> } = <%= entity.entityNameCapitalized %>Sagas; +const { get<%= entityNameCapitalized %>, getAll<%= entityNamePlural %>, update<%= entityNameCapitalized %>, delete<%= entityNameCapitalized %><%= searchEngine ? `, search${entityNamePlural}` : '' %> } = <%= entityNameCapitalized %>Sagas; const stepper = (fn) => (mock) => fn.next(mock).value test('get success path', () => { - const response = FixtureAPI.get<%= entity.entityNameCapitalized %>(1) - const step = stepper(get<%= entity.entityNameCapitalized %>(FixtureAPI, { <%= entity.entityInstance %>Id: { id: 1 } })) + const response = FixtureAPI.get<%= entityNameCapitalized %>(1) + const step = stepper(get<%= entityNameCapitalized %>(FixtureAPI, { <%= entityInstance %>Id: { id: 1 } })) // Step 1: Hit the api step() // Step 2: Successful return and data! - expect(step(response)).toEqual(put(<%= entity.entityNameCapitalized %>Actions.<%= entity.entityInstance %>Success(response.data))) + expect(step(response)).toEqual(put(<%= entityNameCapitalized %>Actions.<%= entityInstance %>Success(response.data))) }) test('get failure path', () => { const response = { ok: false } - const step = stepper(get<%= entity.entityNameCapitalized %>(FixtureAPI, { <%= entity.entityInstance %>Id: { id: 1 } })) + const step = stepper(get<%= entityNameCapitalized %>(FixtureAPI, { <%= entityInstance %>Id: { id: 1 } })) // Step 1: Hit the api step() // Step 2: Failed response. - expect(step(response)).toEqual(put(<%= entity.entityNameCapitalized %>Actions.<%= entity.entityInstance %>Failure())) + expect(step(response)).toEqual(put(<%= entityNameCapitalized %>Actions.<%= entityInstance %>Failure())) }) test('getAll success path', () => { - const response = FixtureAPI.getAll<%= entity.entityNamePlural %>() - const step = stepper(getAll<%= entity.entityNamePlural %>(FixtureAPI, { options: { page: 0, sort: 'id,asc', size: 20 } })) + const response = FixtureAPI.getAll<%= entityNamePlural %>() + const step = stepper(getAll<%= entityNamePlural %>(FixtureAPI, { options: { page: 0, sort: 'id,asc', size: 20 } })) // Step 1: Hit the api step() // Step 2: Successful return and data! - expect(step(response)).toEqual(put(<%= entity.entityNameCapitalized %>Actions.<%= entity.entityInstance %>AllSuccess([{ id: 1 }, { id: 2 }]))) + expect(step(response)).toEqual(put(<%= entityNameCapitalized %>Actions.<%= entityInstance %>AllSuccess([{ id: 1 }, { id: 2 }]))) }) test('getAll failure path', () => { const response = { ok: false } - const step = stepper(getAll<%= entity.entityNamePlural %>(FixtureAPI, { options: { page: 0, sort: 'id,asc', size: 20 } })) + const step = stepper(getAll<%= entityNamePlural %>(FixtureAPI, { options: { page: 0, sort: 'id,asc', size: 20 } })) // Step 1: Hit the api step() // Step 2: Failed response. - expect(step(response)).toEqual(put(<%= entity.entityNameCapitalized %>Actions.<%= entity.entityInstance %>AllFailure())) + expect(step(response)).toEqual(put(<%= entityNameCapitalized %>Actions.<%= entityInstance %>AllFailure())) }) test('update success path', () => { - const response = FixtureAPI.update<%= entity.entityNameCapitalized %>({ id: 1 }) - const step = stepper(update<%= entity.entityNameCapitalized %>(FixtureAPI, { <%= entity.entityInstance %>: { id: 1 } })) + const response = FixtureAPI.update<%= entityNameCapitalized %>({ id: 1 }) + const step = stepper(update<%= entityNameCapitalized %>(FixtureAPI, { <%= entityInstance %>: { id: 1 } })) // Step 1: Hit the api step() // Step 2: Successful return and data! - expect(step(response)).toEqual(put(<%= entity.entityNameCapitalized %>Actions.<%= entity.entityInstance %>UpdateSuccess(response.data))) + expect(step(response)).toEqual(put(<%= entityNameCapitalized %>Actions.<%= entityInstance %>UpdateSuccess(response.data))) }) test('update failure path', () => { const response = { ok: false } - const step = stepper(update<%= entity.entityNameCapitalized %>(FixtureAPI, { <%= entity.entityInstance %>: { id: 1 } })) + const step = stepper(update<%= entityNameCapitalized %>(FixtureAPI, { <%= entityInstance %>: { id: 1 } })) // Step 1: Hit the api step() // Step 2: Failed response. - expect(step(response)).toEqual(put(<%= entity.entityNameCapitalized %>Actions.<%= entity.entityInstance %>UpdateFailure())) + expect(step(response)).toEqual(put(<%= entityNameCapitalized %>Actions.<%= entityInstance %>UpdateFailure())) }) -<%_ if (entity.searchEngineAny) { _%> +<%_ if (searchEngineAny) { _%> test('search success path', () => { - const response = FixtureAPI.search<%= entity.entityNamePlural %>() - const step = stepper(search<%= entity.entityNamePlural %>(FixtureAPI, '*')) + const response = FixtureAPI.search<%= entityNamePlural %>() + const step = stepper(search<%= entityNamePlural %>(FixtureAPI, '*')) // Step 1: Hit the api step() // Step 2: Successful return and data! - expect(step(response)).toEqual(put(<%= entity.entityNameCapitalized %>Actions.<%= entity.entityInstance %>SearchSuccess([{ id: 1 }, { id: 2 }]))) + expect(step(response)).toEqual(put(<%= entityNameCapitalized %>Actions.<%= entityInstance %>SearchSuccess([{ id: 1 }, { id: 2 }]))) }) test('search failure path', () => { const response = { ok: false } - const step = stepper(search<%= entity.entityNamePlural %>(FixtureAPI, '*')) + const step = stepper(search<%= entityNamePlural %>(FixtureAPI, '*')) // Step 1: Hit the api step() // Step 2: Failed response. - expect(step(response)).toEqual(put(<%= entity.entityNameCapitalized %>Actions.<%= entity.entityInstance %>SearchFailure())) + expect(step(response)).toEqual(put(<%= entityNameCapitalized %>Actions.<%= entityInstance %>SearchFailure())) }) <%_ } _%> test('delete success path', () => { - const response = FixtureAPI.delete<%= entity.entityNameCapitalized %>({ id: 1 }) - const step = stepper(delete<%= entity.entityNameCapitalized %>(FixtureAPI, { <%= entity.entityInstance %>Id: { id: 1 } })) + const response = FixtureAPI.delete<%= entityNameCapitalized %>({ id: 1 }) + const step = stepper(delete<%= entityNameCapitalized %>(FixtureAPI, { <%= entityInstance %>Id: { id: 1 } })) // Step 1: Hit the api step() // Step 2: Successful return and data! - expect(step(response)).toEqual(put(<%= entity.entityNameCapitalized %>Actions.<%= entity.entityInstance %>DeleteSuccess(response.data))) + expect(step(response)).toEqual(put(<%= entityNameCapitalized %>Actions.<%= entityInstance %>DeleteSuccess(response.data))) }) test('delete failure path', () => { const response = { ok: false } - const step = stepper(delete<%= entity.entityNameCapitalized %>(FixtureAPI, { <%= entity.entityInstance %>Id: { id: 1 } })) + const step = stepper(delete<%= entityNameCapitalized %>(FixtureAPI, { <%= entityInstance %>Id: { id: 1 } })) // Step 1: Hit the api step() // Step 2: Failed response. - expect(step(response)).toEqual(put(<%= entity.entityNameCapitalized %>Actions.<%= entity.entityInstance %>DeleteFailure())) + expect(step(response)).toEqual(put(<%= entityNameCapitalized %>Actions.<%= entityInstance %>DeleteFailure())) }) diff --git a/generators/react-native/templates/app/modules/entities/fixtures/entity-get.json.ejs b/generators/react-native/templates/app/modules/entities/fixtures/entity-get.json.ejs index 6f2f76377..8b841ef3a 100644 --- a/generators/react-native/templates/app/modules/entities/fixtures/entity-get.json.ejs +++ b/generators/react-native/templates/app/modules/entities/fixtures/entity-get.json.ejs @@ -1,6 +1,6 @@ { "id" : 1, - <%_ entity.fields.filter(field => !field.id).forEach(function (field) { _%> + <%_ fields.filter(field => !field.id).forEach(function (field) { _%> <%_ if (field.fieldType === 'LocalDate' || field.fieldType === 'ZonedDateTime' || field.fieldType === 'Instant') { _%> <%= field.fieldName %>: null, <%_ } _%> diff --git a/generators/react-native/templates/app/modules/entities/fixtures/entity-update.json.ejs b/generators/react-native/templates/app/modules/entities/fixtures/entity-update.json.ejs index 6f2f76377..8b841ef3a 100644 --- a/generators/react-native/templates/app/modules/entities/fixtures/entity-update.json.ejs +++ b/generators/react-native/templates/app/modules/entities/fixtures/entity-update.json.ejs @@ -1,6 +1,6 @@ { "id" : 1, - <%_ entity.fields.filter(field => !field.id).forEach(function (field) { _%> + <%_ fields.filter(field => !field.id).forEach(function (field) { _%> <%_ if (field.fieldType === 'LocalDate' || field.fieldType === 'ZonedDateTime' || field.fieldType === 'Instant') { _%> <%= field.fieldName %>: null, <%_ } _%> From 6cfba42f6c263a5c88036c567550964448b1d3f8 Mon Sep 17 00:00:00 2001 From: Hideyuki Kagami Date: Sat, 10 Feb 2024 01:04:37 +0900 Subject: [PATCH 52/70] replace deprecated properties --- .../app/modules/entities/entity-detail-screen.js.ejs | 4 ++-- .../app/modules/entities/entity-e2e-test.js.ejs | 4 ++-- .../app/modules/entities/entity-edit-screen.js.ejs | 6 +++--- .../app/modules/entities/entity-sagas.js.ejs | 12 ++++++------ 4 files changed, 13 insertions(+), 13 deletions(-) diff --git a/generators/react-native/templates/app/modules/entities/entity-detail-screen.js.ejs b/generators/react-native/templates/app/modules/entities/entity-detail-screen.js.ejs index 74483c967..078215b60 100644 --- a/generators/react-native/templates/app/modules/entities/entity-detail-screen.js.ejs +++ b/generators/react-native/templates/app/modules/entities/entity-detail-screen.js.ejs @@ -1,8 +1,8 @@ import React from 'react' -import { ActivityIndicator, ScrollView, Text, <% if (fieldsContainImageBlob) { %>Image, <% } %>View } from 'react-native'; +import { ActivityIndicator, ScrollView, Text, <% if (anyFieldHasImageContentType) { %>Image, <% } %>View } from 'react-native'; import { connect } from 'react-redux' import { useFocusEffect } from '@react-navigation/native'; -<%_ if (fieldsContainLocalDate) { _%> +<%_ if (anyFieldIsLocalDate) { _%> import { convertLocalDateToString } from '../../../shared/util/date-transforms' <%_ } _%> diff --git a/generators/react-native/templates/app/modules/entities/entity-e2e-test.js.ejs b/generators/react-native/templates/app/modules/entities/entity-e2e-test.js.ejs index 2a21c0c12..6cb746387 100644 --- a/generators/react-native/templates/app/modules/entities/entity-e2e-test.js.ejs +++ b/generators/react-native/templates/app/modules/entities/entity-e2e-test.js.ejs @@ -1,4 +1,4 @@ -<%_ if (fieldsContainDate) { _%> +<%_ if (anyFieldIsDateDerived) { _%> const jestExpect = require('expect'); <%_ } _%> const { @@ -13,7 +13,7 @@ const { <%_ if (fieldsContainEnum) { _%> setPickerValue, <%_ } _%> -<%_ if (fieldsContainDate) { _%> +<%_ if (anyFieldIsDateDerived) { _%> setDateTimePickerValue, <%_ } _%> scrollTo, diff --git a/generators/react-native/templates/app/modules/entities/entity-edit-screen.js.ejs b/generators/react-native/templates/app/modules/entities/entity-edit-screen.js.ejs index 2b64f302a..b78799c90 100644 --- a/generators/react-native/templates/app/modules/entities/entity-edit-screen.js.ejs +++ b/generators/react-native/templates/app/modules/entities/entity-edit-screen.js.ejs @@ -1,7 +1,7 @@ import React, { createRef } from 'react'; import { ActivityIndicator, Text, View } from 'react-native'; import { connect } from 'react-redux' -<%_ if (validation) { _%> +<%_ if (anyPropertyHasValidation) { _%> import * as Yup from 'yup'; <%_ } _%> @@ -21,7 +21,7 @@ import Form from '../../../shared/components/form/jhi-form'; import { useDidUpdateEffect } from '../../../shared/util/use-did-update-effect'; import styles from './<%= entityFileName %>-styles' -<%_ if (validation) { // start of validation if statement _%> +<%_ if (anyPropertyHasValidation) { // start of validation if statement _%> // set up validation schema for the form const validationSchema = Yup.object().shape({ <%_ fields.filter(field => !field.id).forEach((field) => { // start of fields loop @@ -166,7 +166,7 @@ const onSubmit = (data) => update<%= entityNameCapitalized %>(formValueToEntity( contentContainerStyle={styles.paddedScrollView}> {!!error && {error}} {formValue && ( - validationSchema={validationSchema} <%_ } _%>onSubmit={onSubmit} ref={formRef}> + validationSchema={validationSchema} <%_ } _%>onSubmit={onSubmit} ref={formRef}> <%_ fields.filter(field => !field.id).forEach((field, index) => { _%> <%_ let nextField = null; diff --git a/generators/react-native/templates/app/modules/entities/entity-sagas.js.ejs b/generators/react-native/templates/app/modules/entities/entity-sagas.js.ejs index c7256e2bb..946b66420 100644 --- a/generators/react-native/templates/app/modules/entities/entity-sagas.js.ejs +++ b/generators/react-native/templates/app/modules/entities/entity-sagas.js.ejs @@ -1,12 +1,12 @@ import { call, put } from 'redux-saga/effects' import { callApi } from '../../../shared/sagas/call-api.saga' import <%= entityNameCapitalized %>Actions from './<%= entityFileName %>.reducer' -<%_ if (fieldsContainDate) { _%> +<%_ if (anyFieldIsDateDerived) { _%> import { - <%_ if (fieldsContainZonedDateTime || fieldsContainInstant) { _%> + <%_ if (anyFieldIsZonedDateTime || anyFieldIsInstant) { _%> convertDateTimeFromServer, <%_ } _%> - <%_ if (fieldsContainLocalDate) { _%> + <%_ if (anyFieldIsLocalDate) { _%> convertLocalDateFromServer, <%_ } _%> } from '../../../shared/util/date-transforms' @@ -20,7 +20,7 @@ function * get<%= entityNameCapitalized %> (api, action) { // success? if (response.ok) { - <%_ if (fieldsContainDate) { _%> + <%_ if (anyFieldIsDateDerived) { _%> response.data = mapDateFields(response.data) <%_ } _%> yield put(<%= entityNameCapitalized %>Actions.<%= entityInstance %>Success(response.data)) @@ -52,7 +52,7 @@ function * update<%= entityNameCapitalized %> (api, action) { // success? if (response.ok) { - <%_ if (fieldsContainDate) { _%> + <%_ if (anyFieldIsDateDerived) { _%> response.data = mapDateFields(response.data) <%_ } _%> yield put(<%= entityNameCapitalized %>Actions.<%= entityInstance %>UpdateSuccess(response.data)) @@ -89,7 +89,7 @@ function * delete<%= entityNameCapitalized %> (api, action) { yield put(<%= entityNameCapitalized %>Actions.<%= entityInstance %>DeleteFailure(response.data)) } } -<%_ if (fieldsContainDate) { _%> +<%_ if (anyFieldIsDateDerived) { _%> function mapDateFields (data) { <%_ fields.filter(field => !field.id).forEach(function (field) { _%> <%_ if (field.fieldType === 'LocalDate') { _%> From e0a138490d790071297d48719e3765a536f11507 Mon Sep 17 00:00:00 2001 From: Hideyuki Kagami Date: Sat, 10 Feb 2024 01:47:19 +0900 Subject: [PATCH 53/70] update readme --- README.md | 43 +++++++++++++++++++++++++++++-------------- 1 file changed, 29 insertions(+), 14 deletions(-) diff --git a/README.md b/README.md index 167b5cf1e..e4fd9efbb 100644 --- a/README.md +++ b/README.md @@ -43,32 +43,47 @@ - [iOS](https://docs.expo.dev/workflow/ios-simulator/) - JHipster backend must use `jwt` or `oauth2` for its `authenticationType` -Create a directory for your app: +### Usage -```sh -mkdir SampleApp && cd SampleApp +#### Generate React Native app from JHipster app + +Create a JHipster app using `jhipster`, or a backend-only with `jhipster --skip-client`. + +Create a directory alongside your JHipster app (ex. `client`), and run `jhipster-react-native` or `rnhipster` in it. + +```bash ++ rootDir/ + + backend/ # run `jhipster` in it. + + client/ # run `jhipster-react-native` or `rnhipster` in it. ``` -To generate an app, run the following command: +Answer the prompts: + +- Enter the path to your JHipster app (default: `../backend`) +- Choose whether to enable E2E Detox Tests -```sh -# JHipster v6.x+ -rnhipster +#### Generate JHipster app and React Native app at the same time -# JHipster v7+ -jhipster --blueprints react-native +You can also create a JHipster app and an React Native app at the same time using the following command: -# JHipster v7+ JDL Application -jhipster --blueprints react-native jdl ./path-to-your-app-config.jdl +```bash +jhipster jdl bug-tracker.jh --blueprints react-native +``` +```bash ++ rootDir/ + + backend/ # run `jhipster` in it. ``` Answer the prompts: -- Enter the path to your JHipster app -- Choose whether to enable E2E Detox Tests +- Enter the path to your React Native app (default: `../client`) -After generating, you can import entities with the [entity generator and JDL importer](docs/generators.md). +For available options, you can run: + +```bash +jhipster-react-native app --help +``` ### Configuration From f6c43311b1d319170a0c7550a4516a875c112f89 Mon Sep 17 00:00:00 2001 From: Marcelo Shima Date: Sat, 24 Feb 2024 14:16:23 -0300 Subject: [PATCH 54/70] use relative path in scripts. --- test/scripts/copy-jdl-file.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/scripts/copy-jdl-file.sh b/test/scripts/copy-jdl-file.sh index eae57c60b..f5aa24046 100755 --- a/test/scripts/copy-jdl-file.sh +++ b/test/scripts/copy-jdl-file.sh @@ -11,7 +11,7 @@ echo "Using JDL files: ${APP_JDL} ${ENTITY_JDL}" echo "Using Options: ${APP_JDL} ${ENTITY_JDL}" # combine the app and entity JDL file -cat ${GITHUB_WORKSPACE}/test/jdl/${APP_JDL} ${GITHUB_WORKSPACE}/test/jdl/${ENTITY_JDL} >> ../${JHI_REACT_NATIVE_APP_NAME}.jdl +cat test/jdl/${APP_JDL} test/jdl/${ENTITY_JDL} >> ../${JHI_REACT_NATIVE_APP_NAME}.jdl echo " Auth Type: ${JHI_AUTH_TYPE}" sed -i.back "s~authenticationType jwt~authenticationType ${JHI_AUTH_TYPE}~g" ../${JHI_REACT_NATIVE_APP_NAME}.jdl From 1db49026a50e50042d466fe0f77167f402f3d3c2 Mon Sep 17 00:00:00 2001 From: Marcelo Shima Date: Sat, 24 Feb 2024 14:30:53 -0300 Subject: [PATCH 55/70] use jhipster shared actions. --- .github/workflows/ios.yml | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ios.yml b/.github/workflows/ios.yml index f6a0e63af..d6c7872eb 100644 --- a/.github/workflows/ios.yml +++ b/.github/workflows/ios.yml @@ -28,6 +28,9 @@ jobs: runs-on: macos-13 if: "!contains(github.event.head_commit.message, '[ci skip]') && !contains(github.event.head_commit.message, '[skip ci]') && !contains(github.event.pull_request.title, '[skip ci]') && !contains(github.event.pull_request.title, '[ci skip]') && !contains(github.event.ref_type, '[tag]')" timeout-minutes: 90 + defaults: + run: + working-directory: ${{ github.workspace }}/app strategy: fail-fast: false matrix: @@ -70,17 +73,22 @@ jobs: JHI_RECORD_VIDEO: ${{ github.event.inputs.recordVideo || 'false' }} JHI_SCREENSHOTS: ${{ github.event.inputs.screenshots || 'false' }} steps: - - uses: actions/checkout@v4.1.1 + - uses: jhipster/actions/create-app-path@v0 + - uses: jhipster/actions/setup-git@v0 + - uses: jhipster/actions/restore-cache@v0 + with: + npm: true + - uses: actions/checkout@v4 + with: + path: generator-jhipster-react-native + fetch-depth: 2 - uses: actions/setup-java@v4 with: - distribution: 'adopt' + distribution: 'temurin' java-version: '21.x' - - run: git --no-pager log -n 10 --graph --pretty='%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue) <%an>%Creset' --abbrev-commit - uses: actions/setup-node@v4.0.2 with: node-version: ${{ matrix.node_version }} - - run: $SCRIPT_DIR/git-config.sh - name: Config git variables - run: $SCRIPT_DIR/install-node-dependencies.sh name: 'TOOLS: install node dependencies' - uses: maxim-lobanov/setup-xcode@v1 @@ -97,8 +105,10 @@ jobs: name: 'TOOLS: display tools' - run: npm i && npm link name: 'TOOLS: npm install and link in generator-jhipster-react-native' + working-directory: ${{ github.workspace }}/generator-jhipster-react-native - run: $SCRIPT_DIR/copy-jdl-file.sh name: 'SETUP: copy the JDL file for the backend and app' + working-directory: ${{ github.workspace }}/generator-jhipster-react-native - run: $SCRIPT_DIR/generate-jhipster-backend.sh name: 'GENERATING: generate jhipster backend' - run: $SCRIPT_DIR/generate-react-native-app.sh From c380b3743a2871d46c38310a50a36a174aad0047 Mon Sep 17 00:00:00 2001 From: Marcelo Shima Date: Sat, 24 Feb 2024 15:09:19 -0300 Subject: [PATCH 56/70] fix SCRIPT_DIR --- .github/workflows/ios.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ios.yml b/.github/workflows/ios.yml index d6c7872eb..087f63994 100644 --- a/.github/workflows/ios.yml +++ b/.github/workflows/ios.yml @@ -68,7 +68,7 @@ jobs: JHI_WEBSOCKETS: ${{ matrix.websockets }} JHI_ENTITY_JDL: ${{ matrix.entity_jdl }} JHIPSTER_VERSION: ${{ matrix.jhipster_version }} - SCRIPT_DIR: ./test/scripts + SCRIPT_DIR: ${{ github.workspace }}/generator-jhipster-react-native/test/scripts PLATFORM: ios JHI_RECORD_VIDEO: ${{ github.event.inputs.recordVideo || 'false' }} JHI_SCREENSHOTS: ${{ github.event.inputs.screenshots || 'false' }} From 23d84fcac5f685fc6137e152707452843826025e Mon Sep 17 00:00:00 2001 From: Marcelo Shima Date: Sat, 24 Feb 2024 15:53:10 -0300 Subject: [PATCH 57/70] disable eslint at lint-staged --- generators/react-native/templates/package.json.ejs | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/generators/react-native/templates/package.json.ejs b/generators/react-native/templates/package.json.ejs index 15c436ea1..618277699 100644 --- a/generators/react-native/templates/package.json.ejs +++ b/generators/react-native/templates/package.json.ejs @@ -120,8 +120,7 @@ <%_ if (!skipCommitHook) { _%> "lint-staged": { "{,app/**/,test/**/}*.{js,json,yml,md,ts,tsx}": [ - "prettier --write", - "eslint --fix --ext .js" + "prettier --write" ] }, <%_ } _%> From ba706166540d7c6a892f794510366b9b1836fdf8 Mon Sep 17 00:00:00 2001 From: Marcelo Shima Date: Sat, 24 Feb 2024 16:47:10 -0300 Subject: [PATCH 58/70] add compare step --- .github/workflows/ios.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/ios.yml b/.github/workflows/ios.yml index 087f63994..4a56acbed 100644 --- a/.github/workflows/ios.yml +++ b/.github/workflows/ios.yml @@ -113,6 +113,11 @@ jobs: name: 'GENERATING: generate jhipster backend' - run: $SCRIPT_DIR/generate-react-native-app.sh name: 'GENERATING: generate react-native app' + - uses: jhipster/actions/compare-sample@v0 + with: + generator-path: generator-jhipster-react-native + current-application-path: ${{ github.workspace }}/client + cmd: rnhipster jdl ${{ github.workspace }}/*.jdl --standalone --skip-jhipster-dependencies --force --skip-install - run: $SCRIPT_DIR/run-detox-tests.sh name: 'TESTING: run detox tests' - run: $SCRIPT_DIR/rename-detox-screenshots.sh From 4e7fb1d9f43fe9b4d2ac7bcf9b60133420cd8840 Mon Sep 17 00:00:00 2001 From: Marcelo Shima Date: Sat, 24 Feb 2024 17:17:15 -0300 Subject: [PATCH 59/70] use node 16 at compare step --- .github/workflows/ios.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.github/workflows/ios.yml b/.github/workflows/ios.yml index 4a56acbed..5db57e24f 100644 --- a/.github/workflows/ios.yml +++ b/.github/workflows/ios.yml @@ -113,11 +113,17 @@ jobs: name: 'GENERATING: generate jhipster backend' - run: $SCRIPT_DIR/generate-react-native-app.sh name: 'GENERATING: generate react-native app' + - uses: actions/setup-node@v4.0.2 + with: + node-version: '16.x' - uses: jhipster/actions/compare-sample@v0 with: generator-path: generator-jhipster-react-native current-application-path: ${{ github.workspace }}/client cmd: rnhipster jdl ${{ github.workspace }}/*.jdl --standalone --skip-jhipster-dependencies --force --skip-install + - uses: actions/setup-node@v4.0.2 + with: + node-version: ${{ matrix.node_version }} - run: $SCRIPT_DIR/run-detox-tests.sh name: 'TESTING: run detox tests' - run: $SCRIPT_DIR/rename-detox-screenshots.sh From 8a652c3463096a825ca13b2e7762c8f23efe632d Mon Sep 17 00:00:00 2001 From: Marcelo Shima Date: Sat, 24 Feb 2024 19:29:05 -0300 Subject: [PATCH 60/70] Update ios.yml --- .github/workflows/ios.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ios.yml b/.github/workflows/ios.yml index 5db57e24f..504b9cb0e 100644 --- a/.github/workflows/ios.yml +++ b/.github/workflows/ios.yml @@ -119,8 +119,9 @@ jobs: - uses: jhipster/actions/compare-sample@v0 with: generator-path: generator-jhipster-react-native + application-path: ${{ github.workspace }}/client-base current-application-path: ${{ github.workspace }}/client - cmd: rnhipster jdl ${{ github.workspace }}/*.jdl --standalone --skip-jhipster-dependencies --force --skip-install + cmd: rnhipster jdl ${{ github.workspace }}/*.jdl --skip-jhipster-dependencies --force --skip-install - uses: actions/setup-node@v4.0.2 with: node-version: ${{ matrix.node_version }} From 4ec84d65c20f7a37c83f48e1372f359d0b80ea7b Mon Sep 17 00:00:00 2001 From: Marcelo Shima Date: Sat, 24 Feb 2024 19:37:57 -0300 Subject: [PATCH 61/70] Update ios.yml --- .github/workflows/ios.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ios.yml b/.github/workflows/ios.yml index 504b9cb0e..11336523d 100644 --- a/.github/workflows/ios.yml +++ b/.github/workflows/ios.yml @@ -121,7 +121,7 @@ jobs: generator-path: generator-jhipster-react-native application-path: ${{ github.workspace }}/client-base current-application-path: ${{ github.workspace }}/client - cmd: rnhipster jdl ${{ github.workspace }}/*.jdl --skip-jhipster-dependencies --force --skip-install + cmd: rnhipster jdl ${{ github.workspace }}/*.jdl --defaults --skip-jhipster-dependencies --force --skip-install - uses: actions/setup-node@v4.0.2 with: node-version: ${{ matrix.node_version }} From 376a0ed80877dbdfe84745e9a7f6de82380b13f5 Mon Sep 17 00:00:00 2001 From: Marcelo Shima Date: Sun, 25 Feb 2024 00:01:00 -0300 Subject: [PATCH 62/70] =?UTF-8?q?don=E2=80=99t=20fail=20on=20comprare=20fa?= =?UTF-8?q?ilure?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/ios.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/ios.yml b/.github/workflows/ios.yml index 11336523d..00856008d 100644 --- a/.github/workflows/ios.yml +++ b/.github/workflows/ios.yml @@ -117,6 +117,7 @@ jobs: with: node-version: '16.x' - uses: jhipster/actions/compare-sample@v0 + continue-on-error: true with: generator-path: generator-jhipster-react-native application-path: ${{ github.workspace }}/client-base From b0d4f3cc726b4c6047ea16622fc4da9cc5a879de Mon Sep 17 00:00:00 2001 From: Marcelo Shima Date: Sun, 25 Feb 2024 10:15:00 -0300 Subject: [PATCH 63/70] convert prettierignore to partial template --- ....prettierignore.ejs => .prettierignore.jhi.react-native.ejs} | 2 ++ 1 file changed, 2 insertions(+) rename generators/react-native/templates/{.prettierignore.ejs => .prettierignore.jhi.react-native.ejs} (62%) diff --git a/generators/react-native/templates/.prettierignore.ejs b/generators/react-native/templates/.prettierignore.jhi.react-native.ejs similarity index 62% rename from generators/react-native/templates/.prettierignore.ejs rename to generators/react-native/templates/.prettierignore.jhi.react-native.ejs index 5bf08ff9c..fb24f5c2c 100644 --- a/generators/react-native/templates/.prettierignore.ejs +++ b/generators/react-native/templates/.prettierignore.jhi.react-native.ejs @@ -1,3 +1,4 @@ +<&_ if (!fragment.section) { -&> android ios .expo @@ -6,3 +7,4 @@ dist .jhipster package-lock.json yarn.lock +<&_ } -&> From 7c2a030e344ea67c91d328966a9020bafbba24e7 Mon Sep 17 00:00:00 2001 From: Marcelo Shima Date: Sun, 25 Feb 2024 10:16:21 -0300 Subject: [PATCH 64/70] use prettierignore partial template --- generators/react-native/files.mjs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/generators/react-native/files.mjs b/generators/react-native/files.mjs index e818d6dd1..dae3bcacf 100644 --- a/generators/react-native/files.mjs +++ b/generators/react-native/files.mjs @@ -3,7 +3,7 @@ const files = { { templates: [ '.prettierrc.js', - '.prettierignore', + '.prettierignore.jhi.react-native', '.editorconfig', '.eslintrc.js', '.gitattributes', From 57fa11090e79424e9d09c5a1660efbdc575c4471 Mon Sep 17 00:00:00 2001 From: Marcelo Shima Date: Wed, 28 Feb 2024 21:58:00 -0300 Subject: [PATCH 65/70] Delete generators/react-native/templates/.prettierrc.js.ejs --- generators/react-native/templates/.prettierrc.js.ejs | 11 ----------- 1 file changed, 11 deletions(-) delete mode 100644 generators/react-native/templates/.prettierrc.js.ejs diff --git a/generators/react-native/templates/.prettierrc.js.ejs b/generators/react-native/templates/.prettierrc.js.ejs deleted file mode 100644 index f73b5d4ee..000000000 --- a/generators/react-native/templates/.prettierrc.js.ejs +++ /dev/null @@ -1,11 +0,0 @@ -module.exports = { - bracketSpacing: false, - bracketSameLine: true, - singleQuote: true, - trailingComma: 'all', - semi: true, - printWidth: 140, - tabWidth: 2, - bracketSpacing: true, - useTabs: false, -}; From ef45141acea16d8c335fa8def462e5a01fee1899 Mon Sep 17 00:00:00 2001 From: Hideyuki Kagami Date: Thu, 29 Feb 2024 22:45:11 +0900 Subject: [PATCH 66/70] exclude .prettierrc.js from target files --- generators/react-native/files.mjs | 1 - 1 file changed, 1 deletion(-) diff --git a/generators/react-native/files.mjs b/generators/react-native/files.mjs index dae3bcacf..a068f6e53 100644 --- a/generators/react-native/files.mjs +++ b/generators/react-native/files.mjs @@ -2,7 +2,6 @@ const files = { common: [ { templates: [ - '.prettierrc.js', '.prettierignore.jhi.react-native', '.editorconfig', '.eslintrc.js', From 3fc56146192e32402ed7fec0661030776f9c8d28 Mon Sep 17 00:00:00 2001 From: Hideyuki Kagami Date: Thu, 29 Feb 2024 22:52:32 +0900 Subject: [PATCH 67/70] update snapshot and test --- .../app/__snapshots__/generator.spec.mjs.snap | 6 ------ .../generator-entity.spec.mjs.snap | 9 --------- .../__snapshots__/generator.spec.mjs.snap | 18 ------------------ test/expected-files.js | 2 +- 4 files changed, 1 insertion(+), 34 deletions(-) diff --git a/generators/app/__snapshots__/generator.spec.mjs.snap b/generators/app/__snapshots__/generator.spec.mjs.snap index 93740e520..22f49b6ad 100644 --- a/generators/app/__snapshots__/generator.spec.mjs.snap +++ b/generators/app/__snapshots__/generator.spec.mjs.snap @@ -26,9 +26,6 @@ exports[`SubGenerator app of reactNative JHipster blueprint > run > should succe "../client/.prettierignore": { "stateCleared": "modified", }, - "../client/.prettierrc.js": { - "stateCleared": "modified", - }, "../client/.prettierrc.yml": { "stateCleared": "modified", }, @@ -523,9 +520,6 @@ exports[`SubGenerator app of reactNative JHipster blueprint > with custom reactN "../reactNative-app/.prettierignore": { "stateCleared": "modified", }, - "../reactNative-app/.prettierrc.js": { - "stateCleared": "modified", - }, "../reactNative-app/.prettierrc.yml": { "stateCleared": "modified", }, diff --git a/generators/react-native/__snapshots__/generator-entity.spec.mjs.snap b/generators/react-native/__snapshots__/generator-entity.spec.mjs.snap index 34affe7f4..8b3d33399 100644 --- a/generators/react-native/__snapshots__/generator-entity.spec.mjs.snap +++ b/generators/react-native/__snapshots__/generator-entity.spec.mjs.snap @@ -29,9 +29,6 @@ exports[`SubGenerator reactNative of reactNative JHipster blueprint > Entity Tes ".prettierignore": { "stateCleared": "modified", }, - ".prettierrc.js": { - "stateCleared": "modified", - }, ".prettierrc.yml": { "stateCleared": "modified", }, @@ -532,9 +529,6 @@ exports[`SubGenerator reactNative of reactNative JHipster blueprint > Entity Tes ".prettierignore": { "stateCleared": "modified", }, - ".prettierrc.js": { - "stateCleared": "modified", - }, ".prettierrc.yml": { "stateCleared": "modified", }, @@ -1011,9 +1005,6 @@ exports[`SubGenerator reactNative of reactNative JHipster blueprint > Entity Tes ".prettierignore": { "stateCleared": "modified", }, - ".prettierrc.js": { - "stateCleared": "modified", - }, ".prettierrc.yml": { "stateCleared": "modified", }, diff --git a/generators/react-native/__snapshots__/generator.spec.mjs.snap b/generators/react-native/__snapshots__/generator.spec.mjs.snap index b895c64f6..2342091ec 100644 --- a/generators/react-native/__snapshots__/generator.spec.mjs.snap +++ b/generators/react-native/__snapshots__/generator.spec.mjs.snap @@ -23,9 +23,6 @@ exports[`SubGenerator reactNative of reactNative JHipster blueprint > WebSocket ".prettierignore": { "stateCleared": "modified", }, - ".prettierrc.js": { - "stateCleared": "modified", - }, ".prettierrc.yml": { "stateCleared": "modified", }, @@ -463,9 +460,6 @@ exports[`SubGenerator reactNative of reactNative JHipster blueprint > WebSocket ".prettierignore": { "stateCleared": "modified", }, - ".prettierrc.js": { - "stateCleared": "modified", - }, ".prettierrc.yml": { "stateCleared": "modified", }, @@ -924,9 +918,6 @@ exports[`SubGenerator reactNative of reactNative JHipster blueprint > WebSocket ".prettierignore": { "stateCleared": "modified", }, - ".prettierrc.js": { - "stateCleared": "modified", - }, ".prettierrc.yml": { "stateCleared": "modified", }, @@ -1388,9 +1379,6 @@ exports[`SubGenerator reactNative of reactNative JHipster blueprint > WebSocket ".prettierignore": { "stateCleared": "modified", }, - ".prettierrc.js": { - "stateCleared": "modified", - }, ".prettierrc.yml": { "stateCleared": "modified", }, @@ -1876,9 +1864,6 @@ exports[`SubGenerator reactNative of reactNative JHipster blueprint > WebSocket ".prettierignore": { "stateCleared": "modified", }, - ".prettierrc.js": { - "stateCleared": "modified", - }, ".prettierrc.yml": { "stateCleared": "modified", }, @@ -2295,9 +2280,6 @@ exports[`SubGenerator reactNative of reactNative JHipster blueprint > WebSocket ".prettierignore": { "stateCleared": "modified", }, - ".prettierrc.js": { - "stateCleared": "modified", - }, ".prettierrc.yml": { "stateCleared": "modified", }, diff --git a/test/expected-files.js b/test/expected-files.js index 56df6fe16..3f05354a6 100644 --- a/test/expected-files.js +++ b/test/expected-files.js @@ -1,7 +1,7 @@ const expectedFiles = { defaultApp: [ '.prettierignore', - '.prettierrc.js', + '.prettierrc.yml', '.editorconfig', '.eslintrc.js', '.gitattributes', From 881341c10235f52718575debbf189a401bc71774 Mon Sep 17 00:00:00 2001 From: Hideyuki Kagami Date: Thu, 29 Feb 2024 23:28:45 +0900 Subject: [PATCH 68/70] Delete generators/react-native/templates/.editorconfig.ejs --- generators/react-native/files.mjs | 1 - .../react-native/templates/.editorconfig.ejs | 17 ----------------- 2 files changed, 18 deletions(-) delete mode 100644 generators/react-native/templates/.editorconfig.ejs diff --git a/generators/react-native/files.mjs b/generators/react-native/files.mjs index a068f6e53..64f5617a6 100644 --- a/generators/react-native/files.mjs +++ b/generators/react-native/files.mjs @@ -3,7 +3,6 @@ const files = { { templates: [ '.prettierignore.jhi.react-native', - '.editorconfig', '.eslintrc.js', '.gitattributes', '.gitignore', diff --git a/generators/react-native/templates/.editorconfig.ejs b/generators/react-native/templates/.editorconfig.ejs deleted file mode 100644 index fd83ec686..000000000 --- a/generators/react-native/templates/.editorconfig.ejs +++ /dev/null @@ -1,17 +0,0 @@ -# EditorConfig is awesome: http://EditorConfig.org - -# top-most EditorConfig file -root = true - -# Unix-style newlines with a newline ending every file -[*] -end_of_line = lf -insert_final_newline = true -indent_style = space -indent_size = 2 -charset = utf-8 -trim_trailing_whitespace = true - - -[*.gradle] -indent_size = 4 From b6c6b975ce786bf0eb602078b9ee99f446e9e4bc Mon Sep 17 00:00:00 2001 From: Hideyuki Kagami Date: Thu, 29 Feb 2024 23:48:49 +0900 Subject: [PATCH 69/70] convert generators/react-native/templates/.gitattributes to partial template --- generators/react-native/files.mjs | 2 +- generators/react-native/templates/.gitattributes.ejs | 2 -- .../templates/.gitattributes.jhi.react-native.ejs | 4 ++++ 3 files changed, 5 insertions(+), 3 deletions(-) delete mode 100644 generators/react-native/templates/.gitattributes.ejs create mode 100644 generators/react-native/templates/.gitattributes.jhi.react-native.ejs diff --git a/generators/react-native/files.mjs b/generators/react-native/files.mjs index 64f5617a6..71cc849f1 100644 --- a/generators/react-native/files.mjs +++ b/generators/react-native/files.mjs @@ -4,7 +4,7 @@ const files = { templates: [ '.prettierignore.jhi.react-native', '.eslintrc.js', - '.gitattributes', + '.gitattributes.jhi.react-native', '.gitignore', 'App.js', 'app.json', diff --git a/generators/react-native/templates/.gitattributes.ejs b/generators/react-native/templates/.gitattributes.ejs deleted file mode 100644 index 9c32b2876..000000000 --- a/generators/react-native/templates/.gitattributes.ejs +++ /dev/null @@ -1,2 +0,0 @@ -*.pbxproj -text -*.bat text eol=crlf' diff --git a/generators/react-native/templates/.gitattributes.jhi.react-native.ejs b/generators/react-native/templates/.gitattributes.jhi.react-native.ejs new file mode 100644 index 000000000..fea398c55 --- /dev/null +++ b/generators/react-native/templates/.gitattributes.jhi.react-native.ejs @@ -0,0 +1,4 @@ +<&_ if (!fragment.section) { -&> +## .PBXPROJ FILES +*.pbxproj binary +<&_ } -&> From 2ab6139616cd58175805874da77b9f019bb13a72 Mon Sep 17 00:00:00 2001 From: Hideyuki Kagami Date: Fri, 1 Mar 2024 00:04:42 +0900 Subject: [PATCH 70/70] convert generators/react-native/templates/.gitignore to partial template --- generators/react-native/files.mjs | 2 +- ....gitignore.ejs => .gitignore.jhi.react-native.ejs} | 11 +++++------ lib/append-files.js | 1 - 3 files changed, 6 insertions(+), 8 deletions(-) rename generators/react-native/templates/{.gitignore.ejs => .gitignore.jhi.react-native.ejs} (63%) diff --git a/generators/react-native/files.mjs b/generators/react-native/files.mjs index 71cc849f1..eba2b396e 100644 --- a/generators/react-native/files.mjs +++ b/generators/react-native/files.mjs @@ -5,7 +5,7 @@ const files = { '.prettierignore.jhi.react-native', '.eslintrc.js', '.gitattributes.jhi.react-native', - '.gitignore', + '.gitignore.jhi.react-native', 'App.js', 'app.json', 'README.md', diff --git a/generators/react-native/templates/.gitignore.ejs b/generators/react-native/templates/.gitignore.jhi.react-native.ejs similarity index 63% rename from generators/react-native/templates/.gitignore.ejs rename to generators/react-native/templates/.gitignore.jhi.react-native.ejs index 05647d55c..d42c41561 100644 --- a/generators/react-native/templates/.gitignore.ejs +++ b/generators/react-native/templates/.gitignore.jhi.react-native.ejs @@ -1,11 +1,10 @@ -# Learn more https://docs.github.com/en/get-started/getting-started-with-git/ignoring-files - -# dependencies -node_modules/ +<&_ if (!fragment.section) { -&> +###################### +# React Native +###################### # Expo .expo/ -dist/ web-build/ # Native @@ -25,7 +24,6 @@ yarn-debug.* yarn-error.* # macOS -.DS_Store *.pem # local env files @@ -33,3 +31,4 @@ yarn-error.* # typescript *.tsbuildinfo +<&_ } -&> diff --git a/lib/append-files.js b/lib/append-files.js index c28e737e0..742ae97bc 100644 --- a/lib/append-files.js +++ b/lib/append-files.js @@ -2,7 +2,6 @@ function appendFiles() { this.editFile( '.gitignore', content => `${content} -/coverage # Misc .env ios/Index/DataStore