From 455cf002764941ca824919c9e11e9b958e605c04 Mon Sep 17 00:00:00 2001 From: Mateo Nunez Date: Sun, 29 Oct 2023 22:45:20 +0100 Subject: [PATCH] chore!: upgrade stuff (#113) * chore!: upgrade dependencies Signed-off-by: mateonunez * fix!: fix stuff Signed-off-by: mateonunez --------- Signed-off-by: mateonunez --- .github/workflows/ci.yml | 10 +- .gitignore | 4 +- README.md | 18 +- package.json | 6 +- packages/cli/README.md | 18 +- packages/cli/cli.mjs | 8 +- packages/cli/package.json | 13 +- packages/drill/lib/validate-options.js | 2 +- packages/drill/package.json | 11 +- packages/falcon/README.md | 2 +- packages/falcon/package.json | 13 +- packages/falcon/test/helper.js | 0 packages/falcon/test/index.test.js | 12 +- packages/falcon/test/validate-options.test.js | 4 +- packages/huston/lib/helpers/database.js | 2 +- packages/huston/package.json | 7 +- packages/rover/README.md | 6 +- packages/rover/lyra/users.json | 1 + packages/rover/package.json | 22 +- packages/rover/{rover.js => rover.mjs} | 34 +- packages/rover/test/index.test.mjs | 47 +- pnpm-lock.yaml | 645 ++++++++++-------- 22 files changed, 506 insertions(+), 379 deletions(-) delete mode 100644 packages/falcon/test/helper.js create mode 100644 packages/rover/lyra/users.json rename packages/rover/{rover.js => rover.mjs} (81%) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 3805e51a..338f2b55 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -1,6 +1,12 @@ name: ci -on: [push, pull_request] +on: + push: + branches: + - main + pull_request: + branches: + - '*' jobs: setup-dependencies: @@ -8,7 +14,7 @@ jobs: strategy: matrix: os: [ubuntu-latest] - node-version: [16, 18] + node-version: [16, 18, 20] steps: - uses: actions/checkout@v3 - uses: pnpm/action-setup@v2.4.0 diff --git a/.gitignore b/.gitignore index e30f8b4b..60abbea6 100644 --- a/.gitignore +++ b/.gitignore @@ -234,7 +234,7 @@ $RECYCLE.BIN/ # Synk .dccache -# Lyra output -lyra/ +# Orama output +orama/ # End of https://www.toptal.com/developers/gitignore/api/node,osx,windows,linux,visualstudiocode diff --git a/README.md b/README.md index b6540b27..334c338f 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # 🌠 Asterism -Asterism is a CLI that provides a set of tools to build a [Lyra](https://github.com/lyrasearch/lyra) instance from your favorite database. +Asterism is a CLI that provides a set of tools to build a [Orama](https://github.com/orama/orama) instance from your favorite database. [![Tests](https://github.com/mateonunez/asterism/actions/workflows/ci.yml/badge.svg?branch=main)](https://github.com/mateonunez/asterism/actions/workflows/ci.yml) @@ -9,13 +9,13 @@ Asterism is a CLI that provides a set of tools to build a [Lyra](https://github. ### 📦 Installation ```bash -# You can install Lyra using `npm`, `yarn`, `pnpm`: +# You can install Orama using `npm`, `yarn`, `pnpm`: npm install -g @mateonunez/asterism ``` ### 📝 Usage -> Asterism provides a CLI that can be used to generate a Lyra instance from a database. The CLI can be used as follows: +> Asterism provides a CLI that can be used to generate a Orama instance from a database. The CLI can be used as follows: ```bash Usage: asterism [options] [command] @@ -27,9 +27,9 @@ Options: -h, --help display help for command Commands: - migrate [options] [database] Initialize a new Lyra instance from your + migrate [options] [database] Initialize a new Orama instance from your current database - search [options] [term] Search for a Lyra instance in your instances + search [options] [term] Search for a Orama instance in your instances help [command] display help for command ``` @@ -40,7 +40,7 @@ Commands: Usage: asterism migrate [options] [database] -Initialize a new Lyra instance from your current database +Initialize a new Orama instance from your current database Arguments: database The database to migrate @@ -57,7 +57,7 @@ Options: --help display help for command ``` -The CLI provides a `migrate` command that can be used to generate a Lyra instance from a database. The command can be used as follows: +The CLI provides a `migrate` command that can be used to generate a Orama instance from a database. The command can be used as follows: ```bash > asterism migrate @@ -70,14 +70,14 @@ The CLI provides a `migrate` command that can be used to generate a Lyra instanc Usage: asterism search [options] [term] -Search for a Lyra instance in your instances +Search for a Orama instance in your instances Arguments: term The term to search for Options: -c, --cacheDisabled Disable cache - -i, --inputDir Lyra databases directory (default: "./lyra") + -i, --inputDir Orama databases directory (default: "./orama") -o, --outputDir Output directory to save results in a JSON (default: "./out") -h, --help display help for command diff --git a/package.json b/package.json index 4af01791..24adca1f 100644 --- a/package.json +++ b/package.json @@ -1,12 +1,14 @@ { "name": "@masteonunez/asterism", "version": "0.0.5", - "description": "Asterism is a CLI that provides a set of tools to build a Lyra instance from your favorite database.", + "description": "Asterism is a CLI that provides a set of tools to build a Orama instance from your favorite database.", "scripts": { "asterism": "node ./packages/cli/cli.mjs", "prepare": "husky install", "lint": "pnpm -r --workspace-concurrency=1 lint", - "test": "pnpm -r --workspace-concurrency=1 test" + "lint:fix": "pnpm -r --workspace-concurrency=1 lint:fix", + "test": "pnpm -r --workspace-concurrency=1 test", + "services": "docker-compose up -d" }, "devDependencies": { "husky": "^8.0.3" diff --git a/packages/cli/README.md b/packages/cli/README.md index bdacc17d..a6659aab 100644 --- a/packages/cli/README.md +++ b/packages/cli/README.md @@ -1,6 +1,6 @@ # 🌠 Asterism -Asterism is a CLI that provides a set of tools to build a [Lyra](https://github.com/lyrasearch/lyra) instance from your favorite database. +Asterism is a CLI that provides a set of tools to build a [Orama](https://github.com/orama/orama) instance from your favorite database. [![Tests](https://github.com/mateonunez/asterism/actions/workflows/ci.yml/badge.svg?branch=main)](https://github.com/mateonunez/asterism/actions/workflows/ci.yml) @@ -9,13 +9,13 @@ Asterism is a CLI that provides a set of tools to build a [Lyra](https://github. ### 📦 Installation ```bash -# You can install Lyra using `npm`, `yarn`, `pnpm`: +# You can install Orama using `npm`, `yarn`, `pnpm`: npm install -g @mateonunez/asterism ``` ### 📝 Usage -> Asterism provides a CLI that can be used to generate a Lyra instance from a database. The CLI can be used as follows: +> Asterism provides a CLI that can be used to generate a Orama instance from a database. The CLI can be used as follows: ```bash Usage: asterism [options] [command] @@ -27,9 +27,9 @@ Options: -h, --help display help for command Commands: - migrate [options] [database] Initialize a new Lyra instance from your + migrate [options] [database] Initialize a new Orama instance from your current database - search [options] [term] Search for a Lyra instance in your instances + search [options] [term] Search for a Orama instance in your instances help [command] display help for command ``` @@ -40,7 +40,7 @@ Commands: Usage: asterism migrate [options] [database] -Initialize a new Lyra instance from your current database +Initialize a new Orama instance from your current database Arguments: database The database to migrate @@ -57,7 +57,7 @@ Options: --help display help for command ``` -The CLI provides a `migrate` command that can be used to generate a Lyra instance from a database. The command can be used as follows: +The CLI provides a `migrate` command that can be used to generate a Orama instance from a database. The command can be used as follows: ```bash > asterism migrate @@ -70,14 +70,14 @@ The CLI provides a `migrate` command that can be used to generate a Lyra instanc Usage: asterism search [options] [term] -Search for a Lyra instance in your instances +Search for a Orama instance in your instances Arguments: term The term to search for Options: -c, --cacheDisabled Disable cache - -i, --inputDir Lyra databases directory (default: "./lyra") + -i, --inputDir Orama databases directory (default: "./orama") -o, --outputDir Output directory to save results in a JSON (default: "./out") -h, --help display help for command diff --git a/packages/cli/cli.mjs b/packages/cli/cli.mjs index aec64999..ba197e37 100644 --- a/packages/cli/cli.mjs +++ b/packages/cli/cli.mjs @@ -9,7 +9,7 @@ program.name('asterism').description('Asterism CLI').version(version, '-v, --ver program .command('migrate') - .description('Initialize a new Lyra instance from your current database') + .description('Initialize a new Orama instance from your current database') .argument('[database]', 'The database to migrate (mysql or postgres)', (value) => (allowedDatabases.includes(value) ? value : undefined)) .option('-H, --host ', 'Database host') .option('-p, --port ', 'Port to run the server on') @@ -17,16 +17,16 @@ program .option('-t, --tableName ', 'Table name') .option('-u, --user ', 'Database user') .option('-w, --password ', 'Database password') - .option('-o, --outputDir ', 'Lyra migrated databases directory', './lyra') + .option('-o, --outputDir ', 'Orama migrated databases directory', './orama') .option('-s --strict', 'Strict mode', false) .action(falconMigrate) program .command('search') - .description('Search for a Lyra instance in your instances') + .description('Search for a Orama instance in your instances') .argument('[term]', 'The term to search for') .option('-c, --cacheDisabled', 'Disable cache') - .option('-i, --inputDir ', 'Lyra databases directory', './lyra') + .option('-i, --inputDir ', 'Orama databases directory', './orama') .option('-o, --outputDir ', 'Output directory to save results in a JSON', './out') .action(falconSearch) diff --git a/packages/cli/package.json b/packages/cli/package.json index 60f96ba1..68f378eb 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -9,6 +9,7 @@ "homepage": "https://github.com/mateonunez/asterism", "scripts": { "lint": "standard | snazzy", + "lint:fix": "standard --fix | snazzy", "test": "npm run lint && c8 --100 tap --no-coverage test/**/*.test.mjs" }, "repository": { @@ -17,7 +18,7 @@ }, "license": "MIT", "keywords": [ - "lyra", + "orama", "asterism", "MySQL", "PostgreSQL" @@ -25,14 +26,14 @@ "dependencies": { "@mateonunez/asterism-drill": "workspace:*", "@mateonunez/asterism-falcon": "workspace:*", - "commander": "^10.0.0" + "commander": "^10.0.1" }, "devDependencies": { - "c8": "^7.13.0", - "execa": "^7.0.0", + "c8": "^8.0.1", + "execa": "^8.0.1", "snazzy": "^9.0.0", - "standard": "^17.0.0", - "tap": "^16.3.4" + "standard": "^17.1.0", + "tap": "^16.3.9" }, "author": { "email": "mateonunez95@gmail.com", diff --git a/packages/drill/lib/validate-options.js b/packages/drill/lib/validate-options.js index 8d7603ea..6bfe4b35 100644 --- a/packages/drill/lib/validate-options.js +++ b/packages/drill/lib/validate-options.js @@ -15,7 +15,7 @@ export default function validateOptions (logger, database, options) { if (!options.host) validatedOptions.host = '127.0.0.1' if (!options.outputDir) validatedOptions.outputDir = './out' - if (!options.inputDir) validatedOptions.inputDir = './lyra' + if (!options.inputDir) validatedOptions.inputDir = './orama' return validatedOptions } diff --git a/packages/drill/package.json b/packages/drill/package.json index 5c286e76..9b43f6c5 100644 --- a/packages/drill/package.json +++ b/packages/drill/package.json @@ -6,6 +6,7 @@ "type": "module", "scripts": { "lint": "standard | snazzy", + "lint:fix": "standard --fix | snazzy", "test": "npm run lint && c8 --100 tap --no-coverage test/**/*.test.js" }, "repository": { @@ -18,15 +19,15 @@ }, "homepage": "https://github.com/mateonunez/asterism#readme", "dependencies": { - "@databases/mysql": "^5.2.1", - "@databases/pg": "^5.4.1", + "@databases/mysql": "^6.0.0", + "@databases/pg": "^5.5.0", "@mateonunez/asterism-huston": "workspace:*" }, "devDependencies": { - "c8": "^7.13.0", + "c8": "^8.0.1", "snazzy": "^9.0.0", - "standard": "^17.0.0", - "tap": "^16.3.4" + "standard": "^17.1.0", + "tap": "^16.3.9" }, "author": { "email": "mateonunez95@gmail.com", diff --git a/packages/falcon/README.md b/packages/falcon/README.md index b4b7d798..f4f7c9d8 100644 --- a/packages/falcon/README.md +++ b/packages/falcon/README.md @@ -1,6 +1,6 @@ # @mateonunez/asterism-falcon -`asterism-falcon` manages the CLI for **Asterism**. It provides the methods to generate a Lyra instance from a database and to search into the created instances. +`asterism-falcon` manages the CLI for **Asterism**. It provides the methods to generate a Orama instance from a database and to search into the created instances. ## License diff --git a/packages/falcon/package.json b/packages/falcon/package.json index 54434d0b..d922ef87 100644 --- a/packages/falcon/package.json +++ b/packages/falcon/package.json @@ -1,11 +1,12 @@ { "name": "@mateonunez/asterism-falcon", "version": "0.0.5", - "description": "falcon migrates your database data to a Lyra instance", + "description": "falcon migrates your database data to a Orama instance", "main": "falcon.js", "type": "module", "scripts": { "lint": "standard | snazzy", + "lint:fix": "standard --fix | snazzy", "test": "npm run lint && c8 --100 tap --no-coverage test/**/*.test.js" }, "repository": { @@ -21,14 +22,14 @@ "@mateonunez/asterism-drill": "workspace:*", "@mateonunez/asterism-huston": "workspace:*", "@mateonunez/asterism-rover": "workspace:*", - "pino": "^8.10.0", - "pino-pretty": "^10.0.0" + "pino": "^8.16.1", + "pino-pretty": "^10.2.3" }, "devDependencies": { - "c8": "^7.13.0", + "c8": "^8.0.1", "snazzy": "^9.0.0", - "standard": "^17.0.0", - "tap": "^16.3.4" + "standard": "^17.1.0", + "tap": "^16.3.9" }, "author": { "email": "mateonunez95@gmail.com", diff --git a/packages/falcon/test/helper.js b/packages/falcon/test/helper.js deleted file mode 100644 index e69de29b..00000000 diff --git a/packages/falcon/test/index.test.js b/packages/falcon/test/index.test.js index 450b0840..6d7f3b3d 100644 --- a/packages/falcon/test/index.test.js +++ b/packages/falcon/test/index.test.js @@ -6,31 +6,31 @@ import { database } from '@mateonunez/asterism-huston' const { mysqlOptions, postgresOptions } = database t.before(async () => { - await seeder(undefined, 'mysql', { ...mysqlOptions, outputDir: './lyra' }) + await seeder(undefined, 'mysql', { ...mysqlOptions, outputDir: './orama' }) }) t.test('no database selected should default to mysql', async ({ ok }) => { - const { db } = await falconMigrate(undefined, { ...mysqlOptions, outputDir: './lyra' }) + const { db } = await falconMigrate(undefined, { ...mysqlOptions, outputDir: './orama' }) ok(db.isMysql) }) t.test('postgres database selected', async ({ ok }) => { - const { db } = await falconMigrate('postgres', { ...postgresOptions, outputDir: './lyra' }) + const { db } = await falconMigrate('postgres', { ...postgresOptions, outputDir: './orama' }) ok(db.isPostgres) }) t.test('falcon search with no term should terminate the process', async ({ same }) => { await falconMigrate(undefined, mysqlOptions) - const results = await falconSearch(undefined, { inputDir: './lyra' }) + const results = await falconSearch(undefined, { inputDir: './orama' }) same(results, undefined) }) t.test('falcon search should return results', async ({ ok }) => { await falconMigrate(undefined, mysqlOptions) - const results = await falconSearch('John', { inputDir: './lyra' }) + const results = await falconSearch('John', { inputDir: './orama' }) ok(results) }) t.on('end', async () => { - await dropSeed(undefined, 'mysql', { ...mysqlOptions, outputDir: './lyra' }) + await dropSeed(undefined, 'mysql', { ...mysqlOptions, outputDir: './orama' }) }) diff --git a/packages/falcon/test/validate-options.test.js b/packages/falcon/test/validate-options.test.js index da32348a..1cfd1715 100644 --- a/packages/falcon/test/validate-options.test.js +++ b/packages/falcon/test/validate-options.test.js @@ -12,7 +12,7 @@ test('should validate options', async ({ end }) => { user: 'root', password: 'toor', outputDir: './out', - inputDir: './lyra' + inputDir: './orama' }) }) @@ -25,7 +25,7 @@ test('should validate options', async ({ end }) => { user: 'postgres', password: 'postgres', outputDir: './out', - inputDir: './lyra' + inputDir: './orama' }) }) diff --git a/packages/huston/lib/helpers/database.js b/packages/huston/lib/helpers/database.js index eddaaf76..cd8f7fd6 100644 --- a/packages/huston/lib/helpers/database.js +++ b/packages/huston/lib/helpers/database.js @@ -7,7 +7,7 @@ const mysqlOptions = { // deepcode ignore NoHardcodedPasswords/test: example data password: 'toor', outputDir: './out', - inputDir: './lyra' + inputDir: './orama' } const postgresOptions = { diff --git a/packages/huston/package.json b/packages/huston/package.json index aeb831bd..7ace5ca8 100644 --- a/packages/huston/package.json +++ b/packages/huston/package.json @@ -5,6 +5,7 @@ "main": "huston.js", "scripts": { "lint": "standard | snazzy", + "lint:fix": "standard --fix | snazzy", "test": "npm run lint && c8 --100 tap --no-coverage test/**/*.test.js" }, "repository": { @@ -17,10 +18,10 @@ }, "homepage": "https://github.com/mateonunez/asterism#readme", "devDependencies": { - "c8": "^7.13.0", + "c8": "^8.0.1", "snazzy": "^9.0.0", - "standard": "^17.0.0", - "tap": "^16.3.4" + "standard": "^17.1.0", + "tap": "^16.3.9" }, "author": { "email": "mateonunez95@gmail.com", diff --git a/packages/rover/README.md b/packages/rover/README.md index 7649be36..840637ed 100644 --- a/packages/rover/README.md +++ b/packages/rover/README.md @@ -1,11 +1,11 @@ # @mateonunez/asterism-huston -`asterism-rover` contains all the logic and methods to interact with Lyra and with plugins. +`asterism-rover` contains all the logic and methods to interact with Orama and with plugins. ## Exposed methods: -- `generateSchema (logger, data, options)`: Automatic generation of Lyra schemas. -- `generateAsterism (logger, data, schema options)`: This methods generate a set of Lyra instances and return an Asterism. +- `generateSchema (logger, data, options)`: Automatic generation of Orama schemas. +- `generateAsterism (logger, data, schema options)`: This methods generate a set of Orama instances and return an Asterism. - `populateAsterism (logger, asterism, options)`: Persist your Asterism into a separated files. - `resolveAsterism (logger, options)`: Read a containing Asterism directory and return the memory saved entity. - `searchOnAsterism (logger, asterism, term, options)` : Accepts an Asterism as parameter and the searched term. diff --git a/packages/rover/lyra/users.json b/packages/rover/lyra/users.json new file mode 100644 index 00000000..3ac80553 --- /dev/null +++ b/packages/rover/lyra/users.json @@ -0,0 +1 @@ +{"index":{"name":{"word":"","subWord":"","children":{"j":{"word":"j","subWord":"j","children":{"o":{"word":"john","subWord":"ohn","children":{},"docs":["11168950-7"],"end":true},"a":{"word":"jane","subWord":"ane","children":{},"docs":["11168950-9"],"end":true}},"docs":[],"end":false}},"docs":[],"end":false},"age":{"key":0,"value":[],"left":null,"right":{"key":30,"value":["11168950-7"],"left":{"key":28,"value":["11168950-9"],"left":null,"right":null,"height":0},"right":null,"height":0},"height":0}},"docs":{"11168950-7":{"name":"John","age":30},"11168950-9":{"name":"Jane","age":28}},"schema":{"name":"string","age":"number"},"frequencies":{"name":{"11168950-7":{"john":1},"11168950-9":{"jane":1}}},"tokenOccurrencies":{"name":{"john":1,"jane":1}},"defaultLanguage":"english","avgFieldLength":{"name":1},"fieldLengths":{"name":{"11168950-7":1,"11168950-9":1}}} \ No newline at end of file diff --git a/packages/rover/package.json b/packages/rover/package.json index 11eca186..75bd73f0 100644 --- a/packages/rover/package.json +++ b/packages/rover/package.json @@ -1,11 +1,13 @@ { "name": "@mateonunez/asterism-rover", "version": "0.0.5", - "description": "Rover is the tool to explore Lyra", - "main": "rover.js", + "description": "Rover is the tool to explore Orama", + "main": "rover.mjs", + "type": "module", "scripts": { "lint": "standard | snazzy", - "test": "npm run lint && c8 --100 tap --no-coverage test/**/*.test.mjs" + "lint:fix": "standard --fix | snazzy", + "test": "npm run lint && c8 tap --no-coverage test/**/*.test.mjs" }, "repository": { "type": "git", @@ -17,17 +19,17 @@ }, "homepage": "https://github.com/mateonunez/asterism#readme", "dependencies": { - "@lyrasearch/lyra": "^0.4.10", - "@lyrasearch/plugin-data-persistence": "^0.1.1", + "@orama/orama": "2.0.0-beta.3", + "@orama/plugin-data-persistence": "2.0.0-beta.3", "@mateonunez/asterism-huston": "workspace:*", - "lyra-schema-resolver": "^0.2.2", - "lyra-cache": "^0.4.0" + "orama-schema-resolver": "^0.4.0", + "orama-cache": "^0.8.0" }, "devDependencies": { - "c8": "^7.13.0", + "c8": "^8.0.1", "snazzy": "^9.0.0", - "standard": "^17.0.0", - "tap": "^16.3.4" + "standard": "^17.1.0", + "tap": "^16.3.9" }, "author": { "email": "mateonunez95@gmail.com", diff --git a/packages/rover/rover.js b/packages/rover/rover.mjs similarity index 81% rename from packages/rover/rover.js rename to packages/rover/rover.mjs index 076681f0..896f755f 100644 --- a/packages/rover/rover.js +++ b/packages/rover/rover.mjs @@ -1,13 +1,14 @@ 'use strict' -const { normalizers } = require('@mateonunez/asterism-huston') +import fs from 'node:fs' +import path from 'node:path' +import { normalizers } from '@mateonunez/asterism-huston' +import { create, insert, search } from '@orama/orama' +import { persistToFile, restoreFromFile } from '@orama/plugin-data-persistence/server' +import oramaSchemaResolver from 'orama-schema-resolver' +import createOramaCache from 'orama-cache' + const { removeNulls } = normalizers -const { default: lyraSchemaResolver } = require('lyra-schema-resolver') -const { create, insert, search } = require('@lyrasearch/lyra') -const { createLyraCache } = require('lyra-cache') -const { persistToFile, restoreFromFile } = require('@lyrasearch/plugin-data-persistence') -const fs = require('fs') -const path = require('path') const { join } = path // eslint-disable-next-line no-extend-native @@ -24,7 +25,7 @@ function generateSchema (logger, data, options) { continue } - schema[entry] = lyraSchemaResolver(data[entry], options) + schema[entry] = oramaSchemaResolver(data[entry], options) } return schema } @@ -37,8 +38,8 @@ async function generateAsterism (logger, data, schema, options) { const asterism = {} for (const key of Object.keys(schema)) { - const lyra = await create({ schema: schema[key] }) - asterism[key] = lyra + const orama = await create({ schema: schema[key] }) + asterism[key] = orama for (const entry of data[key]) { const document = entry @@ -54,7 +55,7 @@ async function generateAsterism (logger, data, schema, options) { } } - await insert(lyra, document) + await insert(orama, document) } } @@ -84,8 +85,8 @@ async function resolveAsterism (logger, options) { const asterism = {} for (const file of fs.readdirSync(filePath)) { if (file.endsWith('.json')) { - const lyra = await restoreFromFile('json', `${filePath}/${file}`) - asterism[file.replace(/\.js$/, '')] = lyra + const orama = await restoreFromFile('json', `${filePath}/${file}`) + asterism[file.replace(/\.js$/, '')] = orama } } return asterism @@ -102,7 +103,7 @@ async function searchOnAsterism (logger, asterism, term, options) { for (const key of Object.keys(asterism)) { if (!cacheDisabled) { if (!caches[key]) { - caches[key] = await createLyraCache(asterism[key]) + caches[key] = createOramaCache(asterism[key]) } results[key] = await caches[key].search({ term }) @@ -141,10 +142,11 @@ function saveSearchResults (logger, results, options) { return filename } -module.exports = { +export { generateSchema, generateAsterism, populateAsterism, resolveAsterism, - searchOnAsterism + searchOnAsterism, + saveSearchResults } diff --git a/packages/rover/test/index.test.mjs b/packages/rover/test/index.test.mjs index 949083c4..17ca3b35 100644 --- a/packages/rover/test/index.test.mjs +++ b/packages/rover/test/index.test.mjs @@ -1,5 +1,7 @@ +import fs from 'node:fs' +import path from 'node:path' import { test } from 'tap' -import { generateSchema, generateAsterism, populateAsterism, resolveAsterism, searchOnAsterism } from '../rover.js' +import { generateSchema, generateAsterism, populateAsterism, resolveAsterism, searchOnAsterism, saveSearchResults } from '../rover.mjs' import { logger } from '@mateonunez/asterism-huston' test('should generate schema', async ({ ok }) => { @@ -70,45 +72,74 @@ test('should persist an asterism', async ({ ok }) => { } const schema = generateSchema(logger, data) const asterism = await generateAsterism(logger, data, schema) - await populateAsterism(logger, asterism, { outputDir: './lyra' }) + await populateAsterism(logger, asterism, { outputDir: './orama' }) ok(asterism) }) test('should resolve asterism', async ({ ok }) => { - const asterism = await resolveAsterism(logger, { inputDir: './lyra' }) + const asterism = await resolveAsterism(logger, { inputDir: './orama' }) ok(asterism) }) test('should search on asterism', async ({ ok }) => { - const asterism = await resolveAsterism(logger, { inputDir: './lyra' }) + const asterism = await resolveAsterism(logger, { inputDir: './orama' }) const results = await searchOnAsterism(logger, asterism, 'John') ok(results) }) test('should perform a cached search', async ({ ok }) => { - const asterism = await resolveAsterism(logger, { inputDir: './lyra' }) + const asterism = await resolveAsterism(logger, { inputDir: './orama' }) const results = await searchOnAsterism(logger, asterism, 'John') ok(results[Object.keys(results)[0]].cached) }) test('should perform a non-cached search', async ({ equal }) => { - const asterism = await resolveAsterism(logger, { inputDir: './lyra' }) + const asterism = await resolveAsterism(logger, { inputDir: './orama' }) const results = await searchOnAsterism(logger, asterism, 'John', { cacheDisabled: true }) equal(results[Object.keys(results)[0]].cached, undefined) }) test('should save search results in a json file', async ({ ok }) => { - const asterism = await resolveAsterism(logger, { inputDir: './lyra' }) + const asterism = await resolveAsterism(logger, { inputDir: './orama' }) await searchOnAsterism(logger, asterism, 'John', { outputDir: './out' }) ok(true) }) test('throws an error with invalid outputDir', async ({ error }) => { - const asterism = await resolveAsterism(logger, { inputDir: './lyra' }) + const asterism = await resolveAsterism(logger, { inputDir: './orama' }) try { await searchOnAsterism(logger, asterism, 'John', {}) } catch (err) { error(err) } }) + +test('should save search results using saveSearchResults', async ({ ok }) => { + const results = { + users: [ + { + name: 'John', + score: 0.99 + }, + { + name: 'Jane', + score: 0.56 + } + ] + } + const outputDir = './outputTest' + const savedPath = saveSearchResults(logger, results, { outputDir }) + + const fileExists = fs.existsSync(savedPath) + if (fileExists) { + const savedData = fs.readFileSync(savedPath, 'utf8') + const jsonData = JSON.parse(savedData) + ok(jsonData.users && jsonData.users.length === 2, 'Should have saved the correct data') + // Clean up test data (comment this out if you want to inspect the file) + fs.unlinkSync(savedPath) + fs.rmdirSync(path.resolve(outputDir)) + } else { + ok(false, 'File was not saved correctly') + } +}) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ed4678c4..0e3b327e 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -21,49 +21,49 @@ importers: specifier: workspace:* version: link:../falcon commander: - specifier: ^10.0.0 - version: 10.0.0 + specifier: ^10.0.1 + version: 10.0.1 devDependencies: c8: - specifier: ^7.13.0 - version: 7.13.0 + specifier: ^8.0.1 + version: 8.0.1 execa: - specifier: ^7.0.0 - version: 7.0.0 + specifier: ^8.0.1 + version: 8.0.1 snazzy: specifier: ^9.0.0 version: 9.0.0 standard: - specifier: ^17.0.0 - version: 17.0.0 + specifier: ^17.1.0 + version: 17.1.0 tap: - specifier: ^16.3.4 - version: 16.3.4 + specifier: ^16.3.9 + version: 16.3.9 packages/drill: dependencies: '@databases/mysql': - specifier: ^5.2.1 - version: 5.2.1 + specifier: ^6.0.0 + version: 6.0.0 '@databases/pg': - specifier: ^5.4.1 - version: 5.4.1 + specifier: ^5.5.0 + version: 5.5.0 '@mateonunez/asterism-huston': specifier: workspace:* version: link:../huston devDependencies: c8: - specifier: ^7.13.0 - version: 7.13.0 + specifier: ^8.0.1 + version: 8.0.1 snazzy: specifier: ^9.0.0 version: 9.0.0 standard: - specifier: ^17.0.0 - version: 17.0.0 + specifier: ^17.1.0 + version: 17.1.0 tap: - specifier: ^16.3.4 - version: 16.3.4 + specifier: ^16.3.9 + version: 16.3.9 packages/falcon: dependencies: @@ -77,73 +77,78 @@ importers: specifier: workspace:* version: link:../rover pino: - specifier: ^8.10.0 - version: 8.11.0 + specifier: ^8.16.1 + version: 8.16.1 pino-pretty: - specifier: ^10.0.0 - version: 10.0.0 + specifier: ^10.2.3 + version: 10.2.3 devDependencies: c8: - specifier: ^7.13.0 - version: 7.13.0 + specifier: ^8.0.1 + version: 8.0.1 snazzy: specifier: ^9.0.0 version: 9.0.0 standard: - specifier: ^17.0.0 - version: 17.0.0 + specifier: ^17.1.0 + version: 17.1.0 tap: - specifier: ^16.3.4 - version: 16.3.4 + specifier: ^16.3.9 + version: 16.3.9 packages/huston: devDependencies: c8: - specifier: ^7.13.0 - version: 7.13.0 + specifier: ^8.0.1 + version: 8.0.1 snazzy: specifier: ^9.0.0 version: 9.0.0 standard: - specifier: ^17.0.0 - version: 17.0.0 + specifier: ^17.1.0 + version: 17.1.0 tap: - specifier: ^16.3.4 - version: 16.3.4 + specifier: ^16.3.9 + version: 16.3.9 packages/rover: dependencies: - '@lyrasearch/lyra': - specifier: ^0.4.10 - version: 0.4.11 - '@lyrasearch/plugin-data-persistence': - specifier: ^0.1.1 - version: 0.1.1 '@mateonunez/asterism-huston': specifier: workspace:* version: link:../huston - lyra-cache: + '@orama/orama': + specifier: 2.0.0-beta.3 + version: 2.0.0-beta.3 + '@orama/plugin-data-persistence': + specifier: 2.0.0-beta.3 + version: 2.0.0-beta.3 + orama-cache: + specifier: ^0.8.0 + version: 0.8.0 + orama-schema-resolver: specifier: ^0.4.0 version: 0.4.0 - lyra-schema-resolver: - specifier: ^0.2.2 - version: 0.2.2 devDependencies: c8: - specifier: ^7.13.0 - version: 7.13.0 + specifier: ^8.0.1 + version: 8.0.1 snazzy: specifier: ^9.0.0 version: 9.0.0 standard: - specifier: ^17.0.0 - version: 17.0.0 + specifier: ^17.1.0 + version: 17.1.0 tap: - specifier: ^16.3.4 - version: 16.3.4 + specifier: ^16.3.9 + version: 16.3.9 packages: + /@aashutoshrathi/word-wrap@1.2.6: + resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==} + engines: {node: '>=0.10.0'} + dev: true + /@ampproject/remapping@2.2.0: resolution: {integrity: sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==} engines: {node: '>=6.0.0'} @@ -367,31 +372,37 @@ packages: '@databases/queue': 1.0.1 dev: false - /@databases/mysql-config@3.1.0: - resolution: {integrity: sha512-0WCxSymQgFvR6df/83jmPrP3+aTy/bHjtbgWlKMv4hc2ayT8J9RLArBVx6Fz8o7KK+g+5tyfayaIPDYcEJKhkQ==} + /@databases/mysql-config@3.2.0: + resolution: {integrity: sha512-rvASYvrhgQy4MXyrqFijvzQIMNDetOyRP3w2OCIH3PfGb+qnp8cbs8CD3EJekx7TZmhnD2IiOEk78rFqfV02hA==} dependencies: - cosmiconfig: 5.2.1 + cosmiconfig: 8.3.6 funtypes: 4.2.0 + transitivePeerDependencies: + - typescript dev: false - /@databases/mysql@5.2.1: - resolution: {integrity: sha512-DwH6mJX2K1P2Pf+93BIrhDp89Y/RvmYY74CDcMxj680lk8kV2tUN7udBkMePnDHqRG7wLxQ91deEezMeFMLpJg==} + /@databases/mysql@6.0.0: + resolution: {integrity: sha512-pfPZYjbW70Sftq4qYdZd3yo9LuXwDoN8A1YQfzzq/QplUMyhpGUdq5De1AiXKFy3DSBGQWpt3QO0WwICTEPuSw==} dependencies: '@babel/code-frame': 7.18.6 '@databases/escape-identifier': 1.0.3 - '@databases/mysql-config': 3.1.0 + '@databases/mysql-config': 3.2.0 '@databases/push-to-async-iterable': 3.0.0 '@databases/shared': 3.0.2 '@databases/sql': 3.3.0 '@types/mysql': 2.15.21 mysql2: 2.3.3 + transitivePeerDependencies: + - typescript dev: false - /@databases/pg-config@3.1.1: - resolution: {integrity: sha512-D2hLZMPAJak6CRTiH/Jl30htmoVvDXna7uHcBavadImfBZqLT5vcXFnkrpujSsvka8fSnTOnu3zPCm1tdiGTuA==} + /@databases/pg-config@3.2.0: + resolution: {integrity: sha512-hoPAK/F8gLcLgEJ8mLSnNvRlKqShwx5+GglDHIIfQhKF+Zz6M6QceiOefckS4WSjA0x2HClPvpercnXp9i24ag==} dependencies: - cosmiconfig: 5.2.1 + cosmiconfig: 8.3.6 funtypes: 4.2.0 + transitivePeerDependencies: + - typescript dev: false /@databases/pg-connection-string@1.0.0: @@ -406,26 +417,25 @@ packages: resolution: {integrity: sha512-Yz3exbptZwOn4ZD/MSwY6z++XVyOFsMh5DERvSw3awRwJFnfdaqdeiIxxX0MVjM6KPihF0xxp8lPO7vTc5ydpw==} dev: false - /@databases/pg@5.4.1: - resolution: {integrity: sha512-V4BvwEwcrpZVEhCuBX4rwIGr1Idk68UMp+7rpqxFsl9SVIvHentX2wq7Nyclp7sxnQddEH8KsTCXt0eleRaihA==} + /@databases/pg@5.5.0: + resolution: {integrity: sha512-WIojK9AYIlNi5YRfc5YUOow3PQ82ClmwT9HG3nEsKLUERYieoVmHMYDQLS0ry6FjgJx+2yFs7LCw4kZpWu1TBw==} dependencies: '@babel/code-frame': 7.18.6 '@databases/escape-identifier': 1.0.3 - '@databases/pg-config': 3.1.1 + '@databases/pg-config': 3.2.0 '@databases/pg-connection-string': 1.0.0 '@databases/pg-data-type-id': 3.0.0 '@databases/pg-errors': 1.0.0 '@databases/push-to-async-iterable': 3.0.0 - '@databases/shared': 3.0.2 - '@databases/split-sql-query': 1.0.3(@databases/sql@3.3.0) + '@databases/shared': 3.1.0 + '@databases/split-sql-query': 1.0.4(@databases/sql@3.3.0) '@databases/sql': 3.3.0 - '@types/cuid': 1.3.1 assert-never: 1.2.1 - cuid: 2.1.8 pg: 8.10.0 pg-cursor: 2.9.0(pg@8.10.0) transitivePeerDependencies: - pg-native + - typescript dev: false /@databases/push-to-async-iterable@3.0.0: @@ -449,6 +459,16 @@ packages: cuid: 2.1.8 dev: false + /@databases/shared@3.1.0: + resolution: {integrity: sha512-bO1DIYAYDiWOCqVPvBio1JqZQYh4dph2M1av2w/REeFT6WBd64mTrOFlcxKV0CUAYT0UiJsDfPqEfw0/APRzWg==} + dependencies: + '@databases/connection-pool': 1.1.0 + '@databases/lock': 2.1.0 + '@databases/queue': 1.0.1 + '@databases/split-sql-query': 1.0.4(@databases/sql@3.3.0) + '@databases/sql': 3.3.0 + dev: false + /@databases/split-sql-query@1.0.3(@databases/sql@3.3.0): resolution: {integrity: sha512-Q3UYX85e34yE9KXa095AJtJhBQ0NpLfC0kS9ydFKuNB25cto4YddY52RuXN81m2t0pS1Atg31ylNpKfNCnUPdA==} peerDependencies: @@ -457,6 +477,14 @@ packages: '@databases/sql': 3.3.0 dev: false + /@databases/split-sql-query@1.0.4(@databases/sql@3.3.0): + resolution: {integrity: sha512-lDqDQvH34NNjLs0knaDvL6HKgPtishQlDYHfOkvbAd5VQOEhcDvvmG2zbBuFvS2HQAz5NsyLj5erGaxibkxhvQ==} + peerDependencies: + '@databases/sql': '*' + dependencies: + '@databases/sql': 3.3.0 + dev: false + /@databases/sql@3.3.0: resolution: {integrity: sha512-vj9huEy4mjJ48GS1Z8yvtMm4BYAnFYACUds25ym6Gd/gsnngkJ17fo62a6mmbNNwCBS/8467PmZR01Zs/06TjA==} dev: false @@ -465,28 +493,28 @@ packages: resolution: {integrity: sha512-dLKqxGcymeVwEb/6c44KjOnzaAafFf0Wxa8xcfEjx/qOl3rdijsKYBAtIGhtVtOlpPf/PFKfgTuFurSPn/3B/g==} dev: false - /@eslint-community/eslint-utils@4.2.0(eslint@8.36.0): + /@eslint-community/eslint-utils@4.2.0(eslint@8.52.0): resolution: {integrity: sha512-gB8T4H4DEfX2IV9zGDJPOBgP1e/DbfCPDTtEqUMckpvzS1OYtva8JdFYBqMwYk7xAQ429WGF/UPqn8uQ//h2vQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 dependencies: - eslint: 8.36.0 - eslint-visitor-keys: 3.3.0 + eslint: 8.52.0 + eslint-visitor-keys: 3.4.3 dev: true - /@eslint-community/regexpp@4.4.0: - resolution: {integrity: sha512-A9983Q0LnDGdLPjxyXQ00sbV+K+O+ko2Dr+CZigbHWtX9pNfxlaBkMR8X1CztI73zuEyEBXTVjx7CE+/VSwDiQ==} + /@eslint-community/regexpp@4.10.0: + resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} dev: true - /@eslint/eslintrc@2.0.1: - resolution: {integrity: sha512-eFRmABvW2E5Ho6f5fHLqgena46rOj7r7OKHYfLElqcBfGFHHpjBhivyi5+jOEQuSpdc/1phIZJlbC2te+tZNIw==} + /@eslint/eslintrc@2.1.2: + resolution: {integrity: sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: ajv: 6.12.6 debug: 4.3.4 - espree: 9.5.0 + espree: 9.6.1 globals: 13.20.0 ignore: 5.2.4 import-fresh: 3.3.0 @@ -497,16 +525,16 @@ packages: - supports-color dev: true - /@eslint/js@8.36.0: - resolution: {integrity: sha512-lxJ9R5ygVm8ZWgYdUweoq5ownDlJ4upvoWmO4eLxBYHdMo+vZ/Rx0EN6MbKWDJOSUGrqJy2Gt+Dyv/VKml0fjg==} + /@eslint/js@8.52.0: + resolution: {integrity: sha512-mjZVbpaeMZludF2fsWLD0Z9gCref1Tk4i9+wddjRvpUNqqcndPkBD09N/Mapey0b3jaXbLm2kICwFv2E64QinA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /@humanwhocodes/config-array@0.11.8: - resolution: {integrity: sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==} + /@humanwhocodes/config-array@0.11.13: + resolution: {integrity: sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ==} engines: {node: '>=10.10.0'} dependencies: - '@humanwhocodes/object-schema': 1.2.1 + '@humanwhocodes/object-schema': 2.0.1 debug: 4.3.4 minimatch: 3.1.2 transitivePeerDependencies: @@ -518,8 +546,8 @@ packages: engines: {node: '>=12.22'} dev: true - /@humanwhocodes/object-schema@1.2.1: - resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==} + /@humanwhocodes/object-schema@2.0.1: + resolution: {integrity: sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==} dev: true /@istanbuljs/load-nyc-config@1.1.0: @@ -576,19 +604,6 @@ packages: '@jridgewell/sourcemap-codec': 1.4.14 dev: true - /@lyrasearch/lyra@0.4.11: - resolution: {integrity: sha512-KvTTCLNG5+BaAKQnYXP/b/NMatqitHFu5LDKGxbga7IXZMPFBdJe4TSvhkJcPsdnEQOccYlPYvkxgjV9BPmV0Q==} - engines: {node: '>= 16.0.0'} - dev: false - - /@lyrasearch/plugin-data-persistence@0.1.1: - resolution: {integrity: sha512-zVxQzw4nSMANrvPAjtvigL1fT9bcNV3J/Zo+ugg0Rs/68Hx0cKeMM6sCIMBF2VC4osx8KfppCVAwsPy7xv7anQ==} - dependencies: - '@lyrasearch/lyra': 0.4.11 - '@msgpack/msgpack': 2.8.0 - dpack: 0.6.22 - dev: false - /@msgpack/msgpack@2.8.0: resolution: {integrity: sha512-h9u4u/jiIRKbq25PM+zymTyW6bhTzELvOoUd+AvYriWOAKpLGnIamaET3pnHYoI5iYphAHBI4ayx0MehR+VVPQ==} engines: {node: '>= 10'} @@ -615,8 +630,17 @@ packages: fastq: 1.15.0 dev: true - /@types/cuid@1.3.1: - resolution: {integrity: sha512-LwQOxZtpN3aEGElEicpHx1I6exi+mLBecAdLMWNRjGaYByD2CqGjSH1oVEQGeNSqgYBhLC1pIJQMDgcpxk0t8Q==} + /@orama/orama@2.0.0-beta.3: + resolution: {integrity: sha512-yii79NdmyoshM0IsgJN2CgytXv41pmXpITuzczKnwhrLJWd94p/Dzqp7ljUa1Rz6c91yzItfSnFOTq2Tj+7Zow==} + engines: {node: '>= 16.0.0'} + dev: false + + /@orama/plugin-data-persistence@2.0.0-beta.3: + resolution: {integrity: sha512-du3XczNxV7Siox4D6j19va0mM7rDuwVx9ExKLQSImwvzs+3pkQYzIbbUxLMTcGS6gd7tfkDj1/M5L0cccoevbw==} + dependencies: + '@msgpack/msgpack': 2.8.0 + '@orama/orama': 2.0.0-beta.3 + dpack: 0.6.22 dev: false /@types/istanbul-lib-coverage@2.0.4: @@ -637,6 +661,10 @@ packages: resolution: {integrity: sha512-z6nr0TTEOBGkzLGmbypWOGnpSpSIBorEhC4L+4HeQ2iezKCi4f77kyslRwvHeNitymGQ+oFyIWGP96l/DPSV9w==} dev: false + /@ungap/structured-clone@1.2.0: + resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} + dev: true + /abort-controller@3.0.0: resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==} engines: {node: '>=6.5'} @@ -644,16 +672,16 @@ packages: event-target-shim: 5.0.1 dev: false - /acorn-jsx@5.3.2(acorn@8.8.2): + /acorn-jsx@5.3.2(acorn@8.11.2): resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} peerDependencies: acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: - acorn: 8.8.2 + acorn: 8.11.2 dev: true - /acorn@8.8.2: - resolution: {integrity: sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==} + /acorn@8.11.2: + resolution: {integrity: sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==} engines: {node: '>=0.4.0'} hasBin: true dev: true @@ -716,10 +744,10 @@ packages: resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} dependencies: sprintf-js: 1.0.3 + dev: true /argparse@2.0.1: resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} - dev: true /array-includes@3.1.6: resolution: {integrity: sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==} @@ -766,11 +794,11 @@ packages: resolution: {integrity: sha512-TaTivMB6pYI1kXwrFlEhLeGfOqoDNdTxjCdwRfFFkEA30Eu+k48W34nlok2EYWJfFFzqaEmichdNM7th6M5HNw==} dev: false - /async-cache-dedupe@1.10.0: - resolution: {integrity: sha512-81j/OLVNjD5Lf+ct0JoFsHfOrR+01dAaZz2dMI1hI+9bAFfZG0JucP8ysv8W0kaCDL8n5YmOdXKvNCIKTndhQQ==} + /async-cache-dedupe@2.0.0: + resolution: {integrity: sha512-SrW6PbmCHRQBSpPG8mkPIZZC5AgC08sbzl56GyGemBLVdVUl8mQW4+WCYHp5XZfixIdkL40jKf3UlT/P6Q3p5w==} dependencies: mnemonist: 0.39.5 - safe-stable-stringify: 2.4.2 + safe-stable-stringify: 2.4.3 dev: false /async-hook-domain@2.0.4: @@ -858,9 +886,9 @@ packages: semver: 7.3.8 dev: true - /c8@7.13.0: - resolution: {integrity: sha512-/NL4hQTv1gBL6J6ei80zu3IiTrmePDKXKXOTLpHvcIWZTVYQlDhVWjjWvkhICylE8EwwnMVzDZugCvdx0/DIIA==} - engines: {node: '>=10.12.0'} + /c8@8.0.1: + resolution: {integrity: sha512-EINpopxZNH1mETuI0DzRA4MZpAUH+IFiRhnmFD3vFr3vdrgxqi3VfE3KL0AIL+zDq8rC9bZqwM/VDmmoe04y7w==} + engines: {node: '>=12'} hasBin: true dependencies: '@bcoe/v8-coverage': 0.2.3 @@ -868,13 +896,13 @@ packages: find-up: 5.0.0 foreground-child: 2.0.0 istanbul-lib-coverage: 3.2.0 - istanbul-lib-report: 3.0.0 - istanbul-reports: 3.1.5 + istanbul-lib-report: 3.0.1 + istanbul-reports: 3.1.6 rimraf: 3.0.2 test-exclude: 6.0.0 v8-to-istanbul: 9.1.0 - yargs: 16.2.0 - yargs-parser: 20.2.9 + yargs: 17.7.2 + yargs-parser: 21.1.1 dev: true /caching-transform@4.0.0: @@ -894,29 +922,9 @@ packages: get-intrinsic: 1.2.0 dev: true - /caller-callsite@2.0.0: - resolution: {integrity: sha512-JuG3qI4QOftFsZyOn1qq87fq5grLIyk1JYd5lJmdA+fG7aQ9pA/i3JIJGcO3q0MrRcHlOt1U+ZeHW8Dq9axALQ==} - engines: {node: '>=4'} - dependencies: - callsites: 2.0.0 - dev: false - - /caller-path@2.0.0: - resolution: {integrity: sha512-MCL3sf6nCSXOwCTzvPKhN18TU7AHTvdtam8DAogxcrJ8Rjfbbg7Lgng64H9Iy+vUV6VGFClN/TyxBkAebLRR4A==} - engines: {node: '>=4'} - dependencies: - caller-callsite: 2.0.0 - dev: false - - /callsites@2.0.0: - resolution: {integrity: sha512-ksWePWBloaWPxJYQ8TL0JHvtci6G5QTKwQ95RcWAa/lzoAKuAOflGdAK92hpHXjkwb8zLxoLNUoNYZgVsaJzvQ==} - engines: {node: '>=4'} - dev: false - /callsites@3.1.0: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} engines: {node: '>=6'} - dev: true /camelcase@5.3.1: resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} @@ -955,7 +963,7 @@ packages: normalize-path: 3.0.0 readdirp: 3.6.0 optionalDependencies: - fsevents: 2.3.2 + fsevents: 2.3.3 dev: true /clean-stack@2.2.0: @@ -979,6 +987,15 @@ packages: wrap-ansi: 7.0.0 dev: true + /cliui@8.0.1: + resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} + engines: {node: '>=12'} + dependencies: + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi: 7.0.0 + dev: true + /color-convert@1.9.3: resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} dependencies: @@ -1007,8 +1024,8 @@ packages: resolution: {integrity: sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==} dev: false - /commander@10.0.0: - resolution: {integrity: sha512-zS5PnTI22FIRM6ylNW8G4Ap0IEOyk62fhLSD0+uHRT9McRCLGpkVNvao4bjimpK/GShynyQkFFxHhwMcETmduA==} + /commander@10.0.1: + resolution: {integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==} engines: {node: '>=14'} dev: false @@ -1034,14 +1051,19 @@ packages: resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==} dev: true - /cosmiconfig@5.2.1: - resolution: {integrity: sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==} - engines: {node: '>=4'} + /cosmiconfig@8.3.6: + resolution: {integrity: sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==} + engines: {node: '>=14'} + peerDependencies: + typescript: '>=4.9.5' + peerDependenciesMeta: + typescript: + optional: true dependencies: - import-fresh: 2.0.0 - is-directory: 0.3.1 - js-yaml: 3.14.1 - parse-json: 4.0.0 + import-fresh: 3.3.0 + js-yaml: 4.1.0 + parse-json: 5.2.0 + path-type: 4.0.0 dev: false /cross-spawn@7.0.3: @@ -1242,28 +1264,29 @@ packages: engines: {node: '>=10'} dev: true - /eslint-config-standard-jsx@11.0.0(eslint-plugin-react@7.32.2)(eslint@8.36.0): + /eslint-config-standard-jsx@11.0.0(eslint-plugin-react@7.32.2)(eslint@8.52.0): resolution: {integrity: sha512-+1EV/R0JxEK1L0NGolAr8Iktm3Rgotx3BKwgaX+eAuSX8D952LULKtjgZD3F+e6SvibONnhLwoTi9DPxN5LvvQ==} peerDependencies: eslint: ^8.8.0 eslint-plugin-react: ^7.28.0 dependencies: - eslint: 8.36.0 - eslint-plugin-react: 7.32.2(eslint@8.36.0) + eslint: 8.52.0 + eslint-plugin-react: 7.32.2(eslint@8.52.0) dev: true - /eslint-config-standard@17.0.0(eslint-plugin-import@2.27.5)(eslint-plugin-n@15.6.1)(eslint-plugin-promise@6.1.1)(eslint@8.36.0): - resolution: {integrity: sha512-/2ks1GKyqSOkH7JFvXJicu0iMpoojkwB+f5Du/1SC0PtBL+s8v30k9njRZ21pm2drKYm2342jFnGWzttxPmZVg==} + /eslint-config-standard@17.1.0(eslint-plugin-import@2.27.5)(eslint-plugin-n@15.7.0)(eslint-plugin-promise@6.1.1)(eslint@8.52.0): + resolution: {integrity: sha512-IwHwmaBNtDK4zDHQukFDW5u/aTb8+meQWZvNFWkiGmbWjD6bqyuSSBxxXKkCftCUzc1zwCH2m/baCNDLGmuO5Q==} + engines: {node: '>=12.0.0'} peerDependencies: eslint: ^8.0.1 eslint-plugin-import: ^2.25.2 - eslint-plugin-n: ^15.0.0 + eslint-plugin-n: '^15.0.0 || ^16.0.0 ' eslint-plugin-promise: ^6.0.0 dependencies: - eslint: 8.36.0 - eslint-plugin-import: 2.27.5(eslint@8.36.0) - eslint-plugin-n: 15.6.1(eslint@8.36.0) - eslint-plugin-promise: 6.1.1(eslint@8.36.0) + eslint: 8.52.0 + eslint-plugin-import: 2.27.5(eslint@8.52.0) + eslint-plugin-n: 15.7.0(eslint@8.52.0) + eslint-plugin-promise: 6.1.1(eslint@8.52.0) dev: true /eslint-import-resolver-node@0.3.7: @@ -1276,7 +1299,7 @@ packages: - supports-color dev: true - /eslint-module-utils@2.7.4(eslint-import-resolver-node@0.3.7)(eslint@8.36.0): + /eslint-module-utils@2.7.4(eslint-import-resolver-node@0.3.7)(eslint@8.52.0): resolution: {integrity: sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA==} engines: {node: '>=4'} peerDependencies: @@ -1298,24 +1321,24 @@ packages: optional: true dependencies: debug: 3.2.7 - eslint: 8.36.0 + eslint: 8.52.0 eslint-import-resolver-node: 0.3.7 transitivePeerDependencies: - supports-color dev: true - /eslint-plugin-es@4.1.0(eslint@8.36.0): + /eslint-plugin-es@4.1.0(eslint@8.52.0): resolution: {integrity: sha512-GILhQTnjYE2WorX5Jyi5i4dz5ALWxBIdQECVQavL6s7cI76IZTDWleTHkxz/QT3kvcs2QlGHvKLYsSlPOlPXnQ==} engines: {node: '>=8.10.0'} peerDependencies: eslint: '>=4.19.1' dependencies: - eslint: 8.36.0 + eslint: 8.52.0 eslint-utils: 2.1.0 regexpp: 3.2.0 dev: true - /eslint-plugin-import@2.27.5(eslint@8.36.0): + /eslint-plugin-import@2.27.5(eslint@8.52.0): resolution: {integrity: sha512-LmEt3GVofgiGuiE+ORpnvP+kAm3h6MLZJ4Q5HCyHADofsb4VzXFsRiWj3c0OFiV+3DWFh0qg3v9gcPlfc3zRow==} engines: {node: '>=4'} peerDependencies: @@ -1330,9 +1353,9 @@ packages: array.prototype.flatmap: 1.3.1 debug: 3.2.7 doctrine: 2.1.0 - eslint: 8.36.0 + eslint: 8.52.0 eslint-import-resolver-node: 0.3.7 - eslint-module-utils: 2.7.4(eslint-import-resolver-node@0.3.7)(eslint@8.36.0) + eslint-module-utils: 2.7.4(eslint-import-resolver-node@0.3.7)(eslint@8.52.0) has: 1.0.3 is-core-module: 2.11.0 is-glob: 4.0.3 @@ -1347,16 +1370,16 @@ packages: - supports-color dev: true - /eslint-plugin-n@15.6.1(eslint@8.36.0): - resolution: {integrity: sha512-R9xw9OtCRxxaxaszTQmQAlPgM+RdGjaL1akWuY/Fv9fRAi8Wj4CUKc6iYVG8QNRjRuo8/BqVYIpfqberJUEacA==} + /eslint-plugin-n@15.7.0(eslint@8.52.0): + resolution: {integrity: sha512-jDex9s7D/Qial8AGVIHq4W7NswpUD5DPDL2RH8Lzd9EloWUuvUkHfv4FRLMipH5q2UtyurorBkPeNi1wVWNh3Q==} engines: {node: '>=12.22.0'} peerDependencies: eslint: '>=7.0.0' dependencies: builtins: 5.0.1 - eslint: 8.36.0 - eslint-plugin-es: 4.1.0(eslint@8.36.0) - eslint-utils: 3.0.0(eslint@8.36.0) + eslint: 8.52.0 + eslint-plugin-es: 4.1.0(eslint@8.52.0) + eslint-utils: 3.0.0(eslint@8.52.0) ignore: 5.2.4 is-core-module: 2.11.0 minimatch: 3.1.2 @@ -1364,16 +1387,16 @@ packages: semver: 7.3.8 dev: true - /eslint-plugin-promise@6.1.1(eslint@8.36.0): + /eslint-plugin-promise@6.1.1(eslint@8.52.0): resolution: {integrity: sha512-tjqWDwVZQo7UIPMeDReOpUgHCmCiH+ePnVT+5zVapL0uuHnegBUs2smM13CzOs2Xb5+MHMRFTs9v24yjba4Oig==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 dependencies: - eslint: 8.36.0 + eslint: 8.52.0 dev: true - /eslint-plugin-react@7.32.2(eslint@8.36.0): + /eslint-plugin-react@7.32.2(eslint@8.52.0): resolution: {integrity: sha512-t2fBMa+XzonrrNkyVirzKlvn5RXzzPwRHtMvLAtVZrt8oxgnTQaYbU6SXTOO1mwQgp1y5+toMSKInnzGr0Knqg==} engines: {node: '>=4'} peerDependencies: @@ -1383,7 +1406,7 @@ packages: array.prototype.flatmap: 1.3.1 array.prototype.tosorted: 1.1.1 doctrine: 2.1.0 - eslint: 8.36.0 + eslint: 8.52.0 estraverse: 5.3.0 jsx-ast-utils: 3.3.3 minimatch: 3.1.2 @@ -1397,8 +1420,8 @@ packages: string.prototype.matchall: 4.0.8 dev: true - /eslint-scope@7.1.1: - resolution: {integrity: sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==} + /eslint-scope@7.2.2: + resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: esrecurse: 4.3.0 @@ -1412,13 +1435,13 @@ packages: eslint-visitor-keys: 1.3.0 dev: true - /eslint-utils@3.0.0(eslint@8.36.0): + /eslint-utils@3.0.0(eslint@8.52.0): resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==} engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0} peerDependencies: eslint: '>=5' dependencies: - eslint: 8.36.0 + eslint: 8.52.0 eslint-visitor-keys: 2.1.0 dev: true @@ -1432,32 +1455,33 @@ packages: engines: {node: '>=10'} dev: true - /eslint-visitor-keys@3.3.0: - resolution: {integrity: sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==} + /eslint-visitor-keys@3.4.3: + resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /eslint@8.36.0: - resolution: {integrity: sha512-Y956lmS7vDqomxlaaQAHVmeb4tNMp2FWIvU/RnU5BD3IKMD/MJPr76xdyr68P8tV1iNMvN2mRK0yy3c+UjL+bw==} + /eslint@8.52.0: + resolution: {integrity: sha512-zh/JHnaixqHZsolRB/w9/02akBk9EPrOs9JwcTP2ek7yL5bVvXuRariiaAjjoJ5DvuwQ1WAE/HsMz+w17YgBCg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} hasBin: true dependencies: - '@eslint-community/eslint-utils': 4.2.0(eslint@8.36.0) - '@eslint-community/regexpp': 4.4.0 - '@eslint/eslintrc': 2.0.1 - '@eslint/js': 8.36.0 - '@humanwhocodes/config-array': 0.11.8 + '@eslint-community/eslint-utils': 4.2.0(eslint@8.52.0) + '@eslint-community/regexpp': 4.10.0 + '@eslint/eslintrc': 2.1.2 + '@eslint/js': 8.52.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.6 chalk: 4.1.2 cross-spawn: 7.0.3 debug: 4.3.4 doctrine: 3.0.0 escape-string-regexp: 4.0.0 - eslint-scope: 7.1.1 - eslint-visitor-keys: 3.3.0 - espree: 9.5.0 + eslint-scope: 7.2.2 + eslint-visitor-keys: 3.4.3 + espree: 9.6.1 esquery: 1.5.0 esutils: 2.0.3 fast-deep-equal: 3.1.3 @@ -1465,40 +1489,38 @@ packages: find-up: 5.0.0 glob-parent: 6.0.2 globals: 13.20.0 - grapheme-splitter: 1.0.4 + graphemer: 1.4.0 ignore: 5.2.4 - import-fresh: 3.3.0 imurmurhash: 0.1.4 is-glob: 4.0.3 is-path-inside: 3.0.3 - js-sdsl: 4.3.0 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.1 + optionator: 0.9.3 strip-ansi: 6.0.1 - strip-json-comments: 3.1.1 text-table: 0.2.0 transitivePeerDependencies: - supports-color dev: true - /espree@9.5.0: - resolution: {integrity: sha512-JPbJGhKc47++oo4JkEoTe2wjy4fmMwvFpgJT9cQzmfXKp22Dr6Hf1tdCteLz1h0P3t+mGvWZ+4Uankvh8+c6zw==} + /espree@9.6.1: + resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: - acorn: 8.8.2 - acorn-jsx: 5.3.2(acorn@8.8.2) - eslint-visitor-keys: 3.3.0 + acorn: 8.11.2 + acorn-jsx: 5.3.2(acorn@8.11.2) + eslint-visitor-keys: 3.4.3 dev: true /esprima@4.0.1: resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} engines: {node: '>=4'} hasBin: true + dev: true /esquery@1.5.0: resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} @@ -1538,18 +1560,18 @@ packages: engines: {node: '>=0.8.x'} dev: false - /execa@7.0.0: - resolution: {integrity: sha512-tQbH0pH/8LHTnwTrsKWideqi6rFB/QNUawEwrn+WHyz7PX1Tuz2u7wfTvbaNBdP5JD5LVWxNo8/A8CHNZ3bV6g==} - engines: {node: ^14.18.0 || ^16.14.0 || >=18.0.0} + /execa@8.0.1: + resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} + engines: {node: '>=16.17'} dependencies: cross-spawn: 7.0.3 - get-stream: 6.0.1 - human-signals: 4.3.0 + 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: 3.0.7 + signal-exit: 4.1.0 strip-final-newline: 3.0.0 dev: true @@ -1671,8 +1693,8 @@ packages: /fs.realpath@1.0.0: resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} - /fsevents@2.3.2: - resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} + /fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} os: [darwin] requiresBuild: true @@ -1739,9 +1761,9 @@ packages: engines: {node: '>=10'} dev: true - /get-stream@6.0.1: - resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} - engines: {node: '>=10'} + /get-stream@8.0.1: + resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} + engines: {node: '>=16'} dev: true /get-symbol-description@1.0.0: @@ -1817,8 +1839,8 @@ packages: resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==} dev: true - /grapheme-splitter@1.0.4: - resolution: {integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==} + /graphemer@1.4.0: + resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} dev: true /has-bigints@1.0.2: @@ -1883,9 +1905,9 @@ packages: resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} dev: true - /human-signals@4.3.0: - resolution: {integrity: sha512-zyzVyMjpGBX2+6cDVZeFPCdtOtdsxOeseRhB9tkQ6xXmGUNrcnBzdEKPy3VPNYz+4gy1oukVOXcrJCunSyc6QQ==} - engines: {node: '>=14.18.0'} + /human-signals@5.0.0: + resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==} + engines: {node: '>=16.17.0'} dev: true /husky@8.0.3: @@ -1910,21 +1932,12 @@ packages: engines: {node: '>= 4'} dev: true - /import-fresh@2.0.0: - resolution: {integrity: sha512-eZ5H8rcgYazHbKC3PG4ClHNykCSxtAhxSSEM+2mb+7evD2CKF5V7c0dNum7AdpDh0ZdICwZY9sRSn8f+KH96sg==} - engines: {node: '>=4'} - dependencies: - caller-path: 2.0.0 - resolve-from: 3.0.0 - dev: false - /import-fresh@3.3.0: resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} engines: {node: '>=6'} dependencies: parent-module: 1.0.1 resolve-from: 4.0.0 - dev: true /imurmurhash@0.1.4: resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} @@ -2004,11 +2017,6 @@ packages: has-tostringtag: 1.0.0 dev: true - /is-directory@0.3.1: - resolution: {integrity: sha512-yVChGzahRFvbkscn2MlwGismPO12i9+znNruC5gVEntG3qu0xQMzsGg/JFbrsqDOHtHFPci+V5aP5T9I+yeKqw==} - engines: {node: '>=0.10.0'} - dev: false - /is-extglob@2.1.1: resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} engines: {node: '>=0.10.0'} @@ -2169,6 +2177,15 @@ packages: supports-color: 7.2.0 dev: true + /istanbul-lib-report@3.0.1: + resolution: {integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==} + engines: {node: '>=10'} + dependencies: + istanbul-lib-coverage: 3.2.0 + make-dir: 4.0.0 + supports-color: 7.2.0 + dev: true + /istanbul-lib-source-maps@4.0.1: resolution: {integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==} engines: {node: '>=10'} @@ -2188,6 +2205,14 @@ packages: istanbul-lib-report: 3.0.0 dev: true + /istanbul-reports@3.1.6: + resolution: {integrity: sha512-TLgnMkKg3iTDsQ9PbPTdpfAK2DzjF9mqUG7RMgcQl8oFjad8ob4laGxv5XV5U9MAfx8D6tSJiUyuAwzLicaxlg==} + engines: {node: '>=8'} + dependencies: + html-escaper: 2.0.2 + istanbul-lib-report: 3.0.1 + dev: true + /jackspeak@1.4.2: resolution: {integrity: sha512-GHeGTmnuaHnvS+ZctRB01bfxARuu9wW83ENbuiweu07SFcVlZrJpcshSre/keGT7YGBhLHg/+rXCNSrsEHKU4Q==} engines: {node: '>=8'} @@ -2200,10 +2225,6 @@ packages: engines: {node: '>=10'} dev: false - /js-sdsl@4.3.0: - resolution: {integrity: sha512-mifzlm2+5nZ+lEcLJMoBK0/IH/bDg8XnJfd/Wq6IP+xoCjLZsTOnV2QpxlVbX9bMnkl5PdEjNtBJ9Cj1NjifhQ==} - dev: true - /js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} @@ -2213,13 +2234,13 @@ packages: dependencies: argparse: 1.0.10 esprima: 4.0.1 + dev: true /js-yaml@4.1.0: resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} hasBin: true dependencies: argparse: 2.0.1 - dev: true /jsesc@2.5.2: resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} @@ -2229,6 +2250,11 @@ packages: /json-parse-better-errors@1.0.2: resolution: {integrity: sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==} + dev: true + + /json-parse-even-better-errors@2.3.1: + resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} + dev: false /json-schema-traverse@0.4.1: resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} @@ -2286,6 +2312,10 @@ packages: trivial-deferred: 1.0.1 dev: true + /lines-and-columns@1.2.4: + resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} + dev: false + /load-json-file@5.3.0: resolution: {integrity: sha512-cJGP40Jc/VXUsp8/OrnyKyTZ1y6v/dphm3bioS+RrKXjK2BB6wHUd6JptZEFDGgGahMT+InnZO5i1Ei9mpC8Bw==} engines: {node: '>=6'} @@ -2355,19 +2385,6 @@ packages: engines: {node: '>=12'} dev: false - /lyra-cache@0.4.0: - resolution: {integrity: sha512-fe7qSTYdp31o05PpOJQBIIfzPXdQMc2LEM58EQBaKURHd5BjYboDCnORhBkspkeLEoA6QUdOl/so6KUOqbDhPw==} - dependencies: - '@lyrasearch/lyra': 0.4.11 - async-cache-dedupe: 1.10.0 - dev: false - - /lyra-schema-resolver@0.2.2: - resolution: {integrity: sha512-K8TG4pTQkLQQeDbKzZJM3aDHUPQRD9C79knzXCC+LuJcwu+Uxkr89pRmuCsRocyJaWdbLo1wtJKmDtuOvusfGQ==} - dependencies: - '@lyrasearch/lyra': 0.4.11 - dev: false - /make-dir@3.1.0: resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} engines: {node: '>=8'} @@ -2375,6 +2392,13 @@ packages: semver: 6.3.0 dev: true + /make-dir@4.0.0: + resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} + engines: {node: '>=10'} + dependencies: + semver: 7.5.4 + dev: true + /merge-stream@2.0.0: resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} dev: true @@ -2594,18 +2618,31 @@ packages: hasBin: true dev: true - /optionator@0.9.1: - resolution: {integrity: sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==} + /optionator@0.9.3: + resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==} engines: {node: '>= 0.8.0'} dependencies: + '@aashutoshrathi/word-wrap': 1.2.6 deep-is: 0.1.4 fast-levenshtein: 2.0.6 levn: 0.4.1 prelude-ls: 1.2.1 type-check: 0.4.0 - word-wrap: 1.2.3 dev: true + /orama-cache@0.8.0: + resolution: {integrity: sha512-Yr9KFF69KKJ7m1LE493z35oFbCuCc1NKiqczeZnxY7QqOyz7fizA1oOB+ritySpR1F95NdKA4veSqJUR+QZ9JQ==} + dependencies: + '@orama/orama': 2.0.0-beta.3 + async-cache-dedupe: 2.0.0 + dev: false + + /orama-schema-resolver@0.4.0: + resolution: {integrity: sha512-DfRpC+JdE5m3p8JBZMDbDCdntgRWZMau9b/cckqyX78wJ6TUTUg9qvg0OlduooutbrrA4Q0AAqu3TB1IpIGgaQ==} + dependencies: + '@orama/orama': 2.0.0-beta.3 + dev: false + /own-or-env@1.0.2: resolution: {integrity: sha512-NQ7v0fliWtK7Lkb+WdFqe6ky9XAzYmlkXthQrBbzlYbmFKoAYbDDcwmOm6q8kOuwSRXW8bdL5ORksploUJmWgw==} dependencies: @@ -2682,7 +2719,6 @@ packages: engines: {node: '>=6'} dependencies: callsites: 3.1.0 - dev: true /parse-json@4.0.0: resolution: {integrity: sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==} @@ -2690,6 +2726,17 @@ packages: dependencies: error-ex: 1.3.2 json-parse-better-errors: 1.0.2 + dev: true + + /parse-json@5.2.0: + resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} + engines: {node: '>=8'} + dependencies: + '@babel/code-frame': 7.18.6 + error-ex: 1.3.2 + json-parse-even-better-errors: 2.3.1 + lines-and-columns: 1.2.4 + dev: false /path-exists@3.0.0: resolution: {integrity: sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==} @@ -2720,6 +2767,11 @@ packages: resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} dev: true + /path-type@4.0.0: + resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} + engines: {node: '>=8'} + dev: false + /pg-connection-string@2.5.0: resolution: {integrity: sha512-r5o/V/ORTA6TmUnyWZR9nCj1klXCO2CEKNRlVuJptZe85QuhFayC7WeMic7ndayT5IRIR0S0xFxFi2ousartlQ==} dev: false @@ -2805,8 +2857,15 @@ packages: split2: 4.1.0 dev: false - /pino-pretty@10.0.0: - resolution: {integrity: sha512-zKFjYXBzLaLTEAN1ayKpHXtL5UeRQC7R3lvhKe7fWs7hIVEjKGG/qIXwQt9HmeUp71ogUd/YcW+LmMwRp4KT6Q==} + /pino-abstract-transport@1.1.0: + resolution: {integrity: sha512-lsleG3/2a/JIWUtf9Q5gUNErBqwIu1tUKTT3dUzaf5DySw9ra1wcqKjJjLX1VTY64Wk1eEOYsVGSaGfCK85ekA==} + dependencies: + readable-stream: 4.3.0 + split2: 4.1.0 + dev: false + + /pino-pretty@10.2.3: + resolution: {integrity: sha512-4jfIUc8TC1GPUfDyMSlW1STeORqkoxec71yhxIpLDQapUu8WOuoz2TTCoidrIssyz78LZC69whBMPIKCMbi3cw==} hasBin: true dependencies: colorette: 2.0.19 @@ -2829,20 +2888,20 @@ packages: resolution: {integrity: sha512-KO0m2f1HkrPe9S0ldjx7za9BJjeHqBku5Ch8JyxETxT8dEFGz1PwgrHaOQupVYitpzbFSYm7nnljxD8dik2c+g==} dev: false - /pino@8.11.0: - resolution: {integrity: sha512-Z2eKSvlrl2rH8p5eveNUnTdd4AjJk8tAsLkHYZQKGHP4WTh2Gi1cOSOs3eWPqaj+niS3gj4UkoreoaWgF3ZWYg==} + /pino@8.16.1: + resolution: {integrity: sha512-3bKsVhBmgPjGV9pyn4fO/8RtoVDR8ssW1ev819FsRXlRNgW8gR/9Kx+gCK4UPWd4JjrRDLWpzd/pb1AyWm3MGA==} hasBin: true dependencies: atomic-sleep: 1.0.0 fast-redact: 3.1.2 on-exit-leak-free: 2.1.0 - pino-abstract-transport: 1.0.0 + pino-abstract-transport: 1.1.0 pino-std-serializers: 6.1.0 process-warning: 2.1.0 quick-format-unescaped: 4.0.4 real-require: 0.2.0 safe-stable-stringify: 2.4.2 - sonic-boom: 3.2.1 + sonic-boom: 3.7.0 thread-stream: 2.3.0 dev: false @@ -2996,15 +3055,9 @@ packages: resolution: {integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==} dev: true - /resolve-from@3.0.0: - resolution: {integrity: sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw==} - engines: {node: '>=4'} - dev: false - /resolve-from@4.0.0: resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} engines: {node: '>=4'} - dev: true /resolve-from@5.0.0: resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} @@ -3063,6 +3116,11 @@ packages: engines: {node: '>=10'} dev: false + /safe-stable-stringify@2.4.3: + resolution: {integrity: sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g==} + engines: {node: '>=10'} + dev: false + /safer-buffer@2.1.2: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} dev: false @@ -3084,6 +3142,14 @@ packages: lru-cache: 6.0.0 dev: true + /semver@7.5.4: + resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==} + engines: {node: '>=10'} + hasBin: true + dependencies: + lru-cache: 6.0.0 + dev: true + /seq-queue@0.0.5: resolution: {integrity: sha512-hr3Wtp/GZIc/6DAGPDcV4/9WoZhjrkXsi5B/07QgX8tsdc6ilr7BFM6PM6rbdAX1kFSDYeZGLipIZZKyQP0O5Q==} dev: false @@ -3116,6 +3182,11 @@ packages: resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} dev: true + /signal-exit@4.1.0: + resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} + engines: {node: '>=14'} + dev: true + /snazzy@9.0.0: resolution: {integrity: sha512-8QZmJb11OiYaUP90Nnjqcj/LEpO8CLgChnP87Wqjv5tNB4djwHaz27VO2usSRR0NmViapeGW04p0aWAMhxxLXg==} hasBin: true @@ -3135,6 +3206,12 @@ packages: atomic-sleep: 1.0.0 dev: false + /sonic-boom@3.7.0: + resolution: {integrity: sha512-IudtNvSqA/ObjN97tfgNmOKyDOs4dNcg4cUUsHDebqsgb8wGBBwb31LIgShNO8fye0dFI52X1+tFoKKI6Rq1Gg==} + dependencies: + atomic-sleep: 1.0.0 + dev: false + /source-map-support@0.5.21: resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} dependencies: @@ -3166,6 +3243,7 @@ packages: /sprintf-js@1.0.3: resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} + dev: true /sqlstring@2.3.3: resolution: {integrity: sha512-qC9iz2FlN7DQl3+wjwn3802RTyjCx7sDvfQEXchwa6CWOx07/WVfh91gBmQ9fahw8snwGEWU3xGzOt4tFyHLxg==} @@ -3196,19 +3274,20 @@ packages: concat-stream: 2.0.0 dev: true - /standard@17.0.0: - resolution: {integrity: sha512-GlCM9nzbLUkr+TYR5I2WQoIah4wHA2lMauqbyPLV/oI5gJxqhHzhjl9EG2N0lr/nRqI3KCbCvm/W3smxvLaChA==} + /standard@17.1.0: + resolution: {integrity: sha512-jaDqlNSzLtWYW4lvQmU0EnxWMUGQiwHasZl5ZEIwx3S/ijZDjZOzs1y1QqKwKs5vqnFpGtizo4NOYX2s0Voq/g==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} hasBin: true dependencies: - eslint: 8.36.0 - eslint-config-standard: 17.0.0(eslint-plugin-import@2.27.5)(eslint-plugin-n@15.6.1)(eslint-plugin-promise@6.1.1)(eslint@8.36.0) - eslint-config-standard-jsx: 11.0.0(eslint-plugin-react@7.32.2)(eslint@8.36.0) - eslint-plugin-import: 2.27.5(eslint@8.36.0) - eslint-plugin-n: 15.6.1(eslint@8.36.0) - eslint-plugin-promise: 6.1.1(eslint@8.36.0) - eslint-plugin-react: 7.32.2(eslint@8.36.0) + eslint: 8.52.0 + eslint-config-standard: 17.1.0(eslint-plugin-import@2.27.5)(eslint-plugin-n@15.7.0)(eslint-plugin-promise@6.1.1)(eslint@8.52.0) + eslint-config-standard-jsx: 11.0.0(eslint-plugin-react@7.32.2)(eslint@8.52.0) + eslint-plugin-import: 2.27.5(eslint@8.52.0) + eslint-plugin-n: 15.7.0(eslint@8.52.0) + eslint-plugin-promise: 6.1.1(eslint@8.52.0) + eslint-plugin-react: 7.32.2(eslint@8.52.0) standard-engine: 15.0.0 + version-guard: 1.1.1 transitivePeerDependencies: - '@typescript-eslint/parser' - eslint-import-resolver-typescript @@ -3336,8 +3415,8 @@ packages: yaml: 1.10.2 dev: true - /tap@16.3.4: - resolution: {integrity: sha512-SAexdt2ZF4XBgye6TPucFI2y7VE0qeFXlXucJIV1XDPCs+iJodk0MYacr1zR6Ycltzz7PYg8zrblDXKbAZM2LQ==} + /tap@16.3.9: + resolution: {integrity: sha512-KKmu12hRJhb/kGvVV/UKBOJ90sNoGbcXF0E+VmNqej1DqaCmZHyOXR8R7E66qg2Wor33XhSHGrku5MPYWSRNWw==} engines: {node: '>=12'} hasBin: true peerDependencies: @@ -3526,6 +3605,11 @@ packages: convert-source-map: 1.9.0 dev: true + /version-guard@1.1.1: + resolution: {integrity: sha512-MGQLX89UxmYHgDvcXyjBI0cbmoW+t/dANDppNPrno64rYr8nH4SHSuElQuSYdXGEs0mUzdQe1BY+FhVPNsAmJQ==} + engines: {node: '>=0.10.48'} + dev: true + /which-boxed-primitive@1.0.2: resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} dependencies: @@ -3560,11 +3644,6 @@ packages: isexe: 2.0.0 dev: true - /word-wrap@1.2.3: - resolution: {integrity: sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==} - engines: {node: '>=0.10.0'} - dev: true - /wrap-ansi@6.2.0: resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} engines: {node: '>=8'} @@ -3634,9 +3713,9 @@ packages: decamelize: 1.2.0 dev: true - /yargs-parser@20.2.9: - resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==} - engines: {node: '>=10'} + /yargs-parser@21.1.1: + resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} + engines: {node: '>=12'} dev: true /yargs@15.4.1: @@ -3656,17 +3735,17 @@ packages: yargs-parser: 18.1.3 dev: true - /yargs@16.2.0: - resolution: {integrity: sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==} - engines: {node: '>=10'} + /yargs@17.7.2: + resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} + engines: {node: '>=12'} dependencies: - cliui: 7.0.4 + 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.8 - yargs-parser: 20.2.9 + yargs-parser: 21.1.1 dev: true /yocto-queue@0.1.0: