From 714dc230a5f6ce2af42021e6243a7feddbf2236f Mon Sep 17 00:00:00 2001 From: rolljee Date: Fri, 5 Dec 2025 16:14:51 +0100 Subject: [PATCH 01/18] feat: nodejs24 --- .commitlintrc.json | 3 - .cz.json | 3 - .eslintignore | 47 +- .eslintrc-ts.json | 12 - .eslintrc.json | 19 +- .github/workflows/pull_request.workflow.yml | 8 +- .github/workflows/push_branches.workflow.yaml | 2 +- .gitignore | 49 +- .gitmodules | 3 - .husky/commit-msg | 6 - .husky/pre-commit | 6 - .mocharc.json | 2 +- .prettierrc | 3 + .vscode/launch.json | 14 - ast-refactor/inline-options-to-interface.ts | 121 - build.js | 24 - cucumber.config.cjs | 14 + dist/.gitignore | 2 - dist/.npmignore | 0 .../add-listener/snippets/add-listener.js | 6 +- .../snippets/add-once-listener.js | 10 +- .../emit/snippets/emit.js | 4 +- .../listeners/snippets/listeners.js | 10 +- .../snippets/prepend-listener.js | 6 +- .../snippets/prepend-once-listener.js | 8 +- .../snippets/remove-all-listeners.js | 18 +- .../snippets/remove-listener.js | 12 +- .../constructor/snippets/constructor.js | 22 +- .../kuzzle/disconnect/snippets/disconnect.js | 2 +- .../flush-queue/snippets/flush-queue.js | 2 +- .../kuzzle/play-queue/snippets/play-queue.js | 2 +- .../start-queuing/snippets/start-queuing.js | 2 +- .../stop-queuing/snippets/stop-queuing.js | 2 +- .../use-controller/snippets/use-controller.js | 16 +- .../error-handling/snippets/error-handling.js | 9 +- .../node-js/snippets/create.js | 25 +- .../getting-started/node-js/snippets/init.js | 21 +- .../node-js/snippets/load-sdk.js | 12 +- .../node-js/snippets/prepare-db.js | 9 +- .../node-js/snippets/subscribe.js | 45 +- .../webpack/snippets.disabled/init-kuzzle.js | 14 +- .../webpack/snippets.disabled/subscribe.js | 26 +- .../http/constructor/snippets/constructor.js | 23 +- .../constructor/snippets/constructor.js | 13 +- features/auth.feature | 53 + features/collection.feature | 68 + features/documents.feature | 236 + features/features | 1 - features/index.feature | 20 + features/realtime.feature | 45 + features/steps/auth.js | 79 - features/steps/auth.ts | 109 + features/steps/collection.js | 166 - features/steps/collection.ts | 221 + features/steps/document.js | 404 - features/steps/document.ts | 525 + features/steps/index.js | 88 - features/steps/index.ts | 100 + features/steps/kuzzle.js | 50 - features/steps/kuzzle.ts | 78 + features/steps/realtime.js | 49 - features/steps/realtime.ts | 70 + features/steps/security.js | 53 - features/steps/security.ts | 70 + features/support/hooks.js | 39 - features/support/hooks.ts | 53 + features/support/world.js | 26 - features/support/world.ts | 48 + index.ts | 58 +- package-lock.json | 16147 +++++++--------- package.json | 77 +- src/Kuzzle.ts | 90 +- src/KuzzleError.ts | 4 +- src/RequestTimeoutError.ts | 2 - src/controllers/Auth.ts | 62 +- src/controllers/Base.ts | 2 +- src/controllers/Bulk.ts | 20 +- src/controllers/Collection.ts | 49 +- src/controllers/Document.ts | 55 +- src/controllers/Index.ts | 16 +- .../{MemoryStorage.js => MemoryStorage.ts} | 57 +- src/controllers/Realtime.ts | 14 +- src/controllers/Security.ts | 138 +- src/controllers/Server.ts | 18 +- src/core/{Jwt.js => Jwt.ts} | 41 +- src/core/KuzzleEventEmitter.ts | 10 +- src/core/Observer.ts | 50 +- src/core/RealtimeDocument.ts | 2 +- src/core/{Room.js => Room.ts} | 90 +- src/core/batchWriter/BatchBuffer.ts | 2 +- src/core/batchWriter/BatchController.ts | 36 +- src/core/batchWriter/BatchWriter.ts | 20 +- src/core/searchResult/Document.ts | 2 +- src/core/searchResult/Profile.ts | 4 +- src/core/searchResult/RealtimeDocument.ts | 6 +- src/core/searchResult/Role.ts | 6 +- src/core/searchResult/SearchResultBase.ts | 16 +- src/core/searchResult/User.ts | 4 +- src/core/security/Profile.ts | 2 +- src/protocols/Http.ts | 44 +- src/protocols/WebSocket.ts | 12 +- src/protocols/abstract/Base.ts | 12 +- src/protocols/abstract/Realtime.ts | 6 +- src/types/KDocument.ts | 5 +- src/types/Notification.ts | 2 +- src/types/ProfilePolicy.ts | 2 +- src/types/mRequests.ts | 2 +- src/utils/{debug.js => debug.ts} | 48 +- src/utils/{proxify.js => proxify.ts} | 12 +- src/utils/{stackTrace.js => stackTrace.ts} | 8 +- src/utils/uuidv4.js | 11 - src/utils/uuidv4.ts | 54 + test/.eslintrc.json | 16 - test/controllers/auth.test.js | 198 +- test/controllers/bulk.test.js | 40 +- test/controllers/collection.test.js | 28 +- test/controllers/document.test.js | 66 +- test/controllers/index.test.js | 14 +- test/controllers/memoryStorage.test.js | 228 +- test/controllers/realtime.test.js | 16 +- test/controllers/security.test.js | 100 +- test/controllers/server.test.js | 8 +- test/core/Jwt.test.js | 5 +- test/core/batchWriter/BatchBuffer.test.js | 2 + test/core/batchWriter/BatchController.test.js | 46 +- test/core/batchWriter/BatchWriter.test.js | 30 +- test/core/observer.test.js | 12 +- test/core/room.test.js | 12 +- test/core/searchResult/document.test.js | 22 +- test/core/searchResult/profile.test.js | 12 +- test/core/searchResult/role.test.js | 8 +- test/core/searchResult/specifications.test.js | 18 +- test/core/searchResult/user.test.js | 6 +- test/core/security/profile.test.js | 2 + test/core/security/user.test.js | 2 + test/kuzzle-sdk-test.ts | 49 - test/kuzzle/authenticator.test.js | 2 + test/kuzzle/connect.test.js | 2 + test/kuzzle/constructor.test.js | 4 + test/kuzzle/eventEmitter.test.js | 15 +- test/kuzzle/getters.test.js | 2 + test/kuzzle/listenersManagement.test.js | 12 +- test/kuzzle/protocol.test.js | 2 + test/kuzzle/proxy.test.js | 4 +- test/kuzzle/query.test.js | 42 +- test/kuzzle/queue.test.js | 10 +- test/kuzzle/setters.test.js | 2 + test/kuzzle/useController.test.js | 8 +- test/mocks/generateJwt.mock.js | 2 + test/mocks/protocol.mock.js | 2 + test/mocks/window.mock.js | 4 +- test/protocol/Base.test.js | 10 +- test/protocol/Http.test.js | 21 +- test/protocol/WebSocket.test.js | 3 + test/setup.js | 9 + test/utils/Deprecation.test.js | 2 + test/utils/proxify.test.js | 8 +- tsconfig.json | 15 +- vite.config.ts | 49 + webpack.config.js | 47 - 160 files changed, 9650 insertions(+), 12193 deletions(-) delete mode 100644 .commitlintrc.json delete mode 100644 .cz.json delete mode 100644 .eslintrc-ts.json delete mode 100644 .gitmodules delete mode 100644 .husky/commit-msg delete mode 100644 .husky/pre-commit create mode 100644 .prettierrc delete mode 100644 .vscode/launch.json delete mode 100644 ast-refactor/inline-options-to-interface.ts delete mode 100644 build.js create mode 100644 cucumber.config.cjs delete mode 100644 dist/.gitignore delete mode 100644 dist/.npmignore create mode 100644 features/auth.feature create mode 100644 features/collection.feature create mode 100644 features/documents.feature delete mode 160000 features/features create mode 100644 features/index.feature create mode 100644 features/realtime.feature delete mode 100644 features/steps/auth.js create mode 100644 features/steps/auth.ts delete mode 100644 features/steps/collection.js create mode 100644 features/steps/collection.ts delete mode 100644 features/steps/document.js create mode 100644 features/steps/document.ts delete mode 100644 features/steps/index.js create mode 100644 features/steps/index.ts delete mode 100644 features/steps/kuzzle.js create mode 100644 features/steps/kuzzle.ts delete mode 100644 features/steps/realtime.js create mode 100644 features/steps/realtime.ts delete mode 100644 features/steps/security.js create mode 100644 features/steps/security.ts delete mode 100644 features/support/hooks.js create mode 100644 features/support/hooks.ts delete mode 100644 features/support/world.js create mode 100644 features/support/world.ts rename src/controllers/{MemoryStorage.js => MemoryStorage.ts} (92%) rename src/core/{Jwt.js => Jwt.ts} (65%) rename src/core/{Room.js => Room.ts} (51%) rename src/utils/{debug.js => debug.ts} (56%) rename src/utils/{proxify.js => proxify.ts} (95%) rename src/utils/{stackTrace.js => stackTrace.ts} (89%) delete mode 100644 src/utils/uuidv4.js create mode 100644 src/utils/uuidv4.ts delete mode 100644 test/.eslintrc.json delete mode 100644 test/kuzzle-sdk-test.ts create mode 100644 test/setup.js create mode 100644 vite.config.ts delete mode 100644 webpack.config.js diff --git a/.commitlintrc.json b/.commitlintrc.json deleted file mode 100644 index 7a4907e03..000000000 --- a/.commitlintrc.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "extends": ["@commitlint/config-conventional"] -} \ No newline at end of file diff --git a/.cz.json b/.cz.json deleted file mode 100644 index 6ab2bbc26..000000000 --- a/.cz.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "path": "./node_modules/cz-conventional-changelog" -} \ No newline at end of file diff --git a/.eslintignore b/.eslintignore index d4668996d..c3b9b6892 100644 --- a/.eslintignore +++ b/.eslintignore @@ -1,44 +1,5 @@ -# JS generated files from TS -src/**/*.d.ts -src/**/*.js.map +*.d.ts +*.js.map -src/Kuzzle.js -src/KuzzleError.js -src/RequestTimeoutError.js -src/controllers/Auth.js -src/controllers/Bulk.js -src/controllers/Document.js -src/controllers/Realtime.js -src/controllers/Index.js -src/controllers/Collection.js -src/controllers/Base.js -src/controllers/Security.js -src/core/security/User.js -src/core/security/Profile.js -src/core/security/Role.js -src/protocols/abstract/Base.js -src/protocols/abstract/Realtime.js -src/protocols/DisconnectionOrigin.js -src/protocols/Http.js -src/protocols/WebSocket.js -src/protocols/index.js -src/types/*.js -src/core/KuzzleEventEmitter.js -src/core/searchResult/SearchResultBase.js -src/core/searchResult/Document.js -src/core/searchResult/Profile.js -src/core/searchResult/Role.js -src/core/searchResult/Specifications.js -src/core/searchResult/User.js -src/utils/Deprecation.js -src/utils/interfaces.js -src/controllers/Server.js -src/core/Observer.js -src/core/RealtimeDocument.js -src/core/searchResult/RealtimeDocument.js -src/core/InstrumentablePromise.js -src/core/batchWriter/BatchBuffer.js -src/core/batchWriter/BatchController.js -src/core/batchWriter/BatchWriter.js -src/protocols/abstract/PendingRequest.js -src/utils/object.js +dist/** +out/** diff --git a/.eslintrc-ts.json b/.eslintrc-ts.json deleted file mode 100644 index a8ef2e7b1..000000000 --- a/.eslintrc-ts.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "plugins": ["kuzzle"], - "extends": [ - "plugin:kuzzle/default", - "plugin:kuzzle/node", - "plugin:kuzzle/typescript" - ], - "rules": { - "func-names": 0, - "strict": 0 - } -} diff --git a/.eslintrc.json b/.eslintrc.json index 78a0c6739..cd4052a0d 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -1,8 +1,21 @@ { + "ignorePatterns": ["doc/**"], "plugins": ["kuzzle"], "extends": ["plugin:kuzzle/default", "plugin:kuzzle/node"], + "parserOptions": { + "ecmaVersion": 2020 + }, "rules": { - "func-names": 0, - "strict": 0 - } + "sort-keys": "off", + "kuzzle/array-foreach": "off", + "no-console": "off", + "func-names": "off", + "new-cap": "off" + }, + "overrides": [ + { + "files": ["*.ts"], + "extends": ["plugin:kuzzle/typescript"] + } + ] } diff --git a/.github/workflows/pull_request.workflow.yml b/.github/workflows/pull_request.workflow.yml index 4a54906f4..0fdcaf210 100644 --- a/.github/workflows/pull_request.workflow.yml +++ b/.github/workflows/pull_request.workflow.yml @@ -8,7 +8,7 @@ jobs: runs-on: ubuntu-24.04 strategy: matrix: - node-version: ["18", "20"] + node-version: [20, 22, 24] steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 @@ -25,7 +25,7 @@ jobs: needs: [lint] strategy: matrix: - node-version: ["18", "20"] + node-version: [20, 22, 24] steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 @@ -40,7 +40,7 @@ jobs: needs: [unit-tests] strategy: matrix: - node-version: ["18", "20"] + node-version: [20, 22, 24] steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 @@ -59,7 +59,7 @@ jobs: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 with: - node-version: "20" + node-version: 24 cache: 'npm' - uses: ./.github/actions/snippet-tests with: diff --git a/.github/workflows/push_branches.workflow.yaml b/.github/workflows/push_branches.workflow.yaml index 635403631..8df9f94d9 100644 --- a/.github/workflows/push_branches.workflow.yaml +++ b/.github/workflows/push_branches.workflow.yaml @@ -22,7 +22,7 @@ jobs: - name: Setup Node.js uses: actions/setup-node@v3 with: - node-version: "lts/*" + node-version: 24 registry-url: "https://registry.npmjs.org" scope: '@kuzzleio' diff --git a/.gitignore b/.gitignore index d87f0da8d..508b4b4c0 100644 --- a/.gitignore +++ b/.gitignore @@ -27,47 +27,8 @@ doc/7/getting-started/.vuejs/cypress/videos # Debug snippets test-*.js -# Typescript related files -*.d.ts -*.js.map -index.js -src/Kuzzle.js -src/KuzzleError.js -src/RequestTimeoutError.js -src/controllers/Auth.js -src/controllers/Bulk.js -src/controllers/Document.js -src/controllers/Index.js -src/controllers/Collection.js -src/controllers/Base.js -src/controllers/Realtime.js -src/controllers/Security.js -src/core/security/User.js -src/core/security/Profile.js -src/core/security/Role.js -src/protocols/abstract/Base.js -src/protocols/abstract/Realtime.js -src/protocols/DisconnectionOrigin.js -src/protocols/Http.js -src/protocols/WebSocket.js -src/protocols/index.js -src/types/*.js -src/core/KuzzleEventEmitter.js -src/core/searchResult/SearchResultBase.js -src/core/searchResult/Document.js -src/core/searchResult/Profile.js -src/core/searchResult/Role.js -src/core/searchResult/Specifications.js -src/core/searchResult/User.js -src/utils/Deprecation.js -src/utils/interfaces.js -src/controllers/Server.js -src/core/Observer.js -src/core/RealtimeDocument.js -src/core/searchResult/RealtimeDocument.js -src/core/InstrumentablePromise.js -src/core/batchWriter/BatchBuffer.js -src/core/batchWriter/BatchController.js -src/core/batchWriter/BatchWriter.js -src/protocols/abstract/PendingRequest.js -src/utils/object.js +## Webpack output +dist + +# Typescript output +out diff --git a/.gitmodules b/.gitmodules deleted file mode 100644 index 8c97168c9..000000000 --- a/.gitmodules +++ /dev/null @@ -1,3 +0,0 @@ -[submodule "features/features"] - path = features/features - url = https://github.com/kuzzleio/sdk-features.git diff --git a/.husky/commit-msg b/.husky/commit-msg deleted file mode 100644 index 04d34cc79..000000000 --- a/.husky/commit-msg +++ /dev/null @@ -1,6 +0,0 @@ -#!/usr/bin/env sh -[ -n "$CI" ] && exit 0 - -. "$(dirname -- "$0")/_/husky.sh" - -npx --no -- commitlint --edit ${1} \ No newline at end of file diff --git a/.husky/pre-commit b/.husky/pre-commit deleted file mode 100644 index 22f2445e7..000000000 --- a/.husky/pre-commit +++ /dev/null @@ -1,6 +0,0 @@ -#!/usr/bin/env sh -[ -n "$CI" ] && exit 0 - -. "$(dirname -- "$0")/_/husky.sh" - -npm run lint \ No newline at end of file diff --git a/.mocharc.json b/.mocharc.json index 79c73899e..83bd162a7 100644 --- a/.mocharc.json +++ b/.mocharc.json @@ -3,5 +3,5 @@ "recursive": true, "slow": 2000, "timeout": 10000, - "require": ["should-sinon", "ts-node/register"] + "require": ["should-sinon", "ts-node/register", "./test/setup"] } diff --git a/.prettierrc b/.prettierrc new file mode 100644 index 000000000..0081bf78a --- /dev/null +++ b/.prettierrc @@ -0,0 +1,3 @@ +{ + "trailingComma": "all" +} \ No newline at end of file diff --git a/.vscode/launch.json b/.vscode/launch.json deleted file mode 100644 index a4b5bd3e9..000000000 --- a/.vscode/launch.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - // Use IntelliSense to learn about possible attributes. - // Hover to view descriptions of existing attributes. - // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 - "version": "0.2.0", - "configurations": [ - { - "type": "node", - "request": "launch", - "name": "Launch Program", - "program": "${workspaceFolder}/index.js" - } - ] -} \ No newline at end of file diff --git a/ast-refactor/inline-options-to-interface.ts b/ast-refactor/inline-options-to-interface.ts deleted file mode 100644 index 3a99a9f0c..000000000 --- a/ast-refactor/inline-options-to-interface.ts +++ /dev/null @@ -1,121 +0,0 @@ -/** - * Script to refactor inline options declaration into external interfaces - * inheriting from the default "ArgsDefault" interface. - * - * @example - * -export class SomeController { - helloWorld ( - name: string, - options: { - queuable?: boolean, - timeout?: number, - age?: number; - } = {} - ): string { - return name; - } -} - - * This code will became - -export class SomeController { - helloWorld ( - name: string, - options: ArgsSomeControllerHelloWorld = {} - ): string { - return name; - } -} - -interface ArgsSomeControllerHelloWorld extends ArgsDefault { - age?: number; -} - - */ - -/* Script Arguments ==================================================== */ - -const filePath = process.argv[2]; -const className = process.argv[3]; - -if (! filePath || ! className) { - console.log(`Usage: node ${process.argv[1]} `); -} - -/* ===================================================================== */ - -import { Project, SyntaxKind, ParameterDeclaration } from 'ts-morph'; - -function upFirst (string) { - return string.charAt(0).toUpperCase() + string.slice(1); -} - -// initialize -const project = new Project({}); - -const file = project.addSourceFileAtPath(filePath); -const loadedClass = file.getClassOrThrow(className); - -for (const method of loadedClass.getMethods()) { - if (method.getScope() !== 'public') { - continue; - } - - // Get the parameter named "options" - const options = method.getParameter('options'); - - if (options) { - const argsInterface = createArgsInterface(method.getName(), options); - - // Change the type of the "options" parameter with our newly created interface - options.setType(argsInterface.getName()) - } -} - - -function createArgsInterface (methodName: string, options: ParameterDeclaration) { - const argsInterface = file.addInterface({ - name: `Args${loadedClass.getName()}${upFirst(methodName)}`, - extends: ['ArgsDefault'], - isExported: true, - }); - - // Get the AST node containing the type definition - const optionsType = options.getTypeNode() - - if (optionsType) { - // The SyntaxList contains properties type definitions - const syntaxList = optionsType.getChildSyntaxList(); - - for (const child of syntaxList.getChildren()) { - - // Get the property name (e.g. "queuable") - const name = child.getChildrenOfKind(SyntaxKind.Identifier)[0].getText(); - // Ignore common arguments - if (['queuable', 'timeout'].includes(name)) { - continue; - } - - // Is it an optional property? (e.g. "queuable?") - const hasQuestionToken = Boolean(child.getChildrenOfKind(SyntaxKind.QuestionToken)[0]); - - // Get the type of the property, the type node is located just after the "ColonToken" node - const type = child.getChildrenOfKind(SyntaxKind.ColonToken)[0].getNextSibling().getText(); - - argsInterface.addProperty({ name, type, hasQuestionToken }); - } - } - - console.log(argsInterface.getText()); - - return argsInterface; -} - - - -async function run () { - await project.save(); -} - -run(); \ No newline at end of file diff --git a/build.js b/build.js deleted file mode 100644 index c2153493e..000000000 --- a/build.js +++ /dev/null @@ -1,24 +0,0 @@ -const webpack = require('webpack'); -const webpackConfig = require('./webpack.config.js'); - -/* eslint-disable no-console */ - -console.log('Building SDK...'); - -process.env.NODE_ENV = 'production'; - -webpack(webpackConfig, function (err, stats) { - if (err) { - throw err; - } - - console.log('Build complete.'); - - process.stdout.write(stats.toString({ - colors: true, - modules: false, - children: false, - chunks: false, - chunkModules: false - }) + '\n'); -}); diff --git a/cucumber.config.cjs b/cucumber.config.cjs new file mode 100644 index 000000000..aad45df45 --- /dev/null +++ b/cucumber.config.cjs @@ -0,0 +1,14 @@ +"use strict"; + +/** @type {import('@cucumber/cucumber').IConfiguration} */ +const defaultConfig = { + failFast: true, + paths: ["features/**/*.feature"], + publishQuiet: true, + require: ["features/**/*.ts"], + requireModule: ["ts-node/register"], +}; + +module.exports = { + default: defaultConfig, +}; diff --git a/dist/.gitignore b/dist/.gitignore deleted file mode 100644 index d6b7ef32c..000000000 --- a/dist/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -* -!.gitignore diff --git a/dist/.npmignore b/dist/.npmignore deleted file mode 100644 index e69de29bb..000000000 diff --git a/doc/7/core-classes/kuzzle-event-emitter/add-listener/snippets/add-listener.js b/doc/7/core-classes/kuzzle-event-emitter/add-listener/snippets/add-listener.js index b98d6e0be..0b9bad05c 100644 --- a/doc/7/core-classes/kuzzle-event-emitter/add-listener/snippets/add-listener.js +++ b/doc/7/core-classes/kuzzle-event-emitter/add-listener/snippets/add-listener.js @@ -1,6 +1,8 @@ const eventEmitter = new KuzzleEventEmitter(); -eventEmitter.addListener('myEvent', () => console.log('Caught event "myEvent"!')); +eventEmitter.addListener("myEvent", () => + console.log('Caught event "myEvent"!'), +); // Prints: Caught event "myEvent"! -eventEmitter.emit('myEvent'); +eventEmitter.emit("myEvent"); diff --git a/doc/7/core-classes/kuzzle-event-emitter/add-once-listener/snippets/add-once-listener.js b/doc/7/core-classes/kuzzle-event-emitter/add-once-listener/snippets/add-once-listener.js index 2f63326c1..03f11308c 100644 --- a/doc/7/core-classes/kuzzle-event-emitter/add-once-listener/snippets/add-once-listener.js +++ b/doc/7/core-classes/kuzzle-event-emitter/add-once-listener/snippets/add-once-listener.js @@ -1,11 +1,11 @@ const eventEmitter = new KuzzleEventEmitter(); -eventEmitter.addOnceListener( - 'myEvent', - () => console.log('Caught event "myEvent"!')); +eventEmitter.addOnceListener("myEvent", () => + console.log('Caught event "myEvent"!'), +); // Prints: Caught event "myEvent"! -eventEmitter.emit('myEvent'); +eventEmitter.emit("myEvent"); // Prints nothing: the event has since been removed -eventEmitter.emit('myEvent'); +eventEmitter.emit("myEvent"); diff --git a/doc/7/core-classes/kuzzle-event-emitter/emit/snippets/emit.js b/doc/7/core-classes/kuzzle-event-emitter/emit/snippets/emit.js index b70bf929b..5378c7935 100644 --- a/doc/7/core-classes/kuzzle-event-emitter/emit/snippets/emit.js +++ b/doc/7/core-classes/kuzzle-event-emitter/emit/snippets/emit.js @@ -1,5 +1,5 @@ const eventEmitter = new KuzzleEventEmitter(); -eventEmitter.addListener('helloEvent', msg => console.log(`Hello ${msg}`)); +eventEmitter.addListener("helloEvent", (msg) => console.log(`Hello ${msg}`)); -eventEmitter.emit('helloEvent', 'World'); +eventEmitter.emit("helloEvent", "World"); diff --git a/doc/7/core-classes/kuzzle-event-emitter/listeners/snippets/listeners.js b/doc/7/core-classes/kuzzle-event-emitter/listeners/snippets/listeners.js index 4e5e83699..5215bafde 100644 --- a/doc/7/core-classes/kuzzle-event-emitter/listeners/snippets/listeners.js +++ b/doc/7/core-classes/kuzzle-event-emitter/listeners/snippets/listeners.js @@ -1,8 +1,10 @@ const eventEmitter = new KuzzleEventEmitter(); -eventEmitter.addListener('myEvent', () => console.log('Hello')); -eventEmitter.addListener('myEvent', () => console.log('Hello World')); +eventEmitter.addListener("myEvent", () => console.log("Hello")); +eventEmitter.addListener("myEvent", () => console.log("Hello World")); -const listeners = eventEmitter.listeners('myEvent'); +const listeners = eventEmitter.listeners("myEvent"); -console.log(`There are ${listeners.length} listeners bound to the event "myEvent"`); +console.log( + `There are ${listeners.length} listeners bound to the event "myEvent"`, +); diff --git a/doc/7/core-classes/kuzzle-event-emitter/prepend-listener/snippets/prepend-listener.js b/doc/7/core-classes/kuzzle-event-emitter/prepend-listener/snippets/prepend-listener.js index 997536d57..5f4054d7d 100644 --- a/doc/7/core-classes/kuzzle-event-emitter/prepend-listener/snippets/prepend-listener.js +++ b/doc/7/core-classes/kuzzle-event-emitter/prepend-listener/snippets/prepend-listener.js @@ -1,10 +1,10 @@ const eventEmitter = new KuzzleEventEmitter(); -eventEmitter.addListener('myEvent', () => console.log('listener1')); +eventEmitter.addListener("myEvent", () => console.log("listener1")); -eventEmitter.prependListener('myEvent', () => console.log('listener2')); +eventEmitter.prependListener("myEvent", () => console.log("listener2")); // Prints: // listener2 // listener1 -eventEmitter.emit('myEvent'); +eventEmitter.emit("myEvent"); diff --git a/doc/7/core-classes/kuzzle-event-emitter/prepend-once-listener/snippets/prepend-once-listener.js b/doc/7/core-classes/kuzzle-event-emitter/prepend-once-listener/snippets/prepend-once-listener.js index 479c42e3c..be2b1ca64 100644 --- a/doc/7/core-classes/kuzzle-event-emitter/prepend-once-listener/snippets/prepend-once-listener.js +++ b/doc/7/core-classes/kuzzle-event-emitter/prepend-once-listener/snippets/prepend-once-listener.js @@ -1,14 +1,14 @@ const eventEmitter = new KuzzleEventEmitter(); -eventEmitter.addListener('myEvent', () => console.log('listener1')); +eventEmitter.addListener("myEvent", () => console.log("listener1")); -eventEmitter.prependOnceListener('myEvent', () => console.log('listener2')); +eventEmitter.prependOnceListener("myEvent", () => console.log("listener2")); // Prints: // listener2 // listener1 -eventEmitter.emit('myEvent'); +eventEmitter.emit("myEvent"); // Prints: listener1 // (the listener function printing "listener2" as since been removed) -eventEmitter.emit('myEvent'); +eventEmitter.emit("myEvent"); diff --git a/doc/7/core-classes/kuzzle-event-emitter/remove-all-listener/snippets/remove-all-listeners.js b/doc/7/core-classes/kuzzle-event-emitter/remove-all-listener/snippets/remove-all-listeners.js index 00154de84..3b6f0da91 100644 --- a/doc/7/core-classes/kuzzle-event-emitter/remove-all-listener/snippets/remove-all-listeners.js +++ b/doc/7/core-classes/kuzzle-event-emitter/remove-all-listener/snippets/remove-all-listeners.js @@ -1,18 +1,22 @@ const eventEmitter = new KuzzleEventEmitter(); -eventEmitter.addListener('myEvent', () => console.log('Caught event "myEvent" (1)')); -eventEmitter.addListener('myEvent', () => console.log('Caught event "myEvent" (2)')); +eventEmitter.addListener("myEvent", () => + console.log('Caught event "myEvent" (1)'), +); +eventEmitter.addListener("myEvent", () => + console.log('Caught event "myEvent" (2)'), +); // Prints: // Caught event "myEvent" (1) // Caught event "myEvent" (2) -eventEmitter.emit('myEvent'); +eventEmitter.emit("myEvent"); -eventEmitter.removeAllListeners('myEvent'); +eventEmitter.removeAllListeners("myEvent"); // Prints nothing: all events have been removed -eventEmitter.emit('myEvent'); +eventEmitter.emit("myEvent"); -if (eventEmitter.listeners('myEvent').length === 0) { - console.log('Successfully removed all listeners'); +if (eventEmitter.listeners("myEvent").length === 0) { + console.log("Successfully removed all listeners"); } diff --git a/doc/7/core-classes/kuzzle-event-emitter/remove-listener/snippets/remove-listener.js b/doc/7/core-classes/kuzzle-event-emitter/remove-listener/snippets/remove-listener.js index 8c7276211..752610151 100644 --- a/doc/7/core-classes/kuzzle-event-emitter/remove-listener/snippets/remove-listener.js +++ b/doc/7/core-classes/kuzzle-event-emitter/remove-listener/snippets/remove-listener.js @@ -1,13 +1,13 @@ const eventEmitter = new KuzzleEventEmitter(); -const listener = () => console.log('disconnected'); +const listener = () => console.log("disconnected"); eventEmitter - .addListener('disconnected', () => console.log('disconnected')) - .addListener('disconnected', listener); + .addListener("disconnected", () => console.log("disconnected")) + .addListener("disconnected", listener); -eventEmitter.removeListener('disconnected', listener); +eventEmitter.removeListener("disconnected", listener); -if (eventEmitter.listeners('disconnected').length === 1) { - console.log('Successfully removed the listener'); +if (eventEmitter.listeners("disconnected").length === 1) { + console.log("Successfully removed the listener"); } diff --git a/doc/7/core-classes/kuzzle/constructor/snippets/constructor.js b/doc/7/core-classes/kuzzle/constructor/snippets/constructor.js index f362d01c3..26cf854a2 100644 --- a/doc/7/core-classes/kuzzle/constructor/snippets/constructor.js +++ b/doc/7/core-classes/kuzzle/constructor/snippets/constructor.js @@ -1,25 +1,13 @@ // Loads the Kuzzle SDK module -const - { - Kuzzle, - WebSocket, - Http - } = require('kuzzle-sdk'); +const { Kuzzle, WebSocket, Http } = require("kuzzle-sdk"); const options = { - offlineMode: 'auto', - volatile: { username: 'Gordon' } + offlineMode: "auto", + volatile: { username: "Gordon" }, }; // Instantiates the SDK with the websocket protocol -const - kuzzleWs = new Kuzzle( - new WebSocket('kuzzle'), - options - ); +const kuzzleWs = new Kuzzle(new WebSocket("kuzzle"), options); // Instantiates the SDK with the http protocol -const - kuzzleHttp = new Kuzzle( - new Http('kuzzle') - ); +const kuzzleHttp = new Kuzzle(new Http("kuzzle")); diff --git a/doc/7/core-classes/kuzzle/disconnect/snippets/disconnect.js b/doc/7/core-classes/kuzzle/disconnect/snippets/disconnect.js index e3c9244e6..60590a442 100644 --- a/doc/7/core-classes/kuzzle/disconnect/snippets/disconnect.js +++ b/doc/7/core-classes/kuzzle/disconnect/snippets/disconnect.js @@ -1,7 +1,7 @@ try { kuzzle.disconnect(); - console.log('Successfully disconnected'); + console.log("Successfully disconnected"); } catch (error) { console.error(error); } diff --git a/doc/7/core-classes/kuzzle/flush-queue/snippets/flush-queue.js b/doc/7/core-classes/kuzzle/flush-queue/snippets/flush-queue.js index 1ce69b412..95decb383 100644 --- a/doc/7/core-classes/kuzzle/flush-queue/snippets/flush-queue.js +++ b/doc/7/core-classes/kuzzle/flush-queue/snippets/flush-queue.js @@ -1,7 +1,7 @@ try { kuzzle.flushQueue(); - console.log('Offline queue flushed'); + console.log("Offline queue flushed"); } catch (error) { console.error(error); } diff --git a/doc/7/core-classes/kuzzle/play-queue/snippets/play-queue.js b/doc/7/core-classes/kuzzle/play-queue/snippets/play-queue.js index 463d99a18..57831d0c0 100644 --- a/doc/7/core-classes/kuzzle/play-queue/snippets/play-queue.js +++ b/doc/7/core-classes/kuzzle/play-queue/snippets/play-queue.js @@ -1,7 +1,7 @@ try { kuzzle.playQueue(); - console.log('Start playing offline queue'); + console.log("Start playing offline queue"); } catch (error) { console.error(error); } diff --git a/doc/7/core-classes/kuzzle/start-queuing/snippets/start-queuing.js b/doc/7/core-classes/kuzzle/start-queuing/snippets/start-queuing.js index 787e2518b..5960a80e0 100644 --- a/doc/7/core-classes/kuzzle/start-queuing/snippets/start-queuing.js +++ b/doc/7/core-classes/kuzzle/start-queuing/snippets/start-queuing.js @@ -1,7 +1,7 @@ try { kuzzle.startQueuing(); - console.log('Start queuing requests'); + console.log("Start queuing requests"); } catch (error) { console.error(error); } diff --git a/doc/7/core-classes/kuzzle/stop-queuing/snippets/stop-queuing.js b/doc/7/core-classes/kuzzle/stop-queuing/snippets/stop-queuing.js index 782278ef6..f59702f63 100644 --- a/doc/7/core-classes/kuzzle/stop-queuing/snippets/stop-queuing.js +++ b/doc/7/core-classes/kuzzle/stop-queuing/snippets/stop-queuing.js @@ -1,7 +1,7 @@ try { kuzzle.stopQueuing(); - console.log('Stop queuing requests'); + console.log("Stop queuing requests"); } catch (error) { console.error(error); } diff --git a/doc/7/core-classes/kuzzle/use-controller/snippets/use-controller.js b/doc/7/core-classes/kuzzle/use-controller/snippets/use-controller.js index c63c4f286..12394a193 100644 --- a/doc/7/core-classes/kuzzle/use-controller/snippets/use-controller.js +++ b/doc/7/core-classes/kuzzle/use-controller/snippets/use-controller.js @@ -1,21 +1,19 @@ class TaxiController extends BaseController { - constructor (kuzzle) { - super(kuzzle, 'my-plugin/taxi'); + constructor(kuzzle) { + super(kuzzle, "my-plugin/taxi"); } - enroll () { + enroll() { return this.query({ - action: 'enroll' + action: "enroll", }); } } -const kuzzle = new Kuzzle( - new WebSocket('kuzzle') -); +const kuzzle = new Kuzzle(new WebSocket("kuzzle")); // Add the custom SDK controller -kuzzle.useController(TaxiController, 'taxi'); +kuzzle.useController(TaxiController, "taxi"); const run = async () => { try { @@ -24,7 +22,7 @@ const run = async () => { // Call the custom SDK controller action console.log(await kuzzle.taxi.enroll()); - console.log('Success'); + console.log("Success"); } catch (error) { console.error(error); } finally { diff --git a/doc/7/essentials/error-handling/snippets/error-handling.js b/doc/7/essentials/error-handling/snippets/error-handling.js index 65c6dbe51..928e33c8a 100644 --- a/doc/7/essentials/error-handling/snippets/error-handling.js +++ b/doc/7/essentials/error-handling/snippets/error-handling.js @@ -1,8 +1,9 @@ -kuzzle.index.create('nyc-open-data') - .then(() => 'do something') - .catch(error => { +kuzzle.index + .create("nyc-open-data") + .then(() => "do something") + .catch((error) => { if (error.status === 412) { console.log(error.message); - console.log('Try with another name!'); + console.log("Try with another name!"); } }); diff --git a/doc/7/getting-started/node-js/snippets/create.js b/doc/7/getting-started/node-js/snippets/create.js index abd761b20..07458effa 100644 --- a/doc/7/getting-started/node-js/snippets/create.js +++ b/doc/7/getting-started/node-js/snippets/create.js @@ -1,18 +1,15 @@ +"use strict"; + // Loads the Kuzzle SDK modules -const { - Kuzzle, - WebSocket -} = require('kuzzle-sdk'); +const { Kuzzle, WebSocket } = require("kuzzle-sdk"); // Instantiates a Kuzzle client with the WebSocket protocol // Replace 'kuzzle' with your Kuzzle server hostname (e.g. 'localhost') -const kuzzle = new Kuzzle( - new WebSocket('kuzzle') -); +const kuzzle = new Kuzzle(new WebSocket("kuzzle")); // Adds a listener to detect connection problems -kuzzle.on('networkError', error => { - console.error('Network Error:', error); +kuzzle.on("networkError", (error) => { + console.error("Network Error:", error); }); const run = async () => { @@ -22,13 +19,13 @@ const run = async () => { // Creates a document const driver = { - name: 'Sirkis', - birthday: '1959-06-22', - license: 'B' + name: "Sirkis", + birthday: "1959-06-22", + license: "B", }; - await kuzzle.document.create('nyc-open-data', 'yellow-taxi', driver); - console.log('New document successfully created!'); + await kuzzle.document.create("nyc-open-data", "yellow-taxi", driver); + console.log("New document successfully created!"); } catch (error) { console.error(error.message); } finally { diff --git a/doc/7/getting-started/node-js/snippets/init.js b/doc/7/getting-started/node-js/snippets/init.js index fd0a31384..29b191cf9 100644 --- a/doc/7/getting-started/node-js/snippets/init.js +++ b/doc/7/getting-started/node-js/snippets/init.js @@ -1,18 +1,15 @@ +"use strict"; + // Loads the Kuzzle SDK modules -const { - Kuzzle, - WebSocket -} = require('kuzzle-sdk'); +const { Kuzzle, WebSocket } = require("kuzzle-sdk"); // Instantiates a Kuzzle client with the WebSocket protocol // Replace 'kuzzle' with your Kuzzle server hostname (e.g. 'localhost') -const kuzzle = new Kuzzle( - new WebSocket('kuzzle') -); +const kuzzle = new Kuzzle(new WebSocket("kuzzle")); // Adds a listener to detect connection problems -kuzzle.on('networkError', error => { - console.error('Network Error:', error); +kuzzle.on("networkError", (error) => { + console.error("Network Error:", error); }); const run = async () => { @@ -21,12 +18,12 @@ const run = async () => { await kuzzle.connect(); // Creates an index - await kuzzle.index.create('nyc-open-data'); + await kuzzle.index.create("nyc-open-data"); // Creates a collection - await kuzzle.collection.create('nyc-open-data', 'yellow-taxi'); + await kuzzle.collection.create("nyc-open-data", "yellow-taxi"); - console.log('nyc-open-data/yellow-taxi ready!'); + console.log("nyc-open-data/yellow-taxi ready!"); } catch (error) { console.error(error.message); } finally { diff --git a/doc/7/getting-started/node-js/snippets/load-sdk.js b/doc/7/getting-started/node-js/snippets/load-sdk.js index ae17a9b0e..05fc4fa3f 100644 --- a/doc/7/getting-started/node-js/snippets/load-sdk.js +++ b/doc/7/getting-started/node-js/snippets/load-sdk.js @@ -1,9 +1,7 @@ -const { - Kuzzle, - WebSocket -} = require('kuzzle-sdk'); +"use strict"; + +const { Kuzzle, WebSocket } = require("kuzzle-sdk"); // Replace 'kuzzle' with your Kuzzle server hostname (e.g. 'localhost') -const kuzzle = new Kuzzle( - new WebSocket('kuzzle') -); +// eslint-disable-next-line no-unused-vars +const kuzzle = new Kuzzle(new WebSocket("kuzzle")); diff --git a/doc/7/getting-started/node-js/snippets/prepare-db.js b/doc/7/getting-started/node-js/snippets/prepare-db.js index 2fb9b8410..ae954b07a 100644 --- a/doc/7/getting-started/node-js/snippets/prepare-db.js +++ b/doc/7/getting-started/node-js/snippets/prepare-db.js @@ -1,15 +1,18 @@ +/* eslint-disable no-undef */ +"use strict"; + const run = async () => { try { // Connects to the Kuzzle server await kuzzle.connect(); // Creates an index - await kuzzle.index.create('nyc-open-data'); + await kuzzle.index.create("nyc-open-data"); // Creates a collection - await kuzzle.collection.create('nyc-open-data', 'yellow-taxi'); + await kuzzle.collection.create("nyc-open-data", "yellow-taxi"); - console.log('nyc-open-data/yellow-taxi ready!'); + console.log("nyc-open-data/yellow-taxi ready!"); } catch (error) { console.error(error.message); } finally { diff --git a/doc/7/getting-started/node-js/snippets/subscribe.js b/doc/7/getting-started/node-js/snippets/subscribe.js index f85d66357..e700974a9 100644 --- a/doc/7/getting-started/node-js/snippets/subscribe.js +++ b/doc/7/getting-started/node-js/snippets/subscribe.js @@ -1,18 +1,15 @@ +"use strict"; + // Loads the Kuzzle SDK modules -const { - Kuzzle, - WebSocket -} = require('kuzzle-sdk'); +const { Kuzzle, WebSocket } = require("kuzzle-sdk"); // Instantiates a Kuzzle client with the WebSocket protocol // Replace 'kuzzle' with your Kuzzle server hostname (e.g. 'localhost') -const kuzzle = new Kuzzle( - new WebSocket('kuzzle') -); +const kuzzle = new Kuzzle(new WebSocket("kuzzle")); // Adds a listener to detect any connection problems -kuzzle.on('networkError', error => { - console.error('Network Error:', error); +kuzzle.on("networkError", (error) => { + console.error("Network Error:", error); }); const run = async () => { @@ -22,27 +19,33 @@ const run = async () => { // Defines a filter const filter = { - equals: { license: 'B' } + equals: { license: "B" }, }; // Defines a callback invoked each time a notification is received const callback = (notification) => { - - if (notification.type === 'document' && notification.action === 'create') { - const { - _source: driver, - _id: driverId - } = notification.result; - - console.log(`New driver ${driver.name} with id ${driverId} has B license.`); + if ( + notification.type === "document" && + notification.action === "create" + ) { + const { _source: driver, _id: driverId } = notification.result; + + console.log( + `New driver ${driver.name} with id ${driverId} has B license.`, + ); kuzzle.disconnect(); } }; // Subscribes to document notifications using the above filter - await kuzzle.realtime.subscribe('nyc-open-data', 'yellow-taxi', filter, callback); - - console.log('Successfully subscribed to document notifications!'); + await kuzzle.realtime.subscribe( + "nyc-open-data", + "yellow-taxi", + filter, + callback, + ); + + console.log("Successfully subscribed to document notifications!"); } catch (error) { console.error(error.message); } diff --git a/doc/7/getting-started/webpack/snippets.disabled/init-kuzzle.js b/doc/7/getting-started/webpack/snippets.disabled/init-kuzzle.js index dd8476b40..b8e0d4286 100644 --- a/doc/7/getting-started/webpack/snippets.disabled/init-kuzzle.js +++ b/doc/7/getting-started/webpack/snippets.disabled/init-kuzzle.js @@ -1,16 +1,18 @@ +"use strict"; + // load the Kuzzle SDK module /* snippet:start:1 */ -import { Kuzzle, WebSocket } from 'kuzzle-sdk'; +const { Kuzzle, WebSocket } = require("kuzzle-sdk"); /* snippet:end */ // instantiate a Kuzzle client /* snippet:start:2 */ -const kuzzle = new Kuzzle(new WebSocket('kuzzle')); +const kuzzle = new Kuzzle(new WebSocket("kuzzle")); /* snippet:end */ // add a listener to detect any connection problems /* snippet:start:3 */ -kuzzle.on('networkError', error => { +kuzzle.on("networkError", (error) => { console.error(`Network Error: ${error}`); }); /* snippet:end */ @@ -22,11 +24,11 @@ const run = async () => { await kuzzle.connect(); // Create an index - await kuzzle.index.create('nyc-open-data'); + await kuzzle.index.create("nyc-open-data"); // Create a collection - await kuzzle.collection.create('nyc-open-data', 'yellow-taxi'); - console.log('nyc-open-data/yellow-taxi ready!'); + await kuzzle.collection.create("nyc-open-data", "yellow-taxi"); + console.log("nyc-open-data/yellow-taxi ready!"); } catch (error) { console.error(error.message); } finally { diff --git a/doc/7/getting-started/webpack/snippets.disabled/subscribe.js b/doc/7/getting-started/webpack/snippets.disabled/subscribe.js index 892c99bcb..a267f5749 100644 --- a/doc/7/getting-started/webpack/snippets.disabled/subscribe.js +++ b/doc/7/getting-started/webpack/snippets.disabled/subscribe.js @@ -1,11 +1,13 @@ +"use strict"; + // load the Kuzzle SDK module -import { Kuzzle, WebSocket } from 'kuzzle-sdk'; +const { Kuzzle, WebSocket } = require("kuzzle-sdk"); // instantiate a Kuzzle client -const kuzzle = new Kuzzle(new WebSocket('kuzzle')); +const kuzzle = new Kuzzle(new WebSocket("kuzzle")); // add a listener to detect any connection problems -kuzzle.on('networkError', error => { +kuzzle.on("networkError", (error) => { console.error(`Network Error: ${error}`); }); @@ -16,31 +18,31 @@ const doIt = async () => { // Define a filter const filter = { - equals: { license: 'B' } + equals: { license: "B" }, }; // Define a callback - const callback = notification => { + const callback = (notification) => { if ( - notification.type === 'document' && - notification.action === 'create' + notification.type === "document" && + notification.action === "create" ) { const driver = notification.result._source; const driverId = notification.result._id; console.log( - `New driver ${driver.name} with id ${driverId} has B license.` + `New driver ${driver.name} with id ${driverId} has B license.`, ); } }; // Subscribes to document notifications with our filter await kuzzle.realtime.subscribe( - 'nyc-open-data', - 'yellow-taxi', + "nyc-open-data", + "yellow-taxi", filter, - callback + callback, ); - console.log('Successfully subscribed to document notifications!'); + console.log("Successfully subscribed to document notifications!"); } catch (error) { console.error(error.message); } diff --git a/doc/7/protocols/http/constructor/snippets/constructor.js b/doc/7/protocols/http/constructor/snippets/constructor.js index 35f07816e..17e24cbb0 100644 --- a/doc/7/protocols/http/constructor/snippets/constructor.js +++ b/doc/7/protocols/http/constructor/snippets/constructor.js @@ -1,29 +1,28 @@ // Loads the Http protocol -const - { - Kuzzle, - Http - } = require('kuzzle-sdk'); +const { Kuzzle, Http } = require("kuzzle-sdk"); const customRoutes = { - 'nyc-open-data-plugin/driver': { - enroll: { verb: 'POST', url: '/_plugin/nyc-open-data-plugin/drivers' }, - remove: { verb: 'DELETE', url: '/_plugin/nyc-open-data-plugin/drivers/:driverId' } - } + "nyc-open-data-plugin/driver": { + enroll: { verb: "POST", url: "/_plugin/nyc-open-data-plugin/drivers" }, + remove: { + verb: "DELETE", + url: "/_plugin/nyc-open-data-plugin/drivers/:driverId", + }, + }, }; const headers = { - 'Accept-Encoding': 'gzip, deflate' + "Accept-Encoding": "gzip, deflate", }; const options = { customRoutes, headers, - sslConnection: false + sslConnection: false, }; // Instantiates the Http protocol -const httpProtocol = new Http('kuzzle', options); +const httpProtocol = new Http("kuzzle", options); // Use it with Kuzzle const kuzzle = new Kuzzle(httpProtocol); diff --git a/doc/7/protocols/websocket/constructor/snippets/constructor.js b/doc/7/protocols/websocket/constructor/snippets/constructor.js index 17fc0cd26..9892fefe5 100644 --- a/doc/7/protocols/websocket/constructor/snippets/constructor.js +++ b/doc/7/protocols/websocket/constructor/snippets/constructor.js @@ -1,16 +1,15 @@ +"use strict"; + // Loads the WebSocket protocol -const - { - Kuzzle, - WebSocket - } = require('kuzzle-sdk'); +const { Kuzzle, WebSocket } = require("kuzzle-sdk"); const options = { - autoReconnect: false + autoReconnect: false, }; // Instantiates the websocket protocol -const websocketProtocol = new WebSocket('kuzzle', options); +const websocketProtocol = new WebSocket("kuzzle", options); // Use it with Kuzzle +// eslint-disable-next-line no-unused-vars const kuzzle = new Kuzzle(websocketProtocol); diff --git a/features/auth.feature b/features/auth.feature new file mode 100644 index 000000000..899740912 --- /dev/null +++ b/features/auth.feature @@ -0,0 +1,53 @@ +Feature: User management + + Scenario Outline: Get a valid JWT when login + Given Kuzzle Server is running + And there is an user with id 'my-user-id' + And the user has 'local' credentials with name 'my-user-name' and password 'my-user-pwd' + When I log in as : + Then the JWT is + Examples: + | user-name | user-pwd | jwt_validity | + | 'my-user-name' | 'my-user-pwd' | valid | + | 'my-user-name-w' | 'my-user-pwd' | invalid | + | 'my-user-name' | 'my-user-pwd-w' | invalid | + | 'my-user-name-w' | 'my-user-pwd-w' | invalid | + + Scenario Outline: Set user custom data (updateSelf) + Given Kuzzle Server is running + And there is an user with id 'my-user-id' + And the user has 'local' credentials with name 'my-user-name' and password 'my-user-pwd' + And I log in as 'my-user-name':'my-user-pwd' + And I update my user custom data with the pair : + When I get my user info + Then the response 'content' field contains the pair : + Examples: + | field-name | field-value | + | 'my_data' | 'mystringvalue' | + + Scenario: Login out shall revoke the JWT + Given Kuzzle Server is running + And there is an user with id 'my-user-id' + And the user has 'local' credentials with name 'my-user-name' and password 'my-user-pwd' + And I log in as 'my-user-name':'my-user-pwd' + And the JWT is valid + When I logout + Then the JWT is invalid + + Scenario: GetMyRights should return vector of rights + Given Kuzzle Server is running + And there is an user with id 'my-user-id' + And the user has 'local' credentials with name 'my-user-name' and password 'my-user-pwd' + And I log in as 'my-user-name':'my-user-pwd' + And I get my rights + Then I have a vector with 1 rights + + Scenario: RefreshToken should return a valid token + Given Kuzzle Server is running + And there is an user with id 'my-user-id' + And the user has 'local' credentials with name 'my-user-name' and password 'my-user-pwd' + And I log in as 'my-user-name':'my-user-pwd' + And the JWT is valid + When I refresh the JWT + Then the previous JWT is now invalid + And the JWT is valid diff --git a/features/collection.feature b/features/collection.feature new file mode 100644 index 000000000..96594688e --- /dev/null +++ b/features/collection.feature @@ -0,0 +1,68 @@ +Feature: Collection management + + Scenario: Create a collection + Given Kuzzle Server is running + And there is an index 'test-index' + When I create a collection 'collection-test-collection' + Then the collection 'collection-test-collection' should exist + + Scenario: Check if a collection exists + Given Kuzzle Server is running + And there is an index 'test-index' + And it has a collection 'test-collection' + When I check if the collection 'test-collection' exists + Then the collection should exist + + Scenario: List existing collections + Given Kuzzle Server is running + And there is an index 'list-test-index' + And it has a collection 'test-collection1' + And it has a collection 'test-collection2' + When I list the collections of 'list-test-index' + Then the result contains 2 hits + And the content should not be null + + Scenario: Truncate a collection + Given Kuzzle Server is running + And there is an index 'test-index' + And it has a collection 'test-collection' + And the collection has a document with id 'my-document-id' + And the collection has a document with id 'my-document-id2' + When I truncate the collection 'test-collection' + Then the collection 'test-collection' should be empty + + Scenario: Create a collection with a custom mapping + Given Kuzzle Server is running + And there is an index 'test-index' + When I create a collection 'test-create-with-mapping' with a mapping + Then the collection 'test-create-with-mapping' should exist + And the mapping of 'test-create-with-mapping' should be updated + + Scenario: Update a collection with a custom mapping + Given Kuzzle Server is running + And there is an index 'test-index' + And it has a collection 'test-collection' + When I update the mapping of collection 'test-collection' + Then the mapping of 'test-collection' should be updated + + Scenario: Update specifications + Given Kuzzle Server is running + And there is an index 'test-index' + And it has a collection 'test-collection' + When I update the specifications of the collection 'test-collection' + Then the specifications of 'test-collection' should be updated + + Scenario: Validate specifications + Given Kuzzle Server is running + And there is an index 'test-index' + And it has a collection 'test-collection' + When I validate the specifications of 'test-collection' + Then they should be validated + + Scenario: Delete specifications + Given Kuzzle Server is running + And there is an index 'test-index' + And it has a collection 'test-collection' + And has specifications + When I delete the specifications of 'test-collection' + Then the specifications of 'test-collection' must not exist diff --git a/features/documents.feature b/features/documents.feature new file mode 100644 index 000000000..ca99a4de2 --- /dev/null +++ b/features/documents.feature @@ -0,0 +1,236 @@ +Feature: Document management + + Scenario: Do not allow creating a document with an _id that already exist in the same collection + Given Kuzzle Server is running + And there is an index 'test-index' + And it has a collection 'test-collection' + And the collection has a document with id 'my-document-id' + When I create a document with id 'my-document-id' + Then I get an error with message 'Document already exists.' + + Scenario: Create a document with create + Given Kuzzle Server is running + And there is an index 'test-index' + And it has a collection 'test-collection' + And the collection doesn't have a document with id 'my-document-id' + When I create a document with id 'my-document-id' + Then the document is successfully created + + Scenario: Create a document with createOrReplace if it does not exists + Given Kuzzle Server is running + And there is an index 'test-index' + And it has a collection 'test-collection' + And the collection doesn't have a document with id 'my-document-id' + When I createOrReplace a document with id 'my-document-id' + Then the document is successfully created + + Scenario: Replace a document if it exists + Given Kuzzle Server is running + And there is an index 'test-index' + And it has a collection 'test-collection' + When I createOrReplace a document with id 'my-document-id' + Then the document is successfully replaced + + Scenario: Replace a document + Given Kuzzle Server is running + And there is an index 'test-index' + And it has a collection 'test-collection' + And the collection has a document with id 'replace-my-document-id' + When I replace a document with id 'replace-my-document-id' + Then the document is successfully replaced + + Scenario: Delete a document + Given Kuzzle Server is running + And there is an index 'test-index' + And it has a collection 'test-collection' + And the collection has a document with id 'delete-my-document-id' + When I delete the document with id 'delete-my-document-id' + Then the document is successfully deleted + + Scenario: Update a document + Given Kuzzle Server is running + And there is an index 'test-index' + And it has a collection 'test-collection' + And the collection has a document with id 'update-my-document-id' + When I update a document with id 'update-my-document-id' + Then the document is successfully updated + + Scenario: Search a document by id and find it + Given Kuzzle Server is running + And there is an index 'test-index' + And it has a collection 'test-collection' + And the collection has a document with id 'search-my-document-id' + When I search a document with id 'search-my-document-id' + Then the document is successfully found + + Scenario: Search a document by id and don't find it + Given Kuzzle Server is running + And there is an index 'test-index' + And it has a collection 'test-collection' + And the collection has a document with id 'search-my-document-id' + When I search a document with id 'fake-id' + Then the document is not found + + Scenario: Search documents by query + Given Kuzzle Server is running + And there is an index 'test-index' + And it has a collection 'test-collection' + And I truncate the collection 'test-collection' + And the collection has a document with id 'search-my-document-id1' + And the collection has a document with id 'search-my-document-id2' + And the collection has a document with id 'search-my-document-id3' + And the collection has a document with id 'search-my-document-id4' + And the collection has a document with id 'search-my-document-id5' + When I search documents matching '{}' with from 0 and size 2 + Then The search result should have a total of 5 documents + And The search result should have fetched 2 documents + + Scenario: Search next documents + Given Kuzzle Server is running + And there is an index 'test-index' + And it has a collection 'test-collection' + And I truncate the collection 'test-collection' + And the collection has a document with id 'search-my-document-id1' + And the collection has a document with id 'search-my-document-id2' + And the collection has a document with id 'search-my-document-id3' + And the collection has a document with id 'search-my-document-id4' + And the collection has a document with id 'search-my-document-id5' + When I search documents matching '{}' with from 0 and size 2 + And I search the next documents + Then The search result should have a total of 5 documents + And The search result should have fetched 4 documents + + Scenario: Count documents in a collection + Given Kuzzle Server is running + And there is an index 'test-index' + And it has a collection 'count-test-collection' + And the collection has a document with id 'count-my-document-id' + And the collection has a document with id 'count-my-document-id2' + And the collection has a document with id 'count-my-document-id3' + When I count how many documents there is in the collection + Then I shall receive 3 + + Scenario: Delete multiple documents with no error + Given Kuzzle Server is running + And there is an index 'test-index' + And it has a collection 'delete-test-collection' + And the collection has a document with id 'mdelete-my-document-id' + And the collection has a document with id 'mdelete-my-document-id2' + When I delete the documents ['mdelete-my-document-id', 'mdelete-my-document-id2'] + Then I must have 0 documents in the collection + + Scenario: Delete multiple documents with partial error + Given Kuzzle Server is running + And there is an index 'test-index' + And it has a collection 'mdelete-test-collection' + And the collection has a document with id 'mdelete-my-document-id' + And the collection has a document with id 'mdelete-my-document-id2' + When I delete the documents ['mdelete-my-document-id', 'mdelete-my-document-unknown'] + Then I must have 1 documents in the collection + And I get an error in the errors array + + Scenario: Create multiple documents with no error + Given Kuzzle Server is running + And there is an index 'test-index' + And it has a collection 'mcreate-test-collection' + And the collection doesn't have a document with id 'mcreate-my-document-id' + And the collection doesn't have a document with id 'mcreate-my-document-id2' + When I create the documents ['mcreate-my-document-id', 'mcreate-my-document-id2'] + Then I must have 2 documents in the collection + And I should have no errors in the errors array + + Scenario: Create multiple documents with partial error + Given Kuzzle Server is running + And there is an index 'test-index' + And it has a collection 'mcreate-test-collection' + And the collection has a document with id 'mcreate-my-document-id' + When I create the documents ['mcreate-my-document-id', 'mcreate-my-document-id2'] + Then I must have 2 documents in the collection + And I get an error in the errors array + + Scenario: Replace multiple documents with no error + Given Kuzzle Server is running + And there is an index 'test-index' + And it has a collection 'mreplace-test-collection' + And the collection has a document with id 'mreplace-my-document-id' + And the collection has a document with id 'mreplace-my-document-id2' + When I replace the documents ['mreplace-my-document-id', 'mreplace-my-document-id2'] + Then I should have no errors in the errors array + And the document 'mreplace-my-document-id' should be replaced + And the document 'mreplace-my-document-id2' should be replaced + + Scenario: Replace multiple documents with partial error + Given Kuzzle Server is running + And there is an index 'test-index' + And it has a collection 'mreplace-test-collection' + And the collection has a document with id 'mreplace-my-document-id' + And the collection has a document with id 'mreplace-my-document-id2' + When I replace the documents ['unknown', 'mreplace-my-document-id2'] + And the document 'mreplace-my-document-id2' should be replaced + And I get an error in the errors array + + Scenario: Update multiple documents with no error + Given Kuzzle Server is running + And there is an index 'test-index' + And it has a collection 'mreplace-test-collection' + And the collection has a document with id 'mreplace-my-document-id' + And the collection has a document with id 'mreplace-my-document-id2' + When I update the documents ['mreplace-my-document-id', 'mreplace-my-document-id2'] + Then I should have no errors in the errors array + And the document 'mreplace-my-document-id' should be replaced + And the document 'mreplace-my-document-id2' should be replaced + + Scenario: Update multiple documents with partial error + Given Kuzzle Server is running + And there is an index 'test-index' + And it has a collection 'mupdate-test-collection' + And the collection has a document with id 'mupdate-my-document-id' + And the collection has a document with id 'mupdate-my-document-id2' + When I update the documents ['unknown', 'mupdate-my-document-id2'] + Then the document 'mupdate-my-document-id2' should be updated + And I get an error in the errors array + + Scenario: CreateOrReplace (create) multiple documents with no error + Given Kuzzle Server is running + And there is an index 'test-index' + And it has a collection 'mcreateorreplace-test-collection' + When I createOrReplace the documents ['mcreateorreplace-my-document-id', 'mcreateorreplace-my-document-id2'] + Then I should have no errors in the errors array + And the document 'mcreateorreplace-my-document-id' should be created + And the document 'mcreateorreplace-my-document-id2' should be created + + Scenario: CreateOrReplace (replace) multiple documents with no error + Given Kuzzle Server is running + And there is an index 'test-index' + And it has a collection 'mcreateorreplace-test-collection' + And the collection has a document with id 'mcreateorreplace-my-document-id' + And the collection has a document with id 'mcreateorreplace-my-document-id2' + When I createOrReplace the documents ['mcreateorreplace-my-document-id', 'mcreateorreplace-my-document-id2'] + Then I should have no errors in the errors array + And the document 'mcreateorreplace-my-document-id' should be replaced + And the document 'mcreateorreplace-my-document-id2' should be replaced + + Scenario: Check if a document exists + Given Kuzzle Server is running + And there is an index 'test-index' + And it has a collection 'exist-test-collection' + And the collection has a document with id 'exist-my-document-id' + When I check if 'exist-my-document-id' exists + Then the document should exist + + Scenario: Check if a document does not exists + Given Kuzzle Server is running + And there is an index 'test-index' + And it has a collection 'exist-test-collection' + And the collection has a document with id 'exist-my-document-id' + When I check if 'exist-my-document-unknown' exists + Then the document should not exist + + Scenario: Get multiple document + Given Kuzzle Server is running + And there is an index 'test-index' + And it has a collection 'mget-test-collection' + And the collection has a document with id 'mget-my-document-id' + And the collection has a document with id 'mget-my-document-id2' + When I get documents ['mget-my-document-id', 'mget-my-document-id2'] + Then the documents should be retrieved diff --git a/features/features b/features/features deleted file mode 160000 index 882e06649..000000000 --- a/features/features +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 882e066490b2ca6a6dd045fdcf65cc4d847b2785 diff --git a/features/index.feature b/features/index.feature new file mode 100644 index 000000000..e56ea9fb0 --- /dev/null +++ b/features/index.feature @@ -0,0 +1,20 @@ +Feature: Index controller + + Scenario: Create should return an error when the index already exist + Given Kuzzle Server is running + And there is an index 'test-index' + And it has a collection 'test-collection' + When I create an index called 'test-index' + Then I get an error + + Scenario: Delete multiple indexes + Given Kuzzle Server is running + And there is the indexes 'test-index1' and 'test-index2' + When I delete the indexes 'test-index1' and 'test-index2' + Then indexes 'test-index1' and 'test-index2' don't exist + + Scenario: List indexes + Given Kuzzle Server is running + And there is the indexes 'test-index1' and 'test-index2' + When I list indexes + Then I get 'test-index1' and 'test-index2' diff --git a/features/realtime.feature b/features/realtime.feature new file mode 100644 index 000000000..0751f7e9e --- /dev/null +++ b/features/realtime.feature @@ -0,0 +1,45 @@ +Feature: Realtime subscription + + Scenario: Receive notifications when a document is created + Given Kuzzle Server is running + And there is an index 'test-index' + And it has a collection 'test-collection' + And I subscribe to 'test-collection' + When I create a document in 'test-collection' + Then I receive a notification + + Scenario: Receive notifications when a document is updated + Given Kuzzle Server is running + And there is an index 'test-index' + And it has a collection 'test-collection' + And the collection has a document with id 'my-document-id' + And I subscribe to 'test-collection' with '{"equals": {"foo": "barz"}}' as filter + When I update the document with id 'my-document-id' and content 'foo' = 'barz' + Then I receive a notification + + Scenario: Receive notifications when a document is deleted + Given Kuzzle Server is running + And there is an index 'test-index' + And it has a collection 'test-collection' + And the collection has a document with id 'my-document-id' + And I subscribe to 'test-collection' + When I delete the document with id 'my-document-id' + Then I receive a notification + + Scenario: Receive notifications when a document is published + Given Kuzzle Server is running + And there is an index 'test-index' + And it has a collection 'test-collection' + And I subscribe to 'test-collection' + When I publish a document + Then I receive a notification + + Scenario: Stop receiving notification when I unsubscribe + Given Kuzzle Server is running + And there is an index 'test-index' + And it has a collection 'test-collection' + And the collection has a document with id 'my-document-id' + And I subscribe to 'test-collection' + And I unsubscribe + When I publish a document + Then I do not receive a notification diff --git a/features/steps/auth.js b/features/steps/auth.js deleted file mode 100644 index 1745f6897..000000000 --- a/features/steps/auth.js +++ /dev/null @@ -1,79 +0,0 @@ -const { Given, When, Then } = require("cucumber"), - should = require("should"), - retry = require("retry"); - -Given("I log in as {string}:{string}", function (username, password) { - return this.kuzzle.auth - .login("local", { username, password }) - .then((jwt) => { - this.jwt = jwt; - }) - .catch((error) => { - this.jwt = "invalid"; - this.error = error; - }); -}); - -When("I logout", function () { - return this.kuzzle.auth.logout(); -}); - -When("I refresh the JWT", function (cb) { - this.previousJwt = this.jwt; - - // we have to wait for at least 1s: if we ask Kuzzle to refresh a JWT that - // has been generated during the same second, then the new JWT will be - // identical to the one being refreshed - setTimeout(() => { - this.kuzzle.auth - .refreshToken() - .then((token) => { - this.jwt = token.jwt; - cb(); - }) - .catch((err) => cb(err)); - }, 1000); -}); - -Then("the previous JWT is now invalid", function (cb) { - // prevent false positives, just in case - should(this.previousJwt).be.a.String().and.not.empty(); - should(this.previousJwt).not.eql(this.jwt); - - const op = retry.operation({ retries: 10, minTimeout: 500, factor: 1 }); - - op.attempt(() => { - this.kuzzle.auth - .checkToken(this.previousJwt) - .then((response) => { - const err = response.valid ? new Error("Unexpected valid token") : null; - - if (op.retry(err)) { - return; - } - - cb(err); - }) - .catch((err) => cb(err)); - }); -}); - -Then(/^the JWT is (in)?valid$/, function (not) { - return this.kuzzle.auth.checkToken(this.jwt).then((response) => { - if (not) { - should(response.valid).be.false(); - } else { - should(response.valid).be.true(); - } - }); -}); - -Given("I get my rights", function () { - return this.kuzzle.auth.getMyRights().then((rights) => { - this.rights = rights; - }); -}); - -Then("I have a vector with {int} rights", function (nbRights) { - should(this.rights).have.length(nbRights); -}); diff --git a/features/steps/auth.ts b/features/steps/auth.ts new file mode 100644 index 000000000..939ed2827 --- /dev/null +++ b/features/steps/auth.ts @@ -0,0 +1,109 @@ +/* eslint-disable no-invalid-this */ +import type { IWorld } from "@cucumber/cucumber"; +import { Given, Then, When } from "@cucumber/cucumber"; +import retry from "retry"; +import should from "should"; + +import type { Kuzzle } from "../../index"; + +type AuthWorld = IWorld & { + kuzzle: Kuzzle; + jwt: string | null; + previousJwt: string | null; + rights: unknown[] | null; + error: unknown; +}; + +Given( + "I log in as {string}:{string}", + async function (this: AuthWorld, username: string, password: string) { + try { + const jwt = await this.kuzzle.auth.login("local", { username, password }); + this.jwt = jwt; + } catch (error) { + this.jwt = "invalid"; + this.error = error; + } + }, +); + +When("I logout", async function (this: AuthWorld) { + await this.kuzzle.auth.logout(); +}); + +When("I refresh the JWT", async function (this: AuthWorld) { + this.previousJwt = this.jwt; + + // we have to wait for at least 1s: if we ask Kuzzle to refresh a JWT that + // has been generated during the same second, then the new JWT will be + // identical to the one being refreshed + await new Promise((resolve, reject) => { + setTimeout(() => { + this.kuzzle.auth + .refreshToken() + .then((token) => { + this.jwt = token.jwt; + resolve(); + }) + .catch((err) => reject(err)); + }, 1000); + }); +}); + +Then( + "the previous JWT is now invalid", + async function (this: AuthWorld) { + // prevent false positives, just in case + should(this.previousJwt).be.a.String().and.not.empty(); + should(this.previousJwt).not.eql(this.jwt); + + const op = retry.operation({ retries: 10, minTimeout: 500, factor: 1 }); + + await new Promise((resolve, reject) => { + op.attempt(() => { + this.kuzzle.auth + .checkToken(this.previousJwt as string) + .then((response) => { + const err = response.valid + ? new Error("Unexpected valid token") + : null; + + if (op.retry(err)) { + return; + } + + if (err) { + reject(err); + } else { + resolve(); + } + }) + .catch((err) => reject(err)); + }); + }); + }, +); + +Then( + /^the JWT is (in)?valid$/, + async function (this: AuthWorld, not?: string) { + const response = await this.kuzzle.auth.checkToken(this.jwt as string); + + if (not) { + should(response.valid).be.false(); + } else { + should(response.valid).be.true(); + } + }, +); + +Given("I get my rights", async function (this: AuthWorld) { + this.rights = await this.kuzzle.auth.getMyRights(); +}); + +Then( + "I have a vector with {int} rights", + function (this: AuthWorld, nbRights: number) { + should(this.rights).have.length(nbRights); + }, +); diff --git a/features/steps/collection.js b/features/steps/collection.js deleted file mode 100644 index 77d52dd17..000000000 --- a/features/steps/collection.js +++ /dev/null @@ -1,166 +0,0 @@ -const { Given, When, Then } = require("cucumber"); -const should = require("should"); - -Given("has specifications", function () { - return this.kuzzle.collection.updateSpecifications( - this.index, - this.collection, - { strict: true } - ); -}); - -Given("it has a collection {string}", function (collection) { - return this.kuzzle.collection.create(this.index, collection).then(() => { - this.collection = collection; - }); -}); - -Given("I truncate the collection {string}", function (collection) { - return this.kuzzle.collection.truncate(this.index, collection, { - refresh: "wait_for", - }); -}); - -When("I check if the collection {string} exists", function (collection) { - return this.kuzzle.collection - .exists(this.index, collection) - .then((content) => { - this.content = content; - }) - .catch((error) => { - this.error = error; - }); -}); - -When( - /^I create a collection '(.*?)'( with a mapping)?$/, - function (collection, withMapping) { - const mapping = withMapping - ? { properties: { gordon: { type: "keyword" } } } - : undefined; - - return this.kuzzle.collection - .create(this.index, collection, mapping) - .then((content) => { - this.content = content; - }) - .catch((error) => { - this.error = error; - }); - } -); - -When("I delete the specifications of {string}", function (collection) { - return this.kuzzle.collection - .deleteSpecifications(this.index, collection) - .catch((error) => { - this.error = error; - }); -}); - -When("I list the collections of {string}", function (index) { - return this.kuzzle.collection - .list(index) - .then((content) => { - this.content = content; - this.total = this.content.collections.length; - }) - .catch((error) => { - this.error = error; - }); -}); - -When("I update the mapping of collection {string}", function (collection) { - return this.kuzzle.collection - .updateMapping(this.index, collection, { - properties: { - gordon: { type: "keyword" }, - }, - }) - .then((content) => { - this.content = content; - }) - .catch((err) => { - this.error = err; - }); -}); - -When( - "I update the specifications of the collection {string}", - function (collection) { - return this.kuzzle.collection - .updateSpecifications(this.index, collection, { strict: false }) - .then((content) => { - this.content = content; - }) - .catch((err) => { - this.error = err; - }); - } -); - -When("I validate the specifications of {string}", function (collection) { - return this.kuzzle.collection - .validateSpecifications(this.index, collection, { strict: true }) - .then((content) => { - this.content = content; - }); -}); - -Then("the collection {string} should be empty", function (collection) { - return this.kuzzle.document - .search(this.index, collection, {}) - .then((result) => should(result.total).eql(0)); -}); - -Then(/^the collection(?: '(.*?)')? should exist$/, function (collection) { - const c = collection || this.collection; - - return this.kuzzle.collection - .exists(this.index, c) - .then((exists) => should(exists).be.true()); -}); - -Then("the mapping of {string} should be updated", function (collection) { - return this.kuzzle.collection - .getMapping(this.index, collection) - .then((mappings) => { - should(mappings).eql({ - dynamic: "true", - properties: { - gordon: { type: "keyword" }, - }, - }); - }); -}); - -Then("the specifications of {string} should be updated", function (collection) { - return this.kuzzle.collection - .getSpecifications(this.index, collection) - .then((specifications) => { - should(specifications.validation).eql({ strict: false }); - }); -}); - -Then( - "the specifications of {string} must not exist", - function (collection, cb) { - this.kuzzle.collection - .getSpecifications(this.index, collection) - .then(() => cb(new Error("Expected promise to be rejected"))) - .catch((error) => { - try { - should(error.status).eql(404); - cb(); - } catch (e) { - cb(e); - } - }); - } -); - -Then("they should be validated", function () { - should(this.content).eql({ - valid: true, - }); -}); diff --git a/features/steps/collection.ts b/features/steps/collection.ts new file mode 100644 index 000000000..5e1c7fbfb --- /dev/null +++ b/features/steps/collection.ts @@ -0,0 +1,221 @@ +/* eslint-disable no-invalid-this */ +import type { IWorld } from "@cucumber/cucumber"; +import { Given, Then, When } from "@cucumber/cucumber"; +import should from "should"; + +import type { Kuzzle } from "../../index"; + +type CollectionWorld = IWorld & { + kuzzle: Kuzzle; + index: string; + collection: string; + content: unknown; + error: unknown; + total: number | null; +}; + +Given( + "has specifications", + async function (this: CollectionWorld) { + await this.kuzzle.collection.updateSpecifications( + this.index, + this.collection, + { strict: true }, + ); + }, +); + +Given( + "it has a collection {string}", + async function (this: CollectionWorld, collection: string) { + await this.kuzzle.collection.create(this.index, collection, {}); + this.collection = collection; + }, +); + +Given( + "I truncate the collection {string}", + async function (this: CollectionWorld, collection: string) { + await this.kuzzle.collection.truncate(this.index, collection, { + refresh: "wait_for", + }); + }, +); + +When( + "I check if the collection {string} exists", + async function (this: CollectionWorld, collection: string) { + try { + this.content = await this.kuzzle.collection.exists( + this.index, + collection, + ); + } catch (error) { + this.error = error; + } + }, +); + +When( + /^I create a collection '(.*?)'( with a mapping)?$/, + async function ( + this: CollectionWorld, + collection: string, + withMapping?: string, + ) { + const mapping = withMapping + ? { properties: { gordon: { type: "keyword" } } } + : undefined; + + try { + this.content = await this.kuzzle.collection.create( + this.index, + collection, + mapping, + ); + } catch (error) { + this.error = error; + } + }, +); + +When( + "I delete the specifications of {string}", + async function (this: CollectionWorld, collection: string) { + try { + await this.kuzzle.collection.deleteSpecifications(this.index, collection); + } catch (error) { + this.error = error; + } + }, +); + +When( + "I list the collections of {string}", + async function (this: CollectionWorld, index: string) { + try { + const content = await this.kuzzle.collection.list(index); + this.content = content; + this.total = content.collections.length; + } catch (error) { + this.error = error; + } + }, +); + +When( + "I update the mapping of collection {string}", + async function (this: CollectionWorld, collection: string) { + try { + this.content = await this.kuzzle.collection.updateMapping( + this.index, + collection, + { + properties: { + gordon: { type: "keyword" }, + }, + }, + ); + } catch (err) { + this.error = err; + } + }, +); + +When( + "I update the specifications of the collection {string}", + async function (this: CollectionWorld, collection: string) { + try { + this.content = await this.kuzzle.collection.updateSpecifications( + this.index, + collection, + { strict: false }, + ); + } catch (err) { + this.error = err; + } + }, +); + +When( + "I validate the specifications of {string}", + async function (this: CollectionWorld, collection: string) { + this.content = await this.kuzzle.collection.validateSpecifications( + this.index, + collection, + { strict: true }, + ); + }, +); + +Then( + "the collection {string} should be empty", + async function (this: CollectionWorld, collection: string) { + const result = await this.kuzzle.document.search( + this.index, + collection, + {}, + ); + should(result.total).eql(0); + }, +); + +Then( + /^the collection(?: '(.*?)')? should exist$/, + async function (this: CollectionWorld, collection?: string) { + const c = collection || this.collection; + const exists = await this.kuzzle.collection.exists(this.index, c); + + should(exists).be.true(); + }, +); + +Then( + "the mapping of {string} should be updated", + async function (this: CollectionWorld, collection: string) { + const mappings = await this.kuzzle.collection.getMapping( + this.index, + collection, + ); + + should(mappings).eql({ + dynamic: "true", + properties: { + gordon: { type: "keyword" }, + }, + }); + }, +); + +Then( + "the specifications of {string} should be updated", + async function (this: CollectionWorld, collection: string) { + const specifications = await this.kuzzle.collection.getSpecifications( + this.index, + collection, + ); + + should(specifications.validation).eql({ strict: false }); + }, +); + +Then( + "the specifications of {string} must not exist", + async function (this: CollectionWorld, collection: string) { + try { + await this.kuzzle.collection.getSpecifications(this.index, collection); + throw new Error("Expected promise to be rejected"); + } catch (error) { + should((error as { status?: number }).status).eql(404); + } + }, +); + +Then( + "they should be validated", + function (this: CollectionWorld) { + should(this.content).eql({ + valid: true, + }); + }, +); diff --git a/features/steps/document.js b/features/steps/document.js deleted file mode 100644 index bdbdbac2b..000000000 --- a/features/steps/document.js +++ /dev/null @@ -1,404 +0,0 @@ -const { Given, When, Then } = require("cucumber"); -const should = require("should"); - -Given( - /^the collection doesn't have a document with id '(.*?)'$/, - function (id) { - return this.kuzzle.document - .delete(this.index, this.collection, id) - .then((content) => { - this.content = content; - }) - .catch((err) => { - this.error = err; - }); - } -); - -Given("the collection has a document with id {string}", function (id) { - return this.kuzzle.document - .create(this.index, this.collection, { a: "document" }, id, { - refresh: "wait_for", - }) - .then((content) => { - this.content = content; - }); -}); - -Then("I get an error in the errors array", function () { - should(this.content.errors).be.Array().not.be.empty(); -}); - -Then("I should have no errors in the errors array", function () { - should(this.content.errors).be.empty(); -}); - -When("I check if {string} exists", function (id) { - return this.kuzzle.document - .exists(this.index, this.collection, id) - .then((content) => { - this.content = content; - }); -}); - -When("I count how many documents there is in the collection", function () { - return this.kuzzle.document - .count(this.index, this.collection, {}) - .then((content) => { - this.content = content; - }); -}); - -When("I create a document in {string}", function (collection) { - return this.kuzzle.document - .create(this.index, collection, { a: "document" }, "some-id", { - refresh: "wait_for", - }) - .then((content) => { - this.content = content; - }); -}); - -When("I create a document with id {string}", function (id) { - this.ids = [id]; - - return this.kuzzle.document - .create(this.index, this.collection, { a: "document" }, id, { - refresh: "wait_for", - }) - .then((content) => { - this.content = content; - }) - .catch((err) => { - this.error = err; - }); -}); - -When("I create the documents [{string}, {string}]", function (id1, id2) { - this.ids = [id1, id2]; - - return this.kuzzle.document - .mCreate( - this.index, - this.collection, - [ - { _id: id1, body: { a: "document" } }, - { _id: id2, body: { a: "document" } }, - ], - { - refresh: "wait_for", - } - ) - .then((content) => { - this.content = content; - }) - .catch((err) => { - this.error = err; - }); -}); - -When("I createOrReplace a document with id {string}", function (id) { - this.ids = [id]; - - return this.kuzzle.document - .createOrReplace( - this.index, - this.collection, - id, - { a: "replaced document" }, - { refresh: "wait_for" } - ) - .then((content) => { - this.content = content; - }) - .catch((err) => { - this.error = err; - }); -}); - -When( - "I createOrReplace the documents [{string}, {string}]", - function (id1, id2) { - this.ids = [id1, id2]; - - return this.kuzzle.document - .mCreateOrReplace( - this.index, - this.collection, - [ - { _id: id1, body: { a: "replaced document" } }, - { _id: id2, body: { a: "replaced document" } }, - ], - { - refresh: "wait_for", - } - ) - .then((content) => { - this.content = content; - }) - .catch((err) => { - this.error = err; - }); - } -); - -When("I delete the document with id {string}", function (id) { - this.ids = [id]; - - return this.kuzzle.document - .delete(this.index, this.collection, id) - .then((content) => { - this.content = content; - }) - .catch((err) => { - this.error = err; - }); -}); - -When("I delete the documents [{string}, {string}]", function (id1, id2) { - this.ids = [id1, id2]; - - return this.kuzzle.document - .mDelete(this.index, this.collection, [id1, id2], { refresh: "wait_for" }) - .then((content) => { - this.content = content; - }) - .catch((error) => { - this.error = error; - }); -}); - -When("I replace a document with id {string}", function (id) { - this.ids = [id]; - - return this.kuzzle.document - .replace( - this.index, - this.collection, - id, - { a: "replaced document" }, - { refresh: "wait_for" } - ) - .then((content) => { - this.content = content; - }) - .catch((err) => { - this.error = err; - }); -}); - -When("I replace the documents [{string}, {string}]", function (id1, id2) { - this.ids = [id1, id2]; - - return this.kuzzle.document - .mReplace( - this.index, - this.collection, - [ - { _id: id1, body: { a: "replaced document" } }, - { _id: id2, body: { a: "replaced document" } }, - ], - { refresh: "wait_for" } - ) - .then((content) => { - this.content = content; - }) - .catch((err) => { - this.error = err; - }); -}); - -When("I get documents [{string}, {string}]", function (id1, id2) { - this.ids = [id1, id2]; - return this.kuzzle.document - .mGet(this.index, this.collection, [id1, id2]) - .then((content) => { - this.content = content; - }); -}); - -When("I search a document with id {string}", function (id) { - return this.kuzzle.document - .search(this.index, this.collection, { - query: { - match: { - _id: id, - }, - }, - }) - .then((content) => { - this.content = content; - }) - .catch((err) => { - this.error = err; - }); -}); - -When( - "I search documents matching {string} with from {int} and size {int}", - function (query, from, size) { - return this.kuzzle.document - .search(this.index, this.collection, JSON.parse(query), { from, size }) - .then((content) => { - this.content = content; - }); - } -); - -When("I search the next documents", function () { - return this.content.next().then((content) => { - this.content = content; - }); -}); - -When("I update a document with id {string}", function (id) { - this.ids = [id]; - - return this.kuzzle.document - .update(this.index, this.collection, id, { some: "update" }) - .then((content) => { - this.content = content; - }) - .catch((err) => { - this.error = err; - }); -}); - -When( - "I update the document with id {string} and content {string} = {string}", - function (id, key, val) { - return this.kuzzle.document - .update(this.index, this.collection, id, { [key]: val }) - .then((content) => { - this.content = content; - }); - } -); - -When("I update the documents [{string}, {string}]", function (id1, id2) { - this.ids = [id1, id2]; - - return this.kuzzle.document - .mUpdate( - this.index, - this.collection, - [ - { _id: id1, body: { a: "replaced document", some: "update" } }, - { _id: id2, body: { a: "replaced document", some: "update" } }, - ], - { refresh: "wait_for" } - ) - .then((content) => { - this.content = content; - }) - .catch((err) => { - this.error = err; - }); -}); - -Then("I get an error with message {string}", function (message) { - should(this.error).not.be.null(); - should(this.error.message).eql(message); -}); - -Then("I must have {int} documents in the collection", function (number) { - return this.kuzzle.document - .count(this.index, this.collection, {}) - .then((count) => should(count).eql(number)); -}); - -Then("the document is successfully created", function () { - return this.kuzzle.document - .get(this.index, this.collection, this.ids[0]) - .then((document) => should(document).be.an.Object()); -}); - -Then("the document is successfully deleted", function (cb) { - this.kuzzle.document - .get(this.index, this.collection, this.ids[0]) - .then(() => cb(new Error("Expected promise to be rejected"))) - .catch((error) => { - try { - should(error.status).eql(404); - cb(); - } catch (e) { - cb(e); - } - }); -}); - -Then(/^the document is (successfully|not) found$/, function (yesno) { - should(this.error).be.null(); - should(this.content.constructor.name).eql("DocumentSearchResult"); - should(this.content.total).eql(yesno === "successfully" ? 1 : 0); -}); - -Then("the document is successfully replaced", function () { - return this.kuzzle.document - .get(this.index, this.collection, this.ids[0]) - .then((document) => should(document._source.a).eql("replaced document")); -}); - -Then("the document is successfully updated", function () { - return this.kuzzle.document - .get(this.index, this.collection, this.ids[0]) - .then((document) => should(document._source.some).eql("update")); -}); - -Then("the document {string} should be created", function (id) { - return this.kuzzle.document - .get(this.index, this.collection, id) - .then((document) => should(document).not.be.null()); -}); - -Then("the document {string} should be replaced", function (id) { - return this.kuzzle.document - .get(this.index, this.collection, id) - .then((document) => should(document._source.a).eql("replaced document")); -}); - -Then("the document {string} should be updated", function (id) { - return this.kuzzle.document - .get(this.index, this.collection, id) - .then((document) => should(document._source.some).eql("update")); -}); - -Then(/^the document should (not )?exist$/, function (not) { - should(this.error).be.null(); - - if (not) { - should(this.content).be.false(); - } else { - should(this.content).be.true(); - } -}); - -Then("the documents should be retrieved", function () { - should(this.content.successes.length).eql(this.ids.length); - should(this.content.errors).be.empty(); - - const found = this.content.successes.map((r) => r._id); - - for (const id of this.ids) { - should(found.indexOf(id)).be.greaterThan(-1); - } -}); - -Then( - /^The search result should have (fetched|a total of) (\d+) documents$/, - function (what, number) { - should(this.content.constructor.name).eql("DocumentSearchResult"); - - let field; - switch (what) { - case "a total of": - field = "total"; - break; - case "fetched": - field = "fetched"; - break; - } - - should(this.content[field]).eql(number); - } -); diff --git a/features/steps/document.ts b/features/steps/document.ts new file mode 100644 index 000000000..5a1eae5ff --- /dev/null +++ b/features/steps/document.ts @@ -0,0 +1,525 @@ +/* eslint-disable no-invalid-this */ +import type { IWorld } from "@cucumber/cucumber"; +import { Given, Then, When } from "@cucumber/cucumber"; +import should from "should"; + +import type { Kuzzle } from "../../index"; + +type DocumentWorld = IWorld & { + kuzzle: Kuzzle; + index: string; + collection: string; + ids: string[]; + content: any; + error: any; +}; + +Given( + /^the collection doesn't have a document with id '(.*?)'$/, + async function (this: DocumentWorld, id: string) { + try { + this.content = await this.kuzzle.document.delete( + this.index, + this.collection, + id, + ); + } catch (err) { + this.error = err; + } + }, +); + +Given( + "the collection has a document with id {string}", + async function (this: DocumentWorld, id: string) { + this.content = await this.kuzzle.document.create( + this.index, + this.collection, + { a: "document" }, + id, + { + refresh: "wait_for", + }, + ); + }, +); + +Then( + "I get an error in the errors array", + function (this: DocumentWorld) { + should(this.content.errors).be.Array().not.be.empty(); + }, +); + +Then( + "I should have no errors in the errors array", + function (this: DocumentWorld) { + should(this.content.errors).be.empty(); + }, +); + +When( + "I check if {string} exists", + async function (this: DocumentWorld, id: string) { + this.content = await this.kuzzle.document.exists( + this.index, + this.collection, + id, + ); + }, +); + +When( + "I count how many documents there is in the collection", + async function (this: DocumentWorld) { + this.content = await this.kuzzle.document.count( + this.index, + this.collection, + {}, + ); + }, +); + +When( + "I create a document in {string}", + async function (this: DocumentWorld, collection: string) { + this.content = await this.kuzzle.document.create( + this.index, + collection, + { a: "document" }, + "some-id", + { + refresh: "wait_for", + }, + ); + }, +); + +When( + "I create a document with id {string}", + async function (this: DocumentWorld, id: string) { + this.ids = [id]; + + try { + this.content = await this.kuzzle.document.create( + this.index, + this.collection, + { a: "document" }, + id, + { + refresh: "wait_for", + }, + ); + } catch (err) { + this.error = err; + } + }, +); + +When( + "I create the documents [{string}, {string}]", + async function (this: DocumentWorld, id1: string, id2: string) { + this.ids = [id1, id2]; + + try { + this.content = await this.kuzzle.document.mCreate( + this.index, + this.collection, + [ + { _id: id1, body: { a: "document" } }, + { _id: id2, body: { a: "document" } }, + ], + { + refresh: "wait_for", + }, + ); + } catch (err) { + this.error = err; + } + }, +); + +When( + "I createOrReplace a document with id {string}", + async function (this: DocumentWorld, id: string) { + this.ids = [id]; + + try { + this.content = await this.kuzzle.document.createOrReplace( + this.index, + this.collection, + id, + { a: "replaced document" }, + { refresh: "wait_for" }, + ); + } catch (err) { + this.error = err; + } + }, +); + +When( + "I createOrReplace the documents [{string}, {string}]", + async function (this: DocumentWorld, id1: string, id2: string) { + this.ids = [id1, id2]; + + try { + this.content = await this.kuzzle.document.mCreateOrReplace( + this.index, + this.collection, + [ + { _id: id1, body: { a: "replaced document" } }, + { _id: id2, body: { a: "replaced document" } }, + ], + { + refresh: "wait_for", + }, + ); + } catch (err) { + this.error = err; + } + }, +); + +When( + "I delete the document with id {string}", + async function (this: DocumentWorld, id: string) { + this.ids = [id]; + + try { + this.content = await this.kuzzle.document.delete( + this.index, + this.collection, + id, + ); + } catch (err) { + this.error = err; + } + }, +); + +When( + "I delete the documents [{string}, {string}]", + async function (this: DocumentWorld, id1: string, id2: string) { + this.ids = [id1, id2]; + + try { + this.content = await this.kuzzle.document.mDelete( + this.index, + this.collection, + [id1, id2], + { refresh: "wait_for" }, + ); + } catch (error) { + this.error = error; + } + }, +); + +When( + "I replace a document with id {string}", + async function (this: DocumentWorld, id: string) { + this.ids = [id]; + + try { + this.content = await this.kuzzle.document.replace( + this.index, + this.collection, + id, + { a: "replaced document" }, + { refresh: "wait_for" }, + ); + } catch (err) { + this.error = err; + } + }, +); + +When( + "I replace the documents [{string}, {string}]", + async function (this: DocumentWorld, id1: string, id2: string) { + this.ids = [id1, id2]; + + try { + this.content = await this.kuzzle.document.mReplace( + this.index, + this.collection, + [ + { _id: id1, body: { a: "replaced document" } }, + { _id: id2, body: { a: "replaced document" } }, + ], + { refresh: "wait_for" }, + ); + } catch (err) { + this.error = err; + } + }, +); + +When( + "I get documents [{string}, {string}]", + async function (this: DocumentWorld, id1: string, id2: string) { + this.ids = [id1, id2]; + this.content = await this.kuzzle.document.mGet( + this.index, + this.collection, + [id1, id2], + ); + }, +); + +When( + "I search a document with id {string}", + async function (this: DocumentWorld, id: string) { + try { + this.content = await this.kuzzle.document.search( + this.index, + this.collection, + { + query: { + match: { + _id: id, + }, + }, + }, + ); + } catch (err) { + this.error = err; + } + }, +); + +When( + "I search documents matching {string} with from {int} and size {int}", + async function ( + this: DocumentWorld, + query: string, + from: number, + size: number, + ) { + this.content = await this.kuzzle.document.search( + this.index, + this.collection, + JSON.parse(query), + { from, size }, + ); + }, +); + +When( + "I search the next documents", + async function (this: DocumentWorld) { + const nextPage = await this.content.next(); + this.content = nextPage; + }, +); + +When( + "I update a document with id {string}", + async function (this: DocumentWorld, id: string) { + this.ids = [id]; + + try { + this.content = await this.kuzzle.document.update( + this.index, + this.collection, + id, + { some: "update" }, + ); + } catch (err) { + this.error = err; + } + }, +); + +When( + "I update the document with id {string} and content {string} = {string}", + async function (this: DocumentWorld, id: string, key: string, val: string) { + this.content = await this.kuzzle.document.update( + this.index, + this.collection, + id, + { [key]: val }, + ); + }, +); + +When( + "I update the documents [{string}, {string}]", + async function (this: DocumentWorld, id1: string, id2: string) { + this.ids = [id1, id2]; + + try { + this.content = await this.kuzzle.document.mUpdate( + this.index, + this.collection, + [ + { _id: id1, body: { a: "replaced document", some: "update" } }, + { _id: id2, body: { a: "replaced document", some: "update" } }, + ], + { refresh: "wait_for" }, + ); + } catch (err) { + this.error = err; + } + }, +); + +Then( + "I get an error with message {string}", + function (this: DocumentWorld, message: string) { + should(this.error).not.be.null(); + should(this.error.message).eql(message); + }, +); + +Then( + "I must have {int} documents in the collection", + async function (this: DocumentWorld, number: number) { + const count = await this.kuzzle.document.count( + this.index, + this.collection, + {}, + ); + should(count).eql(number); + }, +); + +Then( + "the document is successfully created", + async function (this: DocumentWorld) { + const document = await this.kuzzle.document.get( + this.index, + this.collection, + this.ids[0], + ); + should(document).be.an.Object(); + }, +); + +Then( + "the document is successfully deleted", + async function (this: DocumentWorld) { + try { + await this.kuzzle.document.get(this.index, this.collection, this.ids[0]); + throw new Error("Expected promise to be rejected"); + } catch (error) { + should((error as any).status).eql(404); + } + }, +); + +Then( + /^the document is (successfully|not) found$/, + function (this: DocumentWorld, yesno: string) { + should(this.error).be.null(); + should(this.content.constructor.name).eql("DocumentSearchResult"); + should(this.content.total).eql(yesno === "successfully" ? 1 : 0); + }, +); + +Then( + "the document is successfully replaced", + async function (this: DocumentWorld) { + const document = await this.kuzzle.document.get( + this.index, + this.collection, + this.ids[0], + ); + should(document._source.a).eql("replaced document"); + }, +); + +Then( + "the document is successfully updated", + async function (this: DocumentWorld) { + const document = await this.kuzzle.document.get( + this.index, + this.collection, + this.ids[0], + ); + should(document._source.some).eql("update"); + }, +); + +Then( + "the document {string} should be created", + async function (this: DocumentWorld, id: string) { + const document = await this.kuzzle.document.get( + this.index, + this.collection, + id, + ); + should(document).not.be.null(); + }, +); + +Then( + "the document {string} should be replaced", + async function (this: DocumentWorld, id: string) { + const document = await this.kuzzle.document.get( + this.index, + this.collection, + id, + ); + should(document._source.a).eql("replaced document"); + }, +); + +Then( + "the document {string} should be updated", + async function (this: DocumentWorld, id: string) { + const document = await this.kuzzle.document.get( + this.index, + this.collection, + id, + ); + should(document._source.some).eql("update"); + }, +); + +Then( + /^the document should (not )?exist$/, + function (this: DocumentWorld, not?: string) { + should(this.error).be.null(); + + if (not) { + should(this.content).be.false(); + } else { + should(this.content).be.true(); + } + }, +); + +Then( + "the documents should be retrieved", + function (this: DocumentWorld) { + should(this.content.successes.length).eql(this.ids.length); + should(this.content.errors).be.empty(); + + const found = this.content.successes.map((r: { _id: string }) => r._id); + + for (const id of this.ids) { + should(found.indexOf(id)).be.greaterThan(-1); + } + }, +); + +Then( + /^The search result should have (fetched|a total of) (\d+) documents$/, + function (this: DocumentWorld, what: string, number: number) { + should(this.content.constructor.name).eql("DocumentSearchResult"); + + let field: "total" | "fetched" = "total"; + switch (what) { + case "a total of": + field = "total"; + break; + case "fetched": + field = "fetched"; + break; + } + + should(this.content[field]).eql(number); + }, +); diff --git a/features/steps/index.js b/features/steps/index.js deleted file mode 100644 index 992c49ba5..000000000 --- a/features/steps/index.js +++ /dev/null @@ -1,88 +0,0 @@ -const { Given, When, Then } = require("cucumber"); -const should = require("should"); - -Given("there is an index {string}", function (index) { - return this.kuzzle.index - .exists(index) - .then((exists) => { - if (!exists) { - return this.kuzzle.index.create(index); - } - - return null; - }) - .then(() => { - this.index = index; - }); -}); - -Given("there is no index called {string}", function (index) { - return this.kuzzle.index - .delete(index) - .then((content) => { - this.content = content; - }) - .catch(() => { - /* do nothing */ - }); -}); - -Given("there is the indexes {string} and {string}", function (index1, index2) { - const createIndex = async (index, exists) => { - if (!exists) { - await this.kuzzle.index.create(index); - await this.kuzzle.collection.create(index, "a-collection"); - } - }; - - return this.kuzzle.index - .exists(index1) - .then((exists) => createIndex(index1, exists)) - .then(() => this.kuzzle.index.exists(index2)) - .then((exists) => createIndex(index2, exists)); -}); - -When("I create an index called {string}", function (index) { - return this.kuzzle.index - .create(index) - .then((content) => { - this.content = content; - this.index = index; - }) - .catch((err) => { - this.error = err; - }); -}); - -When("I delete the indexes {string} and {string}", function (index1, index2) { - return this.kuzzle.index.mDelete([index1, index2]).then((content) => { - this.content = content; - }); -}); - -When("I list indexes", function () { - return this.kuzzle.index - .list() - .then((content) => { - this.content = content; - }) - .catch((err) => { - this.error = err; - }); -}); - -Then("the index should exist", function () { - return this.kuzzle.index - .exists(this.index) - .then((exists) => should(exists).be.true()); -}); - -Then("indexes {string} and {string} don't exist", function (index1, index2) { - const check = (index) => { - return this.kuzzle.index - .exists(index) - .then((exists) => should(exists).be.false()); - }; - - return check(index1).then(() => check(index2)); -}); diff --git a/features/steps/index.ts b/features/steps/index.ts new file mode 100644 index 000000000..4ac33f06e --- /dev/null +++ b/features/steps/index.ts @@ -0,0 +1,100 @@ +/* eslint-disable no-invalid-this */ +import type { IWorld } from "@cucumber/cucumber"; +import { Given, Then, When } from "@cucumber/cucumber"; +import should from "should"; + +import type { Kuzzle } from "../../index"; + +type IndexWorld = IWorld & { + kuzzle: Kuzzle; + index: string; + content: unknown; + error: unknown; +}; + +Given( + "there is an index {string}", + async function (this: IndexWorld, index: string) { + const exists = await this.kuzzle.index.exists(index); + + if (!exists) { + await this.kuzzle.index.create(index); + } + + this.index = index; + }, +); + +Given( + "there is no index called {string}", + async function (this: IndexWorld, index: string) { + try { + this.content = await this.kuzzle.index.delete(index); + } catch { + /* do nothing */ + } + }, +); + +Given( + "there is the indexes {string} and {string}", + async function (this: IndexWorld, index1: string, index2: string) { + const ensureIndex = async (index: string) => { + const exists = await this.kuzzle.index.exists(index); + + if (!exists) { + await this.kuzzle.index.create(index); + await this.kuzzle.collection.create(index, "a-collection", {}); + } + }; + + await ensureIndex(index1); + await ensureIndex(index2); + }, +); + +When( + "I create an index called {string}", + async function (this: IndexWorld, index: string) { + try { + this.content = await this.kuzzle.index.create(index); + this.index = index; + } catch (error) { + this.error = error; + } + }, +); + +When( + "I delete the indexes {string} and {string}", + async function (this: IndexWorld, index1: string, index2: string) { + this.content = await this.kuzzle.index.mDelete([index1, index2]); + }, +); + +When("I list indexes", async function (this: IndexWorld) { + try { + this.content = await this.kuzzle.index.list(); + } catch (error) { + this.error = error; + } +}); + +Then("the index should exist", async function (this: IndexWorld) { + const exists = await this.kuzzle.index.exists(this.index); + + should(exists).be.true(); +}); + +Then( + "indexes {string} and {string} don't exist", + async function (this: IndexWorld, index1: string, index2: string) { + const check = async (index: string) => { + const exists = await this.kuzzle.index.exists(index); + should(exists).be.false(); + }; + + await check(index1); + await check(index2); + }, +); diff --git a/features/steps/kuzzle.js b/features/steps/kuzzle.js deleted file mode 100644 index 2568a8a74..000000000 --- a/features/steps/kuzzle.js +++ /dev/null @@ -1,50 +0,0 @@ -const { Given, Then } = require("cucumber"); -const should = require("should"); - -Given("Kuzzle Server is running", function () { - return this.kuzzle.connect(); -}); - -Then(/^I get an error(?: with status (.*))?$/, function (status) { - should(this.error).not.be.null(); - - if (status) { - should(this.error.status).eql(parseInt(status)); - } -}); - -Then("I get {string} and {string}", function (string1, string2) { - should(this.content).be.an.Array(); - should(this.content.length).eql(2); - - for (const val of [string1, string2]) { - should(this.content.indexOf(val)).be.greaterThanOrEqual(0); - } -}); - -Then("the content should not be null", function () { - should(this.content).not.be.null(); -}); - -Then( - /^the response '(.*)' field contains the pair '(.*)':'(.*)'$/, - function (field, key, val) { - should(this.content[field][key]).eql(val); - } -); - -Then(/^I shall receive (.*?)$/, function (what) { - if (/^\d+$/.test(what)) { - what = parseInt(what); - } else if (/^[\d.]+$/.test(what)) { - what = parseFloat(what); - } else if (/(true|false)/.test.what) { - what = what === "true"; - } - - should(this.content).eql(what); -}); - -Then("the result contains {int} hits", function (hits) { - should(this.total).eql(hits); -}); diff --git a/features/steps/kuzzle.ts b/features/steps/kuzzle.ts new file mode 100644 index 000000000..1d13abe37 --- /dev/null +++ b/features/steps/kuzzle.ts @@ -0,0 +1,78 @@ +/* eslint-disable no-invalid-this */ +import type { IWorld } from "@cucumber/cucumber"; +import { Given, Then } from "@cucumber/cucumber"; +import should from "should"; + +import type { Kuzzle } from "../../index"; + +type KuzzleWorld = IWorld & { + kuzzle: Kuzzle; + error: any; + content: any; + total: number | null; +}; + +Given("Kuzzle Server is running", function (this: KuzzleWorld) { + return this.kuzzle.connect(); +}); + +Then( + /^I get an error(?: with status (.*))?$/, + function (this: KuzzleWorld, status?: string) { + should(this.error).not.be.null(); + + if (status) { + should(this.error.status).eql(parseInt(status, 10)); + } + }, +); + +Then( + "I get {string} and {string}", + function (this: KuzzleWorld, string1: string, string2: string) { + should(this.content).be.an.Array(); + should(this.content.length).eql(2); + + for (const val of [string1, string2]) { + should(this.content.indexOf(val)).be.greaterThanOrEqual(0); + } + }, +); + +Then( + "the content should not be null", + function (this: KuzzleWorld) { + should(this.content).not.be.null(); + }, +); + +Then( + /^the response '(.*)' field contains the pair '(.*)':'(.*)'$/, + function (this: KuzzleWorld, field: string, key: string, val: string) { + should(this.content[field][key]).eql(val); + }, +); + +Then( + /^I shall receive (.*?)$/, + function (this: KuzzleWorld, value: string) { + let expected: any = value; + + if (/^\d+$/.test(value)) { + expected = parseInt(value, 10); + } else if (/^[\d.]+$/.test(value)) { + expected = parseFloat(value); + } else if (/(true|false)/.test(value)) { + expected = value === "true"; + } + + should(this.content).eql(expected); + }, +); + +Then( + "the result contains {int} hits", + function (this: KuzzleWorld, hits: number) { + should(this.total).eql(hits); + }, +); diff --git a/features/steps/realtime.js b/features/steps/realtime.js deleted file mode 100644 index 2bd33eed4..000000000 --- a/features/steps/realtime.js +++ /dev/null @@ -1,49 +0,0 @@ -const { Given, When, Then } = require("cucumber"); -const should = require("should"); - -Given( - /^I subscribe to '(.*?)'(?: with '(.*)' as filter)?$/, - function (collection, filter) { - if (!filter) { - filter = "{}"; - } - - return this.kuzzle.realtime - .subscribe(this.index, collection, JSON.parse(filter), this.callback) - .then((content) => { - this.content = content; - }); - } -); - -Given("I unsubscribe", function () { - return this.kuzzle.realtime.unsubscribe(this.content); -}); - -When("I publish a document", function () { - return this.kuzzle.realtime.publish(this.index, this.collection, { - a: "document", - }); -}); - -Then("I receive a notification", function (cb) { - setTimeout(() => { - try { - should(this.notifications.length).eql(1); - cb(); - } catch (e) { - cb(e); - } - }, 1000); -}); - -Then("I do not receive a notification", function (cb) { - setTimeout(() => { - try { - should(this.notifications.length).eql(0); - cb(); - } catch (e) { - cb(e); - } - }, 1000); -}); diff --git a/features/steps/realtime.ts b/features/steps/realtime.ts new file mode 100644 index 000000000..e7310359c --- /dev/null +++ b/features/steps/realtime.ts @@ -0,0 +1,70 @@ +/* eslint-disable no-invalid-this */ +import type { IWorld } from "@cucumber/cucumber"; +import { Given, Then, When } from "@cucumber/cucumber"; +import should from "should"; + +import type { Kuzzle } from "../../index"; + +type RealtimeWorld = IWorld & { + kuzzle: Kuzzle; + index: string; + collection: string; + callback: (notification: unknown) => void; + content: string; + notifications: unknown[]; +}; + +Given( + /^I subscribe to '(.*?)'(?: with '(.*)' as filter)?$/, + async function (this: RealtimeWorld, collection: string, filter?: string) { + const parsedFilter = filter ? JSON.parse(filter) : {}; + + this.content = await this.kuzzle.realtime.subscribe( + this.index, + collection, + parsedFilter, + this.callback, + ); + }, +); + +Given("I unsubscribe", async function (this: RealtimeWorld) { + await this.kuzzle.realtime.unsubscribe(this.content); +}); + +When( + "I publish a document", + async function (this: RealtimeWorld) { + await this.kuzzle.realtime.publish(this.index, this.collection, { + a: "document", + }); + }, +); + +Then( + "I receive a notification", + function (this: RealtimeWorld, cb: (error?: unknown) => void) { + setTimeout(() => { + try { + should(this.notifications.length).eql(1); + cb(); + } catch (e) { + cb(e); + } + }, 1000); + }, +); + +Then( + "I do not receive a notification", + function (this: RealtimeWorld, cb: (error?: unknown) => void) { + setTimeout(() => { + try { + should(this.notifications.length).eql(0); + cb(); + } catch (e) { + cb(e); + } + }, 1000); + }, +); diff --git a/features/steps/security.js b/features/steps/security.js deleted file mode 100644 index c32435011..000000000 --- a/features/steps/security.js +++ /dev/null @@ -1,53 +0,0 @@ -const { Given, When } = require("cucumber"); - -Given("there is an user with id {string}", function (id) { - this.user = id; - - return this.kuzzle.security - .createOrReplaceProfile("test", { policies: [{ roleId: "admin" }] }) - .then(() => - this.kuzzle.security.createUser(id, { - content: { - profileIds: ["test"], - }, - credentials: {}, - }) - ) - .then((content) => { - this.content = content; - }) - .catch(() => { - /* do nothing */ - }); -}); - -Given( - "the user has {string} credentials with name {string} and password {string}", - function (strategy, username, password) { - return this.kuzzle.security - .createCredentials(strategy, this.user, { username, password }) - .catch(() => - this.kuzzle.security.updateCredentials(strategy, this.user, { - username, - password, - }) - ); - } -); - -When("I get my user info", function () { - return this.kuzzle.security.getUser(this.user).then((content) => { - this.content = content; - }); -}); - -When( - "I update my user custom data with the pair {string}:{string}", - function (key, val) { - return this.kuzzle.security - .updateUser(this.user, { [key]: val }) - .then((content) => { - this.content = content; - }); - } -); diff --git a/features/steps/security.ts b/features/steps/security.ts new file mode 100644 index 000000000..5e04e55f3 --- /dev/null +++ b/features/steps/security.ts @@ -0,0 +1,70 @@ +/* eslint-disable no-invalid-this */ +import type { IWorld } from "@cucumber/cucumber"; +import { Given, When } from "@cucumber/cucumber"; + +import type { Kuzzle } from "../../index"; + +type SecurityWorld = IWorld & { + kuzzle: Kuzzle; + user: string; + content: unknown; +}; + +Given( + "there is an user with id {string}", + async function (this: SecurityWorld, id: string) { + this.user = id; + + try { + await this.kuzzle.security.createOrReplaceProfile("test", { + policies: [{ roleId: "admin" }], + }); + + const content = await this.kuzzle.security.createUser(id, { + content: { + profileIds: ["test"], + }, + credentials: {}, + }); + + this.content = content; + } catch { + /* do nothing */ + } + }, +); + +Given( + "the user has {string} credentials with name {string} and password {string}", + async function ( + this: SecurityWorld, + strategy: string, + username: string, + password: string, + ) { + try { + await this.kuzzle.security.createCredentials(strategy, this.user, { + username, + password, + }); + } catch { + await this.kuzzle.security.updateCredentials(strategy, this.user, { + username, + password, + }); + } + }, +); + +When("I get my user info", async function (this: SecurityWorld) { + this.content = await this.kuzzle.security.getUser(this.user); +}); + +When( + "I update my user custom data with the pair {string}:{string}", + async function (this: SecurityWorld, key: string, val: string) { + this.content = await this.kuzzle.security.updateUser(this.user, { + [key]: val, + }); + }, +); diff --git a/features/support/hooks.js b/features/support/hooks.js deleted file mode 100644 index 379dd9038..000000000 --- a/features/support/hooks.js +++ /dev/null @@ -1,39 +0,0 @@ -const { Before, BeforeAll } = require("cucumber"); - -let _world; - -Before(function () { - _world = this; - return clean(); -}); - -BeforeAll(function () { - this.index = null; - this.collection = null; - this.ids = []; - this.user = null; - this.jwt = null; - - this.content = null; - this.error = null; - this.notifications = []; -}); - -function clean() { - const kuzzle = _world.kuzzle; - - return kuzzle - .connect() - .then(() => - kuzzle.query({ - controller: "admin", - action: "resetDatabase", - }) - ) - .catch((error) => { - // rethrow to get a readable error - // eslint-disable-next-line no-console - console.error(error); - throw error; - }); -} diff --git a/features/support/hooks.ts b/features/support/hooks.ts new file mode 100644 index 000000000..930920341 --- /dev/null +++ b/features/support/hooks.ts @@ -0,0 +1,53 @@ +/* eslint-disable no-invalid-this */ + +import type { IWorld } from "@cucumber/cucumber"; +import { Before, BeforeAll } from "@cucumber/cucumber"; + +type HookWorld = IWorld & { + kuzzle: { + connect: () => Promise; + query: (payload: Record) => Promise; + }; + index: string | null; + collection: string | null; + ids: string[]; + user: string | null; + jwt: string | null; + content: unknown; + error: unknown; + notifications: unknown[]; +}; + +Before(async function () { + console.log(this); + await clean(this); +}); + +BeforeAll(function () { + const world = this as unknown as HookWorld; + + world.index = null; + world.collection = null; + world.ids = []; + world.user = null; + world.jwt = null; + + world.content = null; + world.error = null; + world.notifications = []; +}); + +async function clean(world: HookWorld) { + try { + await world.kuzzle.connect(); + await world.kuzzle.query({ + controller: "admin", + action: "resetDatabase", + }); + } catch (error) { + // rethrow to get a readable error + // eslint-disable-next-line no-console + console.error(error); + throw error; + } +} diff --git a/features/support/world.js b/features/support/world.js deleted file mode 100644 index 8548e3ebf..000000000 --- a/features/support/world.js +++ /dev/null @@ -1,26 +0,0 @@ -const { setWorldConstructor } = require("cucumber"), - { Kuzzle, WebSocket } = require("../../index"); - -class World { - constructor() { - this.kuzzle = new Kuzzle(new WebSocket("localhost", { port: 7512 })); - - this.index = null; - this.collection = null; - this.ids = []; - this.user = null; - this.jwt = null; - this.rights = null; - this.previousJwt = null; - - this.content = null; - this.error = null; - this.notifications = []; - - this.callback = (notification) => { - this.notifications.push(notification); - }; - } -} - -setWorldConstructor(World); diff --git a/features/support/world.ts b/features/support/world.ts new file mode 100644 index 000000000..e9f18d2c5 --- /dev/null +++ b/features/support/world.ts @@ -0,0 +1,48 @@ +import type { IWorldOptions } from "@cucumber/cucumber"; +import { + setWorldConstructor, + World as CucumberWorld, +} from "@cucumber/cucumber"; + +import { Kuzzle, WebSocket } from "../../index"; + +class World extends CucumberWorld { + kuzzle: Kuzzle; + index: string | null; + collection: string | null; + ids: string[]; + user: string | null; + jwt: string | null; + rights: unknown[] | null; + previousJwt: string | null; + content: unknown; + error: unknown; + notifications: unknown[]; + total: number | null; + callback: (notification: unknown) => void; + + constructor(options: IWorldOptions) { + super(options); + + this.kuzzle = new Kuzzle(new WebSocket("localhost", { port: 7512 })); + + this.index = null; + this.collection = null; + this.ids = []; + this.user = null; + this.jwt = null; + this.rights = null; + this.previousJwt = null; + + this.content = null; + this.error = null; + this.notifications = []; + this.total = null; + + this.callback = (notification: unknown) => { + this.notifications.push(notification); + }; + } +} + +setWorldConstructor(World); diff --git a/index.ts b/index.ts index 8cd3c1731..f3139e770 100644 --- a/index.ts +++ b/index.ts @@ -1,36 +1,38 @@ -import { isBrowser } from './src/utils/browser'; +import { isBrowser } from "./src/utils/browser"; // defined by webpack plugin -declare var BUILT: any; +declare let BUILT: any; -if (isBrowser() && typeof BUILT === 'undefined') { - throw new Error('It looks like you are using the Nodejs version of Kuzzle SDK ' + - 'in a browser. ' + - 'It is strongly recommended to use the browser-specific build instead. ' + - 'Learn more at https://github.com/kuzzleio/sdk-javascript/tree/master#browser'); +if (isBrowser() && typeof BUILT === "undefined") { + throw new Error( + "It looks like you are using the Nodejs version of Kuzzle SDK " + + "in a browser. " + + "It is strongly recommended to use the browser-specific build instead. " + + "Learn more at https://github.com/kuzzleio/sdk-javascript/tree/master#browser", + ); } -export * from './src/Kuzzle'; -export * from './src/protocols'; -export * from './src/protocols/abstract/Base'; -export * from './src/core/KuzzleEventEmitter'; +export * from "./src/Kuzzle"; +export * from "./src/protocols"; +export * from "./src/protocols/abstract/Base"; +export * from "./src/core/KuzzleEventEmitter"; -export * from './src/core/searchResult/SearchResultBase'; -export * from './src/core/searchResult/Document'; -export * from './src/core/searchResult/Profile'; -export * from './src/core/searchResult/Role'; -export * from './src/core/searchResult/Specifications'; -export * from './src/core/searchResult/User'; -export * from './src/core/Observer'; -export * from './src/core/RealtimeDocument'; -export * from './src/core/batchWriter/BatchController'; +export * from "./src/core/searchResult/SearchResultBase"; +export * from "./src/core/searchResult/Document"; +export * from "./src/core/searchResult/Profile"; +export * from "./src/core/searchResult/Role"; +export * from "./src/core/searchResult/Specifications"; +export * from "./src/core/searchResult/User"; +export * from "./src/core/Observer"; +export * from "./src/core/RealtimeDocument"; +export * from "./src/core/batchWriter/BatchController"; -export * from './src/types'; +export * from "./src/types"; -export * from './src/controllers/Auth'; -export * from './src/controllers/Base'; -export * from './src/controllers/Collection'; -export * from './src/controllers/Document'; -export * from './src/controllers/Index'; -export * from './src/controllers/Realtime'; -export * from './src/controllers/Server'; +export * from "./src/controllers/Auth"; +export * from "./src/controllers/Base"; +export * from "./src/controllers/Collection"; +export * from "./src/controllers/Document"; +export * from "./src/controllers/Index"; +export * from "./src/controllers/Realtime"; +export * from "./src/controllers/Server"; diff --git a/package-lock.json b/package-lock.json index 29d6a32cb..4bfb5df75 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,110 +9,81 @@ "version": "7.15.1", "license": "Apache-2.0", "dependencies": { - "min-req-promise": "^1.0.1", - "ws": "^8.17.1" + "min-req-promise": "1.0.1", + "ws": "8.18.3" }, "devDependencies": { - "@babel/core": "^7.21.4", - "@babel/preset-env": "^7.21.4", - "@commitlint/cli": "^17.6.7", - "@commitlint/config-conventional": "^17.6.7", - "@semantic-release/changelog": "^6.0.3", - "@semantic-release/commit-analyzer": "^10.0.1", - "@semantic-release/git": "^10.0.1", - "@semantic-release/release-notes-generator": "^11.0.4", - "@types/node": "^18.15.11", - "babel-loader": "^8.3.0", - "buffer": "^6.0.3", - "cucumber": "^6.0.5", - "cz-conventional-changelog": "^3.3.0", - "eslint-plugin-html": "^8.1.2", - "eslint-plugin-import": "^2.31.0", - "eslint-plugin-kuzzle": "^0.0.6", - "eslint-plugin-node": "^11.1.0", - "eslint-plugin-promise": "^7.1.0", - "eslint-plugin-standard": "^5.0.0", - "https-browserify": "^1.0.0", - "lodash": "^4.17.21", - "lolex": "^6.0.0", - "mocha": "10.2.0", - "mock-require": "^3.0.3", - "nyc": "^15.1.0", - "proxyquire": "^2.1.3", - "retry": "^0.13.1", - "rewire": "^6.0.0", - "semantic-release-config-kuzzle": "^1.0.0", - "semantic-release-slack-bot": "^4.0.2", + "@cucumber/cucumber": "12.3.0", + "@types/node": "24.10.1", + "babel-loader": "10.0.0", + "eslint-plugin-kuzzle": "0.0.15", + "lodash": "4.17.21", + "lolex": "6.0.0", + "mocha": "11.7.5", + "mock-require": "3.0.3", + "nyc": "17.1.0", + "proxyquire": "2.1.3", + "retry": "0.13.1", + "rewire": "9.0.1", + "semantic-release-config-kuzzle": "1.1.2", "should": "13.2.3", "should-sinon": "0.0.6", - "sinon": "^14.0.2", - "stream-http": "^3.2.0", - "ts-morph": "^15.1.0", - "ts-node": "^10.9.1", - "typescript": "^4.9.5", - "url": "^0.11.0", - "webpack": "^5.79.0", - "webpack-cli": "^4.10.0" + "sinon": "21.0.0", + "ts-node": "10.9.2", + "typescript": "5.4.*", + "vite": "7.2.6" }, "engines": { "node": ">= 10.13.0" } }, - "node_modules/@ampproject/remapping": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", - "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", - "dev": true, - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" - }, - "engines": { - "node": ">=6.0.0" - } - }, "node_modules/@babel/code-frame": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.21.4.tgz", - "integrity": "sha512-LYvhNKfwWSPpocw8GI7gpK2nq3HSDuEPC/uSYaALSJu9xjsalaaYFOq0Pwt5KmVqwEbZlDu81aLXwBOmD/Fv9g==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz", + "integrity": "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/highlight": "^7.18.6" + "@babel/helper-validator-identifier": "^7.27.1", + "js-tokens": "^4.0.0", + "picocolors": "^1.1.1" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/compat-data": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.21.4.tgz", - "integrity": "sha512-/DYyDpeCfaVinT40FPGdkkb+lYSKvsVuMjDAG7jPOWWiM1ibOaB9CXJAlc4d1QpP/U2q2P9jbrSlClKSErd55g==", + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.28.5.tgz", + "integrity": "sha512-6uFXyCayocRbqhZOB+6XcuZbkMNimwfVGFji8CTZnCzOHVGvDqzvitu1re2AU5LROliz7eQPhB8CpAMvnx9EjA==", "dev": true, + "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/core": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.21.4.tgz", - "integrity": "sha512-qt/YV149Jman/6AfmlxJ04LMIu8bMoyl3RB91yTFrxQmgbrSvQMy7cI8Q62FHx1t8wJ8B5fu0UDoLwHAhUo1QA==", - "dev": true, - "dependencies": { - "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.21.4", - "@babel/generator": "^7.21.4", - "@babel/helper-compilation-targets": "^7.21.4", - "@babel/helper-module-transforms": "^7.21.2", - "@babel/helpers": "^7.21.0", - "@babel/parser": "^7.21.4", - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.21.4", - "@babel/types": "^7.21.4", - "convert-source-map": "^1.7.0", + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.28.5.tgz", + "integrity": "sha512-e7jT4DxYvIDLk1ZHmU/m/mB19rex9sv0c2ftBtjSBv+kVM/902eh0fINUzD7UwLLNR+jU585GxUJ8/EBfAM5fw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.27.1", + "@babel/generator": "^7.28.5", + "@babel/helper-compilation-targets": "^7.27.2", + "@babel/helper-module-transforms": "^7.28.3", + "@babel/helpers": "^7.28.4", + "@babel/parser": "^7.28.5", + "@babel/template": "^7.27.2", + "@babel/traverse": "^7.28.5", + "@babel/types": "^7.28.5", + "@jridgewell/remapping": "^2.3.5", + "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", - "json5": "^2.2.2", - "semver": "^6.3.0" + "json5": "^2.2.3", + "semver": "^6.3.1" }, "engines": { "node": ">=6.9.0" @@ -123,78 +94,73 @@ } }, "node_modules/@babel/generator": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.21.4.tgz", - "integrity": "sha512-NieM3pVIYW2SwGzKoqfPrQsf4xGs9M9AIG3ThppsSRmO+m7eQhmI6amajKMUeIO37wFfsvnvcxQFx6x6iqxDnA==", + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.28.5.tgz", + "integrity": "sha512-3EwLFhZ38J4VyIP6WNtt2kUdW9dokXA9Cr4IVIFHuCpZ3H8/YFOl5JjZHisrn1fATPBmKKqXzDFvh9fUwHz6CQ==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/types": "^7.21.4", - "@jridgewell/gen-mapping": "^0.3.2", - "@jridgewell/trace-mapping": "^0.3.17", - "jsesc": "^2.5.1" + "@babel/parser": "^7.28.5", + "@babel/types": "^7.28.5", + "@jridgewell/gen-mapping": "^0.3.12", + "@jridgewell/trace-mapping": "^0.3.28", + "jsesc": "^3.0.2" }, "engines": { "node": ">=6.9.0" } }, - "node_modules/@babel/helper-annotate-as-pure": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz", - "integrity": "sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==", + "node_modules/@babel/helper-compilation-targets": { + "version": "7.27.2", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.2.tgz", + "integrity": "sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/types": "^7.18.6" + "@babel/compat-data": "^7.27.2", + "@babel/helper-validator-option": "^7.27.1", + "browserslist": "^4.24.0", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" }, "engines": { "node": ">=6.9.0" } }, - "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.18.9.tgz", - "integrity": "sha512-yFQ0YCHoIqarl8BCRwBL8ulYUaZpz3bNsA7oFepAzee+8/+ImtADXNOmO5vJvsPff3qi+hvpkY/NYBTrBQgdNw==", + "node_modules/@babel/helper-globals": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz", + "integrity": "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==", "dev": true, - "dependencies": { - "@babel/helper-explode-assignable-expression": "^7.18.6", - "@babel/types": "^7.18.9" - }, + "license": "MIT", "engines": { "node": ">=6.9.0" } }, - "node_modules/@babel/helper-compilation-targets": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.21.4.tgz", - "integrity": "sha512-Fa0tTuOXZ1iL8IeDFUWCzjZcn+sJGd9RZdH9esYVjEejGmzf+FFYQpMi/kZUk2kPy/q1H3/GPw7np8qar/stfg==", + "node_modules/@babel/helper-module-imports": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz", + "integrity": "sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/compat-data": "^7.21.4", - "@babel/helper-validator-option": "^7.21.0", - "browserslist": "^4.21.3", - "lru-cache": "^5.1.1", - "semver": "^6.3.0" + "@babel/traverse": "^7.27.1", + "@babel/types": "^7.27.1" }, "engines": { "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" } }, - "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.21.4.tgz", - "integrity": "sha512-46QrX2CQlaFRF4TkwfTt6nJD7IHq8539cCL7SDpqWSDeJKY1xylKKY5F/33mJhLZ3mFvKv2gGrVS6NkyF6qs+Q==", + "node_modules/@babel/helper-module-transforms": { + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.3.tgz", + "integrity": "sha512-gytXUbs8k2sXS9PnQptz5o0QnpLL51SwASIORY6XaBKF88nsOT0Zw9szLqlSGQDP/4TljBAD5y98p2U1fqkdsw==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.21.0", - "@babel/helper-member-expression-to-functions": "^7.21.0", - "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/helper-replace-supers": "^7.20.7", - "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0", - "@babel/helper-split-export-declaration": "^7.18.6" + "@babel/helper-module-imports": "^7.27.1", + "@babel/helper-validator-identifier": "^7.27.1", + "@babel/traverse": "^7.28.3" }, "engines": { "node": ">=6.9.0" @@ -203,2433 +169,1641 @@ "@babel/core": "^7.0.0" } }, - "node_modules/@babel/helper-create-regexp-features-plugin": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.21.4.tgz", - "integrity": "sha512-M00OuhU+0GyZ5iBBN9czjugzWrEq2vDpf/zCYHxxf93ul/Q5rv+a5h+/+0WnI1AebHNVtl5bFV0qsJoH23DbfA==", + "node_modules/@babel/helper-string-parser": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", + "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", "dev": true, - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "regexpu-core": "^5.3.1" - }, + "license": "MIT", "engines": { "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" } }, - "node_modules/@babel/helper-define-polyfill-provider": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.3.tgz", - "integrity": "sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww==", + "node_modules/@babel/helper-validator-identifier": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz", + "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==", "dev": true, - "dependencies": { - "@babel/helper-compilation-targets": "^7.17.7", - "@babel/helper-plugin-utils": "^7.16.7", - "debug": "^4.1.1", - "lodash.debounce": "^4.0.8", - "resolve": "^1.14.2", - "semver": "^6.1.2" - }, - "peerDependencies": { - "@babel/core": "^7.4.0-0" + "license": "MIT", + "engines": { + "node": ">=6.9.0" } }, - "node_modules/@babel/helper-environment-visitor": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz", - "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==", + "node_modules/@babel/helper-validator-option": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz", + "integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==", "dev": true, + "license": "MIT", "engines": { "node": ">=6.9.0" } }, - "node_modules/@babel/helper-explode-assignable-expression": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.18.6.tgz", - "integrity": "sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg==", + "node_modules/@babel/helpers": { + "version": "7.28.4", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.28.4.tgz", + "integrity": "sha512-HFN59MmQXGHVyYadKLVumYsA9dBFun/ldYxipEjzA4196jpLZd8UjEEBLkbEkvfYreDqJhZxYAWFPtrfhNpj4w==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/types": "^7.18.6" + "@babel/template": "^7.27.2", + "@babel/types": "^7.28.4" }, "engines": { "node": ">=6.9.0" } }, - "node_modules/@babel/helper-function-name": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.21.0.tgz", - "integrity": "sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg==", + "node_modules/@babel/parser": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.28.5.tgz", + "integrity": "sha512-KKBU1VGYR7ORr3At5HAtUQ+TV3SzRCXmA/8OdDZiLDBIZxVyzXuztPjfLd3BV1PRAQGCMWWSHYhL0F8d5uHBDQ==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/template": "^7.20.7", - "@babel/types": "^7.21.0" + "@babel/types": "^7.28.5" + }, + "bin": { + "parser": "bin/babel-parser.js" }, "engines": { - "node": ">=6.9.0" + "node": ">=6.0.0" } }, - "node_modules/@babel/helper-hoist-variables": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", - "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", + "node_modules/@babel/template": { + "version": "7.27.2", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.27.2.tgz", + "integrity": "sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/types": "^7.18.6" + "@babel/code-frame": "^7.27.1", + "@babel/parser": "^7.27.2", + "@babel/types": "^7.27.1" }, "engines": { "node": ">=6.9.0" } }, - "node_modules/@babel/helper-member-expression-to-functions": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.21.0.tgz", - "integrity": "sha512-Muu8cdZwNN6mRRNG6lAYErJ5X3bRevgYR2O8wN0yn7jJSnGDu6eG59RfT29JHxGUovyfrh6Pj0XzmR7drNVL3Q==", + "node_modules/@babel/traverse": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.28.5.tgz", + "integrity": "sha512-TCCj4t55U90khlYkVV/0TfkJkAkUg3jZFA3Neb7unZT8CPok7iiRfaX0F+WnqWqt7OxhOn0uBKXCw4lbL8W0aQ==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/types": "^7.21.0" + "@babel/code-frame": "^7.27.1", + "@babel/generator": "^7.28.5", + "@babel/helper-globals": "^7.28.0", + "@babel/parser": "^7.28.5", + "@babel/template": "^7.27.2", + "@babel/types": "^7.28.5", + "debug": "^4.3.1" }, "engines": { "node": ">=6.9.0" } }, - "node_modules/@babel/helper-module-imports": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.21.4.tgz", - "integrity": "sha512-orajc5T2PsRYUN3ZryCEFeMDYwyw09c/pZeaQEZPH0MpKzSvn3e0uXsDBu3k03VI+9DBiRo+l22BfKTpKwa/Wg==", + "node_modules/@babel/types": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.28.5.tgz", + "integrity": "sha512-qQ5m48eI/MFLQ5PxQj4PFaprjyCTLI37ElWMmNs0K8Lk3dVeOdNpB3ks8jc7yM5CDmVC73eMVk/trk3fgmrUpA==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/types": "^7.21.4" + "@babel/helper-string-parser": "^7.27.1", + "@babel/helper-validator-identifier": "^7.28.5" }, "engines": { "node": ">=6.9.0" } }, - "node_modules/@babel/helper-module-transforms": { - "version": "7.21.2", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.21.2.tgz", - "integrity": "sha512-79yj2AR4U/Oqq/WOV7Lx6hUjau1Zfo4cI+JLAVYeMV5XIlbOhmjEk5ulbTc9fMpmlojzZHkUUxAiK+UKn+hNQQ==", + "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==", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.1.90" + } + }, + "node_modules/@cspotcode/source-map-support": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", + "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-simple-access": "^7.20.2", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/helper-validator-identifier": "^7.19.1", - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.21.2", - "@babel/types": "^7.21.2" + "@jridgewell/trace-mapping": "0.3.9" }, "engines": { - "node": ">=6.9.0" + "node": ">=12" + } + }, + "node_modules/@cspotcode/source-map-support/node_modules/@jridgewell/trace-mapping": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", + "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" } }, - "node_modules/@babel/helper-optimise-call-expression": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz", - "integrity": "sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==", + "node_modules/@cucumber/ci-environment": { + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/@cucumber/ci-environment/-/ci-environment-12.0.0.tgz", + "integrity": "sha512-SqCEnbCNl3zCXCFpqGUuoaSNhLC0jLw4tKeFcAxTw9MD/QRlJjeAC/fyvVLFuXuSq0OunJlFfxLu+Z3HE+oLPg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@cucumber/cucumber": { + "version": "12.3.0", + "resolved": "https://registry.npmjs.org/@cucumber/cucumber/-/cucumber-12.3.0.tgz", + "integrity": "sha512-36cIyplE1iDl12s4k6lBVpceua8tKLklFTf7CUITPrNHTLlQ/KBr7NYUUHviPzCbj2Ox3BPTZ6qkSLd6WMvVQg==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/types": "^7.18.6" + "@cucumber/ci-environment": "12.0.0", + "@cucumber/cucumber-expressions": "18.0.1", + "@cucumber/gherkin": "37.0.0", + "@cucumber/gherkin-streams": "6.0.0", + "@cucumber/gherkin-utils": "10.0.0", + "@cucumber/html-formatter": "22.2.0", + "@cucumber/junit-xml-formatter": "0.9.0", + "@cucumber/message-streams": "4.0.1", + "@cucumber/messages": "31.0.0", + "@cucumber/pretty-formatter": "1.0.1", + "@cucumber/tag-expressions": "8.1.0", + "assertion-error-formatter": "^3.0.0", + "capital-case": "^1.0.4", + "chalk": "^4.1.2", + "cli-table3": "0.6.5", + "commander": "^14.0.0", + "debug": "^4.3.4", + "error-stack-parser": "^2.1.4", + "figures": "^3.2.0", + "glob": "^13.0.0", + "has-ansi": "^4.0.1", + "indent-string": "^4.0.0", + "is-installed-globally": "^0.4.0", + "is-stream": "^2.0.0", + "knuth-shuffle-seeded": "^1.0.6", + "lodash.merge": "^4.6.2", + "lodash.mergewith": "^4.6.2", + "luxon": "3.7.2", + "mime": "^3.0.0", + "mkdirp": "^3.0.0", + "mz": "^2.7.0", + "progress": "^2.0.3", + "read-package-up": "^12.0.0", + "semver": "7.7.3", + "string-argv": "0.3.1", + "supports-color": "^8.1.1", + "type-fest": "^4.41.0", + "util-arity": "^1.1.0", + "yaml": "^2.2.2", + "yup": "1.7.1" + }, + "bin": { + "cucumber-js": "bin/cucumber.js" }, "engines": { - "node": ">=6.9.0" + "node": "20 || 22 || >=24" + }, + "funding": { + "url": "https://opencollective.com/cucumber" } }, - "node_modules/@babel/helper-plugin-utils": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz", - "integrity": "sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==", + "node_modules/@cucumber/cucumber-expressions": { + "version": "18.0.1", + "resolved": "https://registry.npmjs.org/@cucumber/cucumber-expressions/-/cucumber-expressions-18.0.1.tgz", + "integrity": "sha512-NSid6bI+7UlgMywl5octojY5NXnxR9uq+JisjOrO52VbFsQM6gTWuQFE8syI10KnIBEdPzuEUSVEeZ0VFzRnZA==", "dev": true, - "engines": { - "node": ">=6.9.0" + "license": "MIT", + "dependencies": { + "regexp-match-indices": "1.0.2" } }, - "node_modules/@babel/helper-remap-async-to-generator": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.9.tgz", - "integrity": "sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA==", + "node_modules/@cucumber/cucumber/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-wrap-function": "^7.18.9", - "@babel/types": "^7.18.9" + "color-convert": "^2.0.1" }, "engines": { - "node": ">=6.9.0" + "node": ">=8" }, - "peerDependencies": { - "@babel/core": "^7.0.0" + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@babel/helper-replace-supers": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.20.7.tgz", - "integrity": "sha512-vujDMtB6LVfNW13jhlCrp48QNslK6JXi7lQG736HVbHz/mbf4Dc7tIRh1Xf5C0rF7BP8iiSxGMCmY6Ci1ven3A==", + "node_modules/@cucumber/cucumber/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-member-expression-to-functions": "^7.20.7", - "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.20.7", - "@babel/types": "^7.20.7" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=6.9.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/@babel/helper-simple-access": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz", - "integrity": "sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==", + "node_modules/@cucumber/cucumber/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==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/types": "^7.20.2" + "has-flag": "^4.0.0" }, "engines": { - "node": ">=6.9.0" + "node": ">=8" } }, - "node_modules/@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.20.0", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.20.0.tgz", - "integrity": "sha512-5y1JYeNKfvnT8sZcK9DVRtpTbGiomYIHviSP3OQWmDPU3DeH4a1ZlT/N2lyQ5P8egjcRaT/Y9aNqUxK0WsnIIg==", + "node_modules/@cucumber/cucumber/node_modules/cli-table3": { + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.5.tgz", + "integrity": "sha512-+W/5efTR7y5HRD7gACw9yQjqMVvEMLBHmboM/kPWam+H+Hmyrgjh6YncVKK122YZkXrLudzTuAukUw9FnMf7IQ==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/types": "^7.20.0" + "string-width": "^4.2.0" }, "engines": { - "node": ">=6.9.0" + "node": "10.* || >= 12.*" + }, + "optionalDependencies": { + "@colors/colors": "1.5.0" } }, - "node_modules/@babel/helper-split-export-declaration": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", - "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", + "node_modules/@cucumber/cucumber/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==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/types": "^7.18.6" + "color-name": "~1.1.4" }, "engines": { - "node": ">=6.9.0" + "node": ">=7.0.0" } }, - "node_modules/@babel/helper-string-parser": { - "version": "7.19.4", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz", - "integrity": "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==", + "node_modules/@cucumber/cucumber/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, + "license": "MIT" + }, + "node_modules/@cucumber/cucumber/node_modules/commander": { + "version": "14.0.2", + "resolved": "https://registry.npmjs.org/commander/-/commander-14.0.2.tgz", + "integrity": "sha512-TywoWNNRbhoD0BXs1P3ZEScW8W5iKrnbithIl0YH+uCmBd0QpPOA8yc82DS3BIE5Ma6FnBVUsJ7wVUDz4dvOWQ==", "dev": true, + "license": "MIT", "engines": { - "node": ">=6.9.0" + "node": ">=20" } }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.19.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", - "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", + "node_modules/@cucumber/cucumber/node_modules/glob": { + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-13.0.0.tgz", + "integrity": "sha512-tvZgpqk6fz4BaNZ66ZsRaZnbHvP/jG3uKJvAZOwEVUL4RTA5nJeeLYfyN9/VA8NX/V3IBG+hkeuGpKjvELkVhA==", "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "minimatch": "^10.1.1", + "minipass": "^7.1.2", + "path-scurry": "^2.0.0" + }, "engines": { - "node": ">=6.9.0" + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/@babel/helper-validator-option": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.21.0.tgz", - "integrity": "sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ==", + "node_modules/@cucumber/cucumber/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, + "license": "MIT", "engines": { - "node": ">=6.9.0" + "node": ">=8" } }, - "node_modules/@babel/helper-wrap-function": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.20.5.tgz", - "integrity": "sha512-bYMxIWK5mh+TgXGVqAtnu5Yn1un+v8DDZtqyzKRLUzrh70Eal2O3aZ7aPYiMADO4uKlkzOiRiZ6GX5q3qxvW9Q==", + "node_modules/@cucumber/cucumber/node_modules/hosted-git-info": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-9.0.2.tgz", + "integrity": "sha512-M422h7o/BR3rmCQ8UHi7cyyMqKltdP9Uo+J2fXK+RSAY+wTcKOIRyhTuKv4qn+DJf3g+PL890AzId5KZpX+CBg==", "dev": true, + "license": "ISC", "dependencies": { - "@babel/helper-function-name": "^7.19.0", - "@babel/template": "^7.18.10", - "@babel/traverse": "^7.20.5", - "@babel/types": "^7.20.5" + "lru-cache": "^11.1.0" }, "engines": { - "node": ">=6.9.0" + "node": "^20.17.0 || >=22.9.0" } }, - "node_modules/@babel/helpers": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.21.0.tgz", - "integrity": "sha512-XXve0CBtOW0pd7MRzzmoyuSj0e3SEzj8pgyFxnTT1NJZL38BD1MK7yYrm8yefRPIDvNNe14xR4FdbHwpInD4rA==", + "node_modules/@cucumber/cucumber/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, - "dependencies": { - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.21.0", - "@babel/types": "^7.21.0" - }, + "license": "MIT", "engines": { - "node": ">=6.9.0" + "node": ">=8" } }, - "node_modules/@babel/highlight": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", - "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", + "node_modules/@cucumber/cucumber/node_modules/lru-cache": { + "version": "11.2.4", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.4.tgz", + "integrity": "sha512-B5Y16Jr9LB9dHVkh6ZevG+vAbOsNOYCX+sXvFWFu7B3Iz5mijW3zdbMyhsh8ANd2mSWBYdJgnqi+mL7/LrOPYg==", "dev": true, - "dependencies": { - "@babel/helper-validator-identifier": "^7.18.6", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - }, + "license": "BlueOak-1.0.0", "engines": { - "node": ">=6.9.0" + "node": "20 || >=22" } }, - "node_modules/@babel/parser": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.21.4.tgz", - "integrity": "sha512-alVJj7k7zIxqBZ7BTRhz0IqJFxW1VJbm6N8JbcYhQ186df9ZBPbZBmWSqAMXwHGsCJdYks7z/voa3ibiS5bCIw==", + "node_modules/@cucumber/cucumber/node_modules/mime": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-3.0.0.tgz", + "integrity": "sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==", "dev": true, + "license": "MIT", "bin": { - "parser": "bin/babel-parser.js" + "mime": "cli.js" }, "engines": { - "node": ">=6.0.0" + "node": ">=10.0.0" } }, - "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.18.6.tgz", - "integrity": "sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ==", + "node_modules/@cucumber/cucumber/node_modules/minimatch": { + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.1.1.tgz", + "integrity": "sha512-enIvLvRAFZYXJzkCYG5RKmPfrFArdLv+R+lbQ53BmIMLIry74bjKzX6iHAm8WYamJkhSSEabrWN5D97XnKObjQ==", "dev": true, + "license": "BlueOak-1.0.0", "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" + "@isaacs/brace-expansion": "^5.0.0" }, "engines": { - "node": ">=6.9.0" + "node": "20 || >=22" }, - "peerDependencies": { - "@babel/core": "^7.0.0" + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.20.7.tgz", - "integrity": "sha512-sbr9+wNE5aXMBBFBICk01tt7sBf2Oc9ikRFEcem/ZORup9IMUdNhW7/wVLEbbtlWOsEubJet46mHAL2C8+2jKQ==", + "node_modules/@cucumber/cucumber/node_modules/normalize-package-data": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-8.0.0.tgz", + "integrity": "sha512-RWk+PI433eESQ7ounYxIp67CYuVsS1uYSonX3kA6ps/3LWfjVQa/ptEg6Y3T6uAMq1mWpX9PQ+qx+QaHpsc7gQ==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0", - "@babel/plugin-proposal-optional-chaining": "^7.20.7" + "hosted-git-info": "^9.0.0", + "semver": "^7.3.5", + "validate-npm-package-license": "^3.0.4" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.13.0" + "node": "^20.17.0 || >=22.9.0" } }, - "node_modules/@babel/plugin-proposal-async-generator-functions": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.20.7.tgz", - "integrity": "sha512-xMbiLsn/8RK7Wq7VeVytytS2L6qE69bXPB10YCmMdDZbKF4okCqY74pI/jJQ/8U0b/F6NrT2+14b8/P9/3AMGA==", + "node_modules/@cucumber/cucumber/node_modules/parse-json": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-8.3.0.tgz", + "integrity": "sha512-ybiGyvspI+fAoRQbIPRddCcSTV9/LsJbf0e/S85VLowVGzRmokfneg2kwVW/KU5rOXrPSbF1qAKPMgNTqqROQQ==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-remap-async-to-generator": "^7.18.9", - "@babel/plugin-syntax-async-generators": "^7.8.4" + "@babel/code-frame": "^7.26.2", + "index-to-position": "^1.1.0", + "type-fest": "^4.39.1" }, "engines": { - "node": ">=6.9.0" + "node": ">=18" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@babel/plugin-proposal-class-properties": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz", - "integrity": "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==", + "node_modules/@cucumber/cucumber/node_modules/path-scurry": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.1.tgz", + "integrity": "sha512-oWyT4gICAu+kaA7QWk/jvCHWarMKNs6pXOGWKDTr7cw4IGcUbW+PeTfbaQiLGheFRpjo6O9J0PmyMfQPjH71oA==", "dev": true, + "license": "BlueOak-1.0.0", "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" + "lru-cache": "^11.0.0", + "minipass": "^7.1.2" }, "engines": { - "node": ">=6.9.0" + "node": "20 || >=22" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/@babel/plugin-proposal-class-static-block": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.21.0.tgz", - "integrity": "sha512-XP5G9MWNUskFuP30IfFSEFB0Z6HzLIUcjYM4bYOPHXl7eiJ9HFv8tWj6TXTN5QODiEhDZAeI4hLok2iHFFV4hw==", + "node_modules/@cucumber/cucumber/node_modules/read-package-up": { + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/read-package-up/-/read-package-up-12.0.0.tgz", + "integrity": "sha512-Q5hMVBYur/eQNWDdbF4/Wqqr9Bjvtrw2kjGxxBbKLbx8bVCL8gcArjTy8zDUuLGQicftpMuU0riQNcAsbtOVsw==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.21.0", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/plugin-syntax-class-static-block": "^7.14.5" + "find-up-simple": "^1.0.1", + "read-pkg": "^10.0.0", + "type-fest": "^5.2.0" }, "engines": { - "node": ">=6.9.0" + "node": ">=20" }, - "peerDependencies": { - "@babel/core": "^7.12.0" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@babel/plugin-proposal-dynamic-import": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.18.6.tgz", - "integrity": "sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw==", + "node_modules/@cucumber/cucumber/node_modules/read-package-up/node_modules/type-fest": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-5.3.0.tgz", + "integrity": "sha512-d9CwU93nN0IA1QL+GSNDdwLAu1Ew5ZjTwupvedwg3WdfoH6pIDvYQ2hV0Uc2nKBLPq7NB5apCx57MLS5qlmO5g==", "dev": true, + "license": "(MIT OR CC0-1.0)", "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-dynamic-import": "^7.8.3" + "tagged-tag": "^1.0.0" }, "engines": { - "node": ">=6.9.0" + "node": ">=20" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@babel/plugin-proposal-export-namespace-from": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.18.9.tgz", - "integrity": "sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA==", + "node_modules/@cucumber/cucumber/node_modules/read-pkg": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-10.0.0.tgz", + "integrity": "sha512-A70UlgfNdKI5NSvTTfHzLQj7NJRpJ4mT5tGafkllJ4wh71oYuGm/pzphHcmW4s35iox56KSK721AihodoXSc/A==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + "@types/normalize-package-data": "^2.4.4", + "normalize-package-data": "^8.0.0", + "parse-json": "^8.3.0", + "type-fest": "^5.2.0", + "unicorn-magic": "^0.3.0" }, "engines": { - "node": ">=6.9.0" + "node": ">=20" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@babel/plugin-proposal-json-strings": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.18.6.tgz", - "integrity": "sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ==", + "node_modules/@cucumber/cucumber/node_modules/read-pkg/node_modules/type-fest": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-5.3.0.tgz", + "integrity": "sha512-d9CwU93nN0IA1QL+GSNDdwLAu1Ew5ZjTwupvedwg3WdfoH6pIDvYQ2hV0Uc2nKBLPq7NB5apCx57MLS5qlmO5g==", "dev": true, + "license": "(MIT OR CC0-1.0)", "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-json-strings": "^7.8.3" + "tagged-tag": "^1.0.0" }, "engines": { - "node": ">=6.9.0" + "node": ">=20" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@babel/plugin-proposal-logical-assignment-operators": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.20.7.tgz", - "integrity": "sha512-y7C7cZgpMIjWlKE5T7eJwp+tnRYM89HmRvWM5EQuB5BoHEONjmQ8lSNmBUwOyy/GFRsohJED51YBF79hE1djug==", + "node_modules/@cucumber/cucumber/node_modules/semver": { + "version": "7.7.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", + "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-nullish-coalescing-operator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz", - "integrity": "sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + "license": "ISC", + "bin": { + "semver": "bin/semver.js" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=10" } }, - "node_modules/@babel/plugin-proposal-numeric-separator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz", - "integrity": "sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==", + "node_modules/@cucumber/cucumber/node_modules/string-argv": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.3.1.tgz", + "integrity": "sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg==", "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-numeric-separator": "^7.10.4" - }, + "license": "MIT", "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=0.6.19" } }, - "node_modules/@babel/plugin-proposal-object-rest-spread": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.7.tgz", - "integrity": "sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg==", + "node_modules/@cucumber/cucumber/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/compat-data": "^7.20.5", - "@babel/helper-compilation-targets": "^7.20.7", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.20.7" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=8" } }, - "node_modules/@babel/plugin-proposal-optional-catch-binding": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz", - "integrity": "sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==", + "node_modules/@cucumber/cucumber/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, + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + "has-flag": "^4.0.0" }, "engines": { - "node": ">=6.9.0" + "node": ">=10" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" } }, - "node_modules/@babel/plugin-proposal-optional-chaining": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.21.0.tgz", - "integrity": "sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA==", + "node_modules/@cucumber/cucumber/node_modules/type-fest": { + "version": "4.41.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.41.0.tgz", + "integrity": "sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==", "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0", - "@babel/plugin-syntax-optional-chaining": "^7.8.3" - }, + "license": "(MIT OR CC0-1.0)", "engines": { - "node": ">=6.9.0" + "node": ">=16" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@babel/plugin-proposal-private-methods": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz", - "integrity": "sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==", + "node_modules/@cucumber/gherkin": { + "version": "37.0.0", + "resolved": "https://registry.npmjs.org/@cucumber/gherkin/-/gherkin-37.0.0.tgz", + "integrity": "sha512-vKJVJ6h4HCktG870wgYUUskNpFxbFI0WmAkVLPTz1LlLwJX7/KOBqFcr2/L3u0pPoHjbLRW+IpbiXLT2T13/wg==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@cucumber/messages": ">=31.0.0 <32" } }, - "node_modules/@babel/plugin-proposal-private-property-in-object": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0.tgz", - "integrity": "sha512-ha4zfehbJjc5MmXBlHec1igel5TJXXLDDRbuJ4+XT2TJcyD9/V1919BA8gMvsdHcNMBy4WBUBiRb3nw/EQUtBw==", + "node_modules/@cucumber/gherkin-streams": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@cucumber/gherkin-streams/-/gherkin-streams-6.0.0.tgz", + "integrity": "sha512-HLSHMmdDH0vCr7vsVEURcDA4WwnRLdjkhqr6a4HQ3i4RFK1wiDGPjBGVdGJLyuXuRdJpJbFc6QxHvT8pU4t6jw==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-create-class-features-plugin": "^7.21.0", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + "commander": "14.0.0", + "source-map-support": "0.5.21" }, - "engines": { - "node": ">=6.9.0" + "bin": { + "gherkin-javascript": "bin/gherkin" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@cucumber/gherkin": ">=22.0.0", + "@cucumber/message-streams": ">=4.0.0", + "@cucumber/messages": ">=17.1.1" } }, - "node_modules/@babel/plugin-proposal-unicode-property-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz", - "integrity": "sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==", + "node_modules/@cucumber/gherkin-streams/node_modules/commander": { + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-14.0.0.tgz", + "integrity": "sha512-2uM9rYjPvyq39NwLRqaiLtWHyDC1FvryJDa2ATTVims5YAS4PupsEQsDvP14FqhFr0P49CYDugi59xaxJlTXRA==", "dev": true, - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - }, + "license": "MIT", "engines": { - "node": ">=4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=20" } }, - "node_modules/@babel/plugin-syntax-async-generators": { - "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", - "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-class-properties": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", - "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "node_modules/@cucumber/gherkin-utils": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/@cucumber/gherkin-utils/-/gherkin-utils-10.0.0.tgz", + "integrity": "sha512-BcujlDT343GXXNrMPl3ws6Il3zs8dQw3Yp/d3HnOJF8i2snGGgiapoTbko7MdvAt7ivDL7SDo+e1d5Cnpl3llA==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" + "@cucumber/gherkin": "^34.0.0", + "@cucumber/messages": "^29.0.0", + "@teppeis/multimaps": "3.0.0", + "commander": "14.0.0", + "source-map-support": "^0.5.21" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "bin": { + "gherkin-utils": "bin/gherkin-utils" } }, - "node_modules/@babel/plugin-syntax-class-static-block": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", - "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", + "node_modules/@cucumber/gherkin-utils/node_modules/@cucumber/gherkin": { + "version": "34.0.0", + "resolved": "https://registry.npmjs.org/@cucumber/gherkin/-/gherkin-34.0.0.tgz", + "integrity": "sha512-659CCFsrsyvuBi/Eix1fnhSheMnojSfnBcqJ3IMPNawx7JlrNJDcXYSSdxcUw3n/nG05P+ptCjmiZY3i14p+tA==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@cucumber/messages": ">=19.1.4 <29" } }, - "node_modules/@babel/plugin-syntax-dynamic-import": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", - "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "node_modules/@cucumber/gherkin-utils/node_modules/@cucumber/gherkin/node_modules/@cucumber/messages": { + "version": "28.1.0", + "resolved": "https://registry.npmjs.org/@cucumber/messages/-/messages-28.1.0.tgz", + "integrity": "sha512-2LzZtOwYKNlCuNf31ajkrekoy2M4z0Z1QGiPH40n4gf5t8VOUFb7m1ojtR4LmGvZxBGvJZP8voOmRqDWzBzYKA==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@types/uuid": "10.0.0", + "class-transformer": "0.5.1", + "reflect-metadata": "0.2.2", + "uuid": "11.1.0" } }, - "node_modules/@babel/plugin-syntax-export-namespace-from": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", - "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", + "node_modules/@cucumber/gherkin-utils/node_modules/@cucumber/messages": { + "version": "29.0.1", + "resolved": "https://registry.npmjs.org/@cucumber/messages/-/messages-29.0.1.tgz", + "integrity": "sha512-aAvIYfQD6/aBdF8KFQChC3CQ1Q+GX9orlR6GurGiX6oqaCnBkxA4WU3OQUVepDynEFrPayerqKRFcAMhdcXReQ==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.8.3" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "class-transformer": "0.5.1", + "reflect-metadata": "0.2.2" } }, - "node_modules/@babel/plugin-syntax-import-assertions": { - "version": "7.20.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.20.0.tgz", - "integrity": "sha512-IUh1vakzNoWalR8ch/areW7qFopR2AEw03JlG7BbrDqmQ4X3q9uuipQwSGrUn7oGiemKjtSLDhNtQHzMHr1JdQ==", + "node_modules/@cucumber/gherkin-utils/node_modules/commander": { + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-14.0.0.tgz", + "integrity": "sha512-2uM9rYjPvyq39NwLRqaiLtWHyDC1FvryJDa2ATTVims5YAS4PupsEQsDvP14FqhFr0P49CYDugi59xaxJlTXRA==", "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.19.0" - }, + "license": "MIT", "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=20" } }, - "node_modules/@babel/plugin-syntax-json-strings": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", - "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "node_modules/@cucumber/gherkin-utils/node_modules/uuid": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-11.1.0.tgz", + "integrity": "sha512-0/A9rDy9P7cJ+8w1c9WD9V//9Wj15Ce2MPz8Ri6032usz+NfePxx5AcN3bN+r6ZL6jEo066/yNYB3tn4pQEx+A==", "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "funding": [ + "https://github.com/sponsors/broofa", + "https://github.com/sponsors/ctavan" + ], + "license": "MIT", + "bin": { + "uuid": "dist/esm/bin/uuid" } }, - "node_modules/@babel/plugin-syntax-logical-assignment-operators": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", - "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "node_modules/@cucumber/html-formatter": { + "version": "22.2.0", + "resolved": "https://registry.npmjs.org/@cucumber/html-formatter/-/html-formatter-22.2.0.tgz", + "integrity": "sha512-fUNC/KngTIz+hAQ2Yr4XjdYq+MO60PwK9SidxBQ54jNI1Vw7erlgsPq0TOWneCIvdjU3qp+YDqYG1hw3zuUuDA==", "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - }, + "license": "MIT", "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@cucumber/messages": ">=18" } }, - "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", - "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "node_modules/@cucumber/junit-xml-formatter": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/@cucumber/junit-xml-formatter/-/junit-xml-formatter-0.9.0.tgz", + "integrity": "sha512-WF+A7pBaXpKMD1i7K59Nk5519zj4extxY4+4nSgv5XLsGXHDf1gJnb84BkLUzevNtp2o2QzMG0vWLwSm8V5blw==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" + "@cucumber/query": "^14.0.1", + "@teppeis/multimaps": "^3.0.0", + "luxon": "^3.5.0", + "xmlbuilder": "^15.1.1" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@cucumber/messages": "*" } }, - "node_modules/@babel/plugin-syntax-numeric-separator": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", - "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "node_modules/@cucumber/message-streams": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@cucumber/message-streams/-/message-streams-4.0.1.tgz", + "integrity": "sha512-Kxap9uP5jD8tHUZVjTWgzxemi/0uOsbGjd4LBOSxcJoOCRbESFwemUzilJuzNTB8pcTQUh8D5oudUyxfkJOKmA==", "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - }, + "license": "MIT", "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@cucumber/messages": ">=17.1.1" } }, - "node_modules/@babel/plugin-syntax-object-rest-spread": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", - "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "node_modules/@cucumber/messages": { + "version": "31.0.0", + "resolved": "https://registry.npmjs.org/@cucumber/messages/-/messages-31.0.0.tgz", + "integrity": "sha512-Dqhatp4AjMsH9SREfWz3Q8nlGuwJMTW7YAW5L3OzRId86ZUEu/a8vIL1RO2c0agQefuBS2SVH9fEZ66ovrMYRA==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "class-transformer": "0.5.1", + "reflect-metadata": "0.2.2" } }, - "node_modules/@babel/plugin-syntax-optional-catch-binding": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", - "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "node_modules/@cucumber/pretty-formatter": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@cucumber/pretty-formatter/-/pretty-formatter-1.0.1.tgz", + "integrity": "sha512-A1lU4VVP0aUWdOTmpdzvXOyEYuPtBDI0xYwYJnmoMDplzxMdhcHk86lyyvYDoMoPzzq6OkOE3isuosvUU4X7IQ==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" + "ansi-styles": "^5.0.0", + "cli-table3": "^0.6.0", + "figures": "^3.2.0", + "ts-dedent": "^2.0.0" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@cucumber/cucumber": ">=7.0.0", + "@cucumber/messages": "*" } }, - "node_modules/@babel/plugin-syntax-optional-chaining": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", - "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "node_modules/@cucumber/pretty-formatter/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, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" + "license": "MIT", + "engines": { + "node": ">=10" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@babel/plugin-syntax-private-property-in-object": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", - "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", + "node_modules/@cucumber/pretty-formatter/node_modules/cli-table3": { + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.5.tgz", + "integrity": "sha512-+W/5efTR7y5HRD7gACw9yQjqMVvEMLBHmboM/kPWam+H+Hmyrgjh6YncVKK122YZkXrLudzTuAukUw9FnMf7IQ==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" + "string-width": "^4.2.0" }, "engines": { - "node": ">=6.9.0" + "node": "10.* || >= 12.*" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "optionalDependencies": { + "@colors/colors": "1.5.0" } }, - "node_modules/@babel/plugin-syntax-top-level-await": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", - "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "node_modules/@cucumber/pretty-formatter/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, - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" - }, + "license": "MIT", "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=8" } }, - "node_modules/@babel/plugin-transform-arrow-functions": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.20.7.tgz", - "integrity": "sha512-3poA5E7dzDomxj9WXWwuD6A5F3kc7VXwIJO+E+J8qtDtS+pXPAhrgEyh+9GBwBgPq1Z+bB+/JD60lp5jsN7JPQ==", + "node_modules/@cucumber/pretty-formatter/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.20.2" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=8" } }, - "node_modules/@babel/plugin-transform-async-to-generator": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.20.7.tgz", - "integrity": "sha512-Uo5gwHPT9vgnSXQxqGtpdufUiWp96gk7yiP4Mp5bm1QMkEmLXBO7PAGYbKoJ6DhAwiNkcHFBol/x5zZZkL/t0Q==", + "node_modules/@cucumber/query": { + "version": "14.6.0", + "resolved": "https://registry.npmjs.org/@cucumber/query/-/query-14.6.0.tgz", + "integrity": "sha512-bPbfpkDsFCBn95erh3un76QViPqGAo3T7iYews0yA3/JRNoV009s7acxxY+f+OMABPFl0TJVIZlvqX+KayQ+Eg==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-remap-async-to-generator": "^7.18.9" - }, - "engines": { - "node": ">=6.9.0" + "@teppeis/multimaps": "3.0.0", + "lodash.sortby": "^4.7.0" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@cucumber/messages": "*" } }, - "node_modules/@babel/plugin-transform-block-scoped-functions": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.18.6.tgz", - "integrity": "sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==", + "node_modules/@cucumber/tag-expressions": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@cucumber/tag-expressions/-/tag-expressions-8.1.0.tgz", + "integrity": "sha512-UFeOVUyc711/E7VHjThxMwg3jbGod9TlbM1gxNixX/AGDKg82Eha4cE0tKki3GGUs7uB2NyI+hQAuhB8rL2h5A==", "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" - }, + "license": "MIT" + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.12.tgz", + "integrity": "sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=18" } }, - "node_modules/@babel/plugin-transform-block-scoping": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.21.0.tgz", - "integrity": "sha512-Mdrbunoh9SxwFZapeHVrwFmri16+oYotcZysSzhNIVDwIAb1UV+kvnxULSYq9J3/q5MDG+4X6w8QVgD1zhBXNQ==", + "node_modules/@esbuild/android-arm": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.12.tgz", + "integrity": "sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg==", + "cpu": [ + "arm" + ], "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.20.2" - }, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=18" } }, - "node_modules/@babel/plugin-transform-classes": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.21.0.tgz", - "integrity": "sha512-RZhbYTCEUAe6ntPehC4hlslPWosNHDox+vAs4On/mCLRLfoDVHf6hVEd7kuxr1RnHwJmxFfUM3cZiZRmPxJPXQ==", + "node_modules/@esbuild/android-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.12.tgz", + "integrity": "sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg==", + "cpu": [ + "arm64" + ], "dev": true, - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-compilation-targets": "^7.20.7", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.21.0", - "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-replace-supers": "^7.20.7", - "@babel/helper-split-export-declaration": "^7.18.6", - "globals": "^11.1.0" - }, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=18" } }, - "node_modules/@babel/plugin-transform-computed-properties": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.20.7.tgz", - "integrity": "sha512-Lz7MvBK6DTjElHAmfu6bfANzKcxpyNPeYBGEafyA6E5HtRpjpZwU+u7Qrgz/2OR0z+5TvKYbPdphfSaAcZBrYQ==", + "node_modules/@esbuild/android-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.12.tgz", + "integrity": "sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg==", + "cpu": [ + "x64" + ], "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/template": "^7.20.7" - }, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=18" } }, - "node_modules/@babel/plugin-transform-destructuring": { - "version": "7.21.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.21.3.tgz", - "integrity": "sha512-bp6hwMFzuiE4HqYEyoGJ/V2LeIWn+hLVKc4pnj++E5XQptwhtcGmSayM029d/j2X1bPKGTlsyPwAubuU22KhMA==", + "node_modules/@esbuild/darwin-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.12.tgz", + "integrity": "sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg==", + "cpu": [ + "arm64" + ], "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.20.2" - }, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=18" } }, - "node_modules/@babel/plugin-transform-dotall-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.18.6.tgz", - "integrity": "sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg==", + "node_modules/@esbuild/darwin-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.12.tgz", + "integrity": "sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA==", + "cpu": [ + "x64" + ], "dev": true, - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - }, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=18" } }, - "node_modules/@babel/plugin-transform-duplicate-keys": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.18.9.tgz", - "integrity": "sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw==", + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.12.tgz", + "integrity": "sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg==", + "cpu": [ + "arm64" + ], "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9" - }, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=18" } }, - "node_modules/@babel/plugin-transform-exponentiation-operator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.18.6.tgz", - "integrity": "sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw==", + "node_modules/@esbuild/freebsd-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.12.tgz", + "integrity": "sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ==", + "cpu": [ + "x64" + ], "dev": true, - "dependencies": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - }, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=18" } }, - "node_modules/@babel/plugin-transform-for-of": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.21.0.tgz", - "integrity": "sha512-LlUYlydgDkKpIY7mcBWvyPPmMcOphEyYA27Ef4xpbh1IiDNLr0kZsos2nf92vz3IccvJI25QUwp86Eo5s6HmBQ==", + "node_modules/@esbuild/linux-arm": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.12.tgz", + "integrity": "sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw==", + "cpu": [ + "arm" + ], "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.20.2" - }, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=18" } }, - "node_modules/@babel/plugin-transform-function-name": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.18.9.tgz", - "integrity": "sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ==", + "node_modules/@esbuild/linux-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.12.tgz", + "integrity": "sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ==", + "cpu": [ + "arm64" + ], "dev": true, - "dependencies": { - "@babel/helper-compilation-targets": "^7.18.9", - "@babel/helper-function-name": "^7.18.9", - "@babel/helper-plugin-utils": "^7.18.9" - }, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=18" } }, - "node_modules/@babel/plugin-transform-literals": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.18.9.tgz", - "integrity": "sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg==", + "node_modules/@esbuild/linux-ia32": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.12.tgz", + "integrity": "sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA==", + "cpu": [ + "ia32" + ], "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9" - }, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=18" } }, - "node_modules/@babel/plugin-transform-member-expression-literals": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.18.6.tgz", - "integrity": "sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA==", + "node_modules/@esbuild/linux-loong64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.12.tgz", + "integrity": "sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng==", + "cpu": [ + "loong64" + ], "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" - }, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=18" } }, - "node_modules/@babel/plugin-transform-modules-amd": { - "version": "7.20.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.20.11.tgz", - "integrity": "sha512-NuzCt5IIYOW0O30UvqktzHYR2ud5bOWbY0yaxWZ6G+aFzOMJvrs5YHNikrbdaT15+KNO31nPOy5Fim3ku6Zb5g==", + "node_modules/@esbuild/linux-mips64el": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.12.tgz", + "integrity": "sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw==", + "cpu": [ + "mips64el" + ], "dev": true, - "dependencies": { - "@babel/helper-module-transforms": "^7.20.11", - "@babel/helper-plugin-utils": "^7.20.2" - }, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=18" } }, - "node_modules/@babel/plugin-transform-modules-commonjs": { - "version": "7.21.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.21.2.tgz", - "integrity": "sha512-Cln+Yy04Gxua7iPdj6nOV96smLGjpElir5YwzF0LBPKoPlLDNJePNlrGGaybAJkd0zKRnOVXOgizSqPYMNYkzA==", + "node_modules/@esbuild/linux-ppc64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.12.tgz", + "integrity": "sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA==", + "cpu": [ + "ppc64" + ], "dev": true, - "dependencies": { - "@babel/helper-module-transforms": "^7.21.2", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-simple-access": "^7.20.2" - }, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=18" } }, - "node_modules/@babel/plugin-transform-modules-systemjs": { - "version": "7.20.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.20.11.tgz", - "integrity": "sha512-vVu5g9BPQKSFEmvt2TA4Da5N+QVS66EX21d8uoOihC+OCpUoGvzVsXeqFdtAEfVa5BILAeFt+U7yVmLbQnAJmw==", + "node_modules/@esbuild/linux-riscv64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.12.tgz", + "integrity": "sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w==", + "cpu": [ + "riscv64" + ], "dev": true, - "dependencies": { - "@babel/helper-hoist-variables": "^7.18.6", - "@babel/helper-module-transforms": "^7.20.11", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-validator-identifier": "^7.19.1" - }, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=18" } }, - "node_modules/@babel/plugin-transform-modules-umd": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.6.tgz", - "integrity": "sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ==", + "node_modules/@esbuild/linux-s390x": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.12.tgz", + "integrity": "sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg==", + "cpu": [ + "s390x" + ], "dev": true, - "dependencies": { - "@babel/helper-module-transforms": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - }, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=18" } }, - "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.20.5.tgz", - "integrity": "sha512-mOW4tTzi5iTLnw+78iEq3gr8Aoq4WNRGpmSlrogqaiCBoR1HFhpU4JkpQFOHfeYx3ReVIFWOQJS4aZBRvuZ6mA==", + "node_modules/@esbuild/linux-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.12.tgz", + "integrity": "sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw==", + "cpu": [ + "x64" + ], "dev": true, - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.20.5", - "@babel/helper-plugin-utils": "^7.20.2" - }, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" + "node": ">=18" } }, - "node_modules/@babel/plugin-transform-new-target": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.18.6.tgz", - "integrity": "sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw==", + "node_modules/@esbuild/netbsd-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.12.tgz", + "integrity": "sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg==", + "cpu": [ + "arm64" + ], "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" - }, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=18" } }, - "node_modules/@babel/plugin-transform-object-super": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.18.6.tgz", - "integrity": "sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA==", + "node_modules/@esbuild/netbsd-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.12.tgz", + "integrity": "sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ==", + "cpu": [ + "x64" + ], "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/helper-replace-supers": "^7.18.6" - }, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=18" } }, - "node_modules/@babel/plugin-transform-parameters": { - "version": "7.21.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.21.3.tgz", - "integrity": "sha512-Wxc+TvppQG9xWFYatvCGPvZ6+SIUxQ2ZdiBP+PHYMIjnPXD+uThCshaz4NZOnODAtBjjcVQQ/3OKs9LW28purQ==", + "node_modules/@esbuild/openbsd-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.12.tgz", + "integrity": "sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A==", + "cpu": [ + "arm64" + ], "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.20.2" - }, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=18" } }, - "node_modules/@babel/plugin-transform-property-literals": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.18.6.tgz", - "integrity": "sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg==", + "node_modules/@esbuild/openbsd-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.12.tgz", + "integrity": "sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw==", + "cpu": [ + "x64" + ], "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" - }, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=18" } }, - "node_modules/@babel/plugin-transform-regenerator": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.20.5.tgz", - "integrity": "sha512-kW/oO7HPBtntbsahzQ0qSE3tFvkFwnbozz3NWFhLGqH75vLEg+sCGngLlhVkePlCs3Jv0dBBHDzCHxNiFAQKCQ==", + "node_modules/@esbuild/openharmony-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.12.tgz", + "integrity": "sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg==", + "cpu": [ + "arm64" + ], "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.20.2", - "regenerator-transform": "^0.15.1" - }, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=18" } }, - "node_modules/@babel/plugin-transform-reserved-words": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.18.6.tgz", - "integrity": "sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA==", + "node_modules/@esbuild/sunos-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.12.tgz", + "integrity": "sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w==", + "cpu": [ + "x64" + ], "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" - }, + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=18" } }, - "node_modules/@babel/plugin-transform-shorthand-properties": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.18.6.tgz", - "integrity": "sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw==", + "node_modules/@esbuild/win32-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.12.tgz", + "integrity": "sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg==", + "cpu": [ + "arm64" + ], "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" - }, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=18" } }, - "node_modules/@babel/plugin-transform-spread": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.20.7.tgz", - "integrity": "sha512-ewBbHQ+1U/VnH1fxltbJqDeWBU1oNLG8Dj11uIv3xVf7nrQu0bPGe5Rf716r7K5Qz+SqtAOVswoVunoiBtGhxw==", + "node_modules/@esbuild/win32-ia32": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.12.tgz", + "integrity": "sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ==", + "cpu": [ + "ia32" + ], "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0" - }, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=18" } }, - "node_modules/@babel/plugin-transform-sticky-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.18.6.tgz", - "integrity": "sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q==", + "node_modules/@esbuild/win32-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.12.tgz", + "integrity": "sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA==", + "cpu": [ + "x64" + ], "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" - }, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=18" } }, - "node_modules/@babel/plugin-transform-template-literals": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.9.tgz", - "integrity": "sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA==", + "node_modules/@eslint-community/eslint-utils": { + "version": "4.9.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.0.tgz", + "integrity": "sha512-ayVFHdtZ+hsq1t2Dy24wCmGXGe4q9Gu3smhLYALJrr473ZH27MsnSL+LKUlimp4BWJqMDMLmPpx/Q9R3OAlL4g==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9" + "eslint-visitor-keys": "^3.4.3" }, "engines": { - "node": ">=6.9.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" } }, - "node_modules/@babel/plugin-transform-typeof-symbol": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.18.9.tgz", - "integrity": "sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw==", + "node_modules/@eslint-community/regexpp": { + "version": "4.12.2", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.2.tgz", + "integrity": "sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==", "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9" - }, + "license": "MIT", "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" } }, - "node_modules/@babel/plugin-transform-unicode-escapes": { - "version": "7.18.10", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.10.tgz", - "integrity": "sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ==", + "node_modules/@eslint/config-array": { + "version": "0.21.1", + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.21.1.tgz", + "integrity": "sha512-aw1gNayWpdI/jSYVgzN5pL0cfzU02GT3NBpeT/DXbx1/1x7ZKxFPd9bwrzygx/qiwIQiJ1sw/zD8qY/kRvlGHA==", "dev": true, + "license": "Apache-2.0", "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9" + "@eslint/object-schema": "^2.1.7", + "debug": "^4.3.1", + "minimatch": "^3.1.2" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, - "node_modules/@babel/plugin-transform-unicode-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.18.6.tgz", - "integrity": "sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA==", + "node_modules/@eslint/config-helpers": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.4.2.tgz", + "integrity": "sha512-gBrxN88gOIf3R7ja5K9slwNayVcZgK6SOUORm2uBzTeIEfeVaIhOpCtTox3P6R7o2jLFwLFTLnC7kU/RGcYEgw==", "dev": true, + "license": "Apache-2.0", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/preset-env": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.21.4.tgz", - "integrity": "sha512-2W57zHs2yDLm6GD5ZpvNn71lZ0B/iypSdIeq25OurDKji6AdzV07qp4s3n1/x5BqtiGaTrPN3nerlSCaC5qNTw==", - "dev": true, - "dependencies": { - "@babel/compat-data": "^7.21.4", - "@babel/helper-compilation-targets": "^7.21.4", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-validator-option": "^7.21.0", - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.18.6", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.20.7", - "@babel/plugin-proposal-async-generator-functions": "^7.20.7", - "@babel/plugin-proposal-class-properties": "^7.18.6", - "@babel/plugin-proposal-class-static-block": "^7.21.0", - "@babel/plugin-proposal-dynamic-import": "^7.18.6", - "@babel/plugin-proposal-export-namespace-from": "^7.18.9", - "@babel/plugin-proposal-json-strings": "^7.18.6", - "@babel/plugin-proposal-logical-assignment-operators": "^7.20.7", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.6", - "@babel/plugin-proposal-numeric-separator": "^7.18.6", - "@babel/plugin-proposal-object-rest-spread": "^7.20.7", - "@babel/plugin-proposal-optional-catch-binding": "^7.18.6", - "@babel/plugin-proposal-optional-chaining": "^7.21.0", - "@babel/plugin-proposal-private-methods": "^7.18.6", - "@babel/plugin-proposal-private-property-in-object": "^7.21.0", - "@babel/plugin-proposal-unicode-property-regex": "^7.18.6", - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/plugin-syntax-class-properties": "^7.12.13", - "@babel/plugin-syntax-class-static-block": "^7.14.5", - "@babel/plugin-syntax-dynamic-import": "^7.8.3", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3", - "@babel/plugin-syntax-import-assertions": "^7.20.0", - "@babel/plugin-syntax-json-strings": "^7.8.3", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.10.4", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", - "@babel/plugin-syntax-optional-chaining": "^7.8.3", - "@babel/plugin-syntax-private-property-in-object": "^7.14.5", - "@babel/plugin-syntax-top-level-await": "^7.14.5", - "@babel/plugin-transform-arrow-functions": "^7.20.7", - "@babel/plugin-transform-async-to-generator": "^7.20.7", - "@babel/plugin-transform-block-scoped-functions": "^7.18.6", - "@babel/plugin-transform-block-scoping": "^7.21.0", - "@babel/plugin-transform-classes": "^7.21.0", - "@babel/plugin-transform-computed-properties": "^7.20.7", - "@babel/plugin-transform-destructuring": "^7.21.3", - "@babel/plugin-transform-dotall-regex": "^7.18.6", - "@babel/plugin-transform-duplicate-keys": "^7.18.9", - "@babel/plugin-transform-exponentiation-operator": "^7.18.6", - "@babel/plugin-transform-for-of": "^7.21.0", - "@babel/plugin-transform-function-name": "^7.18.9", - "@babel/plugin-transform-literals": "^7.18.9", - "@babel/plugin-transform-member-expression-literals": "^7.18.6", - "@babel/plugin-transform-modules-amd": "^7.20.11", - "@babel/plugin-transform-modules-commonjs": "^7.21.2", - "@babel/plugin-transform-modules-systemjs": "^7.20.11", - "@babel/plugin-transform-modules-umd": "^7.18.6", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.20.5", - "@babel/plugin-transform-new-target": "^7.18.6", - "@babel/plugin-transform-object-super": "^7.18.6", - "@babel/plugin-transform-parameters": "^7.21.3", - "@babel/plugin-transform-property-literals": "^7.18.6", - "@babel/plugin-transform-regenerator": "^7.20.5", - "@babel/plugin-transform-reserved-words": "^7.18.6", - "@babel/plugin-transform-shorthand-properties": "^7.18.6", - "@babel/plugin-transform-spread": "^7.20.7", - "@babel/plugin-transform-sticky-regex": "^7.18.6", - "@babel/plugin-transform-template-literals": "^7.18.9", - "@babel/plugin-transform-typeof-symbol": "^7.18.9", - "@babel/plugin-transform-unicode-escapes": "^7.18.10", - "@babel/plugin-transform-unicode-regex": "^7.18.6", - "@babel/preset-modules": "^0.1.5", - "@babel/types": "^7.21.4", - "babel-plugin-polyfill-corejs2": "^0.3.3", - "babel-plugin-polyfill-corejs3": "^0.6.0", - "babel-plugin-polyfill-regenerator": "^0.4.1", - "core-js-compat": "^3.25.1", - "semver": "^6.3.0" + "@eslint/core": "^0.17.0" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, - "node_modules/@babel/preset-modules": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz", - "integrity": "sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==", + "node_modules/@eslint/core": { + "version": "0.17.0", + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.17.0.tgz", + "integrity": "sha512-yL/sLrpmtDaFEiUj1osRP4TI2MDz1AddJL+jZ7KSqvBuliN4xqYY54IfdN8qD8Toa6g1iloph1fxQNkjOxrrpQ==", "dev": true, + "license": "Apache-2.0", "dependencies": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", - "@babel/plugin-transform-dotall-regex": "^7.4.4", - "@babel/types": "^7.4.4", - "esutils": "^2.0.2" + "@types/json-schema": "^7.0.15" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, - "node_modules/@babel/regjsgen": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz", - "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==", - "dev": true - }, - "node_modules/@babel/runtime": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.21.0.tgz", - "integrity": "sha512-xwII0//EObnq89Ji5AKYQaRYiW/nZ3llSv29d49IuxPhKbtJoLP+9QUUZ4nVragQVtaVGeZrpB+ZtG/Pdy/POw==", + "node_modules/@eslint/eslintrc": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", + "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", "dev": true, + "license": "MIT", + "peer": true, "dependencies": { - "regenerator-runtime": "^0.13.11" + "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" }, "engines": { - "node": ">=6.9.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "node_modules/@babel/runtime-corejs3": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.21.0.tgz", - "integrity": "sha512-TDD4UJzos3JJtM+tHX+w2Uc+KWj7GV+VKKFdMVd2Rx8sdA19hcc3P3AHFYd5LVOw+pYuSd5lICC3gm52B6Rwxw==", + "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": { - "core-js-pure": "^3.25.1", - "regenerator-runtime": "^0.13.11" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/template": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.20.7.tgz", - "integrity": "sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.18.6", - "@babel/parser": "^7.20.7", - "@babel/types": "^7.20.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/traverse": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.21.4.tgz", - "integrity": "sha512-eyKrRHKdyZxqDm+fV1iqL9UAHMoIg0nDaGqfIOd8rKH17m5snv7Gn4qgjBoFfLz9APvjFU/ICT00NVCv1Epp8Q==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.21.4", - "@babel/generator": "^7.21.4", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.21.0", - "@babel/helper-hoist-variables": "^7.18.6", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/parser": "^7.21.4", - "@babel/types": "^7.21.4", - "debug": "^4.1.0", - "globals": "^11.1.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/types": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.21.4.tgz", - "integrity": "sha512-rU2oY501qDxE8Pyo7i/Orqma4ziCOrby0/9mvbDUGEfvZjb279Nk9k19e2fiCxHbRRpY2ZyrgW1eq22mvmOIzA==", - "dev": true, - "dependencies": { - "@babel/helper-string-parser": "^7.19.4", - "@babel/helper-validator-identifier": "^7.19.1", - "to-fast-properties": "^2.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "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==", - "dev": true, - "optional": true, + "license": "MIT", "peer": true, - "engines": { - "node": ">=0.1.90" - } - }, - "node_modules/@commitlint/cli": { - "version": "17.7.1", - "resolved": "https://registry.npmjs.org/@commitlint/cli/-/cli-17.7.1.tgz", - "integrity": "sha512-BCm/AT06SNCQtvFv921iNhudOHuY16LswT0R3OeolVGLk8oP+Rk9TfQfgjH7QPMjhvp76bNqGFEcpKojxUNW1g==", - "dev": true, - "dependencies": { - "@commitlint/format": "^17.4.4", - "@commitlint/lint": "^17.7.0", - "@commitlint/load": "^17.7.1", - "@commitlint/read": "^17.5.1", - "@commitlint/types": "^17.4.4", - "execa": "^5.0.0", - "lodash.isfunction": "^3.0.9", - "resolve-from": "5.0.0", - "resolve-global": "1.0.0", - "yargs": "^17.0.0" - }, - "bin": { - "commitlint": "cli.js" - }, - "engines": { - "node": ">=v14" - } - }, - "node_modules/@commitlint/cli/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": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@commitlint/cli/node_modules/execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", - "dev": true, - "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/@commitlint/cli/node_modules/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, - "engines": { - "node": "6.* || 8.* || >= 10.*" - } - }, - "node_modules/@commitlint/cli/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==", - "dev": true, - "engines": { - "node": ">=10.17.0" - } - }, - "node_modules/@commitlint/cli/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, - "engines": { - "node": ">=8" - } - }, - "node_modules/@commitlint/cli/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==", - "dev": true, - "dependencies": { - "path-key": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@commitlint/cli/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_modules/@commitlint/cli/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, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@commitlint/cli/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==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/@commitlint/cli/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/@commitlint/cli/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/@commitlint/config-conventional": { - "version": "17.7.0", - "resolved": "https://registry.npmjs.org/@commitlint/config-conventional/-/config-conventional-17.7.0.tgz", - "integrity": "sha512-iicqh2o6et+9kWaqsQiEYZzfLbtoWv9uZl8kbI8EGfnc0HeGafQBF7AJ0ylN9D/2kj6txltsdyQs8+2fTMwWEw==", - "dev": true, - "dependencies": { - "conventional-changelog-conventionalcommits": "^6.1.0" - }, - "engines": { - "node": ">=v14" - } - }, - "node_modules/@commitlint/config-validator": { - "version": "17.6.7", - "resolved": "https://registry.npmjs.org/@commitlint/config-validator/-/config-validator-17.6.7.tgz", - "integrity": "sha512-vJSncmnzwMvpr3lIcm0I8YVVDJTzyjy7NZAeXbTXy+MPUdAr9pKyyg7Tx/ebOQ9kqzE6O9WT6jg2164br5UdsQ==", - "dev": true, - "dependencies": { - "@commitlint/types": "^17.4.4", - "ajv": "^8.11.0" - }, - "engines": { - "node": ">=v14" - } - }, - "node_modules/@commitlint/config-validator/node_modules/ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "dev": true, "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": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/@commitlint/config-validator/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==", - "dev": true - }, - "node_modules/@commitlint/ensure": { - "version": "17.6.7", - "resolved": "https://registry.npmjs.org/@commitlint/ensure/-/ensure-17.6.7.tgz", - "integrity": "sha512-mfDJOd1/O/eIb/h4qwXzUxkmskXDL9vNPnZ4AKYKiZALz4vHzwMxBSYtyL2mUIDeU9DRSpEUins8SeKtFkYHSw==", - "dev": true, - "dependencies": { - "@commitlint/types": "^17.4.4", - "lodash.camelcase": "^4.3.0", - "lodash.kebabcase": "^4.1.1", - "lodash.snakecase": "^4.1.1", - "lodash.startcase": "^4.4.0", - "lodash.upperfirst": "^4.3.1" - }, - "engines": { - "node": ">=v14" - } - }, - "node_modules/@commitlint/execute-rule": { - "version": "17.4.0", - "resolved": "https://registry.npmjs.org/@commitlint/execute-rule/-/execute-rule-17.4.0.tgz", - "integrity": "sha512-LIgYXuCSO5Gvtc0t9bebAMSwd68ewzmqLypqI2Kke1rqOqqDbMpYcYfoPfFlv9eyLIh4jocHWwCK5FS7z9icUA==", - "dev": true, - "engines": { - "node": ">=v14" - } - }, - "node_modules/@commitlint/format": { - "version": "17.4.4", - "resolved": "https://registry.npmjs.org/@commitlint/format/-/format-17.4.4.tgz", - "integrity": "sha512-+IS7vpC4Gd/x+uyQPTAt3hXs5NxnkqAZ3aqrHd5Bx/R9skyCAWusNlNbw3InDbAK6j166D9asQM8fnmYIa+CXQ==", - "dev": true, - "dependencies": { - "@commitlint/types": "^17.4.4", - "chalk": "^4.1.0" - }, - "engines": { - "node": ">=v14" - } - }, - "node_modules/@commitlint/format/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, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@commitlint/format/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "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/@commitlint/format/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==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@commitlint/format/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/@commitlint/format/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_modules/@commitlint/format/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" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@commitlint/is-ignored": { - "version": "17.7.0", - "resolved": "https://registry.npmjs.org/@commitlint/is-ignored/-/is-ignored-17.7.0.tgz", - "integrity": "sha512-043rA7m45tyEfW7Zv2vZHF++176MLHH9h70fnPoYlB1slKBeKl8BwNIlnPg4xBdRBVNPaCqvXxWswx2GR4c9Hw==", - "dev": true, - "dependencies": { - "@commitlint/types": "^17.4.4", - "semver": "7.5.4" - }, - "engines": { - "node": ">=v14" - } - }, - "node_modules/@commitlint/is-ignored/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==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@commitlint/is-ignored/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==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@commitlint/is-ignored/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, - "node_modules/@commitlint/lint": { - "version": "17.7.0", - "resolved": "https://registry.npmjs.org/@commitlint/lint/-/lint-17.7.0.tgz", - "integrity": "sha512-TCQihm7/uszA5z1Ux1vw+Nf3yHTgicus/+9HiUQk+kRSQawByxZNESeQoX9ujfVd3r4Sa+3fn0JQAguG4xvvbA==", - "dev": true, - "dependencies": { - "@commitlint/is-ignored": "^17.7.0", - "@commitlint/parse": "^17.7.0", - "@commitlint/rules": "^17.7.0", - "@commitlint/types": "^17.4.4" - }, - "engines": { - "node": ">=v14" - } - }, - "node_modules/@commitlint/load": { - "version": "17.7.1", - "resolved": "https://registry.npmjs.org/@commitlint/load/-/load-17.7.1.tgz", - "integrity": "sha512-S/QSOjE1ztdogYj61p6n3UbkUvweR17FQ0zDbNtoTLc+Hz7vvfS7ehoTMQ27hPSjVBpp7SzEcOQu081RLjKHJQ==", - "dev": true, - "dependencies": { - "@commitlint/config-validator": "^17.6.7", - "@commitlint/execute-rule": "^17.4.0", - "@commitlint/resolve-extends": "^17.6.7", - "@commitlint/types": "^17.4.4", - "@types/node": "20.4.7", - "chalk": "^4.1.0", - "cosmiconfig": "^8.0.0", - "cosmiconfig-typescript-loader": "^4.0.0", - "lodash.isplainobject": "^4.0.6", - "lodash.merge": "^4.6.2", - "lodash.uniq": "^4.5.0", - "resolve-from": "^5.0.0", - "ts-node": "^10.8.1", - "typescript": "^4.6.4 || ^5.0.0" - }, - "engines": { - "node": ">=v14" - } - }, - "node_modules/@commitlint/load/node_modules/@types/node": { - "version": "20.4.7", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.4.7.tgz", - "integrity": "sha512-bUBrPjEry2QUTsnuEjzjbS7voGWCc30W0qzgMf90GPeDGFRakvrz47ju+oqDAKCXLUCe39u57/ORMl/O/04/9g==", - "dev": true - }, - "node_modules/@commitlint/load/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, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@commitlint/load/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "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/@commitlint/load/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==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@commitlint/load/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/@commitlint/load/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_modules/@commitlint/load/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_modules/@commitlint/load/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" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@commitlint/message": { - "version": "17.4.2", - "resolved": "https://registry.npmjs.org/@commitlint/message/-/message-17.4.2.tgz", - "integrity": "sha512-3XMNbzB+3bhKA1hSAWPCQA3lNxR4zaeQAQcHj0Hx5sVdO6ryXtgUBGGv+1ZCLMgAPRixuc6en+iNAzZ4NzAa8Q==", - "dev": true, - "engines": { - "node": ">=v14" - } - }, - "node_modules/@commitlint/parse": { - "version": "17.7.0", - "resolved": "https://registry.npmjs.org/@commitlint/parse/-/parse-17.7.0.tgz", - "integrity": "sha512-dIvFNUMCUHqq5Abv80mIEjLVfw8QNuA4DS7OWip4pcK/3h5wggmjVnlwGCDvDChkw2TjK1K6O+tAEV78oxjxag==", - "dev": true, - "dependencies": { - "@commitlint/types": "^17.4.4", - "conventional-changelog-angular": "^6.0.0", - "conventional-commits-parser": "^4.0.0" - }, - "engines": { - "node": ">=v14" - } - }, - "node_modules/@commitlint/parse/node_modules/conventional-commits-parser": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-4.0.0.tgz", - "integrity": "sha512-WRv5j1FsVM5FISJkoYMR6tPk07fkKT0UodruX4je86V4owk451yjXAKzKAPOs9l7y59E2viHUS9eQ+dfUA9NSg==", - "dev": true, - "dependencies": { - "is-text-path": "^1.0.1", - "JSONStream": "^1.3.5", - "meow": "^8.1.2", - "split2": "^3.2.2" - }, - "bin": { - "conventional-commits-parser": "cli.js" - }, - "engines": { - "node": ">=14" - } - }, - "node_modules/@commitlint/parse/node_modules/is-text-path": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-text-path/-/is-text-path-1.0.1.tgz", - "integrity": "sha512-xFuJpne9oFz5qDaodwmmG08e3CawH/2ZV8Qqza1Ko7Sk8POWbkRdwIoAWVhqvq0XeUzANEhKo2n0IXUGBm7A/w==", - "dev": true, - "dependencies": { - "text-extensions": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@commitlint/parse/node_modules/split2": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/split2/-/split2-3.2.2.tgz", - "integrity": "sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==", - "dev": true, - "dependencies": { - "readable-stream": "^3.0.0" - } - }, - "node_modules/@commitlint/parse/node_modules/text-extensions": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/text-extensions/-/text-extensions-1.9.0.tgz", - "integrity": "sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ==", - "dev": true, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/@commitlint/read": { - "version": "17.5.1", - "resolved": "https://registry.npmjs.org/@commitlint/read/-/read-17.5.1.tgz", - "integrity": "sha512-7IhfvEvB//p9aYW09YVclHbdf1u7g7QhxeYW9ZHSO8Huzp8Rz7m05aCO1mFG7G8M+7yfFnXB5xOmG18brqQIBg==", - "dev": true, - "dependencies": { - "@commitlint/top-level": "^17.4.0", - "@commitlint/types": "^17.4.4", - "fs-extra": "^11.0.0", - "git-raw-commits": "^2.0.11", - "minimist": "^1.2.6" - }, - "engines": { - "node": ">=v14" - } - }, - "node_modules/@commitlint/read/node_modules/fs-extra": { - "version": "11.1.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.1.1.tgz", - "integrity": "sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=14.14" - } - }, - "node_modules/@commitlint/resolve-extends": { - "version": "17.6.7", - "resolved": "https://registry.npmjs.org/@commitlint/resolve-extends/-/resolve-extends-17.6.7.tgz", - "integrity": "sha512-PfeoAwLHtbOaC9bGn/FADN156CqkFz6ZKiVDMjuC2N5N0740Ke56rKU7Wxdwya8R8xzLK9vZzHgNbuGhaOVKIg==", - "dev": true, - "dependencies": { - "@commitlint/config-validator": "^17.6.7", - "@commitlint/types": "^17.4.4", - "import-fresh": "^3.0.0", - "lodash.mergewith": "^4.6.2", - "resolve-from": "^5.0.0", - "resolve-global": "^1.0.0" - }, - "engines": { - "node": ">=v14" - } - }, - "node_modules/@commitlint/resolve-extends/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_modules/@commitlint/rules": { - "version": "17.7.0", - "resolved": "https://registry.npmjs.org/@commitlint/rules/-/rules-17.7.0.tgz", - "integrity": "sha512-J3qTh0+ilUE5folSaoK91ByOb8XeQjiGcdIdiB/8UT1/Rd1itKo0ju/eQVGyFzgTMYt8HrDJnGTmNWwcMR1rmA==", - "dev": true, - "dependencies": { - "@commitlint/ensure": "^17.6.7", - "@commitlint/message": "^17.4.2", - "@commitlint/to-lines": "^17.4.0", - "@commitlint/types": "^17.4.4", - "execa": "^5.0.0" - }, - "engines": { - "node": ">=v14" - } - }, - "node_modules/@commitlint/rules/node_modules/execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", - "dev": true, - "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/@commitlint/rules/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==", - "dev": true, - "engines": { - "node": ">=10.17.0" - } - }, - "node_modules/@commitlint/rules/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==", - "dev": true, - "dependencies": { - "path-key": "^3.0.0" + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" }, - "engines": { - "node": ">=8" + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/@commitlint/rules/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==", + "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, - "engines": { - "node": ">=6" - } + "license": "MIT", + "peer": true }, - "node_modules/@commitlint/to-lines": { - "version": "17.4.0", - "resolved": "https://registry.npmjs.org/@commitlint/to-lines/-/to-lines-17.4.0.tgz", - "integrity": "sha512-LcIy/6ZZolsfwDUWfN1mJ+co09soSuNASfKEU5sCmgFCvX5iHwRYLiIuoqXzOVDYOy7E7IcHilr/KS0e5T+0Hg==", + "node_modules/@eslint/js": { + "version": "8.57.1", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.1.tgz", + "integrity": "sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==", "dev": true, + "license": "MIT", + "peer": true, "engines": { - "node": ">=v14" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, - "node_modules/@commitlint/top-level": { - "version": "17.4.0", - "resolved": "https://registry.npmjs.org/@commitlint/top-level/-/top-level-17.4.0.tgz", - "integrity": "sha512-/1loE/g+dTTQgHnjoCy0AexKAEFyHsR2zRB4NWrZ6lZSMIxAhBJnmCqwao7b4H8888PsfoTBCLBYIw8vGnej8g==", + "node_modules/@eslint/object-schema": { + "version": "2.1.7", + "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.7.tgz", + "integrity": "sha512-VtAOaymWVfZcmZbp6E2mympDIHvyjXs/12LqWYjVw6qjrfF+VK+fyG33kChz3nnK+SU5/NeHOqrTEHS8sXO3OA==", "dev": true, - "dependencies": { - "find-up": "^5.0.0" - }, + "license": "Apache-2.0", "engines": { - "node": ">=v14" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, - "node_modules/@commitlint/types": { - "version": "17.4.4", - "resolved": "https://registry.npmjs.org/@commitlint/types/-/types-17.4.4.tgz", - "integrity": "sha512-amRN8tRLYOsxRr6mTnGGGvB5EmW/4DDjLMgiwK3CCVEmN6Sr/6xePGEpWaspKkckILuUORCwe6VfDBw6uj4axQ==", + "node_modules/@eslint/plugin-kit": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.4.1.tgz", + "integrity": "sha512-43/qtrDUokr7LJqoF2c3+RInu/t4zfrpYdoSDfYyhg52rwLV6TnOvdG4fXm7IkSB3wErkcmJS9iEhjVtOSEjjA==", "dev": true, + "license": "Apache-2.0", "dependencies": { - "chalk": "^4.1.0" + "@eslint/core": "^0.17.0", + "levn": "^0.4.1" }, "engines": { - "node": ">=v14" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, - "node_modules/@commitlint/types/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/@humanfs/core": { + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", + "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==", "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, + "license": "Apache-2.0", "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": ">=18.18.0" } }, - "node_modules/@commitlint/types/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "node_modules/@humanfs/node": { + "version": "0.16.7", + "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.7.tgz", + "integrity": "sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ==", "dev": true, + "license": "Apache-2.0", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "@humanfs/core": "^0.19.1", + "@humanwhocodes/retry": "^0.4.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "node": ">=18.18.0" } }, - "node_modules/@commitlint/types/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/@humanwhocodes/config-array": { + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.13.0.tgz", + "integrity": "sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==", + "deprecated": "Use @eslint/config-array instead", "dev": true, + "license": "Apache-2.0", + "peer": true, "dependencies": { - "color-name": "~1.1.4" + "@humanwhocodes/object-schema": "^2.0.3", + "debug": "^4.3.1", + "minimatch": "^3.0.5" }, "engines": { - "node": ">=7.0.0" + "node": ">=10.10.0" } }, - "node_modules/@commitlint/types/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/@commitlint/types/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/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", "dev": true, + "license": "Apache-2.0", "engines": { - "node": ">=8" - } - }, - "node_modules/@commitlint/types/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": ">=12.22" }, - "engines": { - "node": ">=8" + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" } }, - "node_modules/@cspotcode/source-map-support": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", - "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", + "node_modules/@humanwhocodes/object-schema": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", + "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", + "deprecated": "Use @eslint/object-schema instead", "dev": true, - "dependencies": { - "@jridgewell/trace-mapping": "0.3.9" - }, - "engines": { - "node": ">=12" - } + "license": "BSD-3-Clause", + "peer": true }, - "node_modules/@cspotcode/source-map-support/node_modules/@jridgewell/trace-mapping": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", - "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", + "node_modules/@humanwhocodes/retry": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.3.tgz", + "integrity": "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==", "dev": true, - "dependencies": { - "@jridgewell/resolve-uri": "^3.0.3", - "@jridgewell/sourcemap-codec": "^1.4.10" + "license": "Apache-2.0", + "engines": { + "node": ">=18.18" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" } }, - "node_modules/@discoveryjs/json-ext": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", - "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==", + "node_modules/@isaacs/balanced-match": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@isaacs/balanced-match/-/balanced-match-4.0.1.tgz", + "integrity": "sha512-yzMTt9lEb8Gv7zRioUilSglI0c0smZ9k5D65677DLWLtWJaXIS3CqcGyUFByYKlnUj6TkjLVs54fBl6+TiGQDQ==", "dev": true, + "license": "MIT", "engines": { - "node": ">=10.0.0" + "node": "20 || >=22" } }, - "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==", + "node_modules/@isaacs/brace-expansion": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@isaacs/brace-expansion/-/brace-expansion-5.0.0.tgz", + "integrity": "sha512-ZT55BDLV0yv0RBm2czMiZ+SqCGO7AvmOM3G/w2xhVPH+te0aKgFjmBvGlL1dH+ql2tgGO3MVrbb3jCKyvpgnxA==", "dev": true, + "license": "MIT", "dependencies": { - "eslint-visitor-keys": "^3.3.0" + "@isaacs/balanced-match": "^4.0.1" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + "node": "20 || >=22" } }, - "node_modules/@eslint-community/regexpp": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.5.0.tgz", - "integrity": "sha512-vITaYzIcNmjn5tF5uxcZ/ft7/RXGrMUIS9HalWckEOF6ESiwXKoMzAQf2UW0aVd6rnOeExTJVd5hmWXucBKGXQ==", + "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==", "dev": true, + "license": "ISC", + "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.0.0 || ^14.0.0 || >=16.0.0" + "node": ">=12" } }, - "node_modules/@eslint/eslintrc": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.0.2.tgz", - "integrity": "sha512-3W4f5tDUra+pA+FzgugqL2pRimUTDJWKr7BINqOpkZrC0uYI0NIc0/JFgBROCU07HR6GieA5m3/rsPIhDmCXTQ==", + "node_modules/@isaacs/cliui/node_modules/ansi-styles": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz", + "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==", "dev": true, - "dependencies": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^9.5.1", - "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" - }, + "license": "MIT", "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">=12" }, "funding": { - "url": "https://opencollective.com/eslint" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "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/@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==", + "dev": true, + "license": "MIT" }, - "node_modules/@eslint/eslintrc/node_modules/globals": { - "version": "13.20.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", - "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", + "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==", "dev": true, + "license": "MIT", "dependencies": { - "type-fest": "^0.20.2" + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" }, "engines": { - "node": ">=8" + "node": ">=12" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "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==", + "node_modules/@isaacs/cliui/node_modules/strip-ansi": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz", + "integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==", "dev": true, + "license": "MIT", "dependencies": { - "argparse": "^2.0.1" + "ansi-regex": "^6.0.1" }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/@eslint/eslintrc/node_modules/type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true, "engines": { - "node": ">=10" + "node": ">=12" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@eslint/js": { - "version": "8.38.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.38.0.tgz", - "integrity": "sha512-IoD2MfUnOV58ghIHCiil01PcohxjbYR/qCxsoC+xNgUwh1EY8jOOrYmu3d3a71+tJJ23uscEV4X2HJWMsPJu4g==", - "dev": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, - "node_modules/@humanwhocodes/config-array": { - "version": "0.11.8", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.8.tgz", - "integrity": "sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==", + "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==", "dev": true, + "license": "MIT", "dependencies": { - "@humanwhocodes/object-schema": "^1.2.1", - "debug": "^4.1.1", - "minimatch": "^3.0.5" + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" }, "engines": { - "node": ">=10.10.0" - } - }, - "node_modules/@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", - "dev": true, - "engines": { - "node": ">=12.22" + "node": ">=12" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/@humanwhocodes/object-schema": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", - "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", - "dev": true - }, "node_modules/@istanbuljs/load-nyc-config": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", "dev": true, + "license": "ISC", "dependencies": { "camelcase": "^5.3.1", "find-up": "^4.1.0", @@ -2641,11 +1815,22 @@ "node": ">=8" } }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "license": "MIT", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, "node_modules/@istanbuljs/load-nyc-config/node_modules/find-up": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "dev": true, + "license": "MIT", "dependencies": { "locate-path": "^5.0.0", "path-exists": "^4.0.0" @@ -2654,11 +1839,26 @@ "node": ">=8" } }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/js-yaml": { + "version": "3.14.2", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.2.tgz", + "integrity": "sha512-PMSmkqxr106Xa156c2M265Z+FTrPl+oxd/rgOQy2tijQeK5TxQ43psO1ZCwhVOSdnn+RzkzlRz/eY4BgJBYVpg==", + "dev": true, + "license": "MIT", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, "node_modules/@istanbuljs/load-nyc-config/node_modules/locate-path": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "dev": true, + "license": "MIT", "dependencies": { "p-locate": "^4.1.0" }, @@ -2671,6 +1871,7 @@ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dev": true, + "license": "MIT", "dependencies": { "p-try": "^2.0.0" }, @@ -2686,18 +1887,10 @@ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "dev": true, - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@istanbuljs/load-nyc-config/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, + "license": "MIT", + "dependencies": { + "p-limit": "^2.2.0" + }, "engines": { "node": ">=8" } @@ -2707,79 +1900,79 @@ "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", - "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "version": "0.3.13", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", + "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", "dev": true, + "license": "MIT", "dependencies": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" - }, - "engines": { - "node": ">=6.0.0" + "@jridgewell/sourcemap-codec": "^1.5.0", + "@jridgewell/trace-mapping": "^0.3.24" } }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", - "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", + "node_modules/@jridgewell/remapping": { + "version": "2.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz", + "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==", "dev": true, - "engines": { - "node": ">=6.0.0" + "license": "MIT", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" } }, - "node_modules/@jridgewell/set-array": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", - "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", "dev": true, + "license": "MIT", "engines": { "node": ">=6.0.0" } }, "node_modules/@jridgewell/source-map": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.3.tgz", - "integrity": "sha512-b+fsZXeLYi9fEULmfBrhxn4IrPlINf8fiNarzTof004v3lFdntdwa9PF7vFJqm3mg7s+ScJMxXaE3Acp1irZcg==", + "version": "0.3.11", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.11.tgz", + "integrity": "sha512-ZMp1V8ZFcPG5dIWnQLr3NSI1MiCU7UETdS/A0G8V/XWHvJv3ZsFqutJn1Y5RPmAPX6F3BiE397OqveU/9NCuIA==", "dev": true, + "license": "MIT", + "peer": true, "dependencies": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25" } }, "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 + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", + "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", + "dev": true, + "license": "MIT" }, "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.18", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz", - "integrity": "sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==", + "version": "0.3.31", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", + "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", "dev": true, + "license": "MIT", "dependencies": { - "@jridgewell/resolve-uri": "3.1.0", - "@jridgewell/sourcemap-codec": "1.4.14" + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" } }, - "node_modules/@jridgewell/trace-mapping/node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.14", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", - "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", - "dev": true - }, "node_modules/@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==", "dev": true, + "license": "MIT", "dependencies": { "@nodelib/fs.stat": "2.0.5", "run-parallel": "^1.1.9" @@ -2793,6 +1986,7 @@ "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", "dev": true, + "license": "MIT", "engines": { "node": ">= 8" } @@ -2802,6 +1996,7 @@ "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", "dev": true, + "license": "MIT", "dependencies": { "@nodelib/fs.scandir": "2.1.5", "fastq": "^1.6.0" @@ -2811,182 +2006,232 @@ } }, "node_modules/@octokit/auth-token": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-4.0.0.tgz", - "integrity": "sha512-tY/msAuJo6ARbK6SPIxZrPBms3xPbfwBrulZe0Wtr/DIY9lje2HeV1uoebShn6mx7SjCHif6EjMvoREj+gZ+SA==", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-5.1.2.tgz", + "integrity": "sha512-JcQDsBdg49Yky2w2ld20IHAlwr8d/d8N6NiOXbtuoPCqzbsiJgF633mVUw3x4mo0H5ypataQIX7SFu3yy44Mpw==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": ">= 18" } }, "node_modules/@octokit/core": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/@octokit/core/-/core-5.0.0.tgz", - "integrity": "sha512-YbAtMWIrbZ9FCXbLwT9wWB8TyLjq9mxpKdgB3dUNxQcIVTf9hJ70gRPwAcqGZdY6WdJPZ0I7jLaaNDCiloGN2A==", + "version": "6.1.6", + "resolved": "https://registry.npmjs.org/@octokit/core/-/core-6.1.6.tgz", + "integrity": "sha512-kIU8SLQkYWGp3pVKiYzA5OSaNF5EE03P/R8zEmmrG6XwOg5oBjXyQVVIauQ0dgau4zYhpZEhJrvIYt6oM+zZZA==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { - "@octokit/auth-token": "^4.0.0", - "@octokit/graphql": "^7.0.0", - "@octokit/request": "^8.0.2", - "@octokit/request-error": "^5.0.0", - "@octokit/types": "^11.0.0", - "before-after-hook": "^2.2.0", - "universal-user-agent": "^6.0.0" + "@octokit/auth-token": "^5.0.0", + "@octokit/graphql": "^8.2.2", + "@octokit/request": "^9.2.3", + "@octokit/request-error": "^6.1.8", + "@octokit/types": "^14.0.0", + "before-after-hook": "^3.0.2", + "universal-user-agent": "^7.0.0" }, "engines": { "node": ">= 18" } }, "node_modules/@octokit/endpoint": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-9.0.0.tgz", - "integrity": "sha512-szrQhiqJ88gghWY2Htt8MqUDO6++E/EIXqJ2ZEp5ma3uGS46o7LZAzSLt49myB7rT+Hfw5Y6gO3LmOxGzHijAQ==", + "version": "10.1.4", + "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-10.1.4.tgz", + "integrity": "sha512-OlYOlZIsfEVZm5HCSR8aSg02T2lbUWOsCQoPKfTXJwDzcHQBrVBGdGXb89dv2Kw2ToZaRtudp8O3ZIYoaOjKlA==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { - "@octokit/types": "^11.0.0", - "is-plain-object": "^5.0.0", - "universal-user-agent": "^6.0.0" + "@octokit/types": "^14.0.0", + "universal-user-agent": "^7.0.2" }, "engines": { "node": ">= 18" } }, - "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==", - "dev": true, - "peer": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/@octokit/graphql": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-7.0.1.tgz", - "integrity": "sha512-T5S3oZ1JOE58gom6MIcrgwZXzTaxRnxBso58xhozxHpOqSTgDS6YNeEUvZ/kRvXgPrRz/KHnZhtb7jUMRi9E6w==", + "version": "8.2.2", + "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-8.2.2.tgz", + "integrity": "sha512-Yi8hcoqsrXGdt0yObxbebHXFOiUA+2v3n53epuOg1QUgOB6c4XzvisBNVXJSl8RYA5KrDuSL2yq9Qmqe5N0ryA==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { - "@octokit/request": "^8.0.1", - "@octokit/types": "^11.0.0", - "universal-user-agent": "^6.0.0" + "@octokit/request": "^9.2.3", + "@octokit/types": "^14.0.0", + "universal-user-agent": "^7.0.0" }, "engines": { "node": ">= 18" } }, "node_modules/@octokit/openapi-types": { - "version": "18.0.0", - "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-18.0.0.tgz", - "integrity": "sha512-V8GImKs3TeQRxRtXFpG2wl19V7444NIOTDF24AWuIbmNaNYOQMWRbjcGDXV5B+0n887fgDcuMNOmlul+k+oJtw==", + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-25.1.0.tgz", + "integrity": "sha512-idsIggNXUKkk0+BExUn1dQ92sfysJrje03Q0bv0e+KPLrvyqZF8MnBpFz8UNfYDwB3Ie7Z0TByjWfzxt7vseaA==", "dev": true, + "license": "MIT", "peer": true }, "node_modules/@octokit/plugin-paginate-rest": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-8.0.0.tgz", - "integrity": "sha512-2xZ+baZWUg+qudVXnnvXz7qfrTmDeYPCzangBVq/1gXxii/OiS//4shJp9dnCCvj1x+JAm9ji1Egwm1BA47lPQ==", + "version": "11.6.0", + "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-11.6.0.tgz", + "integrity": "sha512-n5KPteiF7pWKgBIBJSk8qzoZWcUkza2O6A0za97pMGVrGfPdltxrfmfF5GucHYvHGZD8BdaZmmHGz5cX/3gdpw==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { - "@octokit/types": "^11.0.0" + "@octokit/types": "^13.10.0" }, "engines": { "node": ">= 18" }, "peerDependencies": { - "@octokit/core": ">=5" + "@octokit/core": ">=6" + } + }, + "node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/openapi-types": { + "version": "24.2.0", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-24.2.0.tgz", + "integrity": "sha512-9sIH3nSUttelJSXUrmGzl7QUBFul0/mB8HRYl3fOlgHbIWG+WnYDXU3v/2zMtAvuzZ/ed00Ei6on975FhBfzrg==", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types": { + "version": "13.10.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-13.10.0.tgz", + "integrity": "sha512-ifLaO34EbbPj0Xgro4G5lP5asESjwHracYJvVaPIyXMuiuXLlhic3S47cBdTb+jfODkTE5YtGCLt3Ay3+J97sA==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@octokit/openapi-types": "^24.2.0" } }, "node_modules/@octokit/plugin-retry": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/@octokit/plugin-retry/-/plugin-retry-6.0.0.tgz", - "integrity": "sha512-a1/A4A+PB1QoAHQfLJxGHhLfSAT03bR1jJz3GgQJZvty2ozawFWs93MiBQXO7SL2YbO7CIq0Goj4qLOBj8JeMQ==", + "version": "7.2.1", + "resolved": "https://registry.npmjs.org/@octokit/plugin-retry/-/plugin-retry-7.2.1.tgz", + "integrity": "sha512-wUc3gv0D6vNHpGxSaR3FlqJpTXGWgqmk607N9L3LvPL4QjaxDgX/1nY2mGpT37Khn+nlIXdljczkRnNdTTV3/A==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { - "@octokit/request-error": "^5.0.0", - "@octokit/types": "^11.0.0", + "@octokit/request-error": "^6.1.8", + "@octokit/types": "^14.0.0", "bottleneck": "^2.15.3" }, "engines": { "node": ">= 18" }, "peerDependencies": { - "@octokit/core": ">=5" + "@octokit/core": ">=6" } }, "node_modules/@octokit/plugin-throttling": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@octokit/plugin-throttling/-/plugin-throttling-7.0.0.tgz", - "integrity": "sha512-KL2k/d0uANc8XqP5S64YcNFCudR3F5AaKO39XWdUtlJIjT9Ni79ekWJ6Kj5xvAw87udkOMEPcVf9xEge2+ahew==", + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/@octokit/plugin-throttling/-/plugin-throttling-9.6.1.tgz", + "integrity": "sha512-bt3EBUkeKUzDQXRCcFrR9SWVqlLFRRqcCrr6uAorWt6NXTyjMKqcGrFmXqJy9NCbnKgiIZ2OXWq04theFc76Jg==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { - "@octokit/types": "^11.0.0", + "@octokit/types": "^13.7.0", "bottleneck": "^2.15.3" }, "engines": { "node": ">= 18" }, "peerDependencies": { - "@octokit/core": "^5.0.0" + "@octokit/core": "^6.1.3" + } + }, + "node_modules/@octokit/plugin-throttling/node_modules/@octokit/openapi-types": { + "version": "24.2.0", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-24.2.0.tgz", + "integrity": "sha512-9sIH3nSUttelJSXUrmGzl7QUBFul0/mB8HRYl3fOlgHbIWG+WnYDXU3v/2zMtAvuzZ/ed00Ei6on975FhBfzrg==", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/@octokit/plugin-throttling/node_modules/@octokit/types": { + "version": "13.10.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-13.10.0.tgz", + "integrity": "sha512-ifLaO34EbbPj0Xgro4G5lP5asESjwHracYJvVaPIyXMuiuXLlhic3S47cBdTb+jfODkTE5YtGCLt3Ay3+J97sA==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@octokit/openapi-types": "^24.2.0" } }, "node_modules/@octokit/request": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/@octokit/request/-/request-8.1.1.tgz", - "integrity": "sha512-8N+tdUz4aCqQmXl8FpHYfKG9GelDFd7XGVzyN8rc6WxVlYcfpHECnuRkgquzz+WzvHTK62co5di8gSXnzASZPQ==", + "version": "9.2.4", + "resolved": "https://registry.npmjs.org/@octokit/request/-/request-9.2.4.tgz", + "integrity": "sha512-q8ybdytBmxa6KogWlNa818r0k1wlqzNC+yNkcQDECHvQo8Vmstrg18JwqJHdJdUiHD2sjlwBgSm9kHkOKe2iyA==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { - "@octokit/endpoint": "^9.0.0", - "@octokit/request-error": "^5.0.0", - "@octokit/types": "^11.1.0", - "is-plain-object": "^5.0.0", - "universal-user-agent": "^6.0.0" + "@octokit/endpoint": "^10.1.4", + "@octokit/request-error": "^6.1.8", + "@octokit/types": "^14.0.0", + "fast-content-type-parse": "^2.0.0", + "universal-user-agent": "^7.0.2" }, "engines": { "node": ">= 18" } }, "node_modules/@octokit/request-error": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-5.0.0.tgz", - "integrity": "sha512-1ue0DH0Lif5iEqT52+Rf/hf0RmGO9NWFjrzmrkArpG9trFfDM/efx00BJHdLGuro4BR/gECxCU2Twf5OKrRFsQ==", + "version": "6.1.8", + "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-6.1.8.tgz", + "integrity": "sha512-WEi/R0Jmq+IJKydWlKDmryPcmdYSVjL3ekaiEL1L9eo1sUnqMJ+grqmC9cjk7CA7+b2/T397tO5d8YLOH3qYpQ==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { - "@octokit/types": "^11.0.0", - "deprecation": "^2.0.0", - "once": "^1.4.0" + "@octokit/types": "^14.0.0" }, "engines": { "node": ">= 18" } }, - "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==", + "node_modules/@octokit/types": { + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-14.1.0.tgz", + "integrity": "sha512-1y6DgTy8Jomcpu33N+p5w58l6xyt55Ar2I91RPiIA0xCJBXyUAhXCcmZaDWSANiha7R9a6qJJ2CRomGPZ6f46g==", "dev": true, + "license": "MIT", "peer": true, + "dependencies": { + "@octokit/openapi-types": "^25.1.0" + } + }, + "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==", + "dev": true, + "license": "MIT", + "optional": true, "engines": { - "node": ">=0.10.0" + "node": ">=14" } }, - "node_modules/@octokit/types": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/@octokit/types/-/types-11.1.0.tgz", - "integrity": "sha512-Fz0+7GyLm/bHt8fwEqgvRBWwIV1S6wRRyq+V6exRKLVWaKGsuy6H9QFYeBVDV7rK6fO3XwHgQOPxv+cLj2zpXQ==", + "node_modules/@pkgr/core": { + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/@pkgr/core/-/core-0.2.9.tgz", + "integrity": "sha512-QNqXyfVS2wm9hweSYD2O7F0G06uurj9kZ96TRQE5Y9hU7+tgdZwIkbAKc5Ocy1HxEY2kuDQa6cQ1WRs/O5LFKA==", "dev": true, - "peer": true, - "dependencies": { - "@octokit/openapi-types": "^18.0.0" + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/pkgr" } }, "node_modules/@pnpm/config.env-replace": { @@ -2994,6 +2239,7 @@ "resolved": "https://registry.npmjs.org/@pnpm/config.env-replace/-/config.env-replace-1.1.0.tgz", "integrity": "sha512-htyl8TWnKL7K/ESFa1oW2UB5lVDxuF5DpM7tBi6Hu2LNL3mWkIzNLG6N4zoCUP1lCKNxWy/3iu8mS8MvToGd6w==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": ">=12.22.0" @@ -3004,6 +2250,7 @@ "resolved": "https://registry.npmjs.org/@pnpm/network.ca-file/-/network.ca-file-1.0.2.tgz", "integrity": "sha512-YcPQ8a0jwYU9bTdJDpXjMi7Brhkr1mXsXrUJvjqM2mQDgkRiz8jFaQGOdaLxgjtUfQgZhKy/O3cG/YwmgKaxLA==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "graceful-fs": "4.2.10" @@ -3012,40 +2259,352 @@ "node": ">=12.22.0" } }, - "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==", + "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, + "license": "ISC", + "peer": true + }, + "node_modules/@pnpm/npm-conf": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@pnpm/npm-conf/-/npm-conf-2.3.1.tgz", + "integrity": "sha512-c83qWb22rNRuB0UaVCI0uRPNRr8Z0FWnEIvT47jiHAmOIUHbBOg5XvV7pM5x+rKn9HRpjxquDbXYSXr3fAKFcw==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@pnpm/config.env-replace": "^1.1.0", + "@pnpm/network.ca-file": "^1.0.1", + "config-chain": "^1.1.11" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.53.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.53.3.tgz", + "integrity": "sha512-mRSi+4cBjrRLoaal2PnqH82Wqyb+d3HsPUN/W+WslCXsZsyHa9ZeQQX/pQsZaVIWDkPcpV6jJ+3KLbTbgnwv8w==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.53.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.53.3.tgz", + "integrity": "sha512-CbDGaMpdE9sh7sCmTrTUyllhrg65t6SwhjlMJsLr+J8YjFuPmCEjbBSx4Z/e4SmDyH3aB5hGaJUP2ltV/vcs4w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.53.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.53.3.tgz", + "integrity": "sha512-Nr7SlQeqIBpOV6BHHGZgYBuSdanCXuw09hon14MGOLGmXAFYjx1wNvquVPmpZnl0tLjg25dEdr4IQ6GgyToCUA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.53.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.53.3.tgz", + "integrity": "sha512-DZ8N4CSNfl965CmPktJ8oBnfYr3F8dTTNBQkRlffnUarJ2ohudQD17sZBa097J8xhQ26AwhHJ5mvUyQW8ddTsQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-freebsd-arm64": { + "version": "4.53.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.53.3.tgz", + "integrity": "sha512-yMTrCrK92aGyi7GuDNtGn2sNW+Gdb4vErx4t3Gv/Tr+1zRb8ax4z8GWVRfr3Jw8zJWvpGHNpss3vVlbF58DZ4w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-freebsd-x64": { + "version": "4.53.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.53.3.tgz", + "integrity": "sha512-lMfF8X7QhdQzseM6XaX0vbno2m3hlyZFhwcndRMw8fbAGUGL3WFMBdK0hbUBIUYcEcMhVLr1SIamDeuLBnXS+Q==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.53.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.53.3.tgz", + "integrity": "sha512-k9oD15soC/Ln6d2Wv/JOFPzZXIAIFLp6B+i14KhxAfnq76ajt0EhYc5YPeX6W1xJkAdItcVT+JhKl1QZh44/qw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.53.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.53.3.tgz", + "integrity": "sha512-vTNlKq+N6CK/8UktsrFuc+/7NlEYVxgaEgRXVUVK258Z5ymho29skzW1sutgYjqNnquGwVUObAaxae8rZ6YMhg==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.53.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.53.3.tgz", + "integrity": "sha512-RGrFLWgMhSxRs/EWJMIFM1O5Mzuz3Xy3/mnxJp/5cVhZ2XoCAxJnmNsEyeMJtpK+wu0FJFWz+QF4mjCA7AUQ3w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.53.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.53.3.tgz", + "integrity": "sha512-kASyvfBEWYPEwe0Qv4nfu6pNkITLTb32p4yTgzFCocHnJLAHs+9LjUu9ONIhvfT/5lv4YS5muBHyuV84epBo/A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loong64-gnu": { + "version": "4.53.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.53.3.tgz", + "integrity": "sha512-JiuKcp2teLJwQ7vkJ95EwESWkNRFJD7TQgYmCnrPtlu50b4XvT5MOmurWNrCj3IFdyjBQ5p9vnrX4JM6I8OE7g==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-ppc64-gnu": { + "version": "4.53.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.53.3.tgz", + "integrity": "sha512-EoGSa8nd6d3T7zLuqdojxC20oBfNT8nexBbB/rkxgKj5T5vhpAQKKnD+h3UkoMuTyXkP5jTjK/ccNRmQrPNDuw==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.53.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.53.3.tgz", + "integrity": "sha512-4s+Wped2IHXHPnAEbIB0YWBv7SDohqxobiiPA1FIWZpX+w9o2i4LezzH/NkFUl8LRci/8udci6cLq+jJQlh+0g==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-musl": { + "version": "4.53.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.53.3.tgz", + "integrity": "sha512-68k2g7+0vs2u9CxDt5ktXTngsxOQkSEV/xBbwlqYcUrAVh6P9EgMZvFsnHy4SEiUl46Xf0IObWVbMvPrr2gw8A==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.53.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.53.3.tgz", + "integrity": "sha512-VYsFMpULAz87ZW6BVYw3I6sWesGpsP9OPcyKe8ofdg9LHxSbRMd7zrVrr5xi/3kMZtpWL/wC+UIJWJYVX5uTKg==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.53.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.53.3.tgz", + "integrity": "sha512-3EhFi1FU6YL8HTUJZ51imGJWEX//ajQPfqWLI3BQq4TlvHy4X0MOr5q3D2Zof/ka0d5FNdPwZXm3Yyib/UEd+w==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.53.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.53.3.tgz", + "integrity": "sha512-eoROhjcc6HbZCJr+tvVT8X4fW3/5g/WkGvvmwz/88sDtSJzO7r/blvoBDgISDiCjDRZmHpwud7h+6Q9JxFwq1Q==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-openharmony-arm64": { + "version": "4.53.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.53.3.tgz", + "integrity": "sha512-OueLAWgrNSPGAdUdIjSWXw+u/02BRTcnfw9PN41D2vq/JSEPnJnVuBgw18VkN8wcd4fjUs+jFHVM4t9+kBSNLw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.53.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.53.3.tgz", + "integrity": "sha512-GOFuKpsxR/whszbF/bzydebLiXIHSgsEUp6M0JI8dWvi+fFa1TD6YQa4aSZHtpmh2/uAlj/Dy+nmby3TJ3pkTw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.53.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.53.3.tgz", + "integrity": "sha512-iah+THLcBJdpfZ1TstDFbKNznlzoxa8fmnFYK4V67HvmuNYkVdAywJSoteUszvBQ9/HqN2+9AZghbajMsFT+oA==", + "cpu": [ + "ia32" + ], "dev": true, - "peer": true + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] }, - "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==", + "node_modules/@rollup/rollup-win32-x64-gnu": { + "version": "4.53.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.53.3.tgz", + "integrity": "sha512-J9QDiOIZlZLdcot5NXEepDkstocktoVjkaKUtqzgzpt2yWjGlbYiKyp05rWwk4nypbYUNoFAztEgixoLaSETkg==", + "cpu": [ + "x64" + ], "dev": true, - "peer": true, - "dependencies": { - "@pnpm/config.env-replace": "^1.1.0", - "@pnpm/network.ca-file": "^1.0.1", - "config-chain": "^1.1.11" - }, - "engines": { - "node": ">=12" - } + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] }, - "node_modules/@rtsao/scc": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@rtsao/scc/-/scc-1.1.0.tgz", - "integrity": "sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==", + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.53.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.53.3.tgz", + "integrity": "sha512-UhTd8u31dXadv0MopwGgNOBpUVROFKWVQgAg5N1ESyCz8AuBcMqm4AuTjrwgQKGDfoFuz02EuMRHQIw/frmYKQ==", + "cpu": [ + "x64" + ], "dev": true, - "license": "MIT" + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@sec-ant/readable-stream": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@sec-ant/readable-stream/-/readable-stream-0.4.1.tgz", + "integrity": "sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg==", + "dev": true, + "license": "MIT", + "peer": true }, "node_modules/@semantic-release/changelog": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/@semantic-release/changelog/-/changelog-6.0.3.tgz", "integrity": "sha512-dZuR5qByyfe3Y03TpmCvAxCyTnp7r5XwtHRf/8vD9EAn4ZWbavUX8adMtXYzE86EVh0gyLA7lm5yW4IV30XUag==", "dev": true, + "license": "MIT", "dependencies": { "@semantic-release/error": "^3.0.0", "aggregate-error": "^3.0.0", @@ -3064,15 +2623,17 @@ "resolved": "https://registry.npmjs.org/@semantic-release/error/-/error-3.0.0.tgz", "integrity": "sha512-5hiM4Un+tpl4cKw3lV4UgzJj+SmfNIDCLLw0TepzQxz9ZGV5ixnqkzIVF+3tp0ZHgcMKE+VNGHJjEeyFG2dcSw==", "dev": true, + "license": "MIT", "engines": { "node": ">=14.17" } }, "node_modules/@semantic-release/changelog/node_modules/fs-extra": { - "version": "11.1.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.1.1.tgz", - "integrity": "sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==", + "version": "11.3.2", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.2.tgz", + "integrity": "sha512-Xr9F6z6up6Ws+NjzMCZc6WXg2YFRlrLP9NQDO3VQrWrfiojdhS56TzueT88ze0uBdCTwEIhQ3ptnmKeWGFAe0A==", "dev": true, + "license": "MIT", "dependencies": { "graceful-fs": "^4.2.0", "jsonfile": "^6.0.1", @@ -3083,21 +2644,23 @@ } }, "node_modules/@semantic-release/commit-analyzer": { - "version": "10.0.4", - "resolved": "https://registry.npmjs.org/@semantic-release/commit-analyzer/-/commit-analyzer-10.0.4.tgz", - "integrity": "sha512-pFGn99fn8w4/MHE0otb2A/l5kxgOuxaaauIh4u30ncoTJuqWj4hXTgEJ03REqjS+w1R2vPftSsO26WC61yOcpw==", + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/@semantic-release/commit-analyzer/-/commit-analyzer-12.0.0.tgz", + "integrity": "sha512-qG+md5gdes+xa8zP7lIo1fWE17zRdO8yMCaxh9lyL65TQleoSv8WHHOqRURfghTytUh+NpkSyBprQ5hrkxOKVQ==", "dev": true, + "license": "MIT", + "peer": true, "dependencies": { - "conventional-changelog-angular": "^6.0.0", - "conventional-commits-filter": "^3.0.0", + "conventional-changelog-angular": "^7.0.0", + "conventional-commits-filter": "^4.0.0", "conventional-commits-parser": "^5.0.0", "debug": "^4.0.0", - "import-from": "^4.0.0", + "import-from-esm": "^1.0.3", "lodash-es": "^4.17.21", "micromatch": "^4.0.2" }, "engines": { - "node": ">=18" + "node": ">=20.8.1" }, "peerDependencies": { "semantic-release": ">=20.1.0" @@ -3108,6 +2671,7 @@ "resolved": "https://registry.npmjs.org/@semantic-release/error/-/error-4.0.0.tgz", "integrity": "sha512-mgdxrHTLOjOddRVYIYDo0fR3/v61GNN1YGkfbrjuIKg/uMgCd+Qzo3UAXJ+woLQQpos4pl5Esuw5A7AoNlzjUQ==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": ">=18" @@ -3118,6 +2682,7 @@ "resolved": "https://registry.npmjs.org/@semantic-release/git/-/git-10.0.1.tgz", "integrity": "sha512-eWrx5KguUcU2wUPaO6sfvZI0wPafUKAMNC18aXY4EnNcrZL86dEmpNVnC9uMpGZkmZJ9EfCVJBQx4pV4EMGT1w==", "dev": true, + "license": "MIT", "dependencies": { "@semantic-release/error": "^3.0.0", "aggregate-error": "^3.0.0", @@ -3140,6 +2705,7 @@ "resolved": "https://registry.npmjs.org/@semantic-release/error/-/error-3.0.0.tgz", "integrity": "sha512-5hiM4Un+tpl4cKw3lV4UgzJj+SmfNIDCLLw0TepzQxz9ZGV5ixnqkzIVF+3tp0ZHgcMKE+VNGHJjEeyFG2dcSw==", "dev": true, + "license": "MIT", "engines": { "node": ">=14.17" } @@ -3149,6 +2715,7 @@ "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", "dev": true, + "license": "MIT", "dependencies": { "cross-spawn": "^7.0.3", "get-stream": "^6.0.0", @@ -3172,6 +2739,7 @@ "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", "dev": true, + "license": "Apache-2.0", "engines": { "node": ">=10.17.0" } @@ -3181,6 +2749,7 @@ "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", "dev": true, + "license": "MIT", "dependencies": { "path-key": "^3.0.0" }, @@ -3193,6 +2762,7 @@ "resolved": "https://registry.npmjs.org/p-reduce/-/p-reduce-2.1.0.tgz", "integrity": "sha512-2USApvnsutq8uoxZBGbbWM0JIYLiEMJ9RlaN7fAzVNb9OZN0SHjjTTfIcb667XynS5Y1VhwDJVDa72TnPzAYWw==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } @@ -3202,82 +2772,87 @@ "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/@semantic-release/github": { - "version": "9.0.4", - "resolved": "https://registry.npmjs.org/@semantic-release/github/-/github-9.0.4.tgz", - "integrity": "sha512-kQCGFAsBErvCR6hzNuzu63cj4erQN2krm9zQlg8vl4j5X0mL0d/Ras0wmL5Gkr1TuSS2lweME7M4J5zvtDDDSA==", + "version": "10.3.5", + "resolved": "https://registry.npmjs.org/@semantic-release/github/-/github-10.3.5.tgz", + "integrity": "sha512-svvRglGmvqvxjmDgkXhrjf0lC88oZowFhOfifTldbgX9Dzj0inEtMLaC+3/MkDEmxmaQjWmF5Q/0CMIvPNSVdQ==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { - "@octokit/core": "^5.0.0", - "@octokit/plugin-paginate-rest": "^8.0.0", - "@octokit/plugin-retry": "^6.0.0", - "@octokit/plugin-throttling": "^7.0.0", + "@octokit/core": "^6.0.0", + "@octokit/plugin-paginate-rest": "^11.0.0", + "@octokit/plugin-retry": "^7.0.0", + "@octokit/plugin-throttling": "^9.0.0", "@semantic-release/error": "^4.0.0", - "aggregate-error": "^4.0.1", + "aggregate-error": "^5.0.0", "debug": "^4.3.4", "dir-glob": "^3.0.1", - "globby": "^13.1.4", + "globby": "^14.0.0", "http-proxy-agent": "^7.0.0", "https-proxy-agent": "^7.0.0", - "issue-parser": "^6.0.0", + "issue-parser": "^7.0.0", "lodash-es": "^4.17.21", - "mime": "^3.0.0", - "p-filter": "^3.0.0", + "mime": "^4.0.0", + "p-filter": "^4.0.0", "url-join": "^5.0.0" }, "engines": { - "node": ">=18" + "node": ">=20.8.1" }, "peerDependencies": { "semantic-release": ">=20.1.0" } }, - "node_modules/@semantic-release/github/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==", + "node_modules/@semantic-release/github/node_modules/@sindresorhus/merge-streams": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-2.3.0.tgz", + "integrity": "sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==", "dev": true, + "license": "MIT", "peer": true, - "dependencies": { - "debug": "^4.3.4" - }, "engines": { - "node": ">= 14" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/@semantic-release/github/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==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-5.0.0.tgz", + "integrity": "sha512-gOsf2YwSlleG6IjRYG2A7k0HmBMEo6qVNk9Bp/EaLgAJT5ngH6PXbqa4ItvnEwCm/velL5jAnQgsHsWnjhGmvw==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { - "clean-stack": "^4.0.0", + "clean-stack": "^5.2.0", "indent-string": "^5.0.0" }, "engines": { - "node": ">=12" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/@semantic-release/github/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==", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-5.3.0.tgz", + "integrity": "sha512-9ngPTOhYGQqNVSfeJkYXHmF7AGWp4/nN5D/QqNQs3Dvxd1Kk/WpjHfNujKHYUQ/5CoGyOyFNoWSPk5afzP0QVg==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "escape-string-regexp": "5.0.0" }, "engines": { - "node": ">=12" + "node": ">=14.16" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -3288,6 +2863,7 @@ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": ">=12" @@ -3297,51 +2873,36 @@ } }, "node_modules/@semantic-release/github/node_modules/globby": { - "version": "13.2.2", - "resolved": "https://registry.npmjs.org/globby/-/globby-13.2.2.tgz", - "integrity": "sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==", + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-14.1.0.tgz", + "integrity": "sha512-0Ia46fDOaT7k4og1PDW4YbodWWr3scS2vAr2lTbsplOt2WkKp0vQbkI9wKis/T5LV/dqPjO3bpS/z6GTJB82LA==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { - "dir-glob": "^3.0.1", - "fast-glob": "^3.3.0", - "ignore": "^5.2.4", - "merge2": "^1.4.1", - "slash": "^4.0.0" + "@sindresorhus/merge-streams": "^2.1.0", + "fast-glob": "^3.3.3", + "ignore": "^7.0.3", + "path-type": "^6.0.0", + "slash": "^5.1.0", + "unicorn-magic": "^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/@semantic-release/github/node_modules/http-proxy-agent": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.0.tgz", - "integrity": "sha512-+ZT+iBxVUQ1asugqnD6oWoRiS25AkjNfG085dKJGtGxkdwLQrMKU5wJr2bOOFAXzKcTuqq+7fZlTMgG3SRfIYQ==", - "dev": true, - "peer": true, - "dependencies": { - "agent-base": "^7.1.0", - "debug": "^4.3.4" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/@semantic-release/github/node_modules/https-proxy-agent": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.1.tgz", - "integrity": "sha512-Eun8zV0kcYS1g19r78osiQLEFIRspRUDd9tIfBCTBPBeMieF/EsJNL8VI3xOIdYRDEkjQnqOYPsZ2DsWsVsFwQ==", + "node_modules/@semantic-release/github/node_modules/ignore": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz", + "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==", "dev": true, + "license": "MIT", "peer": true, - "dependencies": { - "agent-base": "^7.0.2", - "debug": "4" - }, "engines": { - "node": ">= 14" + "node": ">= 4" } }, "node_modules/@semantic-release/github/node_modules/indent-string": { @@ -3349,6 +2910,7 @@ "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-5.0.0.tgz", "integrity": "sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": ">=12" @@ -3357,75 +2919,93 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/@semantic-release/github/node_modules/path-type": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-6.0.0.tgz", + "integrity": "sha512-Vj7sf++t5pBD637NSfkxpHSMfWaeig5+DKWLhcqIYx6mWQz5hdJTGDVMQiJcw1ZYkhs7AazKDGpRVji1LJCZUQ==", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/@semantic-release/github/node_modules/slash": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", - "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-5.1.0.tgz", + "integrity": "sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==", "dev": true, + "license": "MIT", "peer": true, "engines": { - "node": ">=12" + "node": ">=14.16" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/@semantic-release/npm": { - "version": "10.0.5", - "resolved": "https://registry.npmjs.org/@semantic-release/npm/-/npm-10.0.5.tgz", - "integrity": "sha512-cJnQ2M5pxJRwZEkb0A/+U3TG4UNmjrrLwV2PxJKljn5OPT0yJB8GzGgWbbKACayvxrT06YdTa4Amtq/piJcOIA==", + "version": "12.0.2", + "resolved": "https://registry.npmjs.org/@semantic-release/npm/-/npm-12.0.2.tgz", + "integrity": "sha512-+M9/Lb35IgnlUO6OSJ40Ie+hUsZLuph2fqXC/qrKn0fMvUU/jiCjpoL6zEm69vzcmaZJ8yNKtMBEKHWN49WBbQ==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "@semantic-release/error": "^4.0.0", - "aggregate-error": "^4.0.1", - "execa": "^8.0.0", + "aggregate-error": "^5.0.0", + "execa": "^9.0.0", "fs-extra": "^11.0.0", "lodash-es": "^4.17.21", "nerf-dart": "^1.0.0", "normalize-url": "^8.0.0", - "npm": "^9.5.0", + "npm": "^10.9.3", "rc": "^1.2.8", - "read-pkg": "^8.0.0", + "read-pkg": "^9.0.0", "registry-auth-token": "^5.0.0", "semver": "^7.1.2", "tempy": "^3.0.0" }, "engines": { - "node": ">=18" + "node": ">=20.8.1" }, "peerDependencies": { "semantic-release": ">=20.1.0" } }, "node_modules/@semantic-release/npm/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==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-5.0.0.tgz", + "integrity": "sha512-gOsf2YwSlleG6IjRYG2A7k0HmBMEo6qVNk9Bp/EaLgAJT5ngH6PXbqa4ItvnEwCm/velL5jAnQgsHsWnjhGmvw==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { - "clean-stack": "^4.0.0", + "clean-stack": "^5.2.0", "indent-string": "^5.0.0" }, "engines": { - "node": ">=12" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/@semantic-release/npm/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==", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-5.3.0.tgz", + "integrity": "sha512-9ngPTOhYGQqNVSfeJkYXHmF7AGWp4/nN5D/QqNQs3Dvxd1Kk/WpjHfNujKHYUQ/5CoGyOyFNoWSPk5afzP0QVg==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "escape-string-regexp": "5.0.0" }, "engines": { - "node": ">=12" + "node": ">=14.16" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -3436,6 +3016,7 @@ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": ">=12" @@ -3445,10 +3026,11 @@ } }, "node_modules/@semantic-release/npm/node_modules/fs-extra": { - "version": "11.1.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.1.1.tgz", - "integrity": "sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==", + "version": "11.3.2", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.2.tgz", + "integrity": "sha512-Xr9F6z6up6Ws+NjzMCZc6WXg2YFRlrLP9NQDO3VQrWrfiojdhS56TzueT88ze0uBdCTwEIhQ3ptnmKeWGFAe0A==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "graceful-fs": "^4.2.0", @@ -3464,6 +3046,7 @@ "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-5.0.0.tgz", "integrity": "sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": ">=12" @@ -3472,28 +3055,13 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@semantic-release/npm/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==", - "dev": true, - "peer": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/@semantic-release/npm/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==", + "version": "7.7.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", + "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", "dev": true, + "license": "ISC", "peer": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, "bin": { "semver": "bin/semver.js" }, @@ -3501,51 +3069,39 @@ "node": ">=10" } }, - "node_modules/@semantic-release/npm/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true, - "peer": true - }, "node_modules/@semantic-release/release-notes-generator": { - "version": "11.0.7", - "resolved": "https://registry.npmjs.org/@semantic-release/release-notes-generator/-/release-notes-generator-11.0.7.tgz", - "integrity": "sha512-T09QB9ImmNx7Q6hY6YnnEbw/rEJ6a+22LBxfZq+pSAXg/OL/k0siwEm5cK4k1f9dE2Z2mPIjJKKohzUm0jbxcQ==", + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/@semantic-release/release-notes-generator/-/release-notes-generator-13.0.0.tgz", + "integrity": "sha512-LEeZWb340keMYuREMyxrODPXJJ0JOL8D/mCl74B4LdzbxhtXV2LrPN2QBEcGJrlQhoqLO0RhxQb6masHytKw+A==", "dev": true, + "license": "MIT", + "peer": true, "dependencies": { - "conventional-changelog-angular": "^6.0.0", - "conventional-changelog-writer": "^6.0.0", + "conventional-changelog-angular": "^7.0.0", + "conventional-changelog-writer": "^7.0.0", "conventional-commits-filter": "^4.0.0", "conventional-commits-parser": "^5.0.0", "debug": "^4.0.0", "get-stream": "^7.0.0", - "import-from": "^4.0.0", + "import-from-esm": "^1.0.3", "into-stream": "^7.0.0", "lodash-es": "^4.17.21", - "read-pkg-up": "^10.0.0" + "read-pkg-up": "^11.0.0" }, "engines": { - "node": ">=18" + "node": ">=20.8.1" }, "peerDependencies": { "semantic-release": ">=20.1.0" } }, - "node_modules/@semantic-release/release-notes-generator/node_modules/conventional-commits-filter": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/conventional-commits-filter/-/conventional-commits-filter-4.0.0.tgz", - "integrity": "sha512-rnpnibcSOdFcdclpFwWa+pPlZJhXE7l+XK04zxhbWrhgpR96h33QLz8hITTXbcYICxVr3HZFtbtUAQ+4LdBo9A==", - "dev": true, - "engines": { - "node": ">=16" - } - }, "node_modules/@semantic-release/release-notes-generator/node_modules/get-stream": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-7.0.1.tgz", "integrity": "sha512-3M8C1EOFN6r8AMUhwUAACIoXZJEOufDU5+0gFFN5uNs6XYOralD2Pqkl7m046va6x77FwposWXbAhPPIOus7mQ==", "dev": true, + "license": "MIT", + "peer": true, "engines": { "node": ">=16" }, @@ -3553,212 +3109,249 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/@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, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/is?sponsor=1" + } + }, + "node_modules/@sindresorhus/merge-streams": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-4.0.0.tgz", + "integrity": "sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ==", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/@sinonjs/commons": { "version": "1.8.6", "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.6.tgz", "integrity": "sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "type-detect": "4.0.8" } }, "node_modules/@sinonjs/fake-timers": { - "version": "9.1.2", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-9.1.2.tgz", - "integrity": "sha512-BPS4ynJW/o92PUR4wgriz2Ud5gpST5vz6GQfMixEDK0Z8ZCUv2M7SkBLykH56T++Xs+8ln9zTGbOvNGIe02/jw==", + "version": "13.0.5", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-13.0.5.tgz", + "integrity": "sha512-36/hTbH2uaWuGVERyC6da9YwGWnzUZXuPro/F2LfsdOsLnCojz/iSH8MxUt/FD2S5XBSVPhmArFUXcpCQ2Hkiw==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { - "@sinonjs/commons": "^1.7.0" + "@sinonjs/commons": "^3.0.1" + } + }, + "node_modules/@sinonjs/fake-timers/node_modules/@sinonjs/commons": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz", + "integrity": "sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "type-detect": "4.0.8" } }, "node_modules/@sinonjs/samsam": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-7.0.1.tgz", - "integrity": "sha512-zsAk2Jkiq89mhZovB2LLOdTCxJF4hqqTToGP0ASWlhp4I1hqOjcfmZGafXntCN7MDC6yySH0mFHrYtHceOeLmw==", + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-8.0.3.tgz", + "integrity": "sha512-hw6HbX+GyVZzmaYNh82Ecj1vdGZrqVIn/keDTg63IgAwiQPO+xCz99uG6Woqgb4tM0mUiFENKZ4cqd7IX94AXQ==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { - "@sinonjs/commons": "^2.0.0", - "lodash.get": "^4.4.2", - "type-detect": "^4.0.8" + "@sinonjs/commons": "^3.0.1", + "type-detect": "^4.1.0" } }, "node_modules/@sinonjs/samsam/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==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz", + "integrity": "sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "type-detect": "4.0.8" } }, - "node_modules/@sinonjs/text-encoding": { - "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==", - "dev": true - }, - "node_modules/@ts-morph/common": { - "version": "0.16.0", - "resolved": "https://registry.npmjs.org/@ts-morph/common/-/common-0.16.0.tgz", - "integrity": "sha512-SgJpzkTgZKLKqQniCjLaE3c2L2sdL7UShvmTmPBejAKd2OKV/yfMpQ2IWpAuA+VY5wy7PkSUaEObIqEK6afFuw==", + "node_modules/@sinonjs/samsam/node_modules/@sinonjs/commons/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, - "dependencies": { - "fast-glob": "^3.2.11", - "minimatch": "^5.1.0", - "mkdirp": "^1.0.4", - "path-browserify": "^1.0.1" + "license": "MIT", + "engines": { + "node": ">=4" } }, - "node_modules/@ts-morph/common/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/@sinonjs/samsam/node_modules/type-detect": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.1.0.tgz", + "integrity": "sha512-Acylog8/luQ8L7il+geoSxhEkazvkslg7PSNKOX59mbB9cOveP5aq9h74Y7YU8yDpJwetzQQrfIwtf4Wp4LKcw==", "dev": true, - "dependencies": { - "balanced-match": "^1.0.0" + "license": "MIT", + "engines": { + "node": ">=4" } }, - "node_modules/@ts-morph/common/node_modules/minimatch": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", - "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "node_modules/@teppeis/multimaps": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@teppeis/multimaps/-/multimaps-3.0.0.tgz", + "integrity": "sha512-ID7fosbc50TbT0MK0EG12O+gAP3W3Aa/Pz4DaTtQtEvlc9Odaqi0de+xuZ7Li2GtK4HzEX7IuRWS/JmZLksR3Q==", "dev": true, - "dependencies": { - "brace-expansion": "^2.0.1" - }, + "license": "MIT", "engines": { - "node": ">=10" + "node": ">=14" } }, "node_modules/@tsconfig/node10": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz", - "integrity": "sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==", - "dev": true + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.12.tgz", + "integrity": "sha512-UCYBaeFvM11aU2y3YPZ//O5Rhj+xKyzy7mvcIoAjASbigy8mHMryP5cK7dgjlz2hWxh1g5pLw084E0a/wlUSFQ==", + "dev": true, + "license": "MIT" }, "node_modules/@tsconfig/node12": { "version": "1.0.11", "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@tsconfig/node14": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@tsconfig/node16": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.3.tgz", - "integrity": "sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==", - "dev": true + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz", + "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==", + "dev": true, + "license": "MIT" }, "node_modules/@types/eslint": { - "version": "8.37.0", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.37.0.tgz", - "integrity": "sha512-Piet7dG2JBuDIfohBngQ3rCt7MgO9xCO4xIMKxBThCq5PNRB91IjlJ10eJVwfoNtvTErmxLzwBZ7rHZtbOMmFQ==", + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-9.6.1.tgz", + "integrity": "sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==", "dev": true, + "license": "MIT", + "peer": true, "dependencies": { "@types/estree": "*", "@types/json-schema": "*" } }, "node_modules/@types/eslint-scope": { - "version": "3.7.4", - "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz", - "integrity": "sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==", + "version": "3.7.7", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz", + "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==", "dev": true, + "license": "MIT", + "peer": true, "dependencies": { "@types/eslint": "*", "@types/estree": "*" } }, "node_modules/@types/estree": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.0.tgz", - "integrity": "sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ==", - "dev": true + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", + "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", + "dev": true, + "license": "MIT" }, "node_modules/@types/json-schema": { - "version": "7.0.11", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", - "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", - "dev": true - }, - "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==", + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", "dev": true, "license": "MIT" }, "node_modules/@types/mdast": { - "version": "3.0.12", - "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.12.tgz", - "integrity": "sha512-DT+iNIRNX884cx0/Q1ja7NyUPpZuv0KPyL5rGNxm1WC1OtHstl7n4Jb7nk+xacNShQMbczJjt8uFzznpp6kYBg==", + "version": "3.0.15", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.15.tgz", + "integrity": "sha512-LnwD+mUEfxWMa1QpDraczIn6k0Ee3SMicuYSSzS6ZYl2gKS09EClnJYGd8Du6rfc5r/GZEk5o1mRb8TaTj03sQ==", "dev": true, + "license": "MIT", "dependencies": { "@types/unist": "^2" } }, - "node_modules/@types/minimist": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.2.tgz", - "integrity": "sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==", - "dev": true - }, "node_modules/@types/node": { - "version": "18.15.11", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz", - "integrity": "sha512-E5Kwq2n4SbMzQOn6wnmBjuK9ouqlURrcZDVfbo9ftDDTFt3nk7ZKK4GMOzoYgnpQJKcxwQw+lGaBvvlMo0qN/Q==", - "dev": true + "version": "24.10.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-24.10.1.tgz", + "integrity": "sha512-GNWcUTRBgIRJD5zj+Tq0fKOJ5XZajIiBroOF0yvj2bSU1WvNdYS/dn9UxwsujGW4JX06dnHyjV2y9rRaybH0iQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~7.16.0" + } }, "node_modules/@types/normalize-package-data": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz", - "integrity": "sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==", - "dev": true - }, - "node_modules/@types/semver": { - "version": "7.3.13", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.3.13.tgz", - "integrity": "sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==", - "dev": true + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz", + "integrity": "sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==", + "dev": true, + "license": "MIT" }, "node_modules/@types/unist": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.7.tgz", - "integrity": "sha512-cputDpIbFgLUaGQn6Vqg3/YsJwxUwHLO13v3i5ouxT4lat0khip9AEWxtERujXV9wxIB1EyF97BSJFt6vpdI8g==", - "dev": true + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.11.tgz", + "integrity": "sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/uuid": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-10.0.0.tgz", + "integrity": "sha512-7gqG38EyHgyP1S+7+xomFtL+ZNHcKv6DwNaCZmJmo1vgMugyF3TCnXVg4t1uk89mLNwnLtnY3TpOpCOyp1/xHQ==", + "dev": true, + "license": "MIT" }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "5.58.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.58.0.tgz", - "integrity": "sha512-vxHvLhH0qgBd3/tW6/VccptSfc8FxPQIkmNTVLWcCOVqSBvqpnKkBTYrhcGlXfSnd78azwe+PsjYFj0X34/njA==", + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.18.0.tgz", + "integrity": "sha512-94EQTWZ40mzBc42ATNIBimBEDltSJ9RQHCC8vc/PDbxi4k8dVwUAv4o98dk50M1zB+JGFxp43FP7f8+FP8R6Sw==", "dev": true, + "license": "MIT", "dependencies": { - "@eslint-community/regexpp": "^4.4.0", - "@typescript-eslint/scope-manager": "5.58.0", - "@typescript-eslint/type-utils": "5.58.0", - "@typescript-eslint/utils": "5.58.0", - "debug": "^4.3.4", - "grapheme-splitter": "^1.0.4", - "ignore": "^5.2.0", - "natural-compare-lite": "^1.4.0", - "semver": "^7.3.7", - "tsutils": "^3.21.0" + "@eslint-community/regexpp": "^4.10.0", + "@typescript-eslint/scope-manager": "7.18.0", + "@typescript-eslint/type-utils": "7.18.0", + "@typescript-eslint/utils": "7.18.0", + "@typescript-eslint/visitor-keys": "7.18.0", + "graphemer": "^1.4.0", + "ignore": "^5.3.1", + "natural-compare": "^1.4.0", + "ts-api-utils": "^1.3.0" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^18.18.0 || >=20.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "@typescript-eslint/parser": "^5.0.0", - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + "@typescript-eslint/parser": "^7.0.0", + "eslint": "^8.56.0" }, "peerDependenciesMeta": { "typescript": { @@ -3766,59 +3359,28 @@ } } }, - "node_modules/@typescript-eslint/eslint-plugin/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==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@typescript-eslint/eslint-plugin/node_modules/semver": { - "version": "7.4.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.4.0.tgz", - "integrity": "sha512-RgOxM8Mw+7Zus0+zcLEUn8+JfoLpj/huFTItQy2hsM4khuC1HYRDp0cU482Ewn/Fcy6bCjufD8vAj7voC66KQw==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@typescript-eslint/eslint-plugin/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, "node_modules/@typescript-eslint/parser": { - "version": "5.58.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.58.0.tgz", - "integrity": "sha512-ixaM3gRtlfrKzP8N6lRhBbjTow1t6ztfBvQNGuRM8qH1bjFFXIJ35XY+FC0RRBKn3C6cT+7VW1y8tNm7DwPHDQ==", + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.18.0.tgz", + "integrity": "sha512-4Z+L8I2OqhZV8qA132M4wNL30ypZGYOQVBfMgxDH/K5UX0PNqTu1c6za9ST5r9+tavvHiTWmBnKzpCJ/GlVFtg==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { - "@typescript-eslint/scope-manager": "5.58.0", - "@typescript-eslint/types": "5.58.0", - "@typescript-eslint/typescript-estree": "5.58.0", + "@typescript-eslint/scope-manager": "7.18.0", + "@typescript-eslint/types": "7.18.0", + "@typescript-eslint/typescript-estree": "7.18.0", + "@typescript-eslint/visitor-keys": "7.18.0", "debug": "^4.3.4" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^18.18.0 || >=20.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + "eslint": "^8.56.0" }, "peerDependenciesMeta": { "typescript": { @@ -3827,16 +3389,17 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "5.58.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.58.0.tgz", - "integrity": "sha512-b+w8ypN5CFvrXWQb9Ow9T4/6LC2MikNf1viLkYTiTbkQl46CnR69w7lajz1icW0TBsYmlpg+mRzFJ4LEJ8X9NA==", + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.18.0.tgz", + "integrity": "sha512-jjhdIE/FPF2B7Z1uzc6i3oWKbGcHb87Qw7AWj6jmEqNOfDFbJWtjt/XfwCpvNkpGWlcJaog5vTR+VV8+w9JflA==", "dev": true, + "license": "MIT", "dependencies": { - "@typescript-eslint/types": "5.58.0", - "@typescript-eslint/visitor-keys": "5.58.0" + "@typescript-eslint/types": "7.18.0", + "@typescript-eslint/visitor-keys": "7.18.0" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^18.18.0 || >=20.0.0" }, "funding": { "type": "opencollective", @@ -3844,25 +3407,26 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "5.58.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.58.0.tgz", - "integrity": "sha512-FF5vP/SKAFJ+LmR9PENql7fQVVgGDOS+dq3j+cKl9iW/9VuZC/8CFmzIP0DLKXfWKpRHawJiG70rVH+xZZbp8w==", + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.18.0.tgz", + "integrity": "sha512-XL0FJXuCLaDuX2sYqZUUSOJ2sG5/i1AAze+axqmLnSkNEVMVYLF+cbwlB2w8D1tinFuSikHmFta+P+HOofrLeA==", "dev": true, + "license": "MIT", "dependencies": { - "@typescript-eslint/typescript-estree": "5.58.0", - "@typescript-eslint/utils": "5.58.0", + "@typescript-eslint/typescript-estree": "7.18.0", + "@typescript-eslint/utils": "7.18.0", "debug": "^4.3.4", - "tsutils": "^3.21.0" + "ts-api-utils": "^1.3.0" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^18.18.0 || >=20.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "eslint": "*" + "eslint": "^8.56.0" }, "peerDependenciesMeta": { "typescript": { @@ -3871,12 +3435,13 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "5.58.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.58.0.tgz", - "integrity": "sha512-JYV4eITHPzVQMnHZcYJXl2ZloC7thuUHrcUmxtzvItyKPvQ50kb9QXBkgNAt90OYMqwaodQh2kHutWZl1fc+1g==", + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.18.0.tgz", + "integrity": "sha512-iZqi+Ds1y4EDYUtlOOC+aUmxnE9xS/yCigkjA7XpTKV6nCBd3Hp/PRGGmdwnfkV2ThMyYldP1wRpm/id99spTQ==", "dev": true, + "license": "MIT", "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^18.18.0 || >=20.0.0" }, "funding": { "type": "opencollective", @@ -3884,21 +3449,23 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "5.58.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.58.0.tgz", - "integrity": "sha512-cRACvGTodA+UxnYM2uwA2KCwRL7VAzo45syNysqlMyNyjw0Z35Icc9ihPJZjIYuA5bXJYiJ2YGUB59BqlOZT1Q==", + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.18.0.tgz", + "integrity": "sha512-aP1v/BSPnnyhMHts8cf1qQ6Q1IFwwRvAQGRvBFkWlo3/lH29OXA3Pts+c10nxRxIBrDnoMqzhgdwVe5f2D6OzA==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { - "@typescript-eslint/types": "5.58.0", - "@typescript-eslint/visitor-keys": "5.58.0", + "@typescript-eslint/types": "7.18.0", + "@typescript-eslint/visitor-keys": "7.18.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", - "semver": "^7.3.7", - "tsutils": "^3.21.0" + "minimatch": "^9.0.4", + "semver": "^7.6.0", + "ts-api-utils": "^1.3.0" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^18.18.0 || >=20.0.0" }, "funding": { "type": "opencollective", @@ -3910,26 +3477,38 @@ } } }, - "node_modules/@typescript-eslint/typescript-estree/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/@typescript-eslint/typescript-estree/node_modules/brace-expansion": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", "dev": true, + "license": "MIT", "dependencies": { - "yallist": "^4.0.0" + "balanced-match": "^1.0.0" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" }, "engines": { - "node": ">=10" + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { - "version": "7.4.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.4.0.tgz", - "integrity": "sha512-RgOxM8Mw+7Zus0+zcLEUn8+JfoLpj/huFTItQy2hsM4khuC1HYRDp0cU482Ewn/Fcy6bCjufD8vAj7voC66KQw==", + "version": "7.7.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", + "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, + "license": "ISC", "bin": { "semver": "bin/semver.js" }, @@ -3937,287 +3516,253 @@ "node": ">=10" } }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, "node_modules/@typescript-eslint/utils": { - "version": "5.58.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.58.0.tgz", - "integrity": "sha512-gAmLOTFXMXOC+zP1fsqm3VceKSBQJNzV385Ok3+yzlavNHZoedajjS4UyS21gabJYcobuigQPs/z71A9MdJFqQ==", + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.18.0.tgz", + "integrity": "sha512-kK0/rNa2j74XuHVcoCZxdFBMF+aq/vH83CXAOHieC+2Gis4mF8jJXT5eAfyD3K0sAxtPuwxaIOIOvhwzVDt/kw==", "dev": true, + "license": "MIT", "dependencies": { - "@eslint-community/eslint-utils": "^4.2.0", - "@types/json-schema": "^7.0.9", - "@types/semver": "^7.3.12", - "@typescript-eslint/scope-manager": "5.58.0", - "@typescript-eslint/types": "5.58.0", - "@typescript-eslint/typescript-estree": "5.58.0", - "eslint-scope": "^5.1.1", - "semver": "^7.3.7" + "@eslint-community/eslint-utils": "^4.4.0", + "@typescript-eslint/scope-manager": "7.18.0", + "@typescript-eslint/types": "7.18.0", + "@typescript-eslint/typescript-estree": "7.18.0" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^18.18.0 || >=20.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/@typescript-eslint/utils/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==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@typescript-eslint/utils/node_modules/semver": { - "version": "7.4.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.4.0.tgz", - "integrity": "sha512-RgOxM8Mw+7Zus0+zcLEUn8+JfoLpj/huFTItQy2hsM4khuC1HYRDp0cU482Ewn/Fcy6bCjufD8vAj7voC66KQw==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" + "eslint": "^8.56.0" } }, - "node_modules/@typescript-eslint/utils/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "5.58.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.58.0.tgz", - "integrity": "sha512-/fBraTlPj0jwdyTwLyrRTxv/3lnU2H96pNTVM6z3esTWLtA5MZ9ghSMJ7Rb+TtUAdtEw9EyJzJ0EydIMKxQ9gA==", + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.18.0.tgz", + "integrity": "sha512-cDF0/Gf81QpY3xYyJKDV14Zwdmid5+uuENhjH2EqFaF0ni+yAyq/LzMaIJdhNJXZI7uLzwIlA+V7oWoyn6Curg==", "dev": true, + "license": "MIT", "dependencies": { - "@typescript-eslint/types": "5.58.0", - "eslint-visitor-keys": "^3.3.0" + "@typescript-eslint/types": "7.18.0", + "eslint-visitor-keys": "^3.4.3" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^18.18.0 || >=20.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" } }, + "node_modules/@ungap/structured-clone": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.0.tgz", + "integrity": "sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==", + "dev": true, + "license": "ISC", + "peer": true + }, "node_modules/@webassemblyjs/ast": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz", - "integrity": "sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.14.1.tgz", + "integrity": "sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==", "dev": true, + "license": "MIT", + "peer": true, "dependencies": { - "@webassemblyjs/helper-numbers": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1" + "@webassemblyjs/helper-numbers": "1.13.2", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2" } }, "node_modules/@webassemblyjs/floating-point-hex-parser": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz", - "integrity": "sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==", - "dev": true + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.13.2.tgz", + "integrity": "sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA==", + "dev": true, + "license": "MIT", + "peer": true }, "node_modules/@webassemblyjs/helper-api-error": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz", - "integrity": "sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==", - "dev": true + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.13.2.tgz", + "integrity": "sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ==", + "dev": true, + "license": "MIT", + "peer": true }, "node_modules/@webassemblyjs/helper-buffer": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz", - "integrity": "sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==", - "dev": true + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.14.1.tgz", + "integrity": "sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA==", + "dev": true, + "license": "MIT", + "peer": true }, "node_modules/@webassemblyjs/helper-numbers": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz", - "integrity": "sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==", + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.13.2.tgz", + "integrity": "sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA==", "dev": true, + "license": "MIT", + "peer": true, "dependencies": { - "@webassemblyjs/floating-point-hex-parser": "1.11.1", - "@webassemblyjs/helper-api-error": "1.11.1", + "@webassemblyjs/floating-point-hex-parser": "1.13.2", + "@webassemblyjs/helper-api-error": "1.13.2", "@xtuc/long": "4.2.2" } }, "node_modules/@webassemblyjs/helper-wasm-bytecode": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz", - "integrity": "sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==", - "dev": true + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.13.2.tgz", + "integrity": "sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA==", + "dev": true, + "license": "MIT", + "peer": true }, "node_modules/@webassemblyjs/helper-wasm-section": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz", - "integrity": "sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.14.1.tgz", + "integrity": "sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw==", "dev": true, + "license": "MIT", + "peer": true, "dependencies": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-buffer": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/wasm-gen": "1.11.1" + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-buffer": "1.14.1", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/wasm-gen": "1.14.1" } }, "node_modules/@webassemblyjs/ieee754": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz", - "integrity": "sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==", + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.13.2.tgz", + "integrity": "sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw==", "dev": true, + "license": "MIT", + "peer": true, "dependencies": { "@xtuc/ieee754": "^1.2.0" } }, "node_modules/@webassemblyjs/leb128": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.1.tgz", - "integrity": "sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==", + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.13.2.tgz", + "integrity": "sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw==", "dev": true, + "license": "Apache-2.0", + "peer": true, "dependencies": { "@xtuc/long": "4.2.2" } }, "node_modules/@webassemblyjs/utf8": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.1.tgz", - "integrity": "sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==", - "dev": true + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.13.2.tgz", + "integrity": "sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ==", + "dev": true, + "license": "MIT", + "peer": true }, "node_modules/@webassemblyjs/wasm-edit": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz", - "integrity": "sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.14.1.tgz", + "integrity": "sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ==", "dev": true, + "license": "MIT", + "peer": true, "dependencies": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-buffer": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/helper-wasm-section": "1.11.1", - "@webassemblyjs/wasm-gen": "1.11.1", - "@webassemblyjs/wasm-opt": "1.11.1", - "@webassemblyjs/wasm-parser": "1.11.1", - "@webassemblyjs/wast-printer": "1.11.1" + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-buffer": "1.14.1", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/helper-wasm-section": "1.14.1", + "@webassemblyjs/wasm-gen": "1.14.1", + "@webassemblyjs/wasm-opt": "1.14.1", + "@webassemblyjs/wasm-parser": "1.14.1", + "@webassemblyjs/wast-printer": "1.14.1" } }, "node_modules/@webassemblyjs/wasm-gen": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz", - "integrity": "sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.14.1.tgz", + "integrity": "sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg==", "dev": true, + "license": "MIT", + "peer": true, "dependencies": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/ieee754": "1.11.1", - "@webassemblyjs/leb128": "1.11.1", - "@webassemblyjs/utf8": "1.11.1" + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/ieee754": "1.13.2", + "@webassemblyjs/leb128": "1.13.2", + "@webassemblyjs/utf8": "1.13.2" } }, "node_modules/@webassemblyjs/wasm-opt": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz", - "integrity": "sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.14.1.tgz", + "integrity": "sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw==", "dev": true, + "license": "MIT", + "peer": true, "dependencies": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-buffer": "1.11.1", - "@webassemblyjs/wasm-gen": "1.11.1", - "@webassemblyjs/wasm-parser": "1.11.1" + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-buffer": "1.14.1", + "@webassemblyjs/wasm-gen": "1.14.1", + "@webassemblyjs/wasm-parser": "1.14.1" } }, "node_modules/@webassemblyjs/wasm-parser": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz", - "integrity": "sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.14.1.tgz", + "integrity": "sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ==", "dev": true, + "license": "MIT", + "peer": true, "dependencies": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-api-error": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/ieee754": "1.11.1", - "@webassemblyjs/leb128": "1.11.1", - "@webassemblyjs/utf8": "1.11.1" + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-api-error": "1.13.2", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/ieee754": "1.13.2", + "@webassemblyjs/leb128": "1.13.2", + "@webassemblyjs/utf8": "1.13.2" } }, "node_modules/@webassemblyjs/wast-printer": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz", - "integrity": "sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.14.1.tgz", + "integrity": "sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==", "dev": true, + "license": "MIT", + "peer": true, "dependencies": { - "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/ast": "1.14.1", "@xtuc/long": "4.2.2" } }, - "node_modules/@webpack-cli/configtest": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-1.2.0.tgz", - "integrity": "sha512-4FB8Tj6xyVkyqjj1OaTqCjXYULB9FMkqQ8yGrZjRDrYh0nOE+7Lhs45WioWQQMV+ceFlE368Ukhe6xdvJM9Egg==", - "dev": true, - "peerDependencies": { - "webpack": "4.x.x || 5.x.x", - "webpack-cli": "4.x.x" - } - }, - "node_modules/@webpack-cli/info": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-1.5.0.tgz", - "integrity": "sha512-e8tSXZpw2hPl2uMJY6fsMswaok5FdlGNRTktvFk2sD8RjH0hE2+XistawJx1vmKteh4NmGmNUrp+Tb2w+udPcQ==", - "dev": true, - "dependencies": { - "envinfo": "^7.7.3" - }, - "peerDependencies": { - "webpack-cli": "4.x.x" - } - }, - "node_modules/@webpack-cli/serve": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.7.0.tgz", - "integrity": "sha512-oxnCNGj88fL+xzV+dacXs44HcDwf1ovs3AuEzvP7mqXw7fQntqIhQ1BRmynh4qEKQSSSRSWVyXRjmTbZIX9V2Q==", - "dev": true, - "peerDependencies": { - "webpack-cli": "4.x.x" - }, - "peerDependenciesMeta": { - "webpack-dev-server": { - "optional": true - } - } - }, "node_modules/@xtuc/ieee754": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", - "dev": true + "dev": true, + "license": "BSD-3-Clause", + "peer": true }, "node_modules/@xtuc/long": { "version": "4.2.2", "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", - "dev": true + "dev": true, + "license": "Apache-2.0", + "peer": true }, "node_modules/acorn": { - "version": "8.8.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", - "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==", + "version": "8.15.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", + "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", "dev": true, + "license": "MIT", "bin": { "acorn": "bin/acorn" }, @@ -4225,13 +3770,18 @@ "node": ">=0.4.0" } }, - "node_modules/acorn-import-assertions": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz", - "integrity": "sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==", + "node_modules/acorn-import-phases": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/acorn-import-phases/-/acorn-import-phases-1.0.4.tgz", + "integrity": "sha512-wKmbr/DDiIXzEOiWrTTUcDm24kQ2vGfZQvM2fwg2vXqR5uW6aapr7ObPtj1th32b9u90/Pf4AItvdTh42fBmVQ==", "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=10.13.0" + }, "peerDependencies": { - "acorn": "^8" + "acorn": "^8.14.0" } }, "node_modules/acorn-jsx": { @@ -4239,24 +3789,41 @@ "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", "dev": true, + "license": "MIT", "peerDependencies": { "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, "node_modules/acorn-walk": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", - "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", + "version": "8.3.4", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.4.tgz", + "integrity": "sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==", "dev": true, + "license": "MIT", + "dependencies": { + "acorn": "^8.11.0" + }, "engines": { "node": ">=0.4.0" } }, + "node_modules/agent-base": { + "version": "7.1.4", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.4.tgz", + "integrity": "sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">= 14" + } + }, "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==", "dev": true, + "license": "MIT", "dependencies": { "clean-stack": "^2.0.0", "indent-string": "^4.0.0" @@ -4266,73 +3833,67 @@ } }, "node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", + "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", "dev": true, + "license": "MIT", + "peer": 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" + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" }, "funding": { "type": "github", "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true, - "peerDependencies": { - "ajv": "^6.9.1" - } - }, - "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==", + "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==", "dev": true, + "license": "MIT", + "peer": true, "dependencies": { - "type-fest": "^0.21.3" + "ajv": "^8.0.0" }, - "engines": { - "node": ">=8" + "peerDependencies": { + "ajv": "^8.0.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependenciesMeta": { + "ajv": { + "optional": true + } } }, - "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==", + "node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", "dev": true, - "engines": { - "node": ">=10" + "license": "MIT", + "peer": true, + "dependencies": { + "fast-deep-equal": "^3.1.3" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependencies": { + "ajv": "^8.8.2" } }, "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==", + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz", + "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==", "dev": true, + "license": "MIT", "engines": { - "node": ">=8" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" } }, "node_modules/ansi-styles": { @@ -4340,6 +3901,8 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, + "license": "MIT", + "peer": true, "dependencies": { "color-convert": "^1.9.0" }, @@ -4347,37 +3910,19 @@ "node": ">=4" } }, - "node_modules/ansicolors": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/ansicolors/-/ansicolors-0.3.2.tgz", - "integrity": "sha512-QXu7BPrP29VllRxH8GwB7x5iX5qWKAAMLqKQGWTeLWVlNHNOpVMJ91dsxQAIWXpjuW5wqvxu3Jd/nRjrJ+0pqg==", - "dev": true, - "peer": true - }, "node_modules/any-promise": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", - "dev": true - }, - "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, - "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" - } + "license": "MIT" }, "node_modules/append-transform": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-2.0.0.tgz", "integrity": "sha512-7yeyCEurROLQJFv5Xj4lEGTy0borxepjFv1g22oAdqFu//SrAlDl1O1Nxx15SH1RoliUml6p8dwJW9jvZughhg==", "dev": true, + "license": "MIT", "dependencies": { "default-require-extensions": "^3.0.0" }, @@ -4389,181 +3934,46 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", "integrity": "sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/arg": { "version": "4.1.3", "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "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, - "dependencies": { - "sprintf-js": "~1.0.2" - } + "license": "Python-2.0" }, "node_modules/argv-formatter": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/argv-formatter/-/argv-formatter-1.0.0.tgz", "integrity": "sha512-F2+Hkm9xFaRg+GkaNnbwXNDV5O6pnCFEmqyhvfC/Ic5LbgOWjJh3L+mN/s91rxVL3znE7DYVpW0GJFT+4YBgWw==", "dev": true, - "peer": true - }, - "node_modules/array-buffer-byte-length": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz", - "integrity": "sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==", - "dev": true, "license": "MIT", - "dependencies": { - "call-bind": "^1.0.5", - "is-array-buffer": "^3.0.4" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } + "peer": true }, "node_modules/array-ify": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/array-ify/-/array-ify-1.0.0.tgz", "integrity": "sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng==", - "dev": true - }, - "node_modules/array-includes": { - "version": "3.1.8", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.8.tgz", - "integrity": "sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==", "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.2", - "es-object-atoms": "^1.0.0", - "get-intrinsic": "^1.2.4", - "is-string": "^1.0.7" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } + "license": "MIT" }, "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==", "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/array.prototype.findlastindex": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.5.tgz", - "integrity": "sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.2", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0", - "es-shim-unscopables": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "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==", - "dev": true, - "license": "MIT", - "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" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "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==", - "dev": true, - "license": "MIT", - "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" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/arraybuffer.prototype.slice": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz", - "integrity": "sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==", - "dev": true, "license": "MIT", - "dependencies": { - "array-buffer-byte-length": "^1.0.1", - "call-bind": "^1.0.5", - "define-properties": "^1.2.1", - "es-abstract": "^1.22.3", - "es-errors": "^1.2.1", - "get-intrinsic": "^1.2.3", - "is-array-buffer": "^3.0.4", - "is-shared-array-buffer": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/arrify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", - "integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==", - "dev": true, - "engines": { - "node": ">=0.10.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==", - "dev": true, "engines": { - "node": ">=0.8" + "node": ">=8" } }, "node_modules/assertion-error-formatter": { @@ -4571,102 +3981,28 @@ "resolved": "https://registry.npmjs.org/assertion-error-formatter/-/assertion-error-formatter-3.0.0.tgz", "integrity": "sha512-6YyAVLrEze0kQ7CmJfUgrLHb+Y7XghmL2Ie7ijVa2Y9ynP3LV+VDiwFk62Dn0qtqbmY0BT0ss6p1xxpiF2PYbQ==", "dev": true, + "license": "MIT", "dependencies": { "diff": "^4.0.1", "pad-right": "^0.2.2", "repeat-string": "^1.6.1" } }, - "node_modules/astral-regex": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", - "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/at-least-node": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", - "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", - "dev": true, - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/available-typed-arrays": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", - "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "possible-typed-array-names": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/babel-loader": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.3.0.tgz", - "integrity": "sha512-H8SvsMF+m9t15HNLMipppzkC+Y2Yq+v3SonZyU70RBL/h1gxPkH08Ot8pEE9Z4Kd+czyWJClmFS8qzIP9OZ04Q==", + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-10.0.0.tgz", + "integrity": "sha512-z8jt+EdS61AMw22nSfoNJAZ0vrtmhPRVi6ghL3rCeRZI8cdNYFiV5xeV3HbE7rlZZNmGH8BVccwWt8/ED0QOHA==", "dev": true, + "license": "MIT", "dependencies": { - "find-cache-dir": "^3.3.1", - "loader-utils": "^2.0.0", - "make-dir": "^3.1.0", - "schema-utils": "^2.6.5" + "find-up": "^5.0.0" }, "engines": { - "node": ">= 8.9" - }, - "peerDependencies": { - "@babel/core": "^7.0.0", - "webpack": ">=2" - } - }, - "node_modules/babel-plugin-polyfill-corejs2": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.3.tgz", - "integrity": "sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q==", - "dev": true, - "dependencies": { - "@babel/compat-data": "^7.17.7", - "@babel/helper-define-polyfill-provider": "^0.3.3", - "semver": "^6.1.1" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/babel-plugin-polyfill-corejs3": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.6.0.tgz", - "integrity": "sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA==", - "dev": true, - "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.3.3", - "core-js-compat": "^3.25.1" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/babel-plugin-polyfill-regenerator": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.1.tgz", - "integrity": "sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw==", - "dev": true, - "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.3.3" + "node": "^18.20.0 || ^20.10.0 || >=22.0.0" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@babel/core": "^7.12.0", + "webpack": ">=5.61.0" } }, "node_modules/bail": { @@ -4674,6 +4010,7 @@ "resolved": "https://registry.npmjs.org/bail/-/bail-1.0.5.tgz", "integrity": "sha512-xFbRxM1tahm08yHBP16MMjVUAvDaBMD38zsM9EMAUN61omwLmKlOpB/Zku5QkjZ8TZ4vn53pj+t518cH0S03RQ==", "dev": true, + "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" @@ -4683,124 +4020,54 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true - }, - "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==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/becke-ch--regex--s0-0-v1--base--pl--lib": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/becke-ch--regex--s0-0-v1--base--pl--lib/-/becke-ch--regex--s0-0-v1--base--pl--lib-1.4.0.tgz", - "integrity": "sha512-FnWonOyaw7Vivg5nIkrUll9HSS5TjFbyuURAiDssuL6VxrBe3ERzudRxOcWRhZYlP89UArMDikz7SapRPQpmZQ==", - "dev": true - }, - "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==", - "dev": true, - "peer": true - }, - "node_modules/big.js": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", - "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", - "dev": true, - "engines": { - "node": "*" - } - }, - "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, - "engines": { - "node": ">=8" - } + "license": "MIT" }, - "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/baseline-browser-mapping": { + "version": "2.9.2", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.9.2.tgz", + "integrity": "sha512-PxSsosKQjI38iXkmb3d0Y32efqyA0uW4s41u4IVBsLlWLhCiYNpH/AfNOVWRqCQBlD8TFJTz6OUWNd4DFJCnmw==", "dev": true, - "dependencies": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" + "license": "Apache-2.0", + "bin": { + "baseline-browser-mapping": "dist/cli.js" } }, - "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/before-after-hook": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-3.0.2.tgz", + "integrity": "sha512-Nik3Sc0ncrMK4UUdXQmAnRtzmNQTAAXmXIopizwZ1W1t8QmfJj+zL4OA2I7XPTPW5z5TDqv4hRo/JzouDJnX3A==", "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "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 + "license": "Apache-2.0", + "peer": true }, "node_modules/bottleneck": { "version": "2.19.5", "resolved": "https://registry.npmjs.org/bottleneck/-/bottleneck-2.19.5.tgz", "integrity": "sha512-VHiNCbI1lKdl44tGrhNfU3lup0Tj/ZBMJB5/2ZbNXRCPuRCO7ed2mgcK4r17y+KB2EfuYuRaVlwNbAeaWGSpbw==", "dev": true, + "license": "MIT", "peer": 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==", + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", "dev": true, + "license": "MIT", "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==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", "dev": true, + "license": "MIT", "dependencies": { - "fill-range": "^7.0.1" + "fill-range": "^7.1.1" }, "engines": { "node": ">=8" @@ -4810,12 +4077,13 @@ "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 + "dev": true, + "license": "ISC" }, "node_modules/browserslist": { - "version": "4.21.5", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.5.tgz", - "integrity": "sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==", + "version": "4.28.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.1.tgz", + "integrity": "sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA==", "dev": true, "funding": [ { @@ -4825,71 +4093,40 @@ { "type": "tidelift", "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "dependencies": { - "caniuse-lite": "^1.0.30001449", - "electron-to-chromium": "^1.4.284", - "node-releases": "^2.0.8", - "update-browserslist-db": "^1.0.10" + "baseline-browser-mapping": "^2.9.0", + "caniuse-lite": "^1.0.30001759", + "electron-to-chromium": "^1.5.263", + "node-releases": "^2.0.27", + "update-browserslist-db": "^1.2.0" }, "bin": { "browserslist": "cli.js" }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - } - }, - "node_modules/buffer": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", - "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.2.1" + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" } }, "node_modules/buffer-from": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", - "dev": true - }, - "node_modules/builtin-status-codes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", - "integrity": "sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==", - "dev": true - }, - "node_modules/cachedir": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/cachedir/-/cachedir-2.3.0.tgz", - "integrity": "sha512-A+Fezp4zxnit6FanDmv9EqXNAi3vt9DWp51/71UEhXukb7QUuvtv9344h91dyAxuTLoSYJFU299qzR3tzwPAhw==", "dev": true, - "engines": { - "node": ">=6" - } + "license": "MIT" }, "node_modules/caching-transform": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/caching-transform/-/caching-transform-4.0.0.tgz", "integrity": "sha512-kpqOvwXnjjN44D89K5ccQC+RUrsy7jB/XLlRrx0D7/2HNcTPqzsb6XgYoErwko6QsV184CA2YgS1fxDiiDZMWA==", "dev": true, + "license": "MIT", "dependencies": { "hasha": "^5.0.0", "make-dir": "^3.0.0", @@ -4900,31 +4137,12 @@ "node": ">=8" } }, - "node_modules/call-bind": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", - "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", - "dev": true, - "license": "MIT", - "dependencies": { - "es-define-property": "^1.0.0", - "es-errors": "^1.3.0", - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.4", - "set-function-length": "^1.2.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/callsites": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } @@ -4934,31 +4152,15 @@ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } }, - "node_modules/camelcase-keys": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz", - "integrity": "sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==", - "dev": true, - "dependencies": { - "camelcase": "^5.3.1", - "map-obj": "^4.0.0", - "quick-lru": "^4.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/caniuse-lite": { - "version": "1.0.30001478", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001478.tgz", - "integrity": "sha512-gMhDyXGItTHipJj2ApIvR+iVB5hd0KP3svMWWXDvZOmjzJJassGLMfxRkQCSYgGd2gtdL/ReeiyvMSFD1Ss6Mw==", + "version": "1.0.30001759", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001759.tgz", + "integrity": "sha512-Pzfx9fOKoKvevQf8oCXoyNRQ5QyxJj+3O0Rqx2V5oxT61KGx8+n6hV/IUyJeifUci2clnmmKVpvtiqRzgiWjSw==", "dev": true, "funding": [ { @@ -4973,20 +4175,40 @@ "type": "github", "url": "https://github.com/sponsors/ai" } - ] + ], + "license": "CC-BY-4.0" }, - "node_modules/cardinal": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/cardinal/-/cardinal-2.1.1.tgz", - "integrity": "sha512-JSr5eOgoEymtYHBjNWyjrMqet9Am2miJhlfKNdqLp6zoeAh0KN5dRAcxlecj5mAJrmQomgiOBj35xHLrFjqBpw==", + "node_modules/capital-case": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/capital-case/-/capital-case-1.0.4.tgz", + "integrity": "sha512-ds37W8CytHgwnhGGTi88pcPyR15qoNkOpYwmMMfnWqqWgESapLqvDx6huFjQ5vqWSn2Z06173XNA7LtMOeUh1A==", "dev": true, - "peer": true, + "license": "MIT", "dependencies": { - "ansicolors": "~0.3.2", - "redeyed": "~2.1.0" - }, - "bin": { - "cdl": "bin/cdl.js" + "no-case": "^3.0.4", + "tslib": "^2.0.3", + "upper-case-first": "^2.0.2" + } + }, + "node_modules/capital-case/node_modules/lower-case": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", + "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", + "dev": true, + "license": "MIT", + "dependencies": { + "tslib": "^2.0.3" + } + }, + "node_modules/capital-case/node_modules/no-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", + "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", + "dev": true, + "license": "MIT", + "dependencies": { + "lower-case": "^2.0.2", + "tslib": "^2.0.3" } }, "node_modules/ccount": { @@ -4994,6 +4216,7 @@ "resolved": "https://registry.npmjs.org/ccount/-/ccount-1.1.0.tgz", "integrity": "sha512-vlNK021QdI7PNeiUh/lKkC/mNHHfV0m/Ad5JoI0TYtlBnJAslM/JIkm/tGC88bkLIwO6OQ5uV6ztS6kVAtCDlg==", "dev": true, + "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" @@ -5004,6 +4227,8 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dev": true, + "license": "MIT", + "peer": true, "dependencies": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", @@ -5013,11 +4238,34 @@ "node": ">=4" } }, + "node_modules/chalk/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, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/char-regex": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", + "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=10" + } + }, "node_modules/character-entities": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-1.2.4.tgz", "integrity": "sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==", "dev": true, + "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" @@ -5028,6 +4276,7 @@ "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-1.1.4.tgz", "integrity": "sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==", "dev": true, + "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" @@ -5038,132 +4287,256 @@ "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-1.1.4.tgz", "integrity": "sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==", "dev": true, + "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/chardet": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", - "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", - "dev": true - }, "node_modules/chokidar": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", - "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz", + "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - ], + "license": "MIT", "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" + "readdirp": "^4.0.1" }, "engines": { - "node": ">= 8.10.0" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - } - }, - "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": { - "is-glob": "^4.0.1" + "node": ">= 14.16.0" }, - "engines": { - "node": ">= 6" + "funding": { + "url": "https://paulmillr.com/funding/" } }, "node_modules/chrome-trace-event": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", - "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz", + "integrity": "sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==", "dev": true, + "license": "MIT", + "peer": true, "engines": { "node": ">=6.0" } }, + "node_modules/class-transformer": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/class-transformer/-/class-transformer-0.5.1.tgz", + "integrity": "sha512-SQa1Ws6hUbfC98vKGxZH3KFY0Y1lm5Zm0SY8XX9zbK7FJCyVEac3ATW0RIpwzW+oOfmHE5PMPufDG9hCfoEOMw==", + "dev": true, + "license": "MIT" + }, "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==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } }, - "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/cli-highlight": { + "version": "2.1.11", + "resolved": "https://registry.npmjs.org/cli-highlight/-/cli-highlight-2.1.11.tgz", + "integrity": "sha512-9KDcoEVwyUXrjcJNvHD0NFc/hiwe/WPVYIleQh2O1N2Zro5gWJZ/K+3DGn8w8P/F6FxOgzyC5bxDyHIgCSPhGg==", "dev": true, + "license": "ISC", + "peer": true, "dependencies": { - "restore-cursor": "^3.1.0" + "chalk": "^4.0.0", + "highlight.js": "^10.7.1", + "mz": "^2.4.0", + "parse5": "^5.1.1", + "parse5-htmlparser2-tree-adapter": "^6.0.0", + "yargs": "^16.0.0" + }, + "bin": { + "highlight": "bin/highlight" }, "engines": { - "node": ">=8" + "node": ">=8.0.0", + "npm": ">=5.0.0" } }, - "node_modules/cli-spinners": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.0.tgz", - "integrity": "sha512-4/aL9X3Wh0yiMQlE+eeRhWP6vclO3QRtw1JHKIT0FFUs5FjpFmESqtMvYZ0+lbzBw900b95mS0hohy+qn2VK/g==", + "node_modules/cli-highlight/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "color-convert": "^2.0.1" + }, "engines": { - "node": ">=6" + "node": ">=8" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/cli-table3": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.5.1.tgz", - "integrity": "sha512-7Qg2Jrep1S/+Q3EceiZtQcDPWxhAvBw+ERf1162v4sikJrvojMHFqXt8QIVha8UlH9rgU0BeWPytZ9/TzYqlUw==", + "node_modules/cli-highlight/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, + "license": "MIT", + "peer": true, "dependencies": { - "object-assign": "^4.1.0", - "string-width": "^2.1.1" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=6" + "node": ">=10" }, - "optionalDependencies": { - "colors": "^1.1.2" + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/cli-highlight/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, + "license": "ISC", + "peer": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "node_modules/cli-highlight/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==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/cli-highlight/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, + "license": "MIT", + "peer": true + }, + "node_modules/cli-highlight/node_modules/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, + "license": "ISC", + "peer": true, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/cli-highlight/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, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=8" } }, - "node_modules/cli-width": { + "node_modules/cli-highlight/node_modules/is-fullwidth-code-point": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", - "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "dev": true, + "license": "MIT", + "peer": true, "engines": { - "node": ">= 10" + "node": ">=8" + } + }, + "node_modules/cli-highlight/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cli-highlight/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, + "license": "MIT", + "peer": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cli-highlight/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, + "license": "MIT", + "peer": true, + "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" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/cli-highlight/node_modules/yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "dev": true, + "license": "ISC", + "peer": true, + "engines": { + "node": ">=10" } }, "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==", + "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, + "license": "ISC", "dependencies": { "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", + "strip-ansi": "^6.0.1", "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" } }, "node_modules/cliui/node_modules/is-fullwidth-code-point": { @@ -5171,6 +4544,7 @@ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } @@ -5180,6 +4554,7 @@ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, + "license": "MIT", "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -5189,40 +4564,13 @@ "node": ">=8" } }, - "node_modules/clone": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", - "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", - "dev": true, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/clone-deep": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", - "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", - "dev": true, - "dependencies": { - "is-plain-object": "^2.0.4", - "kind-of": "^6.0.2", - "shallow-clone": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/code-block-writer": { - "version": "11.0.3", - "resolved": "https://registry.npmjs.org/code-block-writer/-/code-block-writer-11.0.3.tgz", - "integrity": "sha512-NiujjUFB4SwScJq2bwbYUtXbZhBSlY6vYzm++3Q6oC+U+injTqfPYFK8wS9COOmb2lueqp0ZRB4nK1VYeHgNyw==", - "dev": true - }, "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, + "license": "MIT", + "peer": true, "dependencies": { "color-name": "1.1.3" } @@ -5231,70 +4579,23 @@ "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/colorette": { - "version": "2.0.19", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.19.tgz", - "integrity": "sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==", - "dev": true - }, - "node_modules/colors": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", - "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", "dev": true, - "engines": { - "node": ">=0.1.90" - } - }, - "node_modules/commander": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/commander/-/commander-3.0.2.tgz", - "integrity": "sha512-Gar0ASD4BDyKC4hl4DwHqDrmvjoxWKZigVnAbn5H1owvm4CxCPdb0HQDehwNYMJpla5+M2tPmPARzhtYuwpHow==", - "dev": true - }, - "node_modules/commitizen": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/commitizen/-/commitizen-4.3.0.tgz", - "integrity": "sha512-H0iNtClNEhT0fotHvGV3E9tDejDeS04sN1veIebsKYGMuGscFaswRoYJKmT3eW85eIJAs0F28bG2+a/9wCOfPw==", - "dev": true, - "dependencies": { - "cachedir": "2.3.0", - "cz-conventional-changelog": "3.3.0", - "dedent": "0.7.0", - "detect-indent": "6.1.0", - "find-node-modules": "^2.1.2", - "find-root": "1.1.0", - "fs-extra": "9.1.0", - "glob": "7.2.3", - "inquirer": "8.2.5", - "is-utf8": "^0.2.1", - "lodash": "4.17.21", - "minimist": "1.2.7", - "strip-bom": "4.0.0", - "strip-json-comments": "3.1.1" - }, - "bin": { - "commitizen": "bin/commitizen", - "cz": "bin/git-cz", - "git-cz": "bin/git-cz" - }, - "engines": { - "node": ">= 12" - } + "license": "MIT", + "peer": true }, "node_modules/commondir": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/compare-func": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/compare-func/-/compare-func-2.0.0.tgz", "integrity": "sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA==", "dev": true, + "license": "MIT", "dependencies": { "array-ify": "^1.0.0", "dot-prop": "^5.1.0" @@ -5304,84 +4605,85 @@ "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true + "dev": true, + "license": "MIT" }, "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==", "dev": true, + "license": "MIT", "peer": true, "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==", + "dev": true, + "license": "ISC", + "peer": true + }, "node_modules/conventional-changelog-angular": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-6.0.0.tgz", - "integrity": "sha512-6qLgrBF4gueoC7AFVHu51nHL9pF9FRjXrH+ceVf7WmAfH3gs+gEYOkvxhjMPjZu57I4AGUGoNTY8V7Hrgf1uqg==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-7.0.0.tgz", + "integrity": "sha512-ROjNchA9LgfNMTTFSIWPzebCwOGFdgkEq45EnvvrmSLvCtAw0HSmrCs7/ty+wAeYUZyNay0YMUNYFTRL72PkBQ==", "dev": true, + "license": "ISC", + "peer": true, "dependencies": { "compare-func": "^2.0.0" }, "engines": { - "node": ">=14" + "node": ">=16" } }, "node_modules/conventional-changelog-conventionalcommits": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-6.1.0.tgz", - "integrity": "sha512-3cS3GEtR78zTfMzk0AizXKKIdN4OvSh7ibNz6/DPbhWWQu7LqE/8+/GqSodV+sywUR2gpJAdP/1JFf4XtN7Zpw==", + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-7.0.2.tgz", + "integrity": "sha512-NKXYmMR/Hr1DevQegFB4MwfM5Vv0m4UIxKZTTYuD98lpTknaZlSRrDOG4X7wIXpGkfsYxZTghUN+Qq+T0YQI7w==", "dev": true, + "license": "ISC", "dependencies": { "compare-func": "^2.0.0" }, "engines": { - "node": ">=14" + "node": ">=16" } }, "node_modules/conventional-changelog-writer": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-6.0.1.tgz", - "integrity": "sha512-359t9aHorPw+U+nHzUXHS5ZnPBOizRxfQsWT5ZDHBfvfxQOAik+yfuhKXG66CN5LEWPpMNnIMHUTCKeYNprvHQ==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-7.0.1.tgz", + "integrity": "sha512-Uo+R9neH3r/foIvQ0MKcsXkX642hdm9odUp7TqgFS7BsalTcjzRlIfWZrZR1gbxOozKucaKt5KAbjW8J8xRSmA==", "dev": true, + "license": "MIT", + "peer": true, "dependencies": { - "conventional-commits-filter": "^3.0.0", - "dateformat": "^3.0.3", + "conventional-commits-filter": "^4.0.0", "handlebars": "^4.7.7", "json-stringify-safe": "^5.0.1", - "meow": "^8.1.2", - "semver": "^7.0.0", - "split": "^1.0.1" + "meow": "^12.0.1", + "semver": "^7.5.2", + "split2": "^4.0.0" }, "bin": { - "conventional-changelog-writer": "cli.js" - }, - "engines": { - "node": ">=14" - } - }, - "node_modules/conventional-changelog-writer/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==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" + "conventional-changelog-writer": "cli.mjs" }, "engines": { - "node": ">=10" + "node": ">=16" } }, "node_modules/conventional-changelog-writer/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==", + "version": "7.7.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", + "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, + "license": "ISC", + "peer": true, "bin": { "semver": "bin/semver.js" }, @@ -5389,29 +4691,15 @@ "node": ">=10" } }, - "node_modules/conventional-changelog-writer/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, - "node_modules/conventional-commit-types": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/conventional-commit-types/-/conventional-commit-types-3.0.0.tgz", - "integrity": "sha512-SmmCYnOniSsAa9GqWOeLqc179lfr5TRu5b4QFDkbsrJ5TZjPJx85wtOr3zn+1dbeNiXDKGPbZ72IKbPhLXh/Lg==", - "dev": true - }, "node_modules/conventional-commits-filter": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/conventional-commits-filter/-/conventional-commits-filter-3.0.0.tgz", - "integrity": "sha512-1ymej8b5LouPx9Ox0Dw/qAO2dVdfpRFq28e5Y0jJEU8ZrLdy0vOSkkIInwmxErFGhg6SALro60ZrwYFVTUDo4Q==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/conventional-commits-filter/-/conventional-commits-filter-4.0.0.tgz", + "integrity": "sha512-rnpnibcSOdFcdclpFwWa+pPlZJhXE7l+XK04zxhbWrhgpR96h33QLz8hITTXbcYICxVr3HZFtbtUAQ+4LdBo9A==", "dev": true, - "dependencies": { - "lodash.ismatch": "^4.4.0", - "modify-values": "^1.0.1" - }, + "license": "MIT", + "peer": true, "engines": { - "node": ">=14" + "node": ">=16" } }, "node_modules/conventional-commits-parser": { @@ -5419,6 +4707,8 @@ "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-5.0.0.tgz", "integrity": "sha512-ZPMl0ZJbw74iS9LuX9YIAiW8pfM5p3yh2o/NbXHbkFuZzY5jvdi5jFycEOkmBW5H5I7nA+D6f3UcsCLP2vvSEA==", "dev": true, + "license": "MIT", + "peer": true, "dependencies": { "is-text-path": "^2.0.0", "JSONStream": "^1.3.5", @@ -5426,337 +4716,130 @@ "split2": "^4.0.0" }, "bin": { - "conventional-commits-parser": "cli.mjs" - }, - "engines": { - "node": ">=16" - } - }, - "node_modules/conventional-commits-parser/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": ">=16.10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/convert-source-map": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", - "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", - "dev": true - }, - "node_modules/core-js-compat": { - "version": "3.30.0", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.30.0.tgz", - "integrity": "sha512-P5A2h/9mRYZFIAP+5Ab8ns6083IyVpSclU74UNvbGVQ8VM7n3n3/g2yF3AkKQ9NXz2O+ioxLbEWKnDtgsFamhg==", - "dev": true, - "dependencies": { - "browserslist": "^4.21.5" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" - } - }, - "node_modules/core-js-pure": { - "version": "3.30.0", - "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.30.0.tgz", - "integrity": "sha512-+2KbMFGeBU0ln/csoPqTe0i/yfHbrd2EUhNMObsGtXMKS/RTtlkYyi+/3twLcevbgNR0yM/r0Psa3TEoQRpFMQ==", - "dev": true, - "hasInstallScript": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" - } - }, - "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==", - "dev": true - }, - "node_modules/cosmiconfig": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.2.0.tgz", - "integrity": "sha512-3rTMnFJA1tCOPwRxtgF4wd7Ab2qvDbL8jX+3smjIbS4HlZBagTlpERbdN7iAbWlrfxE3M8c27kTwTawQ7st+OQ==", - "dev": true, - "dependencies": { - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "parse-json": "^5.0.0", - "path-type": "^4.0.0" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/d-fischer" - } - }, - "node_modules/cosmiconfig-typescript-loader": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/cosmiconfig-typescript-loader/-/cosmiconfig-typescript-loader-4.4.0.tgz", - "integrity": "sha512-BabizFdC3wBHhbI4kJh0VkQP9GkBfoHPydD0COMce1nJ1kJAB3F2TmJ/I7diULBKtmEWSwEbuN/KDtgnmUUVmw==", - "dev": true, - "engines": { - "node": ">=v14.21.3" - }, - "peerDependencies": { - "@types/node": "*", - "cosmiconfig": ">=7", - "ts-node": ">=10", - "typescript": ">=4" - } - }, - "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/create-require": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", - "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", - "dev": true - }, - "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==", - "dev": true, - "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, - "peer": 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==", - "dev": true, - "peer": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/cucumber": { - "version": "6.0.7", - "resolved": "https://registry.npmjs.org/cucumber/-/cucumber-6.0.7.tgz", - "integrity": "sha512-pN3AgWxHx8rOi+wOlqjASNETOjf3TgeyqhMNLQam7nSTXgQzju1oAmXkleRQRcXvpVvejcDHiZBLFSfBkqbYpA==", - "deprecated": "Cucumber is publishing new releases under @cucumber/cucumber", - "dev": true, - "dependencies": { - "assertion-error-formatter": "^3.0.0", - "bluebird": "^3.4.1", - "cli-table3": "^0.5.1", - "colors": "^1.1.2", - "commander": "^3.0.1", - "cucumber-expressions": "^8.1.0", - "cucumber-tag-expressions": "^2.0.2", - "duration": "^0.2.1", - "escape-string-regexp": "^2.0.0", - "figures": "^3.0.0", - "gherkin": "5.0.0", - "glob": "^7.1.3", - "indent-string": "^4.0.0", - "is-generator": "^1.0.2", - "is-stream": "^2.0.0", - "knuth-shuffle-seeded": "^1.0.6", - "lodash": "^4.17.14", - "mz": "^2.4.0", - "progress": "^2.0.0", - "resolve": "^1.3.3", - "serialize-error": "^4.1.0", - "stack-chain": "^2.0.0", - "stacktrace-js": "^2.0.0", - "string-argv": "^0.3.0", - "title-case": "^2.1.1", - "util-arity": "^1.0.2", - "verror": "^1.9.0" - }, - "bin": { - "cucumber-js": "bin/cucumber-js" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/cucumber-expressions": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/cucumber-expressions/-/cucumber-expressions-8.3.0.tgz", - "integrity": "sha512-cP2ya0EiorwXBC7Ll7Cj7NELYbasNv9Ty42L4u7sso9KruWemWG1ZiTq4PMqir3SNDSrbykoqI5wZgMbLEDjLQ==", - "deprecated": "This package is now published under @cucumber/cucumber-expressions", - "dev": true, - "dependencies": { - "becke-ch--regex--s0-0-v1--base--pl--lib": "^1.4.0", - "xregexp": "^4.2.4" - } - }, - "node_modules/cucumber-tag-expressions": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/cucumber-tag-expressions/-/cucumber-tag-expressions-2.0.3.tgz", - "integrity": "sha512-+x5j1IfZrBtbvYHuoUX0rl4nUGxaey6Do9sM0CABmZfDCcWXuuRm1fQeCaklIYQgOFHQ6xOHvDSdkMHHpni6tQ==", - "dev": true - }, - "node_modules/cucumber/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, + "conventional-commits-parser": "cli.mjs" + }, "engines": { - "node": ">=8" + "node": ">=16" } }, - "node_modules/cz-conventional-changelog": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/cz-conventional-changelog/-/cz-conventional-changelog-3.3.0.tgz", - "integrity": "sha512-U466fIzU5U22eES5lTNiNbZ+d8dfcHcssH4o7QsdWaCcRs/feIPCxKYSWkYBNs5mny7MvEfwpTLWjvbm94hecw==", + "node_modules/convert-hrtime": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/convert-hrtime/-/convert-hrtime-5.0.0.tgz", + "integrity": "sha512-lOETlkIeYSJWcbbcvjRKGxVMXJR+8+OQb/mTPbA4ObPMytYIsUbuOE0Jzy60hjARYszq1id0j8KgVhC+WGZVTg==", "dev": true, - "dependencies": { - "chalk": "^2.4.1", - "commitizen": "^4.0.3", - "conventional-commit-types": "^3.0.0", - "lodash.map": "^4.5.1", - "longest": "^2.0.1", - "word-wrap": "^1.0.3" - }, + "license": "MIT", + "peer": true, "engines": { - "node": ">= 10" + "node": ">=12" }, - "optionalDependencies": { - "@commitlint/load": ">6.1.1" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/d": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz", - "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==", + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", "dev": true, - "dependencies": { - "es5-ext": "^0.10.50", - "type": "^1.0.1" - } + "license": "MIT" }, - "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==", + "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==", "dev": true, - "engines": { - "node": ">=8" - } + "license": "MIT", + "peer": true }, - "node_modules/data-view-buffer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.1.tgz", - "integrity": "sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==", + "node_modules/cosmiconfig": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-9.0.0.tgz", + "integrity": "sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { - "call-bind": "^1.0.6", - "es-errors": "^1.3.0", - "is-data-view": "^1.0.1" + "env-paths": "^2.2.1", + "import-fresh": "^3.3.0", + "js-yaml": "^4.1.0", + "parse-json": "^5.2.0" }, "engines": { - "node": ">= 0.4" + "node": ">=14" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/d-fischer" + }, + "peerDependencies": { + "typescript": ">=4.9.5" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/data-view-byte-length": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.1.tgz", - "integrity": "sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==", + "node_modules/create-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", + "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.7", - "es-errors": "^1.3.0", - "is-data-view": "^1.0.1" + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">= 8" } }, - "node_modules/data-view-byte-offset": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.0.tgz", - "integrity": "sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==", + "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, "license": "MIT", + "peer": true, "dependencies": { - "call-bind": "^1.0.6", - "es-errors": "^1.3.0", - "is-data-view": "^1.0.1" + "type-fest": "^1.0.1" }, "engines": { - "node": ">= 0.4" + "node": ">=12" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/dateformat": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-3.0.3.tgz", - "integrity": "sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==", + "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, + "license": "(MIT OR CC0-1.0)", + "peer": true, "engines": { - "node": "*" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", "dev": true, + "license": "MIT", "dependencies": { - "ms": "2.1.2" + "ms": "^2.1.3" }, "engines": { "node": ">=6.0" @@ -5772,46 +4855,17 @@ "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, - "node_modules/decamelize-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.1.tgz", - "integrity": "sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==", - "dev": true, - "dependencies": { - "decamelize": "^1.1.0", - "map-obj": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/decamelize-keys/node_modules/map-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", - "integrity": "sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/dedent": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", - "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==", - "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==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": ">=4.0.0" @@ -5821,13 +4875,15 @@ "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 + "dev": true, + "license": "MIT" }, "node_modules/default-require-extensions": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-3.0.1.tgz", "integrity": "sha512-eXTJmRbm2TIt9MgWTsOH1wEuhew6XGZcMeGKCtLedIg/NCsg1iBePXkceTdK4Fii7pzmN9tGsZhKzZ4h7O/fxw==", "dev": true, + "license": "MIT", "dependencies": { "strip-bom": "^4.0.0" }, @@ -5838,84 +4894,12 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "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==", - "dev": true, - "dependencies": { - "clone": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/define-data-property": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", - "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", - "dev": true, - "license": "MIT", - "dependencies": { - "es-define-property": "^1.0.0", - "es-errors": "^1.3.0", - "gopd": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "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==", - "dev": true, - "license": "MIT", - "dependencies": { - "define-data-property": "^1.0.1", - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/deprecation": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz", - "integrity": "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==", - "dev": true, - "peer": true - }, - "node_modules/detect-file": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz", - "integrity": "sha512-DtCOLG98P007x7wiiOmfI0fi3eIKyWiLTGJ2MDnVi/E04lWGbf+JzrRHMm0rgIIZJGtHpKpbVgLWHrv8xXpc3Q==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/detect-indent": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-6.1.0.tgz", - "integrity": "sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "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, + "license": "BSD-3-Clause", "engines": { "node": ">=0.3.1" } @@ -5925,6 +4909,7 @@ "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", "dev": true, + "license": "MIT", "dependencies": { "path-type": "^4.0.0" }, @@ -5937,6 +4922,8 @@ "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", "dev": true, + "license": "Apache-2.0", + "peer": true, "dependencies": { "esutils": "^2.0.2" }, @@ -5944,70 +4931,12 @@ "node": ">=6.0.0" } }, - "node_modules/dom-serializer": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", - "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", - "dev": true, - "license": "MIT", - "dependencies": { - "domelementtype": "^2.3.0", - "domhandler": "^5.0.2", - "entities": "^4.2.0" - }, - "funding": { - "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" - } - }, - "node_modules/domelementtype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", - "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ], - "license": "BSD-2-Clause" - }, - "node_modules/domhandler": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", - "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "domelementtype": "^2.3.0" - }, - "engines": { - "node": ">= 4" - }, - "funding": { - "url": "https://github.com/fb55/domhandler?sponsor=1" - } - }, - "node_modules/domutils": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz", - "integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "dom-serializer": "^2.0.0", - "domelementtype": "^2.3.0", - "domhandler": "^5.0.3" - }, - "funding": { - "url": "https://github.com/fb55/domutils?sponsor=1" - } - }, "node_modules/dot-prop": { "version": "5.3.0", "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz", "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==", "dev": true, + "license": "MIT", "dependencies": { "is-obj": "^2.0.0" }, @@ -6020,23 +4949,18 @@ "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz", "integrity": "sha512-asLFVfWWtJ90ZyOUHMqk7/S2w2guQKxUI2itj3d92ADHhxUSbCMGi1f1cBcJ7xM1To+pE/Khbwo1yuNbMEPKeA==", "dev": true, + "license": "BSD-3-Clause", "peer": true, "dependencies": { "readable-stream": "^2.0.2" } }, - "node_modules/duplexer2/node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "dev": true, - "peer": true - }, "node_modules/duplexer2/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==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "core-util-is": "~1.0.0", @@ -6053,6 +4977,7 @@ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", "dev": true, + "license": "MIT", "peer": true }, "node_modules/duplexer2/node_modules/string_decoder": { @@ -6060,47 +4985,48 @@ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "safe-buffer": "~5.1.0" } }, - "node_modules/duration": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/duration/-/duration-0.2.2.tgz", - "integrity": "sha512-06kgtea+bGreF5eKYgI/36A6pLXggY7oR4p1pq4SmdFBn1ReOL5D8RhG64VrqfTTKNucqqtBAwEj8aB88mcqrg==", + "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, - "dependencies": { - "d": "1", - "es5-ext": "~0.10.46" - } + "license": "MIT" }, "node_modules/electron-to-chromium": { - "version": "1.4.361", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.361.tgz", - "integrity": "sha512-VocVwjPp05HUXzf3xmL0boRn5b0iyqC7amtDww84Jb1QJNPBc7F69gJyEeXRoriLBC4a5pSyckdllrXAg4mmRA==", - "dev": true + "version": "1.5.264", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.264.tgz", + "integrity": "sha512-1tEf0nLgltC3iy9wtlYDlQDc5Rg9lEKVjEmIHJ21rI9OcqkvD45K1oyNIRA4rR1z3LgJ7KeGzEBojVcV6m4qjA==", + "dev": true, + "license": "ISC" }, "node_modules/emoji-regex": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true + "dev": true, + "license": "MIT" }, - "node_modules/emojis-list": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", - "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", + "node_modules/emojilib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/emojilib/-/emojilib-2.4.0.tgz", + "integrity": "sha512-5U0rVMU5Y2n2+ykNLQqMoqklN9ICBT/KsvC1Gz6vqHbz2AXXGkG+Pm5rMWk/8Vjrr/mY9985Hi8DYzn1F09Nyw==", "dev": true, - "engines": { - "node": ">= 4" - } + "license": "MIT", + "peer": true }, "node_modules/enhanced-resolve": { - "version": "5.12.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.12.0.tgz", - "integrity": "sha512-QHTXI/sZQmko1cbDoNAa3mJ5qhWUUNAq3vR0/YiD379fWQrcfuoX1+HW2S0MTt7XmoPLapdaDKUtelUSPic7hQ==", + "version": "5.18.3", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.18.3.tgz", + "integrity": "sha512-d4lC8xfavMeBjzGr2vECC3fsGXziXZQyJxD868h2M/mBI3PwAuODxAkLkq5HYuvrPYcUtiLzsTo8U3PgX3Ocww==", "dev": true, + "license": "MIT", + "peer": true, "dependencies": { "graceful-fs": "^4.2.4", "tapable": "^2.2.0" @@ -6109,77 +5035,69 @@ "node": ">=10.13.0" } }, - "node_modules/enquirer": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", - "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", - "dev": true, - "dependencies": { - "ansi-colors": "^4.1.1" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/entities": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", - "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=0.12" - }, - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, "node_modules/env-ci": { - "version": "9.1.1", - "resolved": "https://registry.npmjs.org/env-ci/-/env-ci-9.1.1.tgz", - "integrity": "sha512-Im2yEWeF4b2RAMAaWvGioXk6m0UNaIjD8hj28j2ij5ldnIFrDQT0+pzDvpbRkcjurhXhf/AsBKv8P2rtmGi9Aw==", + "version": "11.2.0", + "resolved": "https://registry.npmjs.org/env-ci/-/env-ci-11.2.0.tgz", + "integrity": "sha512-D5kWfzkmaOQDioPmiviWAVtKmpPT4/iJmMVQxWxMPJTFyTkdc5JQUfc5iXEeWxcOdsYTKSAiA/Age4NUOqKsRA==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { - "execa": "^7.0.0", + "execa": "^8.0.0", "java-properties": "^1.0.2" }, "engines": { - "node": "^16.14 || >=18" + "node": "^18.17 || >=20.6.1" } }, "node_modules/env-ci/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==", + "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, + "license": "MIT", "peer": true, "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" }, "engines": { - "node": "^14.18.0 || ^16.14.0 || >=18.0.0" + "node": ">=16.17" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/env-ci/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, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=16" }, "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/env-ci/node_modules/human-signals": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-4.3.1.tgz", - "integrity": "sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", + "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==", "dev": true, + "license": "Apache-2.0", "peer": true, "engines": { - "node": ">=14.18.0" + "node": ">=16.17.0" } }, "node_modules/env-ci/node_modules/is-stream": { @@ -6187,6 +5105,7 @@ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": "^12.20.0 || ^14.13.1 || >=16.0.0" @@ -6200,6 +5119,7 @@ "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": ">=12" @@ -6208,11 +5128,29 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/env-ci/node_modules/npm-run-path": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz", + "integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "path-key": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/env-ci/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, + "license": "MIT", "peer": true, "dependencies": { "mimic-fn": "^4.0.0" @@ -6224,264 +5162,187 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/envinfo": { - "version": "7.8.1", - "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.8.1.tgz", - "integrity": "sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==", + "node_modules/env-ci/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, - "bin": { - "envinfo": "dist/cli.js" - }, + "license": "MIT", + "peer": true, "engines": { - "node": ">=4" - } - }, - "node_modules/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==", - "dev": true, - "dependencies": { - "is-arrayish": "^0.2.1" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/error-stack-parser": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.1.4.tgz", - "integrity": "sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==", + "node_modules/env-ci/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, - "dependencies": { - "stackframe": "^1.3.4" - } - }, - "node_modules/es-abstract": { - "version": "1.23.3", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.3.tgz", - "integrity": "sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==", - "dev": true, - "license": "MIT", - "dependencies": { - "array-buffer-byte-length": "^1.0.1", - "arraybuffer.prototype.slice": "^1.0.3", - "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.7", - "data-view-buffer": "^1.0.1", - "data-view-byte-length": "^1.0.1", - "data-view-byte-offset": "^1.0.0", - "es-define-property": "^1.0.0", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0", - "es-set-tostringtag": "^2.0.3", - "es-to-primitive": "^1.2.1", - "function.prototype.name": "^1.1.6", - "get-intrinsic": "^1.2.4", - "get-symbol-description": "^1.0.2", - "globalthis": "^1.0.3", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.2", - "has-proto": "^1.0.3", - "has-symbols": "^1.0.3", - "hasown": "^2.0.2", - "internal-slot": "^1.0.7", - "is-array-buffer": "^3.0.4", - "is-callable": "^1.2.7", - "is-data-view": "^1.0.1", - "is-negative-zero": "^2.0.3", - "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.3", - "is-string": "^1.0.7", - "is-typed-array": "^1.1.13", - "is-weakref": "^1.0.2", - "object-inspect": "^1.13.1", - "object-keys": "^1.1.1", - "object.assign": "^4.1.5", - "regexp.prototype.flags": "^1.5.2", - "safe-array-concat": "^1.1.2", - "safe-regex-test": "^1.0.3", - "string.prototype.trim": "^1.2.9", - "string.prototype.trimend": "^1.0.8", - "string.prototype.trimstart": "^1.0.8", - "typed-array-buffer": "^1.0.2", - "typed-array-byte-length": "^1.0.1", - "typed-array-byte-offset": "^1.0.2", - "typed-array-length": "^1.0.6", - "unbox-primitive": "^1.0.2", - "which-typed-array": "^1.1.15" - }, + "license": "ISC", + "peer": true, "engines": { - "node": ">= 0.4" + "node": ">=14" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/es-define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", - "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", + "node_modules/env-ci/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, "license": "MIT", - "dependencies": { - "get-intrinsic": "^1.2.4" - }, + "peer": true, "engines": { - "node": ">= 0.4" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/es-errors": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", - "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "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==", "dev": true, "license": "MIT", + "peer": true, "engines": { - "node": ">= 0.4" + "node": ">=6" } }, - "node_modules/es-module-lexer": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.2.1.tgz", - "integrity": "sha512-9978wrXM50Y4rTMmW5kXIC09ZdXQZqkE4mxhwkd8VbzsGkXGPgV4zWuqQJgCEzYngdo2dYDa0l8xhX4fkSwJSg==", - "dev": true - }, - "node_modules/es-object-atoms": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.0.0.tgz", - "integrity": "sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==", + "node_modules/environment": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/environment/-/environment-1.1.0.tgz", + "integrity": "sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==", "dev": true, "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0" - }, + "peer": true, "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-set-tostringtag": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz", - "integrity": "sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "get-intrinsic": "^1.2.4", - "has-tostringtag": "^1.0.2", - "hasown": "^2.0.1" + "node": ">=18" }, - "engines": { - "node": ">= 0.4" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/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==", + "node_modules/error-ex": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.4.tgz", + "integrity": "sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { - "hasown": "^2.0.0" + "is-arrayish": "^0.2.1" } }, - "node_modules/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==", + "node_modules/error-stack-parser": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.1.4.tgz", + "integrity": "sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==", "dev": true, "license": "MIT", "dependencies": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "stackframe": "^1.3.4" } }, - "node_modules/es5-ext": { - "version": "0.10.62", - "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.62.tgz", - "integrity": "sha512-BHLqn0klhEpnOKSrzn/Xsz2UIW8j+cGmo9JLzr8BiUapV8hPL9+FliFqjwr9ngW7jWdnxv6eO+/LqyhJVqgrjA==", + "node_modules/es-module-lexer": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.7.0.tgz", + "integrity": "sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==", "dev": true, - "hasInstallScript": true, - "dependencies": { - "es6-iterator": "^2.0.3", - "es6-symbol": "^3.1.3", - "next-tick": "^1.1.0" - }, - "engines": { - "node": ">=0.10" - } + "license": "MIT", + "peer": true }, "node_modules/es6-error": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz", "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==", - "dev": true - }, - "node_modules/es6-iterator": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", - "integrity": "sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==", "dev": true, - "dependencies": { - "d": "1", - "es5-ext": "^0.10.35", - "es6-symbol": "^3.1.1" - } + "license": "MIT" }, - "node_modules/es6-symbol": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz", - "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==", + "node_modules/esbuild": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.12.tgz", + "integrity": "sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg==", "dev": true, - "dependencies": { - "d": "^1.0.1", - "ext": "^1.1.2" + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.25.12", + "@esbuild/android-arm": "0.25.12", + "@esbuild/android-arm64": "0.25.12", + "@esbuild/android-x64": "0.25.12", + "@esbuild/darwin-arm64": "0.25.12", + "@esbuild/darwin-x64": "0.25.12", + "@esbuild/freebsd-arm64": "0.25.12", + "@esbuild/freebsd-x64": "0.25.12", + "@esbuild/linux-arm": "0.25.12", + "@esbuild/linux-arm64": "0.25.12", + "@esbuild/linux-ia32": "0.25.12", + "@esbuild/linux-loong64": "0.25.12", + "@esbuild/linux-mips64el": "0.25.12", + "@esbuild/linux-ppc64": "0.25.12", + "@esbuild/linux-riscv64": "0.25.12", + "@esbuild/linux-s390x": "0.25.12", + "@esbuild/linux-x64": "0.25.12", + "@esbuild/netbsd-arm64": "0.25.12", + "@esbuild/netbsd-x64": "0.25.12", + "@esbuild/openbsd-arm64": "0.25.12", + "@esbuild/openbsd-x64": "0.25.12", + "@esbuild/openharmony-arm64": "0.25.12", + "@esbuild/sunos-x64": "0.25.12", + "@esbuild/win32-arm64": "0.25.12", + "@esbuild/win32-ia32": "0.25.12", + "@esbuild/win32-x64": "0.25.12" } }, "node_modules/escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } }, - "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": ">=0.8.0" - } - }, "node_modules/eslint": { - "version": "8.38.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.38.0.tgz", - "integrity": "sha512-pIdsD2jwlUGf/U38Jv97t8lq6HpaU/G9NKbYmpWpZGw3LdTNhZLbJePqxOXGB5+JEKfOPU/XLxYxFh03nr1KTg==", + "version": "8.57.1", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.1.tgz", + "integrity": "sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==", + "deprecated": "This version is no longer supported. Please see https://eslint.org/version-support for other options.", "dev": true, + "license": "MIT", + "peer": true, "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.4.0", - "@eslint/eslintrc": "^2.0.2", - "@eslint/js": "8.38.0", - "@humanwhocodes/config-array": "^0.11.8", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.4", + "@eslint/js": "8.57.1", + "@humanwhocodes/config-array": "^0.13.0", "@humanwhocodes/module-importer": "^1.0.1", "@nodelib/fs.walk": "^1.2.8", - "ajv": "^6.10.0", + "@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.1.1", - "eslint-visitor-keys": "^3.4.0", - "espree": "^9.5.1", + "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", @@ -6489,22 +5350,19 @@ "find-up": "^5.0.0", "glob-parent": "^6.0.2", "globals": "^13.19.0", - "grapheme-splitter": "^1.0.4", + "graphemer": "^1.4.0", "ignore": "^5.2.0", - "import-fresh": "^3.0.0", "imurmurhash": "^0.1.4", "is-glob": "^4.0.0", "is-path-inside": "^3.0.3", - "js-sdsl": "^4.1.4", "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.0", "text-table": "^0.2.0" }, "bin": { @@ -6517,284 +5375,87 @@ "url": "https://opencollective.com/eslint" } }, - "node_modules/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, - "license": "MIT", - "dependencies": { - "debug": "^3.2.7", - "is-core-module": "^2.13.0", - "resolve": "^1.22.4" - } - }, - "node_modules/eslint-import-resolver-node/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/eslint-module-utils": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.12.0.tgz", - "integrity": "sha512-wALZ0HFoytlyh/1+4wuZ9FJCD/leWHQzzrxJ8+rebyReSLk7LApMyd3WJaLVoN+D5+WIdJyDK1c6JnE65V4Zyg==", - "dev": true, - "license": "MIT", - "dependencies": { - "debug": "^3.2.7" - }, - "engines": { - "node": ">=4" - }, - "peerDependenciesMeta": { - "eslint": { - "optional": true - } - } - }, - "node_modules/eslint-module-utils/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/eslint-plugin-es": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-es/-/eslint-plugin-es-3.0.1.tgz", - "integrity": "sha512-GUmAsJaN4Fc7Gbtl8uOBlayo2DqhwWvEzykMHSCZHU3XdJ+NSzzZcVhXh3VxX5icqQ+oQdIEawXX8xkR3mIFmQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "eslint-utils": "^2.0.0", - "regexpp": "^3.0.0" - }, - "engines": { - "node": ">=8.10.0" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - }, - "peerDependencies": { - "eslint": ">=4.19.1" - } - }, - "node_modules/eslint-plugin-html": { - "version": "8.1.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-html/-/eslint-plugin-html-8.1.2.tgz", - "integrity": "sha512-pbRchDV2SmqbCi/Ev/q3aAikzG9BcFe0IjjqjtMn8eTLq71ZUggyJB6CDmuwGAXmYZHrXI12XTfCqvgcnPRqGw==", - "dev": true, - "license": "ISC", - "dependencies": { - "htmlparser2": "^9.1.0" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/eslint-plugin-import": { - "version": "2.31.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.31.0.tgz", - "integrity": "sha512-ixmkI62Rbc2/w8Vfxyh1jQRTdRTF52VxwRVHl/ykPAmqG+Nb7/kNn+byLP0LxPgI7zWA16Jt82SybJInmMia3A==", - "dev": true, - "license": "MIT", - "dependencies": { - "@rtsao/scc": "^1.1.0", - "array-includes": "^3.1.8", - "array.prototype.findlastindex": "^1.2.5", - "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.12.0", - "hasown": "^2.0.2", - "is-core-module": "^2.15.1", - "is-glob": "^4.0.3", - "minimatch": "^3.1.2", - "object.fromentries": "^2.0.8", - "object.groupby": "^1.0.3", - "object.values": "^1.2.0", - "semver": "^6.3.1", - "string.prototype.trimend": "^1.0.8", - "tsconfig-paths": "^3.15.0" - }, - "engines": { - "node": ">=4" - }, - "peerDependencies": { - "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 || ^9" - } - }, - "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==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.1" - } - }, - "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==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/eslint-plugin-kuzzle": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/eslint-plugin-kuzzle/-/eslint-plugin-kuzzle-0.0.6.tgz", - "integrity": "sha512-1tWOBxr0Fpe7yVFh3WLwrN8jgjaA39yKM0ohAkLNAN22P4HvPrN2rk0EhEUA8UFrpuRpX4wp4sF1HYUXJ2786g==", - "dev": true, - "dependencies": { - "@typescript-eslint/eslint-plugin": "^5.38.0", - "@typescript-eslint/parser": "^5.38.0", - "eslint": "^8.23.1", - "eslint-plugin-prettier": "^4.2.1", - "prettier": "^2.7.1" - } - }, - "node_modules/eslint-plugin-node": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-node/-/eslint-plugin-node-11.1.0.tgz", - "integrity": "sha512-oUwtPJ1W0SKD0Tr+wqu92c5xuCeQqB3hSCHasn/ZgjFdA9iDGNkNf2Zi9ztY7X+hNuMib23LNGRm6+uN+KLE3g==", - "dev": true, - "license": "MIT", - "dependencies": { - "eslint-plugin-es": "^3.0.0", - "eslint-utils": "^2.0.0", - "ignore": "^5.1.1", - "minimatch": "^3.0.4", - "resolve": "^1.10.1", - "semver": "^6.1.0" - }, - "engines": { - "node": ">=8.10.0" - }, - "peerDependencies": { - "eslint": ">=5.16.0" - } - }, - "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": "0.0.15", + "resolved": "https://registry.npmjs.org/eslint-plugin-kuzzle/-/eslint-plugin-kuzzle-0.0.15.tgz", + "integrity": "sha512-Hn7Bc/6L4O9pwEIed0uUQ1hNZ4YosBb39KWRQ9UqoiuhV3Ein3zrl4hNrozds0yqAgd8Wm3apnw4JxJX47225Q==", "dev": true, + "license": "Apache 2", "dependencies": { - "prettier-linter-helpers": "^1.0.0" + "@typescript-eslint/eslint-plugin": "^7.13.0", + "@typescript-eslint/parser": "^7.13.0", + "eslint-plugin-prettier": "^5.1.3", + "prettier": "^3.3.2" }, "engines": { - "node": ">=12.0.0" + "node": ">=16.0.0" }, "peerDependencies": { - "eslint": ">=7.28.0", - "prettier": ">=2.0.0" + "eslint": ">= 8.50.0 9<", + "eslint-plugin-prettier": "^5.1.3", + "typescript": ">= 5.2 <5.5" }, "peerDependenciesMeta": { - "eslint-config-prettier": { + "typescript": { "optional": true } } }, - "node_modules/eslint-plugin-promise": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-7.1.0.tgz", - "integrity": "sha512-8trNmPxdAy3W620WKDpaS65NlM5yAumod6XeC4LOb+jxlkG4IVcp68c6dXY2ev+uT4U1PtG57YDV6EGAXN0GbQ==", + "node_modules/eslint-plugin-prettier": { + "version": "5.5.4", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.5.4.tgz", + "integrity": "sha512-swNtI95SToIz05YINMA6Ox5R057IMAmWZ26GqPxusAp1TZzj+IdY9tXNWWD3vkF/wEqydCONcwjTFpxybBqZsg==", "dev": true, - "license": "ISC", + "license": "MIT", + "dependencies": { + "prettier-linter-helpers": "^1.0.0", + "synckit": "^0.11.7" + }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": "^14.18.0 || >=16.0.0" }, "funding": { - "url": "https://opencollective.com/eslint" + "url": "https://opencollective.com/eslint-plugin-prettier" }, "peerDependencies": { - "eslint": "^7.0.0 || ^8.0.0 || ^9.0.0" - } - }, - "node_modules/eslint-plugin-standard": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-standard/-/eslint-plugin-standard-5.0.0.tgz", - "integrity": "sha512-eSIXPc9wBM4BrniMzJRBm2uoVuXz2EPa+NXPk2+itrVt+r5SbKFERx/IgrK/HmfjddyKVz2f+j+7gBRvu19xLg==", - "deprecated": "standard 16.0.0 and eslint-config-standard 16.0.0 no longer require the eslint-plugin-standard package. You can remove it from your dependencies with 'npm rm eslint-plugin-standard'. More info here: https://github.com/standard/standard/issues/1316", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" + "@types/eslint": ">=8.0.0", + "eslint": ">=8.0.0", + "eslint-config-prettier": ">= 7.0.0 <10.0.0 || >=10.1.0", + "prettier": ">=3.0.0" + }, + "peerDependenciesMeta": { + "@types/eslint": { + "optional": true }, - { - "type": "consulting", - "url": "https://feross.org/support" + "eslint-config-prettier": { + "optional": true } - ], - "license": "MIT", - "peerDependencies": { - "eslint": ">=5.0.0" } }, "node_modules/eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", "dev": true, + "license": "BSD-2-Clause", + "peer": true, "dependencies": { "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/eslint-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", - "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", - "dev": true, - "dependencies": { - "eslint-visitor-keys": "^1.1.0" + "estraverse": "^5.2.0" }, "engines": { - "node": ">=6" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { - "url": "https://github.com/sponsors/mysticatea" - } - }, - "node_modules/eslint-utils/node_modules/eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", - "dev": true, - "engines": { - "node": ">=4" + "url": "https://opencollective.com/eslint" } }, "node_modules/eslint-visitor-keys": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.0.tgz", - "integrity": "sha512-HPpKPUBQcAsZOsHAFwTtIKcYlCje62XB7SEAcxjtmW6TD1WVpkS6i6/hOVtTZIl4zGj/mBqpFVGvaDneik+VoQ==", + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", "dev": true, + "license": "Apache-2.0", "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, @@ -6802,11 +5463,31 @@ "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, + "license": "MIT", + "peer": 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/node_modules/ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, + "license": "MIT", + "peer": true, "dependencies": { "color-convert": "^2.0.1" }, @@ -6817,17 +5498,13 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "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/chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, + "license": "MIT", + "peer": true, "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -6844,6 +5521,8 @@ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, + "license": "MIT", + "peer": true, "dependencies": { "color-name": "~1.1.4" }, @@ -6855,13 +5534,17 @@ "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 + "dev": true, + "license": "MIT", + "peer": 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, + "license": "MIT", + "peer": true, "engines": { "node": ">=10" }, @@ -6869,69 +5552,32 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/eslint/node_modules/eslint-scope": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz", - "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==", - "dev": true, - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } - }, - "node_modules/eslint/node_modules/estraverse": { - "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" - } - }, - "node_modules/eslint/node_modules/globals": { - "version": "13.20.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", - "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", - "dev": true, - "dependencies": { - "type-fest": "^0.20.2" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/eslint/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, + "license": "MIT", + "peer": true, "engines": { "node": ">=8" } }, - "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==", + "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, - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } + "license": "MIT", + "peer": true }, "node_modules/eslint/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, + "license": "MIT", + "peer": true, "dependencies": { "has-flag": "^4.0.0" }, @@ -6939,27 +5585,17 @@ "node": ">=8" } }, - "node_modules/eslint/node_modules/type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/espree": { - "version": "9.5.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.5.1.tgz", - "integrity": "sha512-5yxtHSZXRSW5pvv3hAlXM5+/Oswi1AUFqBmbibKb5s6bp3rGIDkyXU6xCoyuuLhijr4SFwPrXRoZjz0AZDN9tg==", + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", "dev": true, + "license": "BSD-2-Clause", + "peer": true, "dependencies": { - "acorn": "^8.8.0", + "acorn": "^8.9.0", "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.4.0" + "eslint-visitor-keys": "^3.4.1" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -6973,6 +5609,7 @@ "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", "dev": true, + "license": "BSD-2-Clause", "bin": { "esparse": "bin/esparse.js", "esvalidate": "bin/esvalidate.js" @@ -6982,10 +5619,11 @@ } }, "node_modules/esquery": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", - "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", + "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "estraverse": "^5.1.0" }, @@ -6993,20 +5631,12 @@ "node": ">=0.10" } }, - "node_modules/esquery/node_modules/estraverse": { - "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" - } - }, "node_modules/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, + "license": "BSD-2-Clause", "dependencies": { "estraverse": "^5.2.0" }, @@ -7014,20 +5644,12 @@ "node": ">=4.0" } }, - "node_modules/esrecurse/node_modules/estraverse": { + "node_modules/estraverse": { "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" - } - }, - "node_modules/estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "dev": true, + "license": "BSD-2-Clause", "engines": { "node": ">=4.0" } @@ -7037,6 +5659,7 @@ "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", "dev": true, + "license": "BSD-2-Clause", "engines": { "node": ">=0.10.0" } @@ -7046,84 +5669,98 @@ "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", "dev": true, + "license": "MIT", + "peer": true, "engines": { "node": ">=0.8.x" } }, "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==", + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-9.6.1.tgz", + "integrity": "sha512-9Be3ZoN4LmYR90tUoVu2te2BsbzHfhJyfEiAVfz7N5/zv+jduIfLrV2xdQXOHbaD6KgpGdO9PRPM1Y4Q9QkPkA==", "dev": true, + "license": "MIT", "peer": 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", + "@sindresorhus/merge-streams": "^4.0.0", + "cross-spawn": "^7.0.6", + "figures": "^6.1.0", + "get-stream": "^9.0.0", + "human-signals": "^8.0.1", + "is-plain-obj": "^4.1.0", + "is-stream": "^4.0.1", + "npm-run-path": "^6.0.0", + "pretty-ms": "^9.2.0", "signal-exit": "^4.1.0", - "strip-final-newline": "^3.0.0" + "strip-final-newline": "^4.0.0", + "yoctocolors": "^2.1.1" }, "engines": { - "node": ">=16.17" + "node": "^18.19.0 || >=20.5.0" }, "funding": { "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, - "node_modules/execa/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/execa/node_modules/figures": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-6.1.0.tgz", + "integrity": "sha512-d+l3qxjSesT4V7v2fh+QnmFnUWv9lSpjarhShNTgBOfA0ttejbQUAlHLitbjkoRiDulW0OPoQPYIGhIC8ohejg==", "dev": true, + "license": "MIT", "peer": true, + "dependencies": { + "is-unicode-supported": "^2.0.0" + }, "engines": { - "node": ">=16" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/execa/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/execa/node_modules/get-stream": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-9.0.1.tgz", + "integrity": "sha512-kVCxPF3vQM/N0B1PmoqVUqgHP+EeVjmZSQn+1oCRPxd2P21P2F19lIgbR3HBosbB1PUhOAoctJnfEn2GbN2eZA==", "dev": true, + "license": "MIT", "peer": true, + "dependencies": { + "@sec-ant/readable-stream": "^0.4.1", + "is-stream": "^4.0.1" + }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "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==", + "node_modules/execa/node_modules/is-stream": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-4.0.1.tgz", + "integrity": "sha512-Dnz92NInDqYckGEUJv689RbRiTSEHCQ7wOVeALbkOz999YpqT46yMRIGtSNl2iCL1waAZSx40+h59NV/EwzV/A==", "dev": true, + "license": "MIT", "peer": true, "engines": { - "node": ">=12" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "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/execa/node_modules/is-unicode-supported": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-2.1.0.tgz", + "integrity": "sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ==", "dev": true, + "license": "MIT", "peer": true, - "dependencies": { - "mimic-fn": "^4.0.0" - }, "engines": { - "node": ">=12" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -7134,6 +5771,7 @@ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", "dev": true, + "license": "ISC", "peer": true, "engines": { "node": ">=14" @@ -7142,85 +5780,57 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/expand-tilde": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", - "integrity": "sha512-A5EmesHW6rfnZ9ysHQjPdJRni0SRar0tjtG5MNtm9n5TUvsYU8oozprtRD4AqHxcZWWlVuAmQo2nWKfN9oyjTw==", - "dev": true, - "dependencies": { - "homedir-polyfill": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ext": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/ext/-/ext-1.7.0.tgz", - "integrity": "sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==", - "dev": true, - "dependencies": { - "type": "^2.7.2" - } - }, - "node_modules/ext/node_modules/type": { - "version": "2.7.2", - "resolved": "https://registry.npmjs.org/type/-/type-2.7.2.tgz", - "integrity": "sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw==", - "dev": true - }, "node_modules/extend": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", - "dev": true - }, - "node_modules/external-editor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", - "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", "dev": true, - "dependencies": { - "chardet": "^0.7.0", - "iconv-lite": "^0.4.24", - "tmp": "^0.0.33" - }, - "engines": { - "node": ">=4" - } + "license": "MIT" }, - "node_modules/extsprintf": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.4.1.tgz", - "integrity": "sha512-Wrk35e8ydCKDj/ArClo1VrPVmN8zph5V4AtHwIuHhvMXsKf73UT3BOD+azBIW+3wOJ4FhEH7zyaJCFvChjYvMA==", + "node_modules/fast-content-type-parse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fast-content-type-parse/-/fast-content-type-parse-2.0.1.tgz", + "integrity": "sha512-nGqtvLrj5w0naR6tDPfB4cUmYCqouzyQiz6C5y/LtcDllJdrcc6WaWW6iXyIIOErTa/XRybj28aasdn4LkVk6Q==", "dev": true, - "engines": [ - "node >=0.6.0" - ] + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fastify" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fastify" + } + ], + "license": "MIT", + "peer": true }, "node_modules/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==", - "dev": true + "dev": true, + "license": "MIT" }, "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==", - "dev": true + "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, + "license": "Apache-2.0" }, "node_modules/fast-glob": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", - "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==", + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", + "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", "dev": true, + "license": "MIT", "dependencies": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", "glob-parent": "^5.1.2", "merge2": "^1.3.0", - "micromatch": "^4.0.4" + "micromatch": "^4.0.8" }, "engines": { "node": ">=8.6.0" @@ -7231,6 +5841,7 @@ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dev": true, + "license": "ISC", "dependencies": { "is-glob": "^4.0.1" }, @@ -7242,28 +5853,40 @@ "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==", - "dev": true + "dev": true, + "license": "MIT" }, "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 + "dev": true, + "license": "MIT" }, - "node_modules/fastest-levenshtein": { - "version": "1.0.16", - "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", - "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==", + "node_modules/fast-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.0.tgz", + "integrity": "sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA==", "dev": true, - "engines": { - "node": ">= 4.9.1" - } + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fastify" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fastify" + } + ], + "license": "BSD-3-Clause", + "peer": true }, "node_modules/fastq": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", - "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.1.tgz", + "integrity": "sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==", "dev": true, + "license": "ISC", "dependencies": { "reusify": "^1.0.4" } @@ -7273,6 +5896,7 @@ "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", "dev": true, + "license": "MIT", "dependencies": { "escape-string-regexp": "^1.0.5" }, @@ -7283,11 +5907,23 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "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==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, "node_modules/file-entry-cache": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", "dev": true, + "license": "MIT", + "peer": true, "dependencies": { "flat-cache": "^3.0.4" }, @@ -7300,6 +5936,7 @@ "resolved": "https://registry.npmjs.org/fill-keys/-/fill-keys-1.0.2.tgz", "integrity": "sha512-tcgI872xXjwFF4xgQmLxi76GnwJG3g/3isB1l4/G5Z4zrbddGpBjqZCO9oEAcB5wX0Hj/5iQB3toxfO7in1hHA==", "dev": true, + "license": "MIT", "dependencies": { "is-object": "~1.0.1", "merge-descriptors": "~1.0.0" @@ -7309,10 +5946,11 @@ } }, "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==", + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", "dev": true, + "license": "MIT", "dependencies": { "to-regex-range": "^5.0.1" }, @@ -7325,6 +5963,7 @@ "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", "dev": true, + "license": "MIT", "dependencies": { "commondir": "^1.0.1", "make-dir": "^3.0.2", @@ -7337,27 +5976,12 @@ "url": "https://github.com/avajs/find-cache-dir?sponsor=1" } }, - "node_modules/find-node-modules": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/find-node-modules/-/find-node-modules-2.1.3.tgz", - "integrity": "sha512-UC2I2+nx1ZuOBclWVNdcnbDR5dlrOdVb7xNjmT/lHE+LsgztWks3dG7boJ37yTS/venXw84B/mAW9uHVoC5QRg==", - "dev": true, - "dependencies": { - "findup-sync": "^4.0.0", - "merge": "^2.1.1" - } - }, - "node_modules/find-root": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz", - "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==", - "dev": true - }, "node_modules/find-up": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", "dev": true, + "license": "MIT", "dependencies": { "locate-path": "^6.0.0", "path-exists": "^4.0.0" @@ -7369,35 +5993,35 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/find-versions": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/find-versions/-/find-versions-5.1.0.tgz", - "integrity": "sha512-+iwzCJ7C5v5KgcBuueqVoNiHVoQpwiUK5XFLjf0affFTep+Wcw93tPvmb8tqujDNmzhBDPddnWV/qgWSXgq+Hg==", + "node_modules/find-up-simple": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/find-up-simple/-/find-up-simple-1.0.1.tgz", + "integrity": "sha512-afd4O7zpqHeRyg4PfDQsXmlDe2PfdHtJt6Akt8jOWaApLOZk5JXs6VMR29lz03pRe9mpykrRCYIYxaJYcfpncQ==", "dev": true, - "peer": true, - "dependencies": { - "semver-regex": "^4.0.5" - }, + "license": "MIT", "engines": { - "node": ">=12" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/findup-sync": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-4.0.0.tgz", - "integrity": "sha512-6jvvn/12IC4quLBL1KNokxC7wWTvYncaVUYSoxWw7YykPLuRrnv4qdHcSOywOI5RpkOVGeQRtWM8/q+G6W6qfQ==", + "node_modules/find-versions": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/find-versions/-/find-versions-6.0.0.tgz", + "integrity": "sha512-2kCCtc+JvcZ86IGAz3Z2Y0A1baIz9fL31pH/0S1IqZr9Iwnjq8izfPtrCyQKO6TLMPELLsQMre7VDqeIKCsHkA==", "dev": true, + "license": "MIT", + "peer": true, "dependencies": { - "detect-file": "^1.0.0", - "is-glob": "^4.0.0", - "micromatch": "^4.0.2", - "resolve-dir": "^1.0.1" + "semver-regex": "^4.0.5", + "super-regex": "^1.0.0" }, "engines": { - "node": ">= 8" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/flat": { @@ -7405,17 +6029,21 @@ "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", "dev": true, + "license": "BSD-3-Clause", "bin": { "flat": "cli.js" } }, "node_modules/flat-cache": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", - "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", + "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", "dev": true, + "license": "MIT", + "peer": true, "dependencies": { - "flatted": "^3.1.0", + "flatted": "^3.2.9", + "keyv": "^4.5.3", "rimraf": "^3.0.2" }, "engines": { @@ -7423,32 +6051,40 @@ } }, "node_modules/flatted": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", - "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", - "dev": true - }, - "node_modules/for-each": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", - "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz", + "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==", "dev": true, - "license": "MIT", - "dependencies": { - "is-callable": "^1.1.3" - } + "license": "ISC" }, "node_modules/foreground-child": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-2.0.0.tgz", - "integrity": "sha512-dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA==", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz", + "integrity": "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==", "dev": true, + "license": "ISC", "dependencies": { - "cross-spawn": "^7.0.0", - "signal-exit": "^3.0.2" + "cross-spawn": "^7.0.6", + "signal-exit": "^4.0.1" }, "engines": { - "node": ">=8.0.0" + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/foreground-child/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, + "license": "ISC", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, "node_modules/from2": { @@ -7456,22 +6092,20 @@ "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", "integrity": "sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g==", "dev": true, + "license": "MIT", + "peer": true, "dependencies": { "inherits": "^2.0.1", "readable-stream": "^2.0.0" } }, - "node_modules/from2/node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "dev": true - }, "node_modules/from2/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==", "dev": true, + "license": "MIT", + "peer": true, "dependencies": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -7486,13 +6120,17 @@ "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true + "dev": true, + "license": "MIT", + "peer": true }, "node_modules/from2/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==", "dev": true, + "license": "MIT", + "peer": true, "dependencies": { "safe-buffer": "~5.1.0" } @@ -7515,35 +6153,23 @@ "type": "consulting", "url": "https://feross.org/support" } - ] - }, - "node_modules/fs-extra": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", - "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", - "dev": true, - "dependencies": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=10" - } + ], + "license": "MIT" }, "node_modules/fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "dev": true + "dev": true, + "license": "ISC" }, "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, + "license": "MIT", "optional": true, "os": [ "darwin" @@ -7562,39 +6188,18 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/function.prototype.name": { - "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==", + "node_modules/function-timeout": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/function-timeout/-/function-timeout-1.0.2.tgz", + "integrity": "sha512-939eZS4gJ3htTHAldmyyuzlrD58P03fHG49v2JfFXbV6OhvZKRC9j2yAtdHw/zrp2zXHuv05zMIy40F0ge7spA==", "dev": true, "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "functions-have-names": "^1.2.3" - }, + "peer": true, "engines": { - "node": ">= 0.4" + "node": ">=18" }, "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/functional-red-black-tree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==", - "dev": true - }, - "node_modules/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, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/gensync": { @@ -7602,6 +6207,7 @@ "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", "dev": true, + "license": "MIT", "engines": { "node": ">=6.9.0" } @@ -7610,33 +6216,15 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==", - "dev": true - }, - "node_modules/get-intrinsic": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", - "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", "dev": true, - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "function-bind": "^1.1.2", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3", - "hasown": "^2.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } + "license": "ISC" }, "node_modules/get-package-type": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", "dev": true, + "license": "MIT", "engines": { "node": ">=8.0.0" } @@ -7646,6 +6234,7 @@ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" }, @@ -7653,39 +6242,12 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/get-symbol-description": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.2.tgz", - "integrity": "sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.5", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.4" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/gherkin": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/gherkin/-/gherkin-5.0.0.tgz", - "integrity": "sha512-Y+93z2Nh+TNIKuKEf+6M0FQrX/z0Yv9C2LFfc5NlcGJWRrrTeI/jOg2374y1FOw6ZYQ3RgJBezRkli7CLDubDA==", - "deprecated": "This package is now published under @cucumber/gherkin", - "dev": true, - "bin": { - "gherkin-javascript": "bin/gherkin" - } - }, "node_modules/git-log-parser": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/git-log-parser/-/git-log-parser-1.2.0.tgz", - "integrity": "sha512-rnCVNfkTL8tdNryFuaY0fYiBWEBcgF748O6ZI61rslBvr2o7U65c2/6npCRqH40vuAhtgtDiqLTJjBVdrejCzA==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/git-log-parser/-/git-log-parser-1.2.1.tgz", + "integrity": "sha512-PI+sPDvHXNPl5WNOErAK05s3j0lgwUzMN6o8cyQrDaKfT3qd7TmNJKeXX+SknI5I0QhG5fVPAEwSY4tRGDtYoQ==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "argv-formatter": "~1.0.0", @@ -7693,7 +6255,7 @@ "split2": "~1.0.0", "stream-combiner2": "~1.1.1", "through2": "~2.0.0", - "traverse": "~0.6.6" + "traverse": "0.6.8" } }, "node_modules/git-log-parser/node_modules/split2": { @@ -7701,53 +6263,19 @@ "resolved": "https://registry.npmjs.org/split2/-/split2-1.0.0.tgz", "integrity": "sha512-NKywug4u4pX/AZBB1FCPzZ6/7O+Xhz1qMVbzTvvKvikjO99oPN87SkK08mEY9P63/5lWjK+wgOOgApnTg5r6qg==", "dev": true, + "license": "ISC", "peer": true, "dependencies": { "through2": "~2.0.0" } }, - "node_modules/git-raw-commits": { - "version": "2.0.11", - "resolved": "https://registry.npmjs.org/git-raw-commits/-/git-raw-commits-2.0.11.tgz", - "integrity": "sha512-VnctFhw+xfj8Va1xtfEqCUD2XDrbAPSJx+hSrE5K7fGdjZruW7XV+QOrN7LF/RJyvspRiD2I0asWsxFp0ya26A==", - "dev": true, - "dependencies": { - "dargs": "^7.0.0", - "lodash": "^4.17.15", - "meow": "^8.0.0", - "split2": "^3.0.0", - "through2": "^4.0.0" - }, - "bin": { - "git-raw-commits": "cli.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/git-raw-commits/node_modules/split2": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/split2/-/split2-3.2.2.tgz", - "integrity": "sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==", - "dev": true, - "dependencies": { - "readable-stream": "^3.0.0" - } - }, - "node_modules/git-raw-commits/node_modules/through2": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz", - "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==", - "dev": true, - "dependencies": { - "readable-stream": "3" - } - }, "node_modules/glob": { "version": "7.2.3", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", "dev": true, + "license": "ISC", "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -7768,6 +6296,7 @@ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", "dev": true, + "license": "ISC", "dependencies": { "is-glob": "^4.0.3" }, @@ -7779,86 +6308,51 @@ "version": "0.4.1", "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", - "dev": true - }, - "node_modules/global-dirs": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-0.1.1.tgz", - "integrity": "sha512-NknMLn7F2J7aflwFOlGdNIuCDpN3VGoSoB+aap3KABFWbHVn1TCgFC+np23J8W2BiZbjfEw3BFBycSMv1AFblg==", - "dev": true, - "dependencies": { - "ini": "^1.3.4" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/global-modules": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", - "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", "dev": true, - "dependencies": { - "global-prefix": "^1.0.1", - "is-windows": "^1.0.1", - "resolve-dir": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } + "license": "BSD-2-Clause", + "peer": true }, - "node_modules/global-prefix": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", - "integrity": "sha512-5lsx1NUDHtSjfg0eHlmYvZKv8/nVqX4ckFbM+FrGcQ+04KWcWFo9P5MxPZYSzUvyzmdTbI7Eix8Q4IbELDqzKg==", + "node_modules/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, + "license": "MIT", "dependencies": { - "expand-tilde": "^2.0.2", - "homedir-polyfill": "^1.0.1", - "ini": "^1.3.4", - "is-windows": "^1.0.1", - "which": "^1.2.14" + "ini": "2.0.0" }, "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/global-prefix/node_modules/which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dev": true, - "dependencies": { - "isexe": "^2.0.0" + "node": ">=10" }, - "bin": { - "which": "bin/which" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "node_modules/global-dirs/node_modules/ini": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz", + "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==", "dev": true, + "license": "ISC", "engines": { - "node": ">=4" + "node": ">=10" } }, - "node_modules/globalthis": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz", - "integrity": "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==", + "node_modules/globals": { + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { - "define-properties": "^1.2.1", - "gopd": "^1.0.1" + "type-fest": "^0.20.2" }, "engines": { - "node": ">= 0.4" + "node": ">=8" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/globby": { @@ -7866,6 +6360,7 @@ "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", "dev": true, + "license": "MIT", "dependencies": { "array-union": "^2.1.0", "dir-glob": "^3.0.1", @@ -7881,36 +6376,27 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/gopd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", - "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", - "dev": true, - "license": "MIT", - "dependencies": { - "get-intrinsic": "^1.1.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/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==", - "dev": true + "dev": true, + "license": "ISC" }, - "node_modules/grapheme-splitter": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz", - "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==", - "dev": true + "node_modules/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "dev": true, + "license": "MIT" }, "node_modules/handlebars": { "version": "4.7.8", "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.8.tgz", "integrity": "sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==", "dev": true, + "license": "MIT", + "peer": true, "dependencies": { "minimist": "^1.2.5", "neo-async": "^2.6.2", @@ -7927,87 +6413,38 @@ "uglify-js": "^3.1.4" } }, - "node_modules/hard-rejection": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz", - "integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/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, - "license": "MIT", - "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": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/has-property-descriptors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", - "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "node_modules/has-ansi": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-4.0.1.tgz", + "integrity": "sha512-Qr4RtTm30xvEdqUXbSBVWDu+PrTokJOwe/FU+VdfJPk+MXAPoeOzKpRyrDTnZIJwAkQ4oBLTU53nu0HrkF/Z2A==", "dev": true, "license": "MIT", "dependencies": { - "es-define-property": "^1.0.0" + "ansi-regex": "^4.1.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-proto": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", - "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==", - "dev": true, - "license": "MIT", "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=8" } }, - "node_modules/has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "node_modules/has-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==", "dev": true, "license": "MIT", "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=6" } }, - "node_modules/has-tostringtag": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", - "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "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, "license": "MIT", - "dependencies": { - "has-symbols": "^1.0.3" - }, + "peer": true, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=4" } }, "node_modules/hasha": { @@ -8015,6 +6452,7 @@ "resolved": "https://registry.npmjs.org/hasha/-/hasha-5.2.2.tgz", "integrity": "sha512-Hrp5vIK/xr5SkeN2onO32H0MgNZ0f17HRNH39WfL0SYUNOTZ5Lz1TJ8Pajo/87dYGEFlLMm7mIc/k/s6Bvz9HQ==", "dev": true, + "license": "MIT", "dependencies": { "is-stream": "^2.0.0", "type-fest": "^0.8.0" @@ -8026,6 +6464,16 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/hasha/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==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=8" + } + }, "node_modules/hasown": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", @@ -8044,20 +6492,20 @@ "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", "dev": true, + "license": "MIT", "bin": { "he": "bin/he" } }, - "node_modules/homedir-polyfill": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", - "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==", + "node_modules/highlight.js": { + "version": "10.7.3", + "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.7.3.tgz", + "integrity": "sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==", "dev": true, - "dependencies": { - "parse-passwd": "^1.0.0" - }, + "license": "BSD-3-Clause", + "peer": true, "engines": { - "node": ">=0.10.0" + "node": "*" } }, "node_modules/hook-std": { @@ -8065,6 +6513,7 @@ "resolved": "https://registry.npmjs.org/hook-std/-/hook-std-3.0.0.tgz", "integrity": "sha512-jHRQzjSDzMtFy34AGj1DN+vq54WVuhSvKgrHf0OMiFQTwDD4L/qqofVEWjLOBMTn5+lCD3fPg32W9yOfnEJTTw==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": "^12.20.0 || ^14.13.1 || >=16.0.0" @@ -8074,10 +6523,12 @@ } }, "node_modules/hosted-git-info": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-7.0.0.tgz", - "integrity": "sha512-ICclEpTLhHj+zCuSb2/usoNXSVkxUSIopre+b1w8NDY9Dntp9LO4vLdHYI336TH8sAqwrRgnSfdkBG2/YpisHA==", + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-7.0.2.tgz", + "integrity": "sha512-puUZAUKT5m8Zzvs72XWy3HtvVbTWljRE66cP60bxJzAqf2DgICo7lYTY2IHUmLnNpjYvw5bvmoHvPc0QO2a62w==", "dev": true, + "license": "ISC", + "peer": true, "dependencies": { "lru-cache": "^10.0.1" }, @@ -8086,102 +6537,77 @@ } }, "node_modules/hosted-git-info/node_modules/lru-cache": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.0.1.tgz", - "integrity": "sha512-IJ4uwUTi2qCccrioU6g9g/5rvvVl13bsdczUUcqbciD9iLr095yj8DQKdObriEvuNSx325N1rV1O0sJFszx75g==", + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", "dev": true, - "engines": { - "node": "14 || >=16.14" - } + "license": "ISC", + "peer": true }, "node_modules/html-escaper": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", - "dev": true - }, - "node_modules/htmlparser2": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-9.1.0.tgz", - "integrity": "sha512-5zfg6mHUoaer/97TxnGpxmbR7zJtPwIYFMZ/H5ucTlPZhKvtum05yiPK3Mgai3a0DyVxv7qYqoweaEd2nrYQzQ==", "dev": true, - "funding": [ - "https://github.com/fb55/htmlparser2?sponsor=1", - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ], - "license": "MIT", - "dependencies": { - "domelementtype": "^2.3.0", - "domhandler": "^5.0.3", - "domutils": "^3.1.0", - "entities": "^4.5.0" - } - }, - "node_modules/https-browserify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", - "integrity": "sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==", - "dev": true + "license": "MIT" }, - "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/http-proxy-agent": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", + "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==", "dev": true, + "license": "MIT", "peer": true, + "dependencies": { + "agent-base": "^7.1.0", + "debug": "^4.3.4" + }, "engines": { - "node": ">=16.17.0" + "node": ">= 14" } }, - "node_modules/iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "node_modules/https-proxy-agent": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz", + "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==", "dev": true, + "license": "MIT", + "peer": true, "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" + "agent-base": "^7.1.2", + "debug": "4" }, "engines": { - "node": ">=0.10.0" + "node": ">= 14" } }, - "node_modules/ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "node_modules/human-signals": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-8.0.1.tgz", + "integrity": "sha512-eKCa6bwnJhvxj14kZk5NCPc6Hb6BdsU9DZcOnmQKSnO1VKrfV0zCvtttPZUsBvjmNDn8rpcJfpwSYnHBjc95MQ==", "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] + "license": "Apache-2.0", + "peer": true, + "engines": { + "node": ">=18.18.0" + } }, "node_modules/ignore": { - "version": "5.2.4", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", - "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", "dev": true, + "license": "MIT", "engines": { "node": ">= 4" } }, "node_modules/import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", + "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", "dev": true, + "license": "MIT", "dependencies": { "parent-module": "^1.0.0", "resolve-from": "^4.0.0" @@ -8193,225 +6619,102 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/import-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/import-from/-/import-from-4.0.0.tgz", - "integrity": "sha512-P9J71vT5nLlDeV8FHs5nNxaLbrpfAV5cF5srvbZfpwpcJoM/xZR3hiv+q+SAnuSmuGbXMWud063iIMx/V/EWZQ==", - "dev": true, - "engines": { - "node": ">=12.2" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/import-local": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", - "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", - "dev": true, - "dependencies": { - "pkg-dir": "^4.2.0", - "resolve-cwd": "^3.0.0" - }, - "bin": { - "import-local-fixture": "fixtures/cli.js" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true, - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/indent-string": { + "node_modules/import-fresh/node_modules/resolve-from": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "dev": true, - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true - }, - "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/inquirer": { - "version": "8.2.5", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.2.5.tgz", - "integrity": "sha512-QAgPDQMEgrDssk1XiwwHoOGYF9BAbUcc1+j+FhEvaOt8/cKRqyLn0U5qA6F74fGhTMGxf92pOvPBeh29jQJDTQ==", - "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.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": "^7.0.0" - }, - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/inquirer/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, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/inquirer/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "license": "MIT", "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "node": ">=4" } }, - "node_modules/inquirer/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/import-from-esm": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/import-from-esm/-/import-from-esm-1.3.4.tgz", + "integrity": "sha512-7EyUlPFC0HOlBDpUFGfYstsU7XHxZJKAAMzCT8wZ0hMW7b+hG51LIKTDcsgtz8Pu6YC0HqRVbX+rVUtsGMUKvg==", "dev": true, + "license": "MIT", + "peer": true, "dependencies": { - "color-name": "~1.1.4" + "debug": "^4.3.4", + "import-meta-resolve": "^4.0.0" }, "engines": { - "node": ">=7.0.0" + "node": ">=16.20" } }, - "node_modules/inquirer/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/inquirer/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/import-meta-resolve": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/import-meta-resolve/-/import-meta-resolve-4.2.0.tgz", + "integrity": "sha512-Iqv2fzaTQN28s/FwZAoFq0ZSs/7hMAHJVX+w8PZl3cY19Pxk6jFFalxQoIfW2826i/fDLXv8IiEZRIT0lDuWcg==", "dev": true, - "engines": { - "node": ">=8" + "license": "MIT", + "peer": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/inquirer/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/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", "dev": true, + "license": "MIT", "engines": { - "node": ">=8" + "node": ">=0.8.19" } }, - "node_modules/inquirer/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/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==", "dev": true, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, + "license": "MIT", "engines": { "node": ">=8" } }, - "node_modules/inquirer/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/index-to-position": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/index-to-position/-/index-to-position-1.2.0.tgz", + "integrity": "sha512-Yg7+ztRkqslMAS2iFaU+Oa4KTSidr63OsFGlOrJoW981kIYO3CGCS3wA95P1mUi/IVSJkn0D479KTJpVpvFNuw==", "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, + "license": "MIT", "engines": { - "node": ">=8" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/internal-slot": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.7.tgz", - "integrity": "sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==", + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "es-errors": "^1.3.0", - "hasown": "^2.0.0", - "side-channel": "^1.0.4" - }, - "engines": { - "node": ">= 0.4" + "once": "^1.3.0", + "wrappy": "1" } }, - "node_modules/interpret": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-2.2.0.tgz", - "integrity": "sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==", + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", "dev": true, - "engines": { - "node": ">= 0.10" - } + "license": "ISC" }, "node_modules/into-stream": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/into-stream/-/into-stream-7.0.0.tgz", "integrity": "sha512-2dYz766i9HprMBasCMvHMuazJ7u4WzhJwo5kb3iPSiW/iRYV6uPari3zHoqZlnuaR7V1bEiNMxikhp37rdBXbw==", "dev": true, + "license": "MIT", + "peer": true, "dependencies": { "from2": "^2.3.0", "p-is-promise": "^3.0.0" @@ -8428,6 +6731,7 @@ "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.4.tgz", "integrity": "sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==", "dev": true, + "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" @@ -8438,6 +6742,7 @@ "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-1.0.4.tgz", "integrity": "sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==", "dev": true, + "license": "MIT", "dependencies": { "is-alphabetical": "^1.0.0", "is-decimal": "^1.0.0" @@ -8447,70 +6752,13 @@ "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/is-array-buffer": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.4.tgz", - "integrity": "sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "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==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-bigints": "^1.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "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": { - "binary-extensions": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "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==", "dev": true, "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } + "peer": true }, "node_modules/is-buffer": { "version": "2.0.5", @@ -8531,27 +6779,15 @@ "url": "https://feross.org/support" } ], - "engines": { - "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==", - "dev": true, "license": "MIT", "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=4" } }, "node_modules/is-core-module": { - "version": "2.15.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.1.tgz", - "integrity": "sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==", + "version": "2.16.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", + "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", "dev": true, "license": "MIT", "dependencies": { @@ -8564,43 +6800,12 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-data-view": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.1.tgz", - "integrity": "sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-typed-array": "^1.1.13" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "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==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/is-decimal": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-1.0.4.tgz", "integrity": "sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==", "dev": true, + "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" @@ -8611,30 +6816,17 @@ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, - "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, - "engines": { - "node": ">=4" - } - }, - "node_modules/is-generator": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/is-generator/-/is-generator-1.0.3.tgz", - "integrity": "sha512-G56jBpbJeg7ds83HW1LuShNs8J73Fv3CPz/bmROHOHlnKkN8sWb9ujiagjmxxMUywftgq48HlBZELKKqFLk0oA==", - "dev": true - }, "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==", "dev": true, + "license": "MIT", "dependencies": { "is-extglob": "^2.1.1" }, @@ -8647,31 +6839,27 @@ "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-1.0.4.tgz", "integrity": "sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==", "dev": true, + "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" } }, - "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-negative-zero": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz", - "integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==", + "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, "license": "MIT", + "dependencies": { + "global-dirs": "^3.0.0", + "is-path-inside": "^3.0.2" + }, "engines": { - "node": ">= 0.4" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/is-number": { @@ -8679,24 +6867,9 @@ "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", "dev": true, - "engines": { - "node": ">=0.12.0" - } - }, - "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, "license": "MIT", - "dependencies": { - "has-tostringtag": "^1.0.0" - }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=0.12.0" } }, "node_modules/is-obj": { @@ -8704,6 +6877,7 @@ "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } @@ -8713,115 +6887,46 @@ "resolved": "https://registry.npmjs.org/is-object/-/is-object-1.0.2.tgz", "integrity": "sha512-2rRIahhZr2UWb45fIOuvZGpFtz0TyOZLf32KxBbSoUCeZR495zCKlWUKKUByk3geS2eAs7ZAABt0Y/Rx0GiQGA==", "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "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, - "engines": { - "node": ">=8" - } - }, - "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/is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "dev": true, - "dependencies": { - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "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, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-shared-array-buffer": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.3.tgz", - "integrity": "sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==", - "dev": true, "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7" - }, - "engines": { - "node": ">= 0.4" - }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "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/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, + "license": "MIT", "engines": { "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/is-string": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", - "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "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==", "dev": true, "license": "MIT", - "dependencies": { - "has-tostringtag": "^1.0.0" - }, + "peer": true, "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.4", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", - "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "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, "license": "MIT", - "dependencies": { - "has-symbols": "^1.0.2" - }, "engines": { - "node": ">= 0.4" + "node": ">=8" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/is-text-path": { @@ -8829,6 +6934,8 @@ "resolved": "https://registry.npmjs.org/is-text-path/-/is-text-path-2.0.0.tgz", "integrity": "sha512-+oDTluR6WEjdXEJMnC2z6A4FRwFoYuvShVVEGsS7ewc0UTi2QtAKMDJuL4BDEVt+5T7MjFo12RP8ghOM75oKJw==", "dev": true, + "license": "MIT", + "peer": true, "dependencies": { "text-extensions": "^2.0.0" }, @@ -8836,33 +6943,19 @@ "node": ">=8" } }, - "node_modules/is-typed-array": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.13.tgz", - "integrity": "sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==", - "dev": true, - "license": "MIT", - "dependencies": { - "which-typed-array": "^1.1.14" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/is-typedarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", - "dev": true + "dev": true, + "license": "MIT" }, "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, + "license": "MIT", "engines": { "node": ">=10" }, @@ -8870,60 +6963,37 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "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==", - "dev": true - }, - "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, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/is-windows": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==", - "dev": true + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true, + "license": "MIT", + "peer": true }, "node_modules/isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true - }, - "node_modules/isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", "dev": true, - "engines": { - "node": ">=0.10.0" - } + "license": "ISC" }, "node_modules/issue-parser": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/issue-parser/-/issue-parser-6.0.0.tgz", - "integrity": "sha512-zKa/Dxq2lGsBIXQ7CUZWTHfvxPC2ej0KfO7fIPqLlHB9J2hJ7rGhZ5rilhuufylr4RXYPzJUeFjKxz305OsNlA==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/issue-parser/-/issue-parser-7.0.1.tgz", + "integrity": "sha512-3YZcUUR2Wt1WsapF+S/WiA2WmlW0cWAoPccMqne7AxEBhCdFeTPjfv/Axb8V2gyCgY3nRw+ksZ3xSUX+R47iAg==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "lodash.capitalize": "^4.2.1", @@ -8933,14 +7003,15 @@ "lodash.uniqby": "^4.7.0" }, "engines": { - "node": ">=10.13" + "node": "^18.17 || >=20.6.1" } }, "node_modules/istanbul-lib-coverage": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", - "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", + "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==", "dev": true, + "license": "BSD-3-Clause", "engines": { "node": ">=8" } @@ -8950,6 +7021,7 @@ "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-3.0.0.tgz", "integrity": "sha512-Pt/uge1Q9s+5VAZ+pCo16TYMWPBIl+oaNIjgLQxcX0itS6ueeaA+pEfThZpH8WxhFgCiEb8sAJY6MdUKgiIWaQ==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "append-transform": "^2.0.0" }, @@ -8958,18 +7030,33 @@ } }, "node_modules/istanbul-lib-instrument": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz", - "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==", + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.3.tgz", + "integrity": "sha512-Vtgk7L/R2JHyyGW07spoFlB8/lpjiOLTjMdms6AFMraYt3BaJauod/NGrfnVG/y4Ix1JEuMRPDPEj2ua+zz1/Q==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { - "@babel/core": "^7.7.5", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.0.0", - "semver": "^6.3.0" + "@babel/core": "^7.23.9", + "@babel/parser": "^7.23.9", + "@istanbuljs/schema": "^0.1.3", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^7.5.4" }, "engines": { - "node": ">=8" + "node": ">=10" + } + }, + "node_modules/istanbul-lib-instrument/node_modules/semver": { + "version": "7.7.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", + "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" } }, "node_modules/istanbul-lib-processinfo": { @@ -8977,6 +7064,7 @@ "resolved": "https://registry.npmjs.org/istanbul-lib-processinfo/-/istanbul-lib-processinfo-2.0.3.tgz", "integrity": "sha512-NkwHbo3E00oybX6NGJi6ar0B29vxyvNwoC7eJ4G4Yq28UfY758Hgn/heV8VRFhevPED4LXfFz0DQ8z/0kw9zMg==", "dev": true, + "license": "ISC", "dependencies": { "archy": "^1.0.0", "cross-spawn": "^7.0.3", @@ -8990,17 +7078,18 @@ } }, "node_modules/istanbul-lib-report": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", + "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "istanbul-lib-coverage": "^3.0.0", - "make-dir": "^3.0.0", + "make-dir": "^4.0.0", "supports-color": "^7.1.0" }, "engines": { - "node": ">=8" + "node": ">=10" } }, "node_modules/istanbul-lib-report/node_modules/has-flag": { @@ -9008,15 +7097,46 @@ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, + "node_modules/istanbul-lib-report/node_modules/make-dir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", + "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", + "dev": true, + "license": "MIT", + "dependencies": { + "semver": "^7.5.3" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/istanbul-lib-report/node_modules/semver": { + "version": "7.7.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", + "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/istanbul-lib-report/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, + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -9029,6 +7149,7 @@ "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "debug": "^4.1.1", "istanbul-lib-coverage": "^3.0.0", @@ -9039,10 +7160,11 @@ } }, "node_modules/istanbul-reports": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.5.tgz", - "integrity": "sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.2.0.tgz", + "integrity": "sha512-HGYWWS/ehqTV3xN10i23tkPkpH46MLCIMFNCaaKNavAXTF1RkqxawEPtnjnGZ6XKSInBKkiOA5BKS+aZiY3AvA==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "html-escaper": "^2.0.0", "istanbul-lib-report": "^3.0.0" @@ -9051,11 +7173,28 @@ "node": ">=8" } }, + "node_modules/jackspeak": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", + "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, "node_modules/java-properties": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/java-properties/-/java-properties-1.0.2.tgz", "integrity": "sha512-qjdpeo2yKlYTH7nFdK0vbZWuTCesk4o63v5iVOlhMQPfuIZQfW/HI35SjfhA+4qpg36rnFSvUK5b1m+ckIblQQ==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": ">= 0.6.0" @@ -9066,6 +7205,8 @@ "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", "dev": true, + "license": "MIT", + "peer": true, "dependencies": { "@types/node": "*", "merge-stream": "^2.0.0", @@ -9080,6 +7221,8 @@ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, + "license": "MIT", + "peer": true, "engines": { "node": ">=8" } @@ -9089,6 +7232,8 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", "dev": true, + "license": "MIT", + "peer": true, "dependencies": { "has-flag": "^4.0.0" }, @@ -9099,83 +7244,91 @@ "url": "https://github.com/chalk/supports-color?sponsor=1" } }, - "node_modules/js-sdsl": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.4.0.tgz", - "integrity": "sha512-FfVSdx6pJ41Oa+CF7RDaFmTnCaFhua+SNYQX74riGOpl96x+2jQCqEfQ2bnXu/5DPCqlRuiqyvTJM0Qjz26IVg==", - "dev": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/js-sdsl" - } - }, "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==", - "dev": true + "dev": true, + "license": "MIT" }, "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==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz", + "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==", "dev": true, + "license": "MIT", "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" + "argparse": "^2.0.1" }, "bin": { "js-yaml": "bin/js-yaml.js" } }, "node_modules/jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", + "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", "dev": true, + "license": "MIT", "bin": { "jsesc": "bin/jsesc" }, "engines": { - "node": ">=4" + "node": ">=6" } }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true, + "license": "MIT" + }, "node_modules/json-parse-better-errors": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", "dev": true, + "license": "MIT", "peer": 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==", - "dev": true + "dev": true, + "license": "MIT", + "peer": true }, "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 + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true, + "license": "MIT", + "peer": true }, "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==", - "dev": true + "dev": true, + "license": "MIT" }, "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==", - "dev": true + "dev": true, + "license": "ISC", + "peer": true }, "node_modules/json5": { "version": "2.2.3", "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", "dev": true, + "license": "MIT", "bin": { "json5": "lib/cli.js" }, @@ -9184,10 +7337,11 @@ } }, "node_modules/jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.2.0.tgz", + "integrity": "sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==", "dev": true, + "license": "MIT", "dependencies": { "universalify": "^2.0.0" }, @@ -9202,13 +7356,17 @@ "dev": true, "engines": [ "node >= 0.2.0" - ] + ], + "license": "MIT", + "peer": true }, "node_modules/JSONStream": { "version": "1.3.5", "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz", "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==", "dev": true, + "license": "(MIT OR Apache-2.0)", + "peer": true, "dependencies": { "jsonparse": "^1.2.0", "through": ">=2.2.7 <3" @@ -9220,19 +7378,14 @@ "node": "*" } }, - "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/kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "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, - "engines": { - "node": ">=0.10.0" + "license": "MIT", + "dependencies": { + "json-buffer": "3.0.1" } }, "node_modules/knuth-shuffle-seeded": { @@ -9240,6 +7393,7 @@ "resolved": "https://registry.npmjs.org/knuth-shuffle-seeded/-/knuth-shuffle-seeded-1.0.6.tgz", "integrity": "sha512-9pFH0SplrfyKyojCLxZfMcvkhf5hH0d+UwR9nTVJ/DDQJGuzcXjTwB7TP7sDfehSudlGGaOLblmEWqv04ERVWg==", "dev": true, + "license": "Apache-2.0", "dependencies": { "seed-random": "~2.2.0" } @@ -9249,6 +7403,7 @@ "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", "dev": true, + "license": "MIT", "dependencies": { "prelude-ls": "^1.2.1", "type-check": "~0.4.0" @@ -9261,13 +7416,16 @@ "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 + "dev": true, + "license": "MIT", + "peer": true }, "node_modules/load-json-file": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", "integrity": "sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "graceful-fs": "^4.1.2", @@ -9284,6 +7442,7 @@ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "error-ex": "^1.3.1", @@ -9298,32 +7457,25 @@ "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": ">=4" } }, "node_modules/loader-runner": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", - "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.1.tgz", + "integrity": "sha512-IWqP2SCPhyVFTBtRcgMHdzlf9ul25NwaFx4wCEH/KjAXuuHY4yNjvPXsBokp8jCB936PyWRaPKUNh8NvylLp2Q==", "dev": true, + "license": "MIT", + "peer": true, "engines": { "node": ">=6.11.5" - } - }, - "node_modules/loader-utils": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", - "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", - "dev": true, - "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" }, - "engines": { - "node": ">=8.9.0" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" } }, "node_modules/locate-path": { @@ -9331,6 +7483,7 @@ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", "dev": true, + "license": "MIT", "dependencies": { "p-locate": "^5.0.0" }, @@ -9345,143 +7498,91 @@ "version": "4.17.21", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true + "dev": true, + "license": "MIT" }, "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==", - "dev": true - }, - "node_modules/lodash.camelcase": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", - "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==", - "dev": true + "dev": true, + "license": "MIT", + "peer": true }, "node_modules/lodash.capitalize": { "version": "4.2.1", "resolved": "https://registry.npmjs.org/lodash.capitalize/-/lodash.capitalize-4.2.1.tgz", "integrity": "sha512-kZzYOKspf8XVX5AvmQF94gQW0lejFVgb80G85bU4ZWzoJ6C03PQg3coYAUpSTpQWelrZELd3XWgHzw4Ck5kaIw==", "dev": true, + "license": "MIT", "peer": true }, - "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==", - "dev": true - }, "node_modules/lodash.escaperegexp": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/lodash.escaperegexp/-/lodash.escaperegexp-4.1.2.tgz", "integrity": "sha512-TM9YBvyC84ZxE3rgfefxUWiQKLilstD6k7PTGt6wfbtXF8ixIJLOL3VYyV/z+ZiPLsVxAsKAFVwWlWeb2Y8Yyw==", "dev": true, + "license": "MIT", "peer": true }, "node_modules/lodash.flattendeep": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz", "integrity": "sha512-uHaJFihxmJcEX3kT4I23ABqKKalJ/zDrDg0lsFtc1h+3uw49SIJ5beyhx5ExVRti3AvKoOJngIj7xz3oylPdWQ==", - "dev": true - }, - "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==", - "dev": true - }, - "node_modules/lodash.isfunction": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/lodash.isfunction/-/lodash.isfunction-3.0.9.tgz", - "integrity": "sha512-AirXNj15uRIMMPihnkInB4i3NHeb4iBtNg9WRWuK2o31S+ePwwNmDPaTL3o7dTJ+VXNZim7rFs4rxN4YU1oUJw==", - "dev": true - }, - "node_modules/lodash.ismatch": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.ismatch/-/lodash.ismatch-4.4.0.tgz", - "integrity": "sha512-fPMfXjGQEV9Xsq/8MTSgUf255gawYRbjwMyDbcvDhXgV7enSZA0hynz6vMPnpAb5iONEzBHBPsT+0zes5Z301g==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/lodash.isplainobject": { "version": "4.0.6", "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==", - "dev": true + "dev": true, + "license": "MIT", + "peer": true }, "node_modules/lodash.isstring": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", "integrity": "sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==", "dev": true, + "license": "MIT", "peer": true }, - "node_modules/lodash.kebabcase": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz", - "integrity": "sha512-N8XRTIMMqqDgSy4VLKPnJ/+hpGZN+PHQiJnSenYqPaVV/NCqEogTnAdZLQiGKhxX+JCs8waWq2t1XHWKOmlY8g==", - "dev": true - }, - "node_modules/lodash.map": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/lodash.map/-/lodash.map-4.6.0.tgz", - "integrity": "sha512-worNHGKLDetmcEYDvh2stPCrrQRkP20E4l0iIS7F8EvzMqBBi7ltvFN5m1HvTf1P7Jk1txKhvFcmYsCr8O2F1Q==", - "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 + "dev": true, + "license": "MIT" }, "node_modules/lodash.mergewith": { "version": "4.6.2", "resolved": "https://registry.npmjs.org/lodash.mergewith/-/lodash.mergewith-4.6.2.tgz", "integrity": "sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ==", - "dev": true - }, - "node_modules/lodash.snakecase": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lodash.snakecase/-/lodash.snakecase-4.1.1.tgz", - "integrity": "sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw==", - "dev": true - }, - "node_modules/lodash.startcase": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.startcase/-/lodash.startcase-4.4.0.tgz", - "integrity": "sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==", - "dev": true - }, - "node_modules/lodash.truncate": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", - "integrity": "sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==", - "dev": true + "dev": true, + "license": "MIT" }, - "node_modules/lodash.uniq": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", - "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==", - "dev": true + "node_modules/lodash.sortby": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", + "integrity": "sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==", + "dev": true, + "license": "MIT" }, "node_modules/lodash.uniqby": { "version": "4.7.0", "resolved": "https://registry.npmjs.org/lodash.uniqby/-/lodash.uniqby-4.7.0.tgz", "integrity": "sha512-e/zcLx6CSbmaEgFHCA7BnoQKyCtKMxnuWrJygbwPs/AIn+IMKl66L8/s+wBUn5LRw2pZx3bUHibiV1b6aTWIww==", "dev": true, + "license": "MIT", "peer": true }, - "node_modules/lodash.upperfirst": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/lodash.upperfirst/-/lodash.upperfirst-4.3.1.tgz", - "integrity": "sha512-sReKOYJIJf74dhJONhU4e0/shzi1trVbSWDOhKYE5XV2O+H7Sb2Dihwuc7xWxVl+DgFPyTqIN3zMfT9cq5iWDg==", - "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==", "dev": true, + "license": "MIT", "dependencies": { "chalk": "^4.1.0", "is-unicode-supported": "^0.1.0" @@ -9498,6 +7599,7 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, + "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -9513,6 +7615,7 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, + "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -9529,6 +7632,7 @@ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -9540,13 +7644,15 @@ "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 + "dev": true, + "license": "MIT" }, "node_modules/log-symbols/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, + "license": "MIT", "engines": { "node": ">=8" } @@ -9556,6 +7662,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -9569,49 +7676,81 @@ "integrity": "sha512-ad9IBHbfVJ3bPAotDxnCgJgKcNK5/mrRAfbJzXhY5+PEmuBWP7wyHQlA6L8TfSfPlqlDjY4K7IG6mbzsrIBx1A==", "deprecated": "lolex has been renamed to @sinonjs/fake-timers. No API changes made. Please use the new package instead", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "@sinonjs/commons": "^1.7.0" } }, - "node_modules/longest": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/longest/-/longest-2.0.1.tgz", - "integrity": "sha512-Ajzxb8CM6WAnFjgiloPsI3bF+WCxcvhdIG3KNA2KN962+tdBsHcuQ4k4qX/EcS/2CRkcc0iAkR956Nib6aXU/Q==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/longest-streak": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-2.0.4.tgz", "integrity": "sha512-vM6rUVCVUJJt33bnmHiZEvr7wPT78ztX7rojL+LW51bHtLh6HTjx84LA5W4+oa6aKEJA7jJu5LR6vQRBpA5DVg==", "dev": true, + "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/lower-case": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz", - "integrity": "sha512-2Fgx1Ycm599x+WGpIYwJOvsjmXFzTSc34IwDWALRA/8AopUKAVPwfJ+h5+f85BCp0PWmmJcWzEpxOpoXycMpdA==", - "dev": true - }, "node_modules/lru-cache": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", "dev": true, + "license": "ISC", "dependencies": { "yallist": "^3.0.2" } }, + "node_modules/luxon": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/luxon/-/luxon-3.7.2.tgz", + "integrity": "sha512-vtEhXh/gNjI9Yg1u4jX/0YVPMvxzHuGgCm6tC5kZyb08yjGWGnqAjGJvcXbqQR2P3MyMEFnRbpcdFS6PBcLqew==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + } + }, + "node_modules/make-asynchronous": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/make-asynchronous/-/make-asynchronous-1.0.1.tgz", + "integrity": "sha512-T9BPOmEOhp6SmV25SwLVcHK4E6JyG/coH3C6F1NjNXSziv/fd4GmsqMk8YR6qpPOswfaOCApSNkZv6fxoaYFcQ==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "p-event": "^6.0.0", + "type-fest": "^4.6.0", + "web-worker": "1.2.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/make-asynchronous/node_modules/type-fest": { + "version": "4.41.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.41.0.tgz", + "integrity": "sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "peer": true, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/make-dir": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", "dev": true, + "license": "MIT", "dependencies": { "semver": "^6.0.0" }, @@ -9626,25 +7765,15 @@ "version": "1.3.6", "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", - "dev": true - }, - "node_modules/map-obj": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz", - "integrity": "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==", "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } + "license": "ISC" }, "node_modules/markdown-table": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-2.0.0.tgz", "integrity": "sha512-Ezda85ToJUBhM6WGaG6veasyym+Tbs3cMAw/ZhOPqXiYsr0jgocBV3j3nx+4lk47plLlIqjwuTm/ywVI+zjJ/A==", "dev": true, + "license": "MIT", "dependencies": { "repeat-string": "^1.0.0" }, @@ -9654,60 +7783,65 @@ } }, "node_modules/marked": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/marked/-/marked-5.1.2.tgz", - "integrity": "sha512-ahRPGXJpjMjwSOlBoTMZAK7ATXkli5qCPxZ21TG44rx1KEo44bii4ekgTDQPNRQ4Kh7JMb9Ub1PVk1NxRSsorg==", + "version": "12.0.2", + "resolved": "https://registry.npmjs.org/marked/-/marked-12.0.2.tgz", + "integrity": "sha512-qXUm7e/YKFoqFPYPa3Ukg9xlI5cyAtGmyEIzMfW//m6kXwCy2Ps9DYf5ioijFKQ8qyuscrHoY04iJGctu2Kg0Q==", "dev": true, + "license": "MIT", "peer": true, "bin": { "marked": "bin/marked.js" }, "engines": { - "node": ">= 16" + "node": ">= 18" } }, "node_modules/marked-terminal": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/marked-terminal/-/marked-terminal-5.2.0.tgz", - "integrity": "sha512-Piv6yNwAQXGFjZSaiNljyNFw7jKDdGrw70FSbtxEyldLsyeuV5ZHm/1wW++kWbrOF1VPnUgYOhB2oLL0ZpnekA==", + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/marked-terminal/-/marked-terminal-7.3.0.tgz", + "integrity": "sha512-t4rBvPsHc57uE/2nJOLmMbZCQ4tgAccAED3ngXQqW6g+TxA488JzJ+FK3lQkzBQOI1mRV/r/Kq+1ZlJ4D0owQw==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { - "ansi-escapes": "^6.2.0", - "cardinal": "^2.1.1", - "chalk": "^5.2.0", - "cli-table3": "^0.6.3", - "node-emoji": "^1.11.0", - "supports-hyperlinks": "^2.3.0" + "ansi-escapes": "^7.0.0", + "ansi-regex": "^6.1.0", + "chalk": "^5.4.1", + "cli-highlight": "^2.1.11", + "cli-table3": "^0.6.5", + "node-emoji": "^2.2.0", + "supports-hyperlinks": "^3.1.0" }, "engines": { - "node": ">=14.13.1 || >=16.0.0" + "node": ">=16.0.0" }, "peerDependencies": { - "marked": "^1.0.0 || ^2.0.0 || ^3.0.0 || ^4.0.0 || ^5.0.0" + "marked": ">=1 <16" } }, "node_modules/marked-terminal/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==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-7.2.0.tgz", + "integrity": "sha512-g6LhBsl+GBPRWGWsBtutpzBYuIIdBkLEvad5C/va/74Db018+5TZiyA26cZJAr3Rft5lprVqOIPxf5Vid6tqAw==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { - "type-fest": "^3.0.0" + "environment": "^1.0.0" }, "engines": { - "node": ">=14.16" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/marked-terminal/node_modules/chalk": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", - "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", + "version": "5.6.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.6.2.tgz", + "integrity": "sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": "^12.17.0 || ^14.13 || >=16.0.0" @@ -9717,10 +7851,11 @@ } }, "node_modules/marked-terminal/node_modules/cli-table3": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.3.tgz", - "integrity": "sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg==", + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.5.tgz", + "integrity": "sha512-+W/5efTR7y5HRD7gACw9yQjqMVvEMLBHmboM/kPWam+H+Hmyrgjh6YncVKK122YZkXrLudzTuAukUw9FnMf7IQ==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "string-width": "^4.2.0" @@ -9737,6 +7872,7 @@ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": ">=8" @@ -9747,6 +7883,7 @@ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "emoji-regex": "^8.0.0", @@ -9757,24 +7894,12 @@ "node": ">=8" } }, - "node_modules/marked-terminal/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, - "peer": true, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/mdast-util-find-and-replace": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/mdast-util-find-and-replace/-/mdast-util-find-and-replace-1.1.1.tgz", "integrity": "sha512-9cKl33Y21lyckGzpSmEQnIDjEfeeWelN5s1kUW1LwdB0Fkuq2u+4GdqcGEygYxJE8GVqCl0741bYXHgamfWAZA==", "dev": true, + "license": "MIT", "dependencies": { "escape-string-regexp": "^4.0.0", "unist-util-is": "^4.0.0", @@ -9790,6 +7915,7 @@ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" }, @@ -9802,6 +7928,7 @@ "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-0.8.5.tgz", "integrity": "sha512-2hkTXtYYnr+NubD/g6KGBS/0mFmBcifAsI0yIWRiRo0PjVs6SSOSOdtzbp6kSGnShDN6G5aWZpKQ2lWRy27mWQ==", "dev": true, + "license": "MIT", "dependencies": { "@types/mdast": "^3.0.0", "mdast-util-to-string": "^2.0.0", @@ -9819,6 +7946,7 @@ "resolved": "https://registry.npmjs.org/mdast-util-gfm/-/mdast-util-gfm-0.1.2.tgz", "integrity": "sha512-NNkhDx/qYcuOWB7xHUGWZYVXvjPFFd6afg6/e2g+SV4r9q5XUcCbV4Wfa3DLYIiD+xAEZc6K4MGaE/m0KDcPwQ==", "dev": true, + "license": "MIT", "dependencies": { "mdast-util-gfm-autolink-literal": "^0.1.0", "mdast-util-gfm-strikethrough": "^0.2.0", @@ -9836,6 +7964,7 @@ "resolved": "https://registry.npmjs.org/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-0.1.3.tgz", "integrity": "sha512-GjmLjWrXg1wqMIO9+ZsRik/s7PLwTaeCHVB7vRxUwLntZc8mzmTsLVr6HW1yLokcnhfURsn5zmSVdi3/xWWu1A==", "dev": true, + "license": "MIT", "dependencies": { "ccount": "^1.0.0", "mdast-util-find-and-replace": "^1.1.0", @@ -9851,6 +7980,7 @@ "resolved": "https://registry.npmjs.org/mdast-util-gfm-strikethrough/-/mdast-util-gfm-strikethrough-0.2.3.tgz", "integrity": "sha512-5OQLXpt6qdbttcDG/UxYY7Yjj3e8P7X16LzvpX8pIQPYJ/C2Z1qFGMmcw+1PZMUM3Z8wt8NRfYTvCni93mgsgA==", "dev": true, + "license": "MIT", "dependencies": { "mdast-util-to-markdown": "^0.6.0" }, @@ -9864,6 +7994,7 @@ "resolved": "https://registry.npmjs.org/mdast-util-gfm-table/-/mdast-util-gfm-table-0.1.6.tgz", "integrity": "sha512-j4yDxQ66AJSBwGkbpFEp9uG/LS1tZV3P33fN1gkyRB2LoRL+RR3f76m0HPHaby6F4Z5xr9Fv1URmATlRRUIpRQ==", "dev": true, + "license": "MIT", "dependencies": { "markdown-table": "^2.0.0", "mdast-util-to-markdown": "~0.6.0" @@ -9878,6 +8009,7 @@ "resolved": "https://registry.npmjs.org/mdast-util-gfm-task-list-item/-/mdast-util-gfm-task-list-item-0.1.6.tgz", "integrity": "sha512-/d51FFIfPsSmCIRNp7E6pozM9z1GYPIkSy1urQ8s/o4TC22BZ7DqfHFWiqBD23bc7J3vV1Fc9O4QIHBlfuit8A==", "dev": true, + "license": "MIT", "dependencies": { "mdast-util-to-markdown": "~0.6.0" }, @@ -9891,6 +8023,7 @@ "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-0.6.5.tgz", "integrity": "sha512-XeV9sDE7ZlOQvs45C9UKMtfTcctcaj/pGwH8YLbMHoMOXNNCn2LsqVQOqrF1+/NU8lKDAqozme9SCXWyo9oAcQ==", "dev": true, + "license": "MIT", "dependencies": { "@types/unist": "^2.0.0", "longest-streak": "^2.0.0", @@ -9909,200 +8042,49 @@ "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-2.0.0.tgz", "integrity": "sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w==", "dev": true, + "license": "MIT", "funding": { "type": "opencollective", "url": "https://opencollective.com/unified" } }, "node_modules/meow": { - "version": "8.1.2", - "resolved": "https://registry.npmjs.org/meow/-/meow-8.1.2.tgz", - "integrity": "sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q==", - "dev": true, - "dependencies": { - "@types/minimist": "^1.2.0", - "camelcase-keys": "^6.2.2", - "decamelize-keys": "^1.1.0", - "hard-rejection": "^2.1.0", - "minimist-options": "4.1.0", - "normalize-package-data": "^3.0.0", - "read-pkg-up": "^7.0.1", - "redent": "^3.0.0", - "trim-newlines": "^3.0.0", - "type-fest": "^0.18.0", - "yargs-parser": "^20.2.3" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/meow/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/meow/node_modules/hosted-git-info": { - "version": "2.8.9", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", - "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", - "dev": true - }, - "node_modules/meow/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/meow/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/meow/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/meow/node_modules/read-pkg": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", - "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", - "dev": true, - "dependencies": { - "@types/normalize-package-data": "^2.4.0", - "normalize-package-data": "^2.5.0", - "parse-json": "^5.0.0", - "type-fest": "^0.6.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/meow/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==", + "version": "12.1.1", + "resolved": "https://registry.npmjs.org/meow/-/meow-12.1.1.tgz", + "integrity": "sha512-BhXM0Au22RwUneMPwSCnyhTOizdWoIEPU9sp0Aqa1PnDMR5Wv2FGXYDjuzJEIX+Eo2Rb8xuYe5jrnm5QowQFkw==", "dev": true, - "dependencies": { - "find-up": "^4.1.0", - "read-pkg": "^5.2.0", - "type-fest": "^0.8.1" - }, + "license": "MIT", + "peer": true, "engines": { - "node": ">=8" + "node": ">=16.10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/meow/node_modules/read-pkg-up/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==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/meow/node_modules/read-pkg/node_modules/normalize-package-data": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", - "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", - "dev": true, - "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/meow/node_modules/read-pkg/node_modules/type-fest": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", - "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/meow/node_modules/semver": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", - "dev": true, - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/meow/node_modules/type-fest": { - "version": "0.18.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz", - "integrity": "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==", + "node_modules/merge-descriptors": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz", + "integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==", "dev": true, - "engines": { - "node": ">=10" - }, + "license": "MIT", "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/merge": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/merge/-/merge-2.1.1.tgz", - "integrity": "sha512-jz+Cfrg9GWOZbQAnDQ4hlVnQky+341Yk5ru8bZSe6sIDTCIg8n9i/u7hSQGSVOF3C7lH6mGtqjkiT9G4wFLL0w==", - "dev": true - }, - "node_modules/merge-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==", - "dev": true - }, "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==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/merge2": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", "dev": true, + "license": "MIT", "engines": { "node": ">= 8" } @@ -10122,6 +8104,7 @@ "url": "https://opencollective.com/unified" } ], + "license": "MIT", "dependencies": { "debug": "^4.0.0", "parse-entities": "^2.0.0" @@ -10132,6 +8115,7 @@ "resolved": "https://registry.npmjs.org/micromark-extension-gfm/-/micromark-extension-gfm-0.3.3.tgz", "integrity": "sha512-oVN4zv5/tAIA+l3GbMi7lWeYpJ14oQyJ3uEim20ktYFAcfX1x3LNlFGGlmrZHt7u9YlKExmyJdDGaTt6cMSR/A==", "dev": true, + "license": "MIT", "dependencies": { "micromark": "~2.11.0", "micromark-extension-gfm-autolink-literal": "~0.5.0", @@ -10150,6 +8134,7 @@ "resolved": "https://registry.npmjs.org/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-0.5.7.tgz", "integrity": "sha512-ePiDGH0/lhcngCe8FtH4ARFoxKTUelMp4L7Gg2pujYD5CSMb9PbblnyL+AAMud/SNMyusbS2XDSiPIRcQoNFAw==", "dev": true, + "license": "MIT", "dependencies": { "micromark": "~2.11.3" }, @@ -10163,6 +8148,7 @@ "resolved": "https://registry.npmjs.org/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-0.6.5.tgz", "integrity": "sha512-PpOKlgokpQRwUesRwWEp+fHjGGkZEejj83k9gU5iXCbDG+XBA92BqnRKYJdfqfkrRcZRgGuPuXb7DaK/DmxOhw==", "dev": true, + "license": "MIT", "dependencies": { "micromark": "~2.11.0" }, @@ -10176,6 +8162,7 @@ "resolved": "https://registry.npmjs.org/micromark-extension-gfm-table/-/micromark-extension-gfm-table-0.4.3.tgz", "integrity": "sha512-hVGvESPq0fk6ALWtomcwmgLvH8ZSVpcPjzi0AjPclB9FsVRgMtGZkUcpE0zgjOCFAznKepF4z3hX8z6e3HODdA==", "dev": true, + "license": "MIT", "dependencies": { "micromark": "~2.11.0" }, @@ -10189,6 +8176,7 @@ "resolved": "https://registry.npmjs.org/micromark-extension-gfm-tagfilter/-/micromark-extension-gfm-tagfilter-0.3.0.tgz", "integrity": "sha512-9GU0xBatryXifL//FJH+tAZ6i240xQuFrSL7mYi8f4oZSbc+NvXjkrHemeYP0+L4ZUT+Ptz3b95zhUZnMtoi/Q==", "dev": true, + "license": "MIT", "funding": { "type": "opencollective", "url": "https://opencollective.com/unified" @@ -10199,6 +8187,7 @@ "resolved": "https://registry.npmjs.org/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-0.3.3.tgz", "integrity": "sha512-0zvM5iSLKrc/NQl84pZSjGo66aTGd57C1idmlWmE87lkMcXrTxg1uXa/nXomxJytoje9trP0NDLvw4bZ/Z/XCQ==", "dev": true, + "license": "MIT", "dependencies": { "micromark": "~2.11.0" }, @@ -10208,12 +8197,13 @@ } }, "node_modules/micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", "dev": true, + "license": "MIT", "dependencies": { - "braces": "^3.0.2", + "braces": "^3.0.3", "picomatch": "^2.3.1" }, "engines": { @@ -10221,16 +8211,20 @@ } }, "node_modules/mime": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-3.0.0.tgz", - "integrity": "sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-4.1.0.tgz", + "integrity": "sha512-X5ju04+cAzsojXKes0B/S4tcYtFAJ6tTMuSPBEn9CPGlrWr8Fiw7qYeLT0XyH80HSoAoqWCaz+MWKh22P7G1cw==", "dev": true, + "funding": [ + "https://github.com/sponsors/broofa" + ], + "license": "MIT", "peer": true, "bin": { - "mime": "cli.js" + "mime": "bin/cli.js" }, "engines": { - "node": ">=10.0.0" + "node": ">=16" } }, "node_modules/mime-db": { @@ -10238,6 +8232,8 @@ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", "dev": true, + "license": "MIT", + "peer": true, "engines": { "node": ">= 0.6" } @@ -10247,6 +8243,8 @@ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", "dev": true, + "license": "MIT", + "peer": true, "dependencies": { "mime-db": "1.52.0" }, @@ -10259,29 +8257,23 @@ "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } }, - "node_modules/min-indent": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", - "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", - "dev": true, - "engines": { - "node": ">=4" - } - }, "node_modules/min-req-promise": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/min-req-promise/-/min-req-promise-1.0.1.tgz", - "integrity": "sha512-PD2LObOGZPBPk3EMiuxc4Te0a0T0C6ZZni4m6eNl1zgxqJh+jThM026TmxV6IcJM8MWPHagJm3Q+zm2CNOAiDg==" + "integrity": "sha512-PD2LObOGZPBPk3EMiuxc4Te0a0T0C6ZZni4m6eNl1zgxqJh+jThM026TmxV6IcJM8MWPHagJm3Q+zm2CNOAiDg==", + "license": "Apache-2.0" }, "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, + "license": "ISC", "dependencies": { "brace-expansion": "^1.1.7" }, @@ -10294,96 +8286,91 @@ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.7.tgz", "integrity": "sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==", "dev": true, + "license": "MIT", + "peer": true, "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/minimist-options": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz", - "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==", - "dev": true, - "dependencies": { - "arrify": "^1.0.1", - "is-plain-obj": "^1.1.0", - "kind-of": "^6.0.3" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/minimist-options/node_modules/is-plain-obj": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", - "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==", + "node_modules/minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", "dev": true, + "license": "ISC", "engines": { - "node": ">=0.10.0" + "node": ">=16 || 14 >=14.17" } }, "node_modules/mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-3.0.1.tgz", + "integrity": "sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==", "dev": true, + "license": "MIT", "bin": { - "mkdirp": "bin/cmd.js" + "mkdirp": "dist/cjs/src/bin.js" }, "engines": { "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, "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": { - "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" + "version": "11.7.5", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-11.7.5.tgz", + "integrity": "sha512-mTT6RgopEYABzXWFx+GcJ+ZQ32kp4fMf0xvpZIIfSq9Z8lC/++MtcCnQ9t5FP2veYEP95FIYSvW+U9fV4xrlig==", + "dev": true, + "license": "MIT", + "dependencies": { + "browser-stdout": "^1.3.1", + "chokidar": "^4.0.1", + "debug": "^4.3.5", + "diff": "^7.0.0", + "escape-string-regexp": "^4.0.0", + "find-up": "^5.0.0", + "glob": "^10.4.5", + "he": "^1.2.0", + "is-path-inside": "^3.0.3", + "js-yaml": "^4.1.0", + "log-symbols": "^4.1.0", + "minimatch": "^9.0.5", + "ms": "^2.1.3", + "picocolors": "^1.1.1", + "serialize-javascript": "^6.0.2", + "strip-json-comments": "^3.1.1", + "supports-color": "^8.1.1", + "workerpool": "^9.2.0", + "yargs": "^17.7.2", + "yargs-parser": "^21.1.1", + "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": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, - "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.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } }, "node_modules/mocha/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==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-7.0.0.tgz", + "integrity": "sha512-PJWHUb1RFevKCwaFA9RlG5tCd+FO5iRh9A8HEtkmBH2Li03iJriB6m6JIN4rGz3K3JLawI7/veA1xzRKP6ISBw==", "dev": true, + "license": "BSD-3-Clause", "engines": { "node": ">=0.3.1" } @@ -10393,6 +8380,7 @@ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" }, @@ -10401,90 +8389,58 @@ } }, "node_modules/mocha/node_modules/glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", + "version": "10.5.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.5.0.tgz", + "integrity": "sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg==", "dev": true, + "license": "ISC", "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": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" }, - "engines": { - "node": "*" + "bin": { + "glob": "dist/esm/bin.mjs" }, "funding": { "url": "https://github.com/sponsors/isaacs" } }, - "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": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, "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==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, - "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==", - "dev": true, - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, "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==", + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", "dev": true, + "license": "ISC", "dependencies": { "brace-expansion": "^2.0.1" }, "engines": { - "node": ">=10" - } - }, - "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": { - "balanced-match": "^1.0.0" + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "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, + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -10500,6 +8456,7 @@ "resolved": "https://registry.npmjs.org/mock-require/-/mock-require-3.0.3.tgz", "integrity": "sha512-lLzfLHcyc10MKQnNUCv7dMcoY/2Qxd6wJfbqCcVk3LDb8An4hF6ohk5AztrvgKhJCqj36uyzi/p5se+tvyD+Wg==", "dev": true, + "license": "MIT", "dependencies": { "get-caller-file": "^1.0.2", "normalize-path": "^2.1.1" @@ -10508,50 +8465,26 @@ "node": ">=4.3.0" } }, - "node_modules/mock-require/node_modules/normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==", - "dev": true, - "dependencies": { - "remove-trailing-separator": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/modify-values": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/modify-values/-/modify-values-1.0.1.tgz", - "integrity": "sha512-xV2bxeN6F7oYjZWTe/YPAy6MN2M+sL4u/Rlm2AHCIVGfo2p1yGmBHQ6vHehl4bRTZBdHu3TSkWdYgkwpYzAGSw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/module-not-found-error": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/module-not-found-error/-/module-not-found-error-1.0.1.tgz", "integrity": "sha512-pEk4ECWQXV6z2zjhRZUongnLJNUeGQJ3w6OQ5ctGwD+i5o93qjRQUk2Rt6VdNeu3sEP0AB4LcfvdebpxBRVr4g==", - "dev": true + "dev": true, + "license": "MIT" }, "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==", - "dev": true - }, - "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 + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, + "license": "MIT" }, "node_modules/mz": { "version": "2.7.0", "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", "dev": true, + "license": "MIT", "dependencies": { "any-promise": "^1.0.0", "object-assign": "^4.0.1", @@ -10559,10 +8492,17 @@ } }, "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==", + "version": "3.3.11", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", + "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", "bin": { "nanoid": "bin/nanoid.cjs" }, @@ -10574,88 +8514,48 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true - }, - "node_modules/natural-compare-lite": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", - "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/neo-async": { "version": "2.6.2", "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", - "dev": true + "dev": true, + "license": "MIT", + "peer": true }, "node_modules/nerf-dart": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/nerf-dart/-/nerf-dart-1.0.0.tgz", "integrity": "sha512-EZSPZB70jiVsivaBLYDCyntd5eH8NTSMOn3rB+HxwdmKThGELLdYv8qVIMWvZEFy9w8ZZpW9h9OB32l1rGtj7g==", "dev": true, + "license": "MIT", "peer": true }, - "node_modules/next-tick": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz", - "integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==", - "dev": true - }, - "node_modules/nise": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/nise/-/nise-5.1.4.tgz", - "integrity": "sha512-8+Ib8rRJ4L0o3kfmyVCL7gzrohyDe0cMFTBa2d364yIrEGMEoetznKJx899YxjybU6bL9SQkYPSBBs1gyYs8Xg==", - "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/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/nise/node_modules/@sinonjs/fake-timers": { - "version": "10.0.2", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.0.2.tgz", - "integrity": "sha512-SwUDyjWnah1AaNl7kxsa7cfLhlTYoiyhDAIgyh+El30YvXs/o7OLXpYH88Zdhyx9JExKrmHDJ+10bwIcY80Jmw==", - "dev": true, - "dependencies": { - "@sinonjs/commons": "^2.0.0" - } - }, - "node_modules/no-case": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz", - "integrity": "sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==", - "dev": true, - "dependencies": { - "lower-case": "^1.1.1" - } - }, "node_modules/node-emoji": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-1.11.0.tgz", - "integrity": "sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-2.2.0.tgz", + "integrity": "sha512-Z3lTE9pLaJF47NyMhd4ww1yFTAP8YhYI8SleJiHzM46Fgpm5cnNzSl9XfzFNqbaz+VlJrIj3fXQ4DeN1Rjm6cw==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { - "lodash": "^4.17.21" + "@sindresorhus/is": "^4.6.0", + "char-regex": "^1.0.2", + "emojilib": "^2.4.0", + "skin-tone": "^2.0.0" + }, + "engines": { + "node": ">=18" } }, "node_modules/node-fetch": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.9.tgz", - "integrity": "sha512-DJm/CJkZkRjKKj4Zi4BsKVZh3ValV5IR5s7LVZnW+6YMh0W1BfNA8XSs6DLMGYlId5F3KnA70uu2qepcR08Qqg==", + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", "dev": true, + "license": "MIT", "dependencies": { "whatwg-url": "^5.0.0" }, @@ -10676,6 +8576,7 @@ "resolved": "https://registry.npmjs.org/node-preload/-/node-preload-0.2.1.tgz", "integrity": "sha512-RM5oyBy45cLEoHqCeh+MNuFAxO0vTFBLskvQbOKnEE7YTTSN4tbN8QWDIPQ6L+WvKsB/qLEGpYe2ZZ9d4W9OIQ==", "dev": true, + "license": "MIT", "dependencies": { "process-on-spawn": "^1.0.0" }, @@ -10684,58 +8585,35 @@ } }, "node_modules/node-releases": { - "version": "2.0.10", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.10.tgz", - "integrity": "sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==", - "dev": true - }, - "node_modules/normalize-package-data": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz", - "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==", - "dev": true, - "dependencies": { - "hosted-git-info": "^4.0.1", - "is-core-module": "^2.5.0", - "semver": "^7.3.4", - "validate-npm-package-license": "^3.0.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/normalize-package-data/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==", + "version": "2.0.27", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.27.tgz", + "integrity": "sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA==", "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "engines": { - "node": ">=10" - } + "license": "MIT" }, - "node_modules/normalize-package-data/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/normalize-package-data": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-6.0.2.tgz", + "integrity": "sha512-V6gygoYb/5EmNI+MEGrWkC+e6+Rr7mTmfHrxDbLzxQogBkgzo76rkok0Am6thgSF7Mv2nLOajAJj5vDJZEFn7g==", "dev": true, + "license": "BSD-2-Clause", + "peer": true, "dependencies": { - "yallist": "^4.0.0" + "hosted-git-info": "^7.0.0", + "semver": "^7.3.5", + "validate-npm-package-license": "^3.0.4" }, "engines": { - "node": ">=10" + "node": "^16.14.0 || >=18.0.0" } }, "node_modules/normalize-package-data/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==", + "version": "7.7.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", + "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, + "license": "ISC", + "peer": true, "bin": { "semver": "bin/semver.js" }, @@ -10743,26 +8621,25 @@ "node": ">=10" } }, - "node_modules/normalize-package-data/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, "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==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==", "dev": true, + "license": "MIT", + "dependencies": { + "remove-trailing-separator": "^1.0.1" + }, "engines": { "node": ">=0.10.0" } }, "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==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-8.1.0.tgz", + "integrity": "sha512-X06Mfd/5aKsRHc0O0J5CUedwnPmnDtLF2+nq+KN9KSDlJHkPuh0JUviWjEWMe0SW/9TDdSLVPuk7L5gGTIA1/w==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": ">=14.16" @@ -10772,9 +8649,9 @@ } }, "node_modules/npm": { - "version": "9.8.1", - "resolved": "https://registry.npmjs.org/npm/-/npm-9.8.1.tgz", - "integrity": "sha512-AfDvThQzsIXhYgk9zhbk5R+lh811lKkLAeQMMhSypf1BM7zUafeIIBzMzespeuVEJ0+LvY36oRQYf7IKLzU3rw==", + "version": "10.9.4", + "resolved": "https://registry.npmjs.org/npm/-/npm-10.9.4.tgz", + "integrity": "sha512-OnUG836FwboQIbqtefDNlyR0gTHzIfwRfE3DuiNewBvnMnWEpB0VEXwBlFVgqpNzIgYo/MHh3d2Hel/pszapAA==", "bundleDependencies": [ "@isaacs/string-locale-compare", "@npmcli/arborist", @@ -10783,15 +8660,15 @@ "@npmcli/map-workspaces", "@npmcli/package-json", "@npmcli/promise-spawn", + "@npmcli/redact", "@npmcli/run-script", + "@sigstore/tuf", "abbrev", "archy", "cacache", "chalk", "ci-info", "cli-columns", - "cli-table3", - "columnify", "fastest-levenshtein", "fs-minipass", "glob", @@ -10819,6 +8696,7 @@ "ms", "node-gyp", "nopt", + "normalize-package-data", "npm-audit-report", "npm-install-checks", "npm-package-arg", @@ -10826,7 +8704,6 @@ "npm-profile", "npm-registry-fetch", "npm-user-validate", - "npmlog", "p-map", "pacote", "parse-conflict-json", @@ -10834,7 +8711,7 @@ "qrcode-terminal", "read", "semver", - "sigstore", + "spdx-expression-parse", "ssri", "supports-color", "tar", @@ -10846,96 +8723,106 @@ "write-file-atomic" ], "dev": true, + "license": "Artistic-2.0", "peer": true, + "workspaces": [ + "docs", + "smoke-tests", + "mock-globals", + "mock-registry", + "workspaces/*" + ], "dependencies": { "@isaacs/string-locale-compare": "^1.1.0", - "@npmcli/arborist": "^6.3.0", - "@npmcli/config": "^6.2.1", - "@npmcli/fs": "^3.1.0", - "@npmcli/map-workspaces": "^3.0.4", - "@npmcli/package-json": "^4.0.1", - "@npmcli/promise-spawn": "^6.0.2", - "@npmcli/run-script": "^6.0.2", - "abbrev": "^2.0.0", + "@npmcli/arborist": "^8.0.1", + "@npmcli/config": "^9.0.0", + "@npmcli/fs": "^4.0.0", + "@npmcli/map-workspaces": "^4.0.2", + "@npmcli/package-json": "^6.2.0", + "@npmcli/promise-spawn": "^8.0.2", + "@npmcli/redact": "^3.2.2", + "@npmcli/run-script": "^9.1.0", + "@sigstore/tuf": "^3.1.1", + "abbrev": "^3.0.1", "archy": "~1.0.0", - "cacache": "^17.1.3", - "chalk": "^5.3.0", - "ci-info": "^3.8.0", + "cacache": "^19.0.1", + "chalk": "^5.4.1", + "ci-info": "^4.2.0", "cli-columns": "^4.0.0", - "cli-table3": "^0.6.3", - "columnify": "^1.6.0", "fastest-levenshtein": "^1.0.16", - "fs-minipass": "^3.0.2", - "glob": "^10.2.7", + "fs-minipass": "^3.0.3", + "glob": "^10.4.5", "graceful-fs": "^4.2.11", - "hosted-git-info": "^6.1.1", - "ini": "^4.1.1", - "init-package-json": "^5.0.0", - "is-cidr": "^4.0.2", - "json-parse-even-better-errors": "^3.0.0", - "libnpmaccess": "^7.0.2", - "libnpmdiff": "^5.0.19", - "libnpmexec": "^6.0.3", - "libnpmfund": "^4.0.19", - "libnpmhook": "^9.0.3", - "libnpmorg": "^5.0.4", - "libnpmpack": "^5.0.19", - "libnpmpublish": "^7.5.0", - "libnpmsearch": "^6.0.2", - "libnpmteam": "^5.0.3", - "libnpmversion": "^4.0.2", - "make-fetch-happen": "^11.1.1", - "minimatch": "^9.0.3", - "minipass": "^5.0.0", + "hosted-git-info": "^8.1.0", + "ini": "^5.0.0", + "init-package-json": "^7.0.2", + "is-cidr": "^5.1.1", + "json-parse-even-better-errors": "^4.0.0", + "libnpmaccess": "^9.0.0", + "libnpmdiff": "^7.0.1", + "libnpmexec": "^9.0.1", + "libnpmfund": "^6.0.1", + "libnpmhook": "^11.0.0", + "libnpmorg": "^7.0.0", + "libnpmpack": "^8.0.1", + "libnpmpublish": "^10.0.1", + "libnpmsearch": "^8.0.0", + "libnpmteam": "^7.0.0", + "libnpmversion": "^7.0.0", + "make-fetch-happen": "^14.0.3", + "minimatch": "^9.0.5", + "minipass": "^7.1.1", "minipass-pipeline": "^1.2.4", "ms": "^2.1.2", - "node-gyp": "^9.4.0", - "nopt": "^7.2.0", - "npm-audit-report": "^5.0.0", - "npm-install-checks": "^6.1.1", - "npm-package-arg": "^10.1.0", - "npm-pick-manifest": "^8.0.1", - "npm-profile": "^7.0.1", - "npm-registry-fetch": "^14.0.5", - "npm-user-validate": "^2.0.0", - "npmlog": "^7.0.1", - "p-map": "^4.0.0", - "pacote": "^15.2.0", - "parse-conflict-json": "^3.0.1", - "proc-log": "^3.0.0", + "node-gyp": "^11.2.0", + "nopt": "^8.1.0", + "normalize-package-data": "^7.0.0", + "npm-audit-report": "^6.0.0", + "npm-install-checks": "^7.1.1", + "npm-package-arg": "^12.0.2", + "npm-pick-manifest": "^10.0.0", + "npm-profile": "^11.0.1", + "npm-registry-fetch": "^18.0.2", + "npm-user-validate": "^3.0.0", + "p-map": "^7.0.3", + "pacote": "^19.0.1", + "parse-conflict-json": "^4.0.0", + "proc-log": "^5.0.0", "qrcode-terminal": "^0.12.0", - "read": "^2.1.0", - "semver": "^7.5.4", - "sigstore": "^1.7.0", - "ssri": "^10.0.4", + "read": "^4.1.0", + "semver": "^7.7.2", + "spdx-expression-parse": "^4.0.0", + "ssri": "^12.0.0", "supports-color": "^9.4.0", - "tar": "^6.1.15", + "tar": "^6.2.1", "text-table": "~0.2.0", "tiny-relative-date": "^1.3.0", "treeverse": "^3.0.0", - "validate-npm-package-name": "^5.0.0", - "which": "^3.0.1", - "write-file-atomic": "^5.0.1" + "validate-npm-package-name": "^6.0.1", + "which": "^5.0.0", + "write-file-atomic": "^6.0.0" }, "bin": { "npm": "bin/npm-cli.js", "npx": "bin/npx-cli.js" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "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==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-6.0.0.tgz", + "integrity": "sha512-9qny7Z9DsQU8Ou39ERsPU4OZQlSTP47ShQzuKZ6PRXpYLtIFgl/DEBYEXKlvcEa+9tHVcK8CF81Y2V72qaZhWA==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { - "path-key": "^4.0.0" + "path-key": "^4.0.0", + "unicorn-magic": "^0.3.0" }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -10946,6 +8833,7 @@ "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": ">=12" @@ -10954,17 +8842,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/npm/node_modules/@colors/colors": { - "version": "1.5.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "optional": true, - "peer": true, - "engines": { - "node": ">=0.1.90" - } - }, "node_modules/npm/node_modules/@isaacs/cliui": { "version": "8.0.2", "dev": true, @@ -10984,7 +8861,7 @@ } }, "node_modules/npm/node_modules/@isaacs/cliui/node_modules/ansi-regex": { - "version": "6.0.1", + "version": "6.1.0", "dev": true, "inBundle": true, "license": "MIT", @@ -11037,6 +8914,19 @@ "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, + "node_modules/npm/node_modules/@isaacs/fs-minipass": { + "version": "4.0.1", + "dev": true, + "inBundle": true, + "license": "ISC", + "peer": true, + "dependencies": { + "minipass": "^7.0.4" + }, + "engines": { + "node": ">=18.0.0" + } + }, "node_modules/npm/node_modules/@isaacs/string-locale-compare": { "version": "1.1.0", "dev": true, @@ -11044,44 +8934,63 @@ "license": "ISC", "peer": true }, + "node_modules/npm/node_modules/@npmcli/agent": { + "version": "3.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "peer": true, + "dependencies": { + "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.3" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, "node_modules/npm/node_modules/@npmcli/arborist": { - "version": "6.3.0", + "version": "8.0.1", "dev": true, "inBundle": true, "license": "ISC", "peer": true, "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": "^5.0.0", - "@npmcli/name-from-folder": "^2.0.0", - "@npmcli/node-gyp": "^3.0.0", - "@npmcli/package-json": "^4.0.0", - "@npmcli/query": "^3.0.0", - "@npmcli/run-script": "^6.0.0", - "bin-links": "^4.0.1", - "cacache": "^17.0.4", + "@npmcli/fs": "^4.0.0", + "@npmcli/installed-package-contents": "^3.0.0", + "@npmcli/map-workspaces": "^4.0.1", + "@npmcli/metavuln-calculator": "^8.0.0", + "@npmcli/name-from-folder": "^3.0.0", + "@npmcli/node-gyp": "^4.0.0", + "@npmcli/package-json": "^6.0.1", + "@npmcli/query": "^4.0.0", + "@npmcli/redact": "^3.0.0", + "@npmcli/run-script": "^9.0.1", + "bin-links": "^5.0.0", + "cacache": "^19.0.1", "common-ancestor-path": "^1.0.1", - "hosted-git-info": "^6.1.1", - "json-parse-even-better-errors": "^3.0.0", + "hosted-git-info": "^8.0.0", + "json-parse-even-better-errors": "^4.0.0", "json-stringify-nice": "^1.1.4", - "minimatch": "^9.0.0", - "nopt": "^7.0.0", - "npm-install-checks": "^6.0.0", - "npm-package-arg": "^10.1.0", - "npm-pick-manifest": "^8.0.1", - "npm-registry-fetch": "^14.0.3", - "npmlog": "^7.0.1", - "pacote": "^15.0.8", - "parse-conflict-json": "^3.0.0", - "proc-log": "^3.0.0", + "lru-cache": "^10.2.2", + "minimatch": "^9.0.4", + "nopt": "^8.0.0", + "npm-install-checks": "^7.1.0", + "npm-package-arg": "^12.0.0", + "npm-pick-manifest": "^10.0.0", + "npm-registry-fetch": "^18.0.1", + "pacote": "^19.0.0", + "parse-conflict-json": "^4.0.0", + "proc-log": "^5.0.0", + "proggy": "^3.0.0", "promise-all-reject-late": "^1.0.0", - "promise-call-limit": "^1.0.2", - "read-package-json-fast": "^3.0.2", + "promise-call-limit": "^3.0.1", + "read-package-json-fast": "^4.0.0", "semver": "^7.3.7", - "ssri": "^10.0.1", + "ssri": "^12.0.0", "treeverse": "^3.0.0", "walk-up-path": "^3.0.1" }, @@ -11089,44 +8998,31 @@ "arborist": "bin/index.js" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/@npmcli/config": { - "version": "6.2.1", + "version": "9.0.0", "dev": true, "inBundle": true, "license": "ISC", "peer": true, "dependencies": { - "@npmcli/map-workspaces": "^3.0.2", - "ci-info": "^3.8.0", - "ini": "^4.1.0", - "nopt": "^7.0.0", - "proc-log": "^3.0.0", - "read-package-json-fast": "^3.0.2", + "@npmcli/map-workspaces": "^4.0.1", + "@npmcli/package-json": "^6.0.1", + "ci-info": "^4.0.0", + "ini": "^5.0.0", + "nopt": "^8.0.0", + "proc-log": "^5.0.0", "semver": "^7.3.5", "walk-up-path": "^3.0.1" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/npm/node_modules/@npmcli/disparity-colors": { - "version": "3.0.0", - "dev": true, - "inBundle": true, - "license": "ISC", - "peer": true, - "dependencies": { - "ansi-styles": "^4.3.0" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/@npmcli/fs": { - "version": "3.1.0", + "version": "4.0.0", "dev": true, "inBundle": true, "license": "ISC", @@ -11135,158 +9031,202 @@ "semver": "^7.3.5" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/@npmcli/git": { - "version": "4.1.0", + "version": "6.0.3", "dev": true, "inBundle": true, "license": "ISC", "peer": true, "dependencies": { - "@npmcli/promise-spawn": "^6.0.0", - "lru-cache": "^7.4.4", - "npm-pick-manifest": "^8.0.0", - "proc-log": "^3.0.0", - "promise-inflight": "^1.0.1", + "@npmcli/promise-spawn": "^8.0.0", + "ini": "^5.0.0", + "lru-cache": "^10.0.1", + "npm-pick-manifest": "^10.0.0", + "proc-log": "^5.0.0", "promise-retry": "^2.0.1", "semver": "^7.3.5", - "which": "^3.0.0" + "which": "^5.0.0" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/@npmcli/installed-package-contents": { - "version": "2.0.2", + "version": "3.0.0", "dev": true, "inBundle": true, "license": "ISC", "peer": true, "dependencies": { - "npm-bundled": "^3.0.0", - "npm-normalize-package-bin": "^3.0.0" + "npm-bundled": "^4.0.0", + "npm-normalize-package-bin": "^4.0.0" }, "bin": { - "installed-package-contents": "lib/index.js" + "installed-package-contents": "bin/index.js" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/@npmcli/map-workspaces": { - "version": "3.0.4", + "version": "4.0.2", "dev": true, "inBundle": true, "license": "ISC", "peer": true, "dependencies": { - "@npmcli/name-from-folder": "^2.0.0", + "@npmcli/name-from-folder": "^3.0.0", + "@npmcli/package-json": "^6.0.0", "glob": "^10.2.2", - "minimatch": "^9.0.0", - "read-package-json-fast": "^3.0.0" + "minimatch": "^9.0.0" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/@npmcli/metavuln-calculator": { - "version": "5.0.1", + "version": "8.0.1", "dev": true, "inBundle": true, "license": "ISC", "peer": true, "dependencies": { - "cacache": "^17.0.0", - "json-parse-even-better-errors": "^3.0.0", - "pacote": "^15.0.0", + "cacache": "^19.0.0", + "json-parse-even-better-errors": "^4.0.0", + "pacote": "^20.0.0", + "proc-log": "^5.0.0", "semver": "^7.3.5" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/@npmcli/metavuln-calculator/node_modules/pacote": { + "version": "20.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "peer": true, + "dependencies": { + "@npmcli/git": "^6.0.0", + "@npmcli/installed-package-contents": "^3.0.0", + "@npmcli/package-json": "^6.0.0", + "@npmcli/promise-spawn": "^8.0.0", + "@npmcli/run-script": "^9.0.0", + "cacache": "^19.0.0", + "fs-minipass": "^3.0.0", + "minipass": "^7.0.2", + "npm-package-arg": "^12.0.0", + "npm-packlist": "^9.0.0", + "npm-pick-manifest": "^10.0.0", + "npm-registry-fetch": "^18.0.0", + "proc-log": "^5.0.0", + "promise-retry": "^2.0.1", + "sigstore": "^3.0.0", + "ssri": "^12.0.0", + "tar": "^6.1.11" + }, + "bin": { + "pacote": "bin/index.js" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/@npmcli/name-from-folder": { - "version": "2.0.0", + "version": "3.0.0", "dev": true, "inBundle": true, "license": "ISC", "peer": true, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/@npmcli/node-gyp": { - "version": "3.0.0", + "version": "4.0.0", "dev": true, "inBundle": true, "license": "ISC", "peer": true, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/@npmcli/package-json": { - "version": "4.0.1", + "version": "6.2.0", "dev": true, "inBundle": true, "license": "ISC", "peer": true, "dependencies": { - "@npmcli/git": "^4.1.0", + "@npmcli/git": "^6.0.0", "glob": "^10.2.2", - "hosted-git-info": "^6.1.1", - "json-parse-even-better-errors": "^3.0.0", - "normalize-package-data": "^5.0.0", - "proc-log": "^3.0.0", - "semver": "^7.5.3" + "hosted-git-info": "^8.0.0", + "json-parse-even-better-errors": "^4.0.0", + "proc-log": "^5.0.0", + "semver": "^7.5.3", + "validate-npm-package-license": "^3.0.4" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/@npmcli/promise-spawn": { - "version": "6.0.2", + "version": "8.0.2", "dev": true, "inBundle": true, "license": "ISC", "peer": true, "dependencies": { - "which": "^3.0.0" + "which": "^5.0.0" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/@npmcli/query": { - "version": "3.0.0", + "version": "4.0.1", "dev": true, "inBundle": true, "license": "ISC", "peer": true, "dependencies": { - "postcss-selector-parser": "^6.0.10" + "postcss-selector-parser": "^7.0.0" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/@npmcli/redact": { + "version": "3.2.2", + "dev": true, + "inBundle": true, + "license": "ISC", + "peer": true, + "engines": { + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/@npmcli/run-script": { - "version": "6.0.2", + "version": "9.1.0", "dev": true, "inBundle": true, "license": "ISC", "peer": true, "dependencies": { - "@npmcli/node-gyp": "^3.0.0", - "@npmcli/promise-spawn": "^6.0.0", - "node-gyp": "^9.0.0", - "read-package-json-fast": "^3.0.0", - "which": "^3.0.0" + "@npmcli/node-gyp": "^4.0.0", + "@npmcli/package-json": "^6.0.0", + "@npmcli/promise-spawn": "^8.0.0", + "node-gyp": "^11.0.0", + "proc-log": "^5.0.0", + "which": "^5.0.0" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/@pkgjs/parseargs": { @@ -11301,126 +9241,57 @@ } }, "node_modules/npm/node_modules/@sigstore/protobuf-specs": { - "version": "0.1.0", + "version": "0.4.3", "dev": true, "inBundle": true, "license": "Apache-2.0", "peer": true, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/@sigstore/tuf": { - "version": "1.0.2", + "version": "3.1.1", "dev": true, "inBundle": true, "license": "Apache-2.0", "peer": true, "dependencies": { - "@sigstore/protobuf-specs": "^0.1.0", - "tuf-js": "^1.1.7" + "@sigstore/protobuf-specs": "^0.4.1", + "tuf-js": "^3.0.1" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/npm/node_modules/@tootallnate/once": { - "version": "2.0.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">= 10" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/@tufjs/canonical-json": { - "version": "1.0.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "peer": true, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/npm/node_modules/@tufjs/models": { - "version": "1.0.4", + "version": "2.0.0", "dev": true, "inBundle": true, "license": "MIT", "peer": true, - "dependencies": { - "@tufjs/canonical-json": "1.0.0", - "minimatch": "^9.0.0" - }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^16.14.0 || >=18.0.0" } }, "node_modules/npm/node_modules/abbrev": { - "version": "2.0.0", + "version": "3.0.1", "dev": true, "inBundle": true, "license": "ISC", "peer": true, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/npm/node_modules/abort-controller": { - "version": "3.0.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "peer": true, - "dependencies": { - "event-target-shim": "^5.0.0" - }, - "engines": { - "node": ">=6.5" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/agent-base": { - "version": "6.0.2", - "dev": true, - "inBundle": true, - "license": "MIT", - "peer": true, - "dependencies": { - "debug": "4" - }, - "engines": { - "node": ">= 6.0.0" - } - }, - "node_modules/npm/node_modules/agentkeepalive": { - "version": "4.3.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "peer": true, - "dependencies": { - "debug": "^4.1.0", - "depd": "^2.0.0", - "humanize-ms": "^1.2.1" - }, - "engines": { - "node": ">= 8.0.0" - } - }, - "node_modules/npm/node_modules/aggregate-error": { - "version": "3.1.0", + "version": "7.1.3", "dev": true, "inBundle": true, "license": "MIT", "peer": true, - "dependencies": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" - }, "engines": { - "node": ">=8" + "node": ">= 14" } }, "node_modules/npm/node_modules/ansi-regex": { @@ -11434,16 +9305,13 @@ } }, "node_modules/npm/node_modules/ansi-styles": { - "version": "4.3.0", + "version": "6.2.1", "dev": true, "inBundle": true, "license": "MIT", "peer": true, - "dependencies": { - "color-convert": "^2.0.1" - }, "engines": { - "node": ">=8" + "node": ">=12" }, "funding": { "url": "https://github.com/chalk/ansi-styles?sponsor=1" @@ -11463,20 +9331,6 @@ "license": "MIT", "peer": true }, - "node_modules/npm/node_modules/are-we-there-yet": { - "version": "4.0.0", - "dev": true, - "inBundle": true, - "license": "ISC", - "peer": true, - "dependencies": { - "delegates": "^1.0.0", - "readable-stream": "^4.1.0" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, "node_modules/npm/node_modules/balanced-match": { "version": "1.0.2", "dev": true, @@ -11484,55 +9338,38 @@ "license": "MIT", "peer": true }, - "node_modules/npm/node_modules/base64-js": { - "version": "1.5.1", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "inBundle": true, - "license": "MIT", - "peer": true - }, "node_modules/npm/node_modules/bin-links": { - "version": "4.0.2", + "version": "5.0.0", "dev": true, "inBundle": true, "license": "ISC", "peer": true, "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" + "cmd-shim": "^7.0.0", + "npm-normalize-package-bin": "^4.0.0", + "proc-log": "^5.0.0", + "read-cmd-shim": "^5.0.0", + "write-file-atomic": "^6.0.0" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/binary-extensions": { - "version": "2.2.0", + "version": "2.3.0", "dev": true, "inBundle": true, "license": "MIT", "peer": true, "engines": { "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/npm/node_modules/brace-expansion": { - "version": "2.0.1", + "version": "2.0.2", "dev": true, "inBundle": true, "license": "MIT", @@ -11541,67 +9378,86 @@ "balanced-match": "^1.0.0" } }, - "node_modules/npm/node_modules/buffer": { - "version": "6.0.3", + "node_modules/npm/node_modules/cacache": { + "version": "19.0.1", "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], "inBundle": true, - "license": "MIT", + "license": "ISC", "peer": true, "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.2.1" + "@npmcli/fs": "^4.0.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": "^7.0.2", + "ssri": "^12.0.0", + "tar": "^7.4.3", + "unique-filename": "^4.0.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/npm/node_modules/builtins": { - "version": "5.0.1", + "node_modules/npm/node_modules/cacache/node_modules/chownr": { + "version": "3.0.0", + "dev": true, + "inBundle": true, + "license": "BlueOak-1.0.0", + "peer": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/npm/node_modules/cacache/node_modules/mkdirp": { + "version": "3.0.1", "dev": true, "inBundle": true, "license": "MIT", "peer": true, - "dependencies": { - "semver": "^7.0.0" + "bin": { + "mkdirp": "dist/cjs/src/bin.js" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/npm/node_modules/cacache": { - "version": "17.1.3", + "node_modules/npm/node_modules/cacache/node_modules/tar": { + "version": "7.4.3", "dev": true, "inBundle": true, "license": "ISC", "peer": true, "dependencies": { - "@npmcli/fs": "^3.1.0", - "fs-minipass": "^3.0.0", - "glob": "^10.2.2", - "lru-cache": "^7.7.1", - "minipass": "^5.0.0", - "minipass-collect": "^1.0.2", - "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" + "@isaacs/fs-minipass": "^4.0.0", + "chownr": "^3.0.0", + "minipass": "^7.1.2", + "minizlib": "^3.0.1", + "mkdirp": "^3.0.1", + "yallist": "^5.0.0" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": ">=18" + } + }, + "node_modules/npm/node_modules/cacache/node_modules/yallist": { + "version": "5.0.0", + "dev": true, + "inBundle": true, + "license": "BlueOak-1.0.0", + "peer": true, + "engines": { + "node": ">=18" } }, "node_modules/npm/node_modules/chalk": { - "version": "5.3.0", + "version": "5.4.1", "dev": true, "inBundle": true, "license": "MIT", @@ -11624,7 +9480,7 @@ } }, "node_modules/npm/node_modules/ci-info": { - "version": "3.8.0", + "version": "4.2.0", "dev": true, "funding": [ { @@ -11640,26 +9496,16 @@ } }, "node_modules/npm/node_modules/cidr-regex": { - "version": "3.1.1", + "version": "4.1.3", "dev": true, "inBundle": true, "license": "BSD-2-Clause", "peer": true, "dependencies": { - "ip-regex": "^4.1.0" + "ip-regex": "^5.0.0" }, "engines": { - "node": ">=10" - } - }, - "node_modules/npm/node_modules/clean-stack": { - "version": "2.2.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">=6" + "node": ">=14" } }, "node_modules/npm/node_modules/cli-columns": { @@ -11676,40 +9522,14 @@ "node": ">= 10" } }, - "node_modules/npm/node_modules/cli-table3": { - "version": "0.6.3", - "dev": true, - "inBundle": true, - "license": "MIT", - "peer": true, - "dependencies": { - "string-width": "^4.2.0" - }, - "engines": { - "node": "10.* || >= 12.*" - }, - "optionalDependencies": { - "@colors/colors": "1.5.0" - } - }, - "node_modules/npm/node_modules/clone": { - "version": "1.0.4", - "dev": true, - "inBundle": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">=0.8" - } - }, "node_modules/npm/node_modules/cmd-shim": { - "version": "6.0.1", + "version": "7.0.0", "dev": true, "inBundle": true, "license": "ISC", "peer": true, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/color-convert": { @@ -11732,30 +9552,6 @@ "license": "MIT", "peer": true }, - "node_modules/npm/node_modules/color-support": { - "version": "1.1.3", - "dev": true, - "inBundle": true, - "license": "ISC", - "peer": true, - "bin": { - "color-support": "bin.js" - } - }, - "node_modules/npm/node_modules/columnify": { - "version": "1.6.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "peer": true, - "dependencies": { - "strip-ansi": "^6.0.1", - "wcwidth": "^1.0.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, "node_modules/npm/node_modules/common-ancestor-path": { "version": "1.0.1", "dev": true, @@ -11763,22 +9559,8 @@ "license": "ISC", "peer": true }, - "node_modules/npm/node_modules/concat-map": { - "version": "0.0.1", - "dev": true, - "inBundle": true, - "license": "MIT", - "peer": true - }, - "node_modules/npm/node_modules/console-control-strings": { - "version": "1.1.0", - "dev": true, - "inBundle": true, - "license": "ISC", - "peer": true - }, "node_modules/npm/node_modules/cross-spawn": { - "version": "7.0.3", + "version": "7.0.6", "dev": true, "inBundle": true, "license": "MIT", @@ -11822,13 +9604,13 @@ } }, "node_modules/npm/node_modules/debug": { - "version": "4.3.4", + "version": "4.4.1", "dev": true, "inBundle": true, "license": "MIT", "peer": true, "dependencies": { - "ms": "2.1.2" + "ms": "^2.1.3" }, "engines": { "node": ">=6.0" @@ -11839,45 +9621,8 @@ } } }, - "node_modules/npm/node_modules/debug/node_modules/ms": { - "version": "2.1.2", - "dev": true, - "inBundle": true, - "license": "MIT", - "peer": true - }, - "node_modules/npm/node_modules/defaults": { - "version": "1.0.4", - "dev": true, - "inBundle": true, - "license": "MIT", - "peer": true, - "dependencies": { - "clone": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/npm/node_modules/delegates": { - "version": "1.0.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "peer": true - }, - "node_modules/npm/node_modules/depd": { - "version": "2.0.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">= 0.8" - } - }, "node_modules/npm/node_modules/diff": { - "version": "5.1.0", + "version": "5.2.0", "dev": true, "inBundle": true, "license": "BSD-3-Clause", @@ -11928,28 +9673,8 @@ "license": "MIT", "peer": true }, - "node_modules/npm/node_modules/event-target-shim": { - "version": "5.0.1", - "dev": true, - "inBundle": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/npm/node_modules/events": { - "version": "3.3.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">=0.8.x" - } - }, "node_modules/npm/node_modules/exponential-backoff": { - "version": "3.1.1", + "version": "3.1.2", "dev": true, "inBundle": true, "license": "Apache-2.0", @@ -11966,13 +9691,13 @@ } }, "node_modules/npm/node_modules/foreground-child": { - "version": "3.1.1", + "version": "3.3.1", "dev": true, "inBundle": true, "license": "ISC", "peer": true, "dependencies": { - "cross-spawn": "^7.0.0", + "cross-spawn": "^7.0.6", "signal-exit": "^4.0.1" }, "engines": { @@ -11983,70 +9708,34 @@ } }, "node_modules/npm/node_modules/fs-minipass": { - "version": "3.0.2", - "dev": true, - "inBundle": true, - "license": "ISC", - "peer": true, - "dependencies": { - "minipass": "^5.0.0" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/npm/node_modules/fs.realpath": { - "version": "1.0.0", - "dev": true, - "inBundle": true, - "license": "ISC", - "peer": true - }, - "node_modules/npm/node_modules/function-bind": { - "version": "1.1.1", - "dev": true, - "inBundle": true, - "license": "MIT", - "peer": true - }, - "node_modules/npm/node_modules/gauge": { - "version": "5.0.1", + "version": "3.0.3", "dev": true, "inBundle": true, "license": "ISC", "peer": true, "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": "^4.0.1", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "wide-align": "^1.1.5" + "minipass": "^7.0.3" }, "engines": { "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/npm/node_modules/glob": { - "version": "10.2.7", + "version": "10.4.5", "dev": true, "inBundle": true, "license": "ISC", "peer": true, "dependencies": { "foreground-child": "^3.1.0", - "jackspeak": "^2.0.3", - "minimatch": "^9.0.1", - "minipass": "^5.0.0 || ^6.0.2", - "path-scurry": "^1.7.0" + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" }, "bin": { - "glob": "dist/cjs/src/bin.js" - }, - "engines": { - "node": ">=16 || 14 >=14.17" + "glob": "dist/esm/bin.mjs" }, "funding": { "url": "https://github.com/sponsors/isaacs" @@ -12059,83 +9748,52 @@ "license": "ISC", "peer": true }, - "node_modules/npm/node_modules/has": { - "version": "1.0.3", - "dev": true, - "inBundle": true, - "license": "MIT", - "peer": true, - "dependencies": { - "function-bind": "^1.1.1" - }, - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/npm/node_modules/has-unicode": { - "version": "2.0.1", - "dev": true, - "inBundle": true, - "license": "ISC", - "peer": true - }, "node_modules/npm/node_modules/hosted-git-info": { - "version": "6.1.1", + "version": "8.1.0", "dev": true, "inBundle": true, "license": "ISC", "peer": true, "dependencies": { - "lru-cache": "^7.5.1" + "lru-cache": "^10.0.1" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/http-cache-semantics": { - "version": "4.1.1", + "version": "4.2.0", "dev": true, "inBundle": true, "license": "BSD-2-Clause", "peer": true }, "node_modules/npm/node_modules/http-proxy-agent": { - "version": "5.0.0", + "version": "7.0.2", "dev": true, "inBundle": true, "license": "MIT", "peer": true, "dependencies": { - "@tootallnate/once": "2", - "agent-base": "6", - "debug": "4" + "agent-base": "^7.1.0", + "debug": "^4.3.4" }, "engines": { - "node": ">= 6" + "node": ">= 14" } }, "node_modules/npm/node_modules/https-proxy-agent": { - "version": "5.0.1", + "version": "7.0.6", "dev": true, "inBundle": true, "license": "MIT", "peer": true, "dependencies": { - "agent-base": "6", + "agent-base": "^7.1.2", "debug": "4" }, "engines": { - "node": ">= 6" - } - }, - "node_modules/npm/node_modules/humanize-ms": { - "version": "1.2.1", - "dev": true, - "inBundle": true, - "license": "MIT", - "peer": true, - "dependencies": { - "ms": "^2.0.0" + "node": ">= 14" } }, "node_modules/npm/node_modules/iconv-lite": { @@ -12152,29 +9810,8 @@ "node": ">=0.10.0" } }, - "node_modules/npm/node_modules/ieee754": { - "version": "1.2.1", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "inBundle": true, - "license": "BSD-3-Clause", - "peer": true - }, "node_modules/npm/node_modules/ignore-walk": { - "version": "6.0.3", + "version": "7.0.0", "dev": true, "inBundle": true, "license": "ISC", @@ -12183,7 +9820,7 @@ "minimatch": "^9.0.0" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/imurmurhash": { @@ -12196,104 +9833,73 @@ "node": ">=0.8.19" } }, - "node_modules/npm/node_modules/indent-string": { - "version": "4.0.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/npm/node_modules/inflight": { - "version": "1.0.6", - "dev": true, - "inBundle": true, - "license": "ISC", - "peer": true, - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "node_modules/npm/node_modules/inherits": { - "version": "2.0.4", - "dev": true, - "inBundle": true, - "license": "ISC", - "peer": true - }, "node_modules/npm/node_modules/ini": { - "version": "4.1.1", + "version": "5.0.0", "dev": true, "inBundle": true, "license": "ISC", "peer": true, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/init-package-json": { - "version": "5.0.0", + "version": "7.0.2", "dev": true, "inBundle": true, "license": "ISC", "peer": true, "dependencies": { - "npm-package-arg": "^10.0.0", - "promzard": "^1.0.0", - "read": "^2.0.0", - "read-package-json": "^6.0.0", + "@npmcli/package-json": "^6.0.0", + "npm-package-arg": "^12.0.0", + "promzard": "^2.0.0", + "read": "^4.0.0", "semver": "^7.3.5", "validate-npm-package-license": "^3.0.4", - "validate-npm-package-name": "^5.0.0" + "validate-npm-package-name": "^6.0.0" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/npm/node_modules/ip": { - "version": "2.0.0", + "node_modules/npm/node_modules/ip-address": { + "version": "9.0.5", "dev": true, "inBundle": true, "license": "MIT", - "peer": true + "peer": true, + "dependencies": { + "jsbn": "1.1.0", + "sprintf-js": "^1.1.3" + }, + "engines": { + "node": ">= 12" + } }, "node_modules/npm/node_modules/ip-regex": { - "version": "4.3.0", + "version": "5.0.0", "dev": true, "inBundle": true, "license": "MIT", "peer": true, "engines": { - "node": ">=8" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/npm/node_modules/is-cidr": { - "version": "4.0.2", + "version": "5.1.1", "dev": true, "inBundle": true, "license": "BSD-2-Clause", "peer": true, "dependencies": { - "cidr-regex": "^3.1.1" + "cidr-regex": "^4.1.1" }, "engines": { - "node": ">=10" - } - }, - "node_modules/npm/node_modules/is-core-module": { - "version": "2.12.1", - "dev": true, - "inBundle": true, - "license": "MIT", - "peer": true, - "dependencies": { - "has": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=14" } }, "node_modules/npm/node_modules/is-fullwidth-code-point": { @@ -12306,13 +9912,6 @@ "node": ">=8" } }, - "node_modules/npm/node_modules/is-lambda": { - "version": "1.0.1", - "dev": true, - "inBundle": true, - "license": "MIT", - "peer": true - }, "node_modules/npm/node_modules/isexe": { "version": "2.0.0", "dev": true, @@ -12321,7 +9920,7 @@ "peer": true }, "node_modules/npm/node_modules/jackspeak": { - "version": "2.2.1", + "version": "3.4.3", "dev": true, "inBundle": true, "license": "BlueOak-1.0.0", @@ -12329,9 +9928,6 @@ "dependencies": { "@isaacs/cliui": "^8.0.2" }, - "engines": { - "node": ">=14" - }, "funding": { "url": "https://github.com/sponsors/isaacs" }, @@ -12339,14 +9935,21 @@ "@pkgjs/parseargs": "^0.11.0" } }, + "node_modules/npm/node_modules/jsbn": { + "version": "1.1.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "peer": true + }, "node_modules/npm/node_modules/json-parse-even-better-errors": { - "version": "3.0.0", + "version": "4.0.0", "dev": true, "inBundle": true, "license": "MIT", "peer": true, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/json-stringify-nice": { @@ -12384,223 +9987,224 @@ "peer": true }, "node_modules/npm/node_modules/libnpmaccess": { - "version": "7.0.2", + "version": "9.0.0", "dev": true, "inBundle": true, "license": "ISC", "peer": true, "dependencies": { - "npm-package-arg": "^10.1.0", - "npm-registry-fetch": "^14.0.3" + "npm-package-arg": "^12.0.0", + "npm-registry-fetch": "^18.0.1" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/libnpmdiff": { - "version": "5.0.19", + "version": "7.0.1", "dev": true, "inBundle": true, "license": "ISC", "peer": true, "dependencies": { - "@npmcli/arborist": "^6.3.0", - "@npmcli/disparity-colors": "^3.0.0", - "@npmcli/installed-package-contents": "^2.0.2", - "binary-extensions": "^2.2.0", + "@npmcli/arborist": "^8.0.1", + "@npmcli/installed-package-contents": "^3.0.0", + "binary-extensions": "^2.3.0", "diff": "^5.1.0", - "minimatch": "^9.0.0", - "npm-package-arg": "^10.1.0", - "pacote": "^15.0.8", - "tar": "^6.1.13" + "minimatch": "^9.0.4", + "npm-package-arg": "^12.0.0", + "pacote": "^19.0.0", + "tar": "^6.2.1" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/libnpmexec": { - "version": "6.0.3", + "version": "9.0.1", "dev": true, "inBundle": true, "license": "ISC", "peer": true, "dependencies": { - "@npmcli/arborist": "^6.3.0", - "@npmcli/run-script": "^6.0.0", - "ci-info": "^3.7.1", - "npm-package-arg": "^10.1.0", - "npmlog": "^7.0.1", - "pacote": "^15.0.8", - "proc-log": "^3.0.0", - "read": "^2.0.0", - "read-package-json-fast": "^3.0.2", + "@npmcli/arborist": "^8.0.1", + "@npmcli/run-script": "^9.0.1", + "ci-info": "^4.0.0", + "npm-package-arg": "^12.0.0", + "pacote": "^19.0.0", + "proc-log": "^5.0.0", + "read": "^4.0.0", + "read-package-json-fast": "^4.0.0", "semver": "^7.3.7", "walk-up-path": "^3.0.1" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/libnpmfund": { - "version": "4.0.19", + "version": "6.0.1", "dev": true, "inBundle": true, "license": "ISC", "peer": true, "dependencies": { - "@npmcli/arborist": "^6.3.0" + "@npmcli/arborist": "^8.0.1" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/libnpmhook": { - "version": "9.0.3", + "version": "11.0.0", "dev": true, "inBundle": true, "license": "ISC", "peer": true, "dependencies": { "aproba": "^2.0.0", - "npm-registry-fetch": "^14.0.3" + "npm-registry-fetch": "^18.0.1" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/libnpmorg": { - "version": "5.0.4", + "version": "7.0.0", "dev": true, "inBundle": true, "license": "ISC", "peer": true, "dependencies": { "aproba": "^2.0.0", - "npm-registry-fetch": "^14.0.3" + "npm-registry-fetch": "^18.0.1" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/libnpmpack": { - "version": "5.0.19", + "version": "8.0.1", "dev": true, "inBundle": true, "license": "ISC", "peer": true, "dependencies": { - "@npmcli/arborist": "^6.3.0", - "@npmcli/run-script": "^6.0.0", - "npm-package-arg": "^10.1.0", - "pacote": "^15.0.8" + "@npmcli/arborist": "^8.0.1", + "@npmcli/run-script": "^9.0.1", + "npm-package-arg": "^12.0.0", + "pacote": "^19.0.0" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/libnpmpublish": { - "version": "7.5.0", + "version": "10.0.1", "dev": true, "inBundle": true, "license": "ISC", "peer": true, "dependencies": { - "ci-info": "^3.6.1", - "normalize-package-data": "^5.0.0", - "npm-package-arg": "^10.1.0", - "npm-registry-fetch": "^14.0.3", - "proc-log": "^3.0.0", + "ci-info": "^4.0.0", + "normalize-package-data": "^7.0.0", + "npm-package-arg": "^12.0.0", + "npm-registry-fetch": "^18.0.1", + "proc-log": "^5.0.0", "semver": "^7.3.7", - "sigstore": "^1.4.0", - "ssri": "^10.0.1" + "sigstore": "^3.0.0", + "ssri": "^12.0.0" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/libnpmsearch": { - "version": "6.0.2", + "version": "8.0.0", "dev": true, "inBundle": true, "license": "ISC", "peer": true, "dependencies": { - "npm-registry-fetch": "^14.0.3" + "npm-registry-fetch": "^18.0.1" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/libnpmteam": { - "version": "5.0.3", + "version": "7.0.0", "dev": true, "inBundle": true, "license": "ISC", "peer": true, "dependencies": { "aproba": "^2.0.0", - "npm-registry-fetch": "^14.0.3" + "npm-registry-fetch": "^18.0.1" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/libnpmversion": { - "version": "4.0.2", + "version": "7.0.0", "dev": true, "inBundle": true, "license": "ISC", "peer": true, "dependencies": { - "@npmcli/git": "^4.0.1", - "@npmcli/run-script": "^6.0.0", - "json-parse-even-better-errors": "^3.0.0", - "proc-log": "^3.0.0", + "@npmcli/git": "^6.0.1", + "@npmcli/run-script": "^9.0.1", + "json-parse-even-better-errors": "^4.0.0", + "proc-log": "^5.0.0", "semver": "^7.3.7" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/lru-cache": { - "version": "7.18.3", + "version": "10.4.3", "dev": true, "inBundle": true, "license": "ISC", - "peer": true, - "engines": { - "node": ">=12" - } + "peer": true }, "node_modules/npm/node_modules/make-fetch-happen": { - "version": "11.1.1", + "version": "14.0.3", "dev": true, "inBundle": true, "license": "ISC", "peer": true, "dependencies": { - "agentkeepalive": "^4.2.1", - "cacache": "^17.0.0", + "@npmcli/agent": "^3.0.0", + "cacache": "^19.0.1", "http-cache-semantics": "^4.1.1", - "http-proxy-agent": "^5.0.0", - "https-proxy-agent": "^5.0.0", - "is-lambda": "^1.0.1", - "lru-cache": "^7.7.1", - "minipass": "^5.0.0", - "minipass-fetch": "^3.0.0", + "minipass": "^7.0.2", + "minipass-fetch": "^4.0.0", "minipass-flush": "^1.0.5", "minipass-pipeline": "^1.2.4", - "negotiator": "^0.6.3", + "negotiator": "^1.0.0", + "proc-log": "^5.0.0", "promise-retry": "^2.0.1", - "socks-proxy-agent": "^7.0.0", - "ssri": "^10.0.0" + "ssri": "^12.0.0" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/make-fetch-happen/node_modules/negotiator": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">= 0.6" } }, "node_modules/npm/node_modules/minimatch": { - "version": "9.0.3", + "version": "9.0.5", "dev": true, "inBundle": true, "license": "ISC", @@ -12616,54 +10220,41 @@ } }, "node_modules/npm/node_modules/minipass": { - "version": "5.0.0", + "version": "7.1.2", "dev": true, "inBundle": true, "license": "ISC", "peer": true, "engines": { - "node": ">=8" + "node": ">=16 || 14 >=14.17" } }, "node_modules/npm/node_modules/minipass-collect": { - "version": "1.0.2", - "dev": true, - "inBundle": true, - "license": "ISC", - "peer": true, - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/npm/node_modules/minipass-collect/node_modules/minipass": { - "version": "3.3.6", + "version": "2.0.1", "dev": true, "inBundle": true, "license": "ISC", "peer": true, "dependencies": { - "yallist": "^4.0.0" + "minipass": "^7.0.3" }, "engines": { - "node": ">=8" + "node": ">=16 || 14 >=14.17" } }, "node_modules/npm/node_modules/minipass-fetch": { - "version": "3.0.3", + "version": "4.0.1", "dev": true, "inBundle": true, "license": "MIT", "peer": true, "dependencies": { - "minipass": "^5.0.0", + "minipass": "^7.0.3", "minipass-sized": "^1.0.3", - "minizlib": "^2.1.2" + "minizlib": "^3.0.1" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" }, "optionalDependencies": { "encoding": "^0.1.13" @@ -12695,30 +10286,6 @@ "node": ">=8" } }, - "node_modules/npm/node_modules/minipass-json-stream": { - "version": "1.0.1", - "dev": true, - "inBundle": true, - "license": "MIT", - "peer": true, - "dependencies": { - "jsonparse": "^1.3.1", - "minipass": "^3.0.0" - } - }, - "node_modules/npm/node_modules/minipass-json-stream/node_modules/minipass": { - "version": "3.3.6", - "dev": true, - "inBundle": true, - "license": "ISC", - "peer": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/npm/node_modules/minipass-pipeline": { "version": "1.2.4", "dev": true, @@ -12772,311 +10339,183 @@ } }, "node_modules/npm/node_modules/minizlib": { - "version": "2.1.2", + "version": "3.0.2", "dev": true, "inBundle": true, "license": "MIT", "peer": true, "dependencies": { - "minipass": "^3.0.0", - "yallist": "^4.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/npm/node_modules/minizlib/node_modules/minipass": { - "version": "3.3.6", - "dev": true, - "inBundle": true, - "license": "ISC", - "peer": true, - "dependencies": { - "yallist": "^4.0.0" + "minipass": "^7.1.2" }, "engines": { - "node": ">=8" + "node": ">= 18" } }, "node_modules/npm/node_modules/mkdirp": { "version": "1.0.4", "dev": true, - "inBundle": true, - "license": "MIT", - "peer": true, - "bin": { - "mkdirp": "bin/cmd.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/npm/node_modules/ms": { - "version": "2.1.3", - "dev": true, - "inBundle": true, - "license": "MIT", - "peer": true - }, - "node_modules/npm/node_modules/mute-stream": { - "version": "1.0.0", - "dev": true, - "inBundle": true, - "license": "ISC", - "peer": true, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/npm/node_modules/negotiator": { - "version": "0.6.3", - "dev": true, - "inBundle": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/npm/node_modules/node-gyp": { - "version": "9.4.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "peer": true, - "dependencies": { - "env-paths": "^2.2.0", - "exponential-backoff": "^3.1.1", - "glob": "^7.1.4", - "graceful-fs": "^4.2.6", - "make-fetch-happen": "^11.0.3", - "nopt": "^6.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": "^12.13 || ^14.13 || >=16" - } - }, - "node_modules/npm/node_modules/node-gyp/node_modules/abbrev": { - "version": "1.1.1", - "dev": true, - "inBundle": true, - "license": "ISC", - "peer": true - }, - "node_modules/npm/node_modules/node-gyp/node_modules/are-we-there-yet": { - "version": "3.0.1", - "dev": true, - "inBundle": true, - "license": "ISC", - "peer": true, - "dependencies": { - "delegates": "^1.0.0", - "readable-stream": "^3.6.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/npm/node_modules/node-gyp/node_modules/brace-expansion": { - "version": "1.1.11", - "dev": true, - "inBundle": true, - "license": "MIT", - "peer": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/npm/node_modules/node-gyp/node_modules/gauge": { - "version": "4.0.4", - "dev": true, - "inBundle": true, - "license": "ISC", - "peer": true, - "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/npm/node_modules/node-gyp/node_modules/glob": { - "version": "7.2.3", - "dev": true, - "inBundle": true, - "license": "ISC", - "peer": true, - "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" + "inBundle": true, + "license": "MIT", + "peer": true, + "bin": { + "mkdirp": "bin/cmd.js" }, "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": ">=10" } }, - "node_modules/npm/node_modules/node-gyp/node_modules/minimatch": { - "version": "3.1.2", + "node_modules/npm/node_modules/ms": { + "version": "2.1.3", + "dev": true, + "inBundle": true, + "license": "MIT", + "peer": true + }, + "node_modules/npm/node_modules/mute-stream": { + "version": "2.0.0", "dev": true, "inBundle": true, "license": "ISC", "peer": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, "engines": { - "node": "*" + "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/npm/node_modules/node-gyp/node_modules/nopt": { - "version": "6.0.0", + "node_modules/npm/node_modules/node-gyp": { + "version": "11.2.0", "dev": true, "inBundle": true, - "license": "ISC", + "license": "MIT", "peer": true, "dependencies": { - "abbrev": "^1.0.0" + "env-paths": "^2.2.0", + "exponential-backoff": "^3.1.1", + "graceful-fs": "^4.2.6", + "make-fetch-happen": "^14.0.3", + "nopt": "^8.0.0", + "proc-log": "^5.0.0", + "semver": "^7.3.5", + "tar": "^7.4.3", + "tinyglobby": "^0.2.12", + "which": "^5.0.0" }, "bin": { - "nopt": "bin/nopt.js" + "node-gyp": "bin/node-gyp.js" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/npm/node_modules/node-gyp/node_modules/npmlog": { - "version": "6.0.2", + "node_modules/npm/node_modules/node-gyp/node_modules/chownr": { + "version": "3.0.0", "dev": true, "inBundle": true, - "license": "ISC", + "license": "BlueOak-1.0.0", "peer": true, - "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": ">=18" } }, - "node_modules/npm/node_modules/node-gyp/node_modules/readable-stream": { - "version": "3.6.2", + "node_modules/npm/node_modules/node-gyp/node_modules/mkdirp": { + "version": "3.0.1", "dev": true, "inBundle": true, "license": "MIT", "peer": true, - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" + "bin": { + "mkdirp": "dist/cjs/src/bin.js" }, "engines": { - "node": ">= 6" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/npm/node_modules/node-gyp/node_modules/signal-exit": { - "version": "3.0.7", + "node_modules/npm/node_modules/node-gyp/node_modules/tar": { + "version": "7.4.3", "dev": true, "inBundle": true, "license": "ISC", - "peer": true + "peer": true, + "dependencies": { + "@isaacs/fs-minipass": "^4.0.0", + "chownr": "^3.0.0", + "minipass": "^7.1.2", + "minizlib": "^3.0.1", + "mkdirp": "^3.0.1", + "yallist": "^5.0.0" + }, + "engines": { + "node": ">=18" + } }, - "node_modules/npm/node_modules/node-gyp/node_modules/which": { - "version": "2.0.2", + "node_modules/npm/node_modules/node-gyp/node_modules/yallist": { + "version": "5.0.0", "dev": true, "inBundle": true, - "license": "ISC", + "license": "BlueOak-1.0.0", "peer": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, "engines": { - "node": ">= 8" + "node": ">=18" } }, "node_modules/npm/node_modules/nopt": { - "version": "7.2.0", + "version": "8.1.0", "dev": true, "inBundle": true, "license": "ISC", "peer": true, "dependencies": { - "abbrev": "^2.0.0" + "abbrev": "^3.0.0" }, "bin": { "nopt": "bin/nopt.js" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/normalize-package-data": { - "version": "5.0.0", + "version": "7.0.0", "dev": true, "inBundle": true, "license": "BSD-2-Clause", "peer": true, "dependencies": { - "hosted-git-info": "^6.0.0", - "is-core-module": "^2.8.1", + "hosted-git-info": "^8.0.0", "semver": "^7.3.5", "validate-npm-package-license": "^3.0.4" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/npm-audit-report": { - "version": "5.0.0", + "version": "6.0.0", "dev": true, "inBundle": true, "license": "ISC", "peer": true, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/npm-bundled": { - "version": "3.0.0", + "version": "4.0.0", "dev": true, "inBundle": true, "license": "ISC", "peer": true, "dependencies": { - "npm-normalize-package-bin": "^3.0.0" + "npm-normalize-package-bin": "^4.0.0" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/npm-install-checks": { - "version": "6.1.1", + "version": "7.1.1", "dev": true, "inBundle": true, "license": "BSD-2-Clause", @@ -13085,205 +10524,173 @@ "semver": "^7.1.1" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/npm-normalize-package-bin": { - "version": "3.0.1", + "version": "4.0.0", "dev": true, "inBundle": true, "license": "ISC", "peer": true, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/npm-package-arg": { - "version": "10.1.0", + "version": "12.0.2", "dev": true, "inBundle": true, "license": "ISC", "peer": true, "dependencies": { - "hosted-git-info": "^6.0.0", - "proc-log": "^3.0.0", + "hosted-git-info": "^8.0.0", + "proc-log": "^5.0.0", "semver": "^7.3.5", - "validate-npm-package-name": "^5.0.0" + "validate-npm-package-name": "^6.0.0" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/npm-packlist": { - "version": "7.0.4", + "version": "9.0.0", "dev": true, "inBundle": true, "license": "ISC", "peer": true, "dependencies": { - "ignore-walk": "^6.0.0" + "ignore-walk": "^7.0.0" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/npm-pick-manifest": { - "version": "8.0.1", + "version": "10.0.0", "dev": true, "inBundle": true, "license": "ISC", "peer": true, "dependencies": { - "npm-install-checks": "^6.0.0", - "npm-normalize-package-bin": "^3.0.0", - "npm-package-arg": "^10.0.0", + "npm-install-checks": "^7.1.0", + "npm-normalize-package-bin": "^4.0.0", + "npm-package-arg": "^12.0.0", "semver": "^7.3.5" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/npm-profile": { - "version": "7.0.1", + "version": "11.0.1", "dev": true, "inBundle": true, "license": "ISC", "peer": true, "dependencies": { - "npm-registry-fetch": "^14.0.0", - "proc-log": "^3.0.0" + "npm-registry-fetch": "^18.0.0", + "proc-log": "^5.0.0" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/npm-registry-fetch": { - "version": "14.0.5", + "version": "18.0.2", "dev": true, "inBundle": true, "license": "ISC", "peer": true, "dependencies": { - "make-fetch-happen": "^11.0.0", - "minipass": "^5.0.0", - "minipass-fetch": "^3.0.0", - "minipass-json-stream": "^1.0.1", - "minizlib": "^2.1.2", - "npm-package-arg": "^10.0.0", - "proc-log": "^3.0.0" + "@npmcli/redact": "^3.0.0", + "jsonparse": "^1.3.1", + "make-fetch-happen": "^14.0.0", + "minipass": "^7.0.2", + "minipass-fetch": "^4.0.0", + "minizlib": "^3.0.1", + "npm-package-arg": "^12.0.0", + "proc-log": "^5.0.0" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/npm-user-validate": { - "version": "2.0.0", + "version": "3.0.0", "dev": true, "inBundle": true, "license": "BSD-2-Clause", "peer": true, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/npm/node_modules/npmlog": { - "version": "7.0.1", - "dev": true, - "inBundle": true, - "license": "ISC", - "peer": true, - "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/npm/node_modules/once": { - "version": "1.4.0", - "dev": true, - "inBundle": true, - "license": "ISC", - "peer": true, - "dependencies": { - "wrappy": "1" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/p-map": { - "version": "4.0.0", + "version": "7.0.3", "dev": true, "inBundle": true, "license": "MIT", "peer": true, - "dependencies": { - "aggregate-error": "^3.0.0" - }, "engines": { - "node": ">=10" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/npm/node_modules/package-json-from-dist": { + "version": "1.0.1", + "dev": true, + "inBundle": true, + "license": "BlueOak-1.0.0", + "peer": true + }, "node_modules/npm/node_modules/pacote": { - "version": "15.2.0", + "version": "19.0.1", "dev": true, "inBundle": true, "license": "ISC", "peer": true, "dependencies": { - "@npmcli/git": "^4.0.0", - "@npmcli/installed-package-contents": "^2.0.1", - "@npmcli/promise-spawn": "^6.0.1", - "@npmcli/run-script": "^6.0.0", - "cacache": "^17.0.0", + "@npmcli/git": "^6.0.0", + "@npmcli/installed-package-contents": "^3.0.0", + "@npmcli/package-json": "^6.0.0", + "@npmcli/promise-spawn": "^8.0.0", + "@npmcli/run-script": "^9.0.0", + "cacache": "^19.0.0", "fs-minipass": "^3.0.0", - "minipass": "^5.0.0", - "npm-package-arg": "^10.0.0", - "npm-packlist": "^7.0.0", - "npm-pick-manifest": "^8.0.0", - "npm-registry-fetch": "^14.0.0", - "proc-log": "^3.0.0", + "minipass": "^7.0.2", + "npm-package-arg": "^12.0.0", + "npm-packlist": "^9.0.0", + "npm-pick-manifest": "^10.0.0", + "npm-registry-fetch": "^18.0.0", + "proc-log": "^5.0.0", "promise-retry": "^2.0.1", - "read-package-json": "^6.0.0", - "read-package-json-fast": "^3.0.0", - "sigstore": "^1.3.0", - "ssri": "^10.0.0", + "sigstore": "^3.0.0", + "ssri": "^12.0.0", "tar": "^6.1.11" }, "bin": { - "pacote": "lib/bin.js" + "pacote": "bin/index.js" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/parse-conflict-json": { - "version": "3.0.1", + "version": "4.0.0", "dev": true, "inBundle": true, "license": "ISC", "peer": true, "dependencies": { - "json-parse-even-better-errors": "^3.0.0", + "json-parse-even-better-errors": "^4.0.0", "just-diff": "^6.0.0", "just-diff-apply": "^5.2.0" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/npm/node_modules/path-is-absolute": { - "version": "1.0.1", - "dev": true, - "inBundle": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">=0.10.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/path-key": { @@ -13297,34 +10704,24 @@ } }, "node_modules/npm/node_modules/path-scurry": { - "version": "1.9.2", + "version": "1.11.1", "dev": true, "inBundle": true, "license": "BlueOak-1.0.0", "peer": true, "dependencies": { - "lru-cache": "^9.1.1", - "minipass": "^5.0.0 || ^6.0.2" + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" }, "engines": { - "node": ">=16 || 14 >=14.17" + "node": ">=16 || 14 >=14.18" }, "funding": { "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/npm/node_modules/path-scurry/node_modules/lru-cache": { - "version": "9.1.1", - "dev": true, - "inBundle": true, - "license": "ISC", - "peer": true, - "engines": { - "node": "14 || >=16.14" - } - }, "node_modules/npm/node_modules/postcss-selector-parser": { - "version": "6.0.13", + "version": "7.1.0", "dev": true, "inBundle": true, "license": "MIT", @@ -13338,23 +10735,23 @@ } }, "node_modules/npm/node_modules/proc-log": { - "version": "3.0.0", + "version": "5.0.0", "dev": true, "inBundle": true, "license": "ISC", "peer": true, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/npm/node_modules/process": { - "version": "0.11.10", + "node_modules/npm/node_modules/proggy": { + "version": "3.0.0", "dev": true, "inBundle": true, - "license": "MIT", + "license": "ISC", "peer": true, "engines": { - "node": ">= 0.6.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/promise-all-reject-late": { @@ -13368,7 +10765,7 @@ } }, "node_modules/npm/node_modules/promise-call-limit": { - "version": "1.0.2", + "version": "3.0.2", "dev": true, "inBundle": true, "license": "ISC", @@ -13377,13 +10774,6 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/npm/node_modules/promise-inflight": { - "version": "1.0.1", - "dev": true, - "inBundle": true, - "license": "ISC", - "peer": true - }, "node_modules/npm/node_modules/promise-retry": { "version": "2.0.1", "dev": true, @@ -13399,16 +10789,16 @@ } }, "node_modules/npm/node_modules/promzard": { - "version": "1.0.0", + "version": "2.0.0", "dev": true, "inBundle": true, "license": "ISC", "peer": true, "dependencies": { - "read": "^2.0.0" + "read": "^4.0.0" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/qrcode-terminal": { @@ -13421,165 +10811,51 @@ } }, "node_modules/npm/node_modules/read": { - "version": "2.1.0", + "version": "4.1.0", "dev": true, "inBundle": true, "license": "ISC", "peer": true, "dependencies": { - "mute-stream": "~1.0.0" + "mute-stream": "^2.0.0" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/read-cmd-shim": { - "version": "4.0.0", - "dev": true, - "inBundle": true, - "license": "ISC", - "peer": true, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/npm/node_modules/read-package-json": { - "version": "6.0.4", - "dev": true, - "inBundle": true, - "license": "ISC", - "peer": true, - "dependencies": { - "glob": "^10.2.2", - "json-parse-even-better-errors": "^3.0.0", - "normalize-package-data": "^5.0.0", - "npm-normalize-package-bin": "^3.0.0" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/npm/node_modules/read-package-json-fast": { - "version": "3.0.2", - "dev": true, - "inBundle": true, - "license": "ISC", - "peer": true, - "dependencies": { - "json-parse-even-better-errors": "^3.0.0", - "npm-normalize-package-bin": "^3.0.0" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/npm/node_modules/readable-stream": { - "version": "4.4.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "peer": true, - "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" - } - }, - "node_modules/npm/node_modules/retry": { - "version": "0.12.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">= 4" - } - }, - "node_modules/npm/node_modules/rimraf": { - "version": "3.0.2", - "dev": true, - "inBundle": true, - "license": "ISC", - "peer": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/npm/node_modules/rimraf/node_modules/brace-expansion": { - "version": "1.1.11", - "dev": true, - "inBundle": true, - "license": "MIT", - "peer": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/npm/node_modules/rimraf/node_modules/glob": { - "version": "7.2.3", + "version": "5.0.0", "dev": true, "inBundle": true, "license": "ISC", "peer": true, - "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": "^18.17.0 || >=20.5.0" } }, - "node_modules/npm/node_modules/rimraf/node_modules/minimatch": { - "version": "3.1.2", + "node_modules/npm/node_modules/read-package-json-fast": { + "version": "4.0.0", "dev": true, "inBundle": true, "license": "ISC", "peer": true, "dependencies": { - "brace-expansion": "^1.1.7" + "json-parse-even-better-errors": "^4.0.0", + "npm-normalize-package-bin": "^4.0.0" }, "engines": { - "node": "*" + "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/npm/node_modules/safe-buffer": { - "version": "5.2.1", + "node_modules/npm/node_modules/retry": { + "version": "0.12.0", "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], "inBundle": true, "license": "MIT", - "peer": true + "peer": true, + "engines": { + "node": ">= 4" + } }, "node_modules/npm/node_modules/safer-buffer": { "version": "2.1.2", @@ -13590,14 +10866,11 @@ "peer": true }, "node_modules/npm/node_modules/semver": { - "version": "7.5.4", + "version": "7.7.2", "dev": true, "inBundle": true, "license": "ISC", "peer": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, "bin": { "semver": "bin/semver.js" }, @@ -13605,26 +10878,6 @@ "node": ">=10" } }, - "node_modules/npm/node_modules/semver/node_modules/lru-cache": { - "version": "6.0.0", - "dev": true, - "inBundle": true, - "license": "ISC", - "peer": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/npm/node_modules/set-blocking": { - "version": "2.0.0", - "dev": true, - "inBundle": true, - "license": "ISC", - "peer": true - }, "node_modules/npm/node_modules/shebang-command": { "version": "2.0.0", "dev": true, @@ -13649,7 +10902,7 @@ } }, "node_modules/npm/node_modules/signal-exit": { - "version": "4.0.2", + "version": "4.1.0", "dev": true, "inBundle": true, "license": "ISC", @@ -13662,21 +10915,77 @@ } }, "node_modules/npm/node_modules/sigstore": { - "version": "1.7.0", + "version": "3.1.0", "dev": true, "inBundle": true, "license": "Apache-2.0", "peer": true, "dependencies": { - "@sigstore/protobuf-specs": "^0.1.0", - "@sigstore/tuf": "^1.0.1", - "make-fetch-happen": "^11.0.1" + "@sigstore/bundle": "^3.1.0", + "@sigstore/core": "^2.0.0", + "@sigstore/protobuf-specs": "^0.4.0", + "@sigstore/sign": "^3.1.0", + "@sigstore/tuf": "^3.1.0", + "@sigstore/verify": "^2.1.0" }, - "bin": { - "sigstore": "bin/sigstore.js" + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/sigstore/node_modules/@sigstore/bundle": { + "version": "3.1.0", + "dev": true, + "inBundle": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "@sigstore/protobuf-specs": "^0.4.0" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/sigstore/node_modules/@sigstore/core": { + "version": "2.0.0", + "dev": true, + "inBundle": true, + "license": "Apache-2.0", + "peer": true, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/sigstore/node_modules/@sigstore/sign": { + "version": "3.1.0", + "dev": true, + "inBundle": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "@sigstore/bundle": "^3.1.0", + "@sigstore/core": "^2.0.0", + "@sigstore/protobuf-specs": "^0.4.0", + "make-fetch-happen": "^14.0.2", + "proc-log": "^5.0.0", + "promise-retry": "^2.0.1" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/sigstore/node_modules/@sigstore/verify": { + "version": "2.1.1", + "dev": true, + "inBundle": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "@sigstore/bundle": "^3.1.0", + "@sigstore/core": "^2.0.0", + "@sigstore/protobuf-specs": "^0.4.1" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/smart-buffer": { @@ -13691,33 +11000,33 @@ } }, "node_modules/npm/node_modules/socks": { - "version": "2.7.1", + "version": "2.8.5", "dev": true, "inBundle": true, "license": "MIT", "peer": true, "dependencies": { - "ip": "^2.0.0", + "ip-address": "^9.0.5", "smart-buffer": "^4.2.0" }, "engines": { - "node": ">= 10.13.0", + "node": ">= 10.0.0", "npm": ">= 3.0.0" } }, "node_modules/npm/node_modules/socks-proxy-agent": { - "version": "7.0.0", + "version": "8.0.5", "dev": true, "inBundle": true, "license": "MIT", "peer": true, "dependencies": { - "agent-base": "^6.0.2", - "debug": "^4.3.3", - "socks": "^2.6.2" + "agent-base": "^7.1.2", + "debug": "^4.3.4", + "socks": "^2.8.3" }, "engines": { - "node": ">= 10" + "node": ">= 14" } }, "node_modules/npm/node_modules/spdx-correct": { @@ -13731,15 +11040,26 @@ "spdx-license-ids": "^3.0.0" } }, + "node_modules/npm/node_modules/spdx-correct/node_modules/spdx-expression-parse": { + "version": "3.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, "node_modules/npm/node_modules/spdx-exceptions": { - "version": "2.3.0", + "version": "2.5.0", "dev": true, "inBundle": true, "license": "CC-BY-3.0", "peer": true }, "node_modules/npm/node_modules/spdx-expression-parse": { - "version": "3.0.1", + "version": "4.0.0", "dev": true, "inBundle": true, "license": "MIT", @@ -13750,33 +11070,30 @@ } }, "node_modules/npm/node_modules/spdx-license-ids": { - "version": "3.0.13", + "version": "3.0.21", "dev": true, "inBundle": true, "license": "CC0-1.0", "peer": true }, + "node_modules/npm/node_modules/sprintf-js": { + "version": "1.1.3", + "dev": true, + "inBundle": true, + "license": "BSD-3-Clause", + "peer": true + }, "node_modules/npm/node_modules/ssri": { - "version": "10.0.4", + "version": "12.0.0", "dev": true, "inBundle": true, "license": "ISC", "peer": true, "dependencies": { - "minipass": "^5.0.0" + "minipass": "^7.0.3" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/npm/node_modules/string_decoder": { - "version": "1.3.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "peer": true, - "dependencies": { - "safe-buffer": "~5.2.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/string-width": { @@ -13851,7 +11168,7 @@ } }, "node_modules/npm/node_modules/tar": { - "version": "6.1.15", + "version": "6.2.1", "dev": true, "inBundle": true, "license": "ISC", @@ -13894,6 +11211,43 @@ "node": ">=8" } }, + "node_modules/npm/node_modules/tar/node_modules/minipass": { + "version": "5.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/tar/node_modules/minizlib": { + "version": "2.1.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/npm/node_modules/tar/node_modules/minizlib/node_modules/minipass": { + "version": "3.3.6", + "dev": true, + "inBundle": true, + "license": "ISC", + "peer": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/npm/node_modules/text-table": { "version": "0.2.0", "dev": true, @@ -13908,6 +11262,51 @@ "license": "MIT", "peer": true }, + "node_modules/npm/node_modules/tinyglobby": { + "version": "0.2.14", + "dev": true, + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "fdir": "^6.4.4", + "picomatch": "^4.0.2" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" + } + }, + "node_modules/npm/node_modules/tinyglobby/node_modules/fdir": { + "version": "6.4.6", + "dev": true, + "inBundle": true, + "license": "MIT", + "peer": true, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/npm/node_modules/tinyglobby/node_modules/picomatch": { + "version": "4.0.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, "node_modules/npm/node_modules/treeverse": { "version": "3.0.0", "dev": true, @@ -13919,35 +11318,49 @@ } }, "node_modules/npm/node_modules/tuf-js": { - "version": "1.1.7", + "version": "3.0.1", "dev": true, "inBundle": true, "license": "MIT", "peer": true, "dependencies": { - "@tufjs/models": "1.0.4", - "debug": "^4.3.4", - "make-fetch-happen": "^11.1.1" + "@tufjs/models": "3.0.1", + "debug": "^4.3.6", + "make-fetch-happen": "^14.0.1" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/tuf-js/node_modules/@tufjs/models": { + "version": "3.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@tufjs/canonical-json": "2.0.0", + "minimatch": "^9.0.5" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/unique-filename": { - "version": "3.0.0", + "version": "4.0.0", "dev": true, "inBundle": true, "license": "ISC", "peer": true, "dependencies": { - "unique-slug": "^4.0.0" + "unique-slug": "^5.0.0" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/unique-slug": { - "version": "4.0.0", + "version": "5.0.0", "dev": true, "inBundle": true, "license": "ISC", @@ -13956,7 +11369,7 @@ "imurmurhash": "^0.1.4" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/util-deprecate": { @@ -13977,17 +11390,25 @@ "spdx-expression-parse": "^3.0.0" } }, + "node_modules/npm/node_modules/validate-npm-package-license/node_modules/spdx-expression-parse": { + "version": "3.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, "node_modules/npm/node_modules/validate-npm-package-name": { - "version": "5.0.0", + "version": "6.0.1", "dev": true, "inBundle": true, "license": "ISC", "peer": true, - "dependencies": { - "builtins": "^5.0.0" - }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/walk-up-path": { @@ -13997,40 +11418,30 @@ "license": "ISC", "peer": true }, - "node_modules/npm/node_modules/wcwidth": { - "version": "1.0.1", - "dev": true, - "inBundle": true, - "license": "MIT", - "peer": true, - "dependencies": { - "defaults": "^1.0.3" - } - }, "node_modules/npm/node_modules/which": { - "version": "3.0.1", + "version": "5.0.0", "dev": true, "inBundle": true, "license": "ISC", "peer": true, "dependencies": { - "isexe": "^2.0.0" + "isexe": "^3.1.1" }, "bin": { "node-which": "bin/which.js" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/npm/node_modules/wide-align": { - "version": "1.1.5", + "node_modules/npm/node_modules/which/node_modules/isexe": { + "version": "3.1.1", "dev": true, "inBundle": true, "license": "ISC", "peer": true, - "dependencies": { - "string-width": "^1.0.2 || 2 || 3 || 4" + "engines": { + "node": ">=16" } }, "node_modules/npm/node_modules/wrap-ansi": { @@ -14070,21 +11481,24 @@ "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/npm/node_modules/wrap-ansi/node_modules/ansi-regex": { - "version": "6.0.1", + "node_modules/npm/node_modules/wrap-ansi-cjs/node_modules/ansi-styles": { + "version": "4.3.0", "dev": true, "inBundle": true, "license": "MIT", "peer": true, + "dependencies": { + "color-convert": "^2.0.1" + }, "engines": { - "node": ">=12" + "node": ">=8" }, "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/npm/node_modules/wrap-ansi/node_modules/ansi-styles": { - "version": "6.2.1", + "node_modules/npm/node_modules/wrap-ansi/node_modules/ansi-regex": { + "version": "6.1.0", "dev": true, "inBundle": true, "license": "MIT", @@ -14093,7 +11507,7 @@ "node": ">=12" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "url": "https://github.com/chalk/ansi-regex?sponsor=1" } }, "node_modules/npm/node_modules/wrap-ansi/node_modules/emoji-regex": { @@ -14137,15 +11551,8 @@ "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, - "node_modules/npm/node_modules/wrappy": { - "version": "1.0.2", - "dev": true, - "inBundle": true, - "license": "ISC", - "peer": true - }, "node_modules/npm/node_modules/write-file-atomic": { - "version": "5.0.1", + "version": "6.0.0", "dev": true, "inBundle": true, "license": "ISC", @@ -14155,7 +11562,7 @@ "signal-exit": "^4.0.1" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/yallist": { @@ -14166,10 +11573,11 @@ "peer": true }, "node_modules/nyc": { - "version": "15.1.0", - "resolved": "https://registry.npmjs.org/nyc/-/nyc-15.1.0.tgz", - "integrity": "sha512-jMW04n9SxKdKi1ZMGhvUTHBN0EICCRkHemEoE5jm6mTYcqcdas0ATzgUgejlQUHMvpnOZqGB5Xxsv9KxJW1j8A==", + "version": "17.1.0", + "resolved": "https://registry.npmjs.org/nyc/-/nyc-17.1.0.tgz", + "integrity": "sha512-U42vQ4czpKa0QdI1hu950XuNhYqgoM+ZF1HT+VuUHL9hPfDPVvNQyltmMqdE9bUHMVa+8yNbc3QKTj8zQhlVxQ==", "dev": true, + "license": "ISC", "dependencies": { "@istanbuljs/load-nyc-config": "^1.0.0", "@istanbuljs/schema": "^0.1.2", @@ -14178,12 +11586,12 @@ "decamelize": "^1.2.0", "find-cache-dir": "^3.2.0", "find-up": "^4.1.0", - "foreground-child": "^2.0.0", + "foreground-child": "^3.3.0", "get-package-type": "^0.1.0", "glob": "^7.1.6", "istanbul-lib-coverage": "^3.0.0", "istanbul-lib-hook": "^3.0.0", - "istanbul-lib-instrument": "^4.0.0", + "istanbul-lib-instrument": "^6.0.2", "istanbul-lib-processinfo": "^2.0.2", "istanbul-lib-report": "^3.0.0", "istanbul-lib-source-maps": "^4.0.0", @@ -14203,7 +11611,7 @@ "nyc": "bin/nyc.js" }, "engines": { - "node": ">=8.9" + "node": ">=18" } }, "node_modules/nyc/node_modules/ansi-styles": { @@ -14211,6 +11619,7 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, + "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -14226,6 +11635,7 @@ "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", "dev": true, + "license": "ISC", "dependencies": { "string-width": "^4.2.0", "strip-ansi": "^6.0.0", @@ -14237,6 +11647,7 @@ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -14248,13 +11659,22 @@ "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 + "dev": true, + "license": "MIT" + }, + "node_modules/nyc/node_modules/convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "dev": true, + "license": "MIT" }, "node_modules/nyc/node_modules/find-up": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "dev": true, + "license": "MIT", "dependencies": { "locate-path": "^5.0.0", "path-exists": "^4.0.0" @@ -14268,6 +11688,7 @@ "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", "dev": true, + "license": "ISC", "engines": { "node": "6.* || 8.* || >= 10.*" } @@ -14277,6 +11698,7 @@ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } @@ -14286,6 +11708,7 @@ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "dev": true, + "license": "MIT", "dependencies": { "p-locate": "^4.1.0" }, @@ -14298,6 +11721,7 @@ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dev": true, + "license": "MIT", "dependencies": { "p-try": "^2.0.0" }, @@ -14313,6 +11737,7 @@ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "dev": true, + "license": "MIT", "dependencies": { "p-limit": "^2.2.0" }, @@ -14320,20 +11745,12 @@ "node": ">=8" } }, - "node_modules/nyc/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_modules/nyc/node_modules/string-width": { "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, + "license": "MIT", "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -14346,359 +11763,123 @@ "node_modules/nyc/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, - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/nyc/node_modules/y18n": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", - "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", - "dev": true - }, - "node_modules/nyc/node_modules/yargs": { - "version": "15.4.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", - "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", - "dev": true, - "dependencies": { - "cliui": "^6.0.0", - "decamelize": "^1.2.0", - "find-up": "^4.1.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^4.2.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^18.1.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/nyc/node_modules/yargs-parser": { - "version": "18.1.3", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", - "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", - "dev": true, - "dependencies": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - }, - "engines": { - "node": ">=6" - } - }, - "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==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-inspect": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.2.tgz", - "integrity": "sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "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==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "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==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.5", - "define-properties": "^1.2.1", - "has-symbols": "^1.0.3", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object.fromentries": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.8.tgz", - "integrity": "sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.2", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object.groupby": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.3.tgz", - "integrity": "sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.values": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.0.tgz", - "integrity": "sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "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==", - "dev": true, - "dependencies": { - "wrappy": "1" - } - }, - "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": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/optionator": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", - "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", - "dev": true, - "dependencies": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.3" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "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==", - "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" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/ora/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, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "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==", - "dev": true, - "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/ora/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==", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", "dev": true, + "license": "MIT", "dependencies": { - "color-name": "~1.1.4" + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" }, "engines": { - "node": ">=7.0.0" + "node": ">=8" } }, - "node_modules/ora/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/nyc/node_modules/y18n": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", + "dev": true, + "license": "ISC" }, - "node_modules/ora/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/nyc/node_modules/yargs": { + "version": "15.4.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", + "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^6.0.0", + "decamelize": "^1.2.0", + "find-up": "^4.1.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^4.2.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^18.1.2" + }, "engines": { "node": ">=8" } }, - "node_modules/ora/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/nyc/node_modules/yargs-parser": { + "version": "18.1.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", "dev": true, + "license": "ISC", "dependencies": { - "has-flag": "^4.0.0" + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" }, "engines": { - "node": ">=8" + "node": ">=6" } }, - "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==", + "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==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, - "node_modules/p-each-series": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-each-series/-/p-each-series-3.0.0.tgz", - "integrity": "sha512-lastgtAdoH9YaLyDa5i5z64q+kzOcQHsQ5SsZJD3q0VEyI8mq872S3geuNbRUQLVAE9siMfgKrpj7MloKFHruw==", + "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==", "dev": true, - "peer": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "license": "ISC", + "dependencies": { + "wrappy": "1" } }, - "node_modules/p-filter": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-filter/-/p-filter-3.0.0.tgz", - "integrity": "sha512-QtoWLjXAW++uTX67HZQz1dbTpqBfiidsB6VtQUC9iR85S120+s0T5sO6s+B5MLzFcZkrEd/DGMmCjR+f2Qpxwg==", + "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, - "peer": true, + "license": "MIT", "dependencies": { - "p-map": "^5.1.0" + "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/p-filter/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/optionator": { + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", + "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", "dev": true, - "peer": true, + "license": "MIT", "dependencies": { - "clean-stack": "^4.0.0", - "indent-string": "^5.0.0" + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.5" }, "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">= 0.8.0" } }, - "node_modules/p-filter/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/p-each-series": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-each-series/-/p-each-series-3.0.0.tgz", + "integrity": "sha512-lastgtAdoH9YaLyDa5i5z64q+kzOcQHsQ5SsZJD3q0VEyI8mq872S3geuNbRUQLVAE9siMfgKrpj7MloKFHruw==", "dev": true, + "license": "MIT", "peer": true, - "dependencies": { - "escape-string-regexp": "5.0.0" - }, "engines": { "node": ">=12" }, @@ -14706,43 +11887,49 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/p-filter/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/p-event": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/p-event/-/p-event-6.0.1.tgz", + "integrity": "sha512-Q6Bekk5wpzW5qIyUP4gdMEujObYstZl6DMMOSenwBvV0BlE5LkDwkjs5yHbZmdCEq2o4RJx4tE1vwxFVf2FG1w==", "dev": true, + "license": "MIT", "peer": true, + "dependencies": { + "p-timeout": "^6.1.2" + }, "engines": { - "node": ">=12" + "node": ">=16.17" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/p-filter/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/p-filter": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-filter/-/p-filter-4.1.0.tgz", + "integrity": "sha512-37/tPdZ3oJwHaS3gNJdenCDB3Tz26i9sjhnguBtvN0vYlRIiDNnvTWkuh+0hETV9rLPdJ3rlL3yVOYPIAnM8rw==", "dev": true, + "license": "MIT", "peer": true, + "dependencies": { + "p-map": "^7.0.1" + }, "engines": { - "node": ">=12" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/p-filter/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==", + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-7.0.4.tgz", + "integrity": "sha512-tkAQEw8ysMzmkhgw8k+1U/iPhWNhykKnSk4Rd5zLoPJCuJaGRPo6YposrZgaxHKzDHdDWWZvE/Sk7hsL2X/CpQ==", "dev": true, + "license": "MIT", "peer": true, - "dependencies": { - "aggregate-error": "^4.0.0" - }, "engines": { - "node": ">=12" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -14753,6 +11940,8 @@ "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-3.0.0.tgz", "integrity": "sha512-Wo8VsW4IRQSKVXsJCn7TomUaVtyfjVDn3nUP7kE967BQk0CwFpdbZs0X0uk5sW9mkBa9eNM7hCMaG93WUAwxYQ==", "dev": true, + "license": "MIT", + "peer": true, "engines": { "node": ">=8" } @@ -14762,6 +11951,7 @@ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", "dev": true, + "license": "MIT", "dependencies": { "yocto-queue": "^0.1.0" }, @@ -14777,6 +11967,7 @@ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", "dev": true, + "license": "MIT", "dependencies": { "p-limit": "^3.0.2" }, @@ -14792,6 +11983,7 @@ "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz", "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==", "dev": true, + "license": "MIT", "dependencies": { "aggregate-error": "^3.0.0" }, @@ -14804,6 +11996,7 @@ "resolved": "https://registry.npmjs.org/p-reduce/-/p-reduce-3.0.0.tgz", "integrity": "sha512-xsrIUgI0Kn6iyDYm9StOpOeK29XM1aboGji26+QEortiFST1hGZaUQOLhtEbqHErPpGW/aSz6allwK2qcptp0Q==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": ">=12" @@ -14812,11 +12005,26 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/p-timeout": { + "version": "6.1.4", + "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-6.1.4.tgz", + "integrity": "sha512-MyIV3ZA/PmyBN/ud8vV9XzwTrNtR4jFrObymZYnZqMmW0zA8Z17vnT0rBgFE/TlohB+YCHqXMgZzb3Csp49vqg==", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=14.16" + }, + "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==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } @@ -14826,6 +12034,7 @@ "resolved": "https://registry.npmjs.org/package-hash/-/package-hash-4.0.0.tgz", "integrity": "sha512-whdkPIooSu/bASggZ96BWVvZTRMOFxnyUG5PnTSGKoJE2gd5mbVNmR2Nj20QFzxYYgAXpoqC+AiXzl+UMRh7zQ==", "dev": true, + "license": "ISC", "dependencies": { "graceful-fs": "^4.1.15", "hasha": "^5.0.0", @@ -14836,11 +12045,19 @@ "node": ">=8" } }, + "node_modules/package-json-from-dist": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", + "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==", + "dev": true, + "license": "BlueOak-1.0.0" + }, "node_modules/pad-right": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/pad-right/-/pad-right-0.2.2.tgz", "integrity": "sha512-4cy8M95ioIGolCoMmm2cMntGR1lPLEbOMzOKu8bzjuJP6JpzEMQcDHmh7hHLYGgob+nKe1YHFMaG4V59HQa89g==", "dev": true, + "license": "MIT", "dependencies": { "repeat-string": "^1.5.2" }, @@ -14853,6 +12070,7 @@ "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", "dev": true, + "license": "MIT", "dependencies": { "callsites": "^3.0.0" }, @@ -14865,6 +12083,7 @@ "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-2.0.0.tgz", "integrity": "sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==", "dev": true, + "license": "MIT", "dependencies": { "character-entities": "^1.0.0", "character-entities-legacy": "^1.0.0", @@ -14883,6 +12102,8 @@ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", "dev": true, + "license": "MIT", + "peer": true, "dependencies": { "@babel/code-frame": "^7.0.0", "error-ex": "^1.3.1", @@ -14896,26 +12117,53 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/parse-passwd": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", - "integrity": "sha512-1Y1A//QUXEZK7YKz+rD9WydcE1+EuPr6ZBgKecAB8tmoW6UFv0NREVJe1p+jRxtThkcbbKkfwIbWJe/IeE6m2Q==", + "node_modules/parse-ms": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-ms/-/parse-ms-4.0.0.tgz", + "integrity": "sha512-TXfryirbmq34y8QBwgqCVLi+8oA3oWx2eAnSn62ITyEhEYaWRlVZ2DvMM9eZbMs/RfxPu/PK/aBLyGj4IrqMHw==", "dev": true, + "license": "MIT", + "peer": true, "engines": { - "node": ">=0.10.0" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/path-browserify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", - "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==", - "dev": true + "node_modules/parse5": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.1.tgz", + "integrity": "sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/parse5-htmlparser2-tree-adapter": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-6.0.1.tgz", + "integrity": "sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "parse5": "^6.0.1" + } + }, + "node_modules/parse5-htmlparser2-tree-adapter/node_modules/parse5": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", + "dev": true, + "license": "MIT", + "peer": true }, "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, + "license": "MIT", "engines": { "node": ">=8" } @@ -14925,6 +12173,7 @@ "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -14934,6 +12183,7 @@ "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } @@ -14942,37 +12192,56 @@ "version": "1.0.7", "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true + "dev": true, + "license": "MIT" }, - "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==", + "node_modules/path-scurry": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", "dev": true, + "license": "BlueOak-1.0.0", "dependencies": { - "isarray": "0.0.1" + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.18" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/path-scurry/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "dev": true, + "license": "ISC" + }, "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==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", - "dev": true + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "dev": true, + "license": "ISC" }, "node_modules/picomatch": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", "dev": true, + "license": "MIT", "engines": { "node": ">=8.6" }, @@ -14985,16 +12254,28 @@ "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": ">=4" } }, + "node_modules/pirates": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.7.tgz", + "integrity": "sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, "node_modules/pkg-conf": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/pkg-conf/-/pkg-conf-2.1.0.tgz", "integrity": "sha512-C+VUP+8jis7EsQZIhDYmS5qlNtjv2yP4SNtjXK9AP1ZcTRlnSfuumaTnRfYZnYgUUYVIKqL0fRvmUGDV2fmp6g==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "find-up": "^2.0.0", @@ -15009,6 +12290,7 @@ "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", "integrity": "sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "locate-path": "^2.0.0" @@ -15022,6 +12304,7 @@ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", "integrity": "sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "p-locate": "^2.0.0", @@ -15036,6 +12319,7 @@ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "p-try": "^1.0.0" @@ -15049,6 +12333,7 @@ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", "integrity": "sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "p-limit": "^1.1.0" @@ -15062,6 +12347,7 @@ "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", "integrity": "sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": ">=4" @@ -15072,6 +12358,7 @@ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": ">=4" @@ -15082,6 +12369,7 @@ "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", "dev": true, + "license": "MIT", "dependencies": { "find-up": "^4.0.0" }, @@ -15094,6 +12382,7 @@ "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "dev": true, + "license": "MIT", "dependencies": { "locate-path": "^5.0.0", "path-exists": "^4.0.0" @@ -15107,6 +12396,7 @@ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "dev": true, + "license": "MIT", "dependencies": { "p-locate": "^4.1.0" }, @@ -15119,6 +12409,7 @@ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dev": true, + "license": "MIT", "dependencies": { "p-try": "^2.0.0" }, @@ -15134,6 +12425,7 @@ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "dev": true, + "license": "MIT", "dependencies": { "p-limit": "^2.2.0" }, @@ -15141,14 +12433,33 @@ "node": ">=8" } }, - "node_modules/possible-typed-array-names": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz", - "integrity": "sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==", + "node_modules/postcss": { + "version": "8.5.6", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", + "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==", "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], "license": "MIT", + "dependencies": { + "nanoid": "^3.3.11", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, "engines": { - "node": ">= 0.4" + "node": "^10 || ^12 || >=14" } }, "node_modules/prelude-ls": { @@ -15156,20 +12467,22 @@ "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.8.0" } }, "node_modules/prettier": { - "version": "2.8.7", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.7.tgz", - "integrity": "sha512-yPngTo3aXUUmyuTjeTUT75txrf+aMh9FiD7q9ZE/i6r0bPb22g4FsE6Y338PQX1bmfy08i9QQCB7/rcUAVntfw==", + "version": "3.7.4", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.7.4.tgz", + "integrity": "sha512-v6UNi1+3hSlVvv8fSaoUbggEM5VErKmmpGA7Pl3HF8V6uKY7rvClBOJlH6yNwQtfTueNkGVpOv/mtWL9L4bgRA==", "dev": true, + "license": "MIT", "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" @@ -15180,24 +12493,45 @@ "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", "dev": true, + "license": "MIT", + "dependencies": { + "fast-diff": "^1.1.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/pretty-ms": { + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/pretty-ms/-/pretty-ms-9.3.0.tgz", + "integrity": "sha512-gjVS5hOP+M3wMm5nmNOucbIrqudzs9v/57bWRHQWLYklXqoXKrVfYW2W9+glfGsqtPgpiz5WwyEEB+ksXIx3gQ==", + "dev": true, + "license": "MIT", + "peer": true, "dependencies": { - "fast-diff": "^1.1.2" + "parse-ms": "^4.0.0" }, "engines": { - "node": ">=6.0.0" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "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==", - "dev": true + "dev": true, + "license": "MIT", + "peer": true }, "node_modules/process-on-spawn": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/process-on-spawn/-/process-on-spawn-1.0.0.tgz", - "integrity": "sha512-1WsPDsUSMmZH5LeMLegqkPDrsGgsWwk1Exipy2hvB0o/F0ASzbpIctSCcZIK1ykJvtTJULEH+20WOFjMvGnCTg==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/process-on-spawn/-/process-on-spawn-1.1.0.tgz", + "integrity": "sha512-JOnOPQ/8TZgjs1JIH/m9ni7FfimjNa/PRx7y/Wb5qdItsnhO0jE4AT7fC0HjC28DUQWDr50dwSYZLdRMlqDq3Q==", "dev": true, + "license": "MIT", "dependencies": { "fromentries": "^1.2.0" }, @@ -15210,15 +12544,24 @@ "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.4.0" } }, + "node_modules/property-expr": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/property-expr/-/property-expr-2.0.6.tgz", + "integrity": "sha512-SVtmxhRE/CGkn3eZY1T6pC8Nln6Fr/lu1mKSgRud0eC73whjGfoAogbn78LkD8aFL0zz3bAFerKSnOl7NlErBA==", + "dev": true, + "license": "MIT" + }, "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, + "license": "ISC", "peer": true }, "node_modules/proxyquire": { @@ -15226,31 +12569,13 @@ "resolved": "https://registry.npmjs.org/proxyquire/-/proxyquire-2.1.3.tgz", "integrity": "sha512-BQWfCqYM+QINd+yawJz23tbBM40VIGXOdDw3X344KcclI/gtBbdWF6SlQ4nK/bYhF9d27KYug9WzljHC6B9Ysg==", "dev": true, + "license": "MIT", "dependencies": { "fill-keys": "^1.0.2", "module-not-found-error": "^1.0.1", "resolve": "^1.11.1" } }, - "node_modules/punycode": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", - "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", - "dev": true, - "engines": { - "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.", - "dev": true, - "engines": { - "node": ">=0.4.x" - } - }, "node_modules/queue-microtask": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", @@ -15269,22 +12594,15 @@ "type": "consulting", "url": "https://feross.org/support" } - ] - }, - "node_modules/quick-lru": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz", - "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==", - "dev": true, - "engines": { - "node": ">=8" - } + ], + "license": "MIT" }, "node_modules/randombytes": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", "dev": true, + "license": "MIT", "dependencies": { "safe-buffer": "^5.1.0" } @@ -15294,6 +12612,7 @@ "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", "dev": true, + "license": "(BSD-2-Clause OR MIT OR Apache-2.0)", "peer": true, "dependencies": { "deep-extend": "^0.6.0", @@ -15305,44 +12624,51 @@ "rc": "cli.js" } }, + "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, + "license": "ISC", + "peer": 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, + "license": "MIT", "peer": true, "engines": { "node": ">=0.10.0" } }, - "node_modules/read-pkg": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-8.1.0.tgz", - "integrity": "sha512-PORM8AgzXeskHO/WEv312k9U03B8K9JSiWF/8N9sUuFjBa+9SF2u6K7VClzXwDXab51jCd8Nd36CNM+zR97ScQ==", + "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, + "license": "MIT", + "peer": true, "dependencies": { - "@types/normalize-package-data": "^2.4.1", - "normalize-package-data": "^6.0.0", - "parse-json": "^7.0.0", - "type-fest": "^4.2.0" + "find-up-simple": "^1.0.0", + "read-pkg": "^9.0.0", + "type-fest": "^4.6.0" }, "engines": { - "node": ">=16" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/read-pkg-up": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-10.1.0.tgz", - "integrity": "sha512-aNtBq4jR8NawpKJQldrQcSW9y/d+KWH4v24HWkHljOZ7H0av+YTGANBzRh9A5pw7v/bLVsLVPpOhJ7gHNVy8lA==", + "node_modules/read-package-up/node_modules/type-fest": { + "version": "4.41.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.41.0.tgz", + "integrity": "sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==", "dev": true, - "dependencies": { - "find-up": "^6.3.0", - "read-pkg": "^8.1.0", - "type-fest": "^4.2.0" - }, + "license": "(MIT OR CC0-1.0)", + "peer": true, "engines": { "node": ">=16" }, @@ -15350,81 +12676,54 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/read-pkg-up/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==", - "dev": true, - "dependencies": { - "locate-path": "^7.1.0", - "path-exists": "^5.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/read-pkg-up/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==", - "dev": true, - "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/read-pkg-up/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==", + "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, + "license": "MIT", + "peer": true, "dependencies": { - "yocto-queue": "^1.0.0" + "@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": "^12.20.0 || ^14.13.1 || >=16.0.0" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/read-pkg-up/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==", + "node_modules/read-pkg-up": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-11.0.0.tgz", + "integrity": "sha512-LOVbvF1Q0SZdjClSefZ0Nz5z8u+tIE7mV5NibzmE9VYmDe9CaBbAVtz1veOSZbofrdsilxuDAYnFenukZVp8/Q==", + "deprecated": "Renamed to read-package-up", "dev": true, + "license": "MIT", + "peer": true, "dependencies": { - "p-limit": "^4.0.0" + "find-up-simple": "^1.0.0", + "read-pkg": "^9.0.0", + "type-fest": "^4.6.0" }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/read-pkg-up/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": "^12.20.0 || ^14.13.1 || >=16.0.0" - } - }, "node_modules/read-pkg-up/node_modules/type-fest": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.3.1.tgz", - "integrity": "sha512-pphNW/msgOUSkJbH58x8sqpq8uQj6b0ZKGxEsLKMUnGorRcDjrUaLS+39+/ub41JNTwrrMyJcUB8+YZs3mbwqw==", + "version": "4.41.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.41.0.tgz", + "integrity": "sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==", "dev": true, + "license": "(MIT OR CC0-1.0)", + "peer": true, "engines": { "node": ">=16" }, @@ -15432,274 +12731,100 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/read-pkg-up/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": ">=12.20" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/read-pkg/node_modules/json-parse-even-better-errors": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.0.tgz", - "integrity": "sha512-iZbGHafX/59r39gPwVPRBGw0QQKnA7tte5pSMrhWOW7swGsVvVTjmfyAV9pNqk8YGT7tRCdxRu8uzcgZwoDooA==", - "dev": true, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/read-pkg/node_modules/lines-and-columns": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-2.0.3.tgz", - "integrity": "sha512-cNOjgCnLB+FnvWWtyRTzmB3POJ+cXxTA81LoW7u8JdmhfXzriropYwpjShnz1QLLWsQwY7nIxoDmcPTwphDK9w==", - "dev": true, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - } - }, - "node_modules/read-pkg/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==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/read-pkg/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, - "dependencies": { - "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": "^16.14.0 || >=18.0.0" - } - }, "node_modules/read-pkg/node_modules/parse-json": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-7.0.0.tgz", - "integrity": "sha512-kP+TQYAzAiVnzOlWOe0diD6L35s9bJh0SCn95PIbZFKrOYuIRQsQkeWEYxzVDuHTt9V9YqvYCJ2Qo4z9wdfZPw==", + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-8.3.0.tgz", + "integrity": "sha512-ybiGyvspI+fAoRQbIPRddCcSTV9/LsJbf0e/S85VLowVGzRmokfneg2kwVW/KU5rOXrPSbF1qAKPMgNTqqROQQ==", "dev": true, + "license": "MIT", + "peer": true, "dependencies": { - "@babel/code-frame": "^7.21.4", - "error-ex": "^1.3.2", - "json-parse-even-better-errors": "^3.0.0", - "lines-and-columns": "^2.0.3", - "type-fest": "^3.8.0" + "@babel/code-frame": "^7.26.2", + "index-to-position": "^1.1.0", + "type-fest": "^4.39.1" }, "engines": { - "node": ">=16" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/read-pkg/node_modules/parse-json/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/read-pkg/node_modules/type-fest": { + "version": "4.41.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.41.0.tgz", + "integrity": "sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==", "dev": true, + "license": "(MIT OR CC0-1.0)", + "peer": true, "engines": { - "node": ">=14.16" + "node": ">=16" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/read-pkg/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==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/read-pkg/node_modules/type-fest": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.3.1.tgz", - "integrity": "sha512-pphNW/msgOUSkJbH58x8sqpq8uQj6b0ZKGxEsLKMUnGorRcDjrUaLS+39+/ub41JNTwrrMyJcUB8+YZs3mbwqw==", + "node_modules/read-pkg/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, + "license": "MIT", + "peer": true, "engines": { - "node": ">=16" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/read-pkg/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, - "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==", - "dev": true, - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, "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": { - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8.10.0" - } - }, - "node_modules/rechoir": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.7.1.tgz", - "integrity": "sha512-/njmZ8s1wVeR6pjTZ+0nCnv8SpZNRMT2D1RLOJQESlYFDBvwpTA4KWJpZ+sBJ4+vhjILRcK7JIFdGCdxEAAitg==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz", + "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==", "dev": true, - "dependencies": { - "resolve": "^1.9.0" - }, + "license": "MIT", "engines": { - "node": ">= 0.10" - } - }, - "node_modules/redent": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", - "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", - "dev": true, - "dependencies": { - "indent-string": "^4.0.0", - "strip-indent": "^3.0.0" + "node": ">= 14.18.0" }, - "engines": { - "node": ">=8" - } - }, - "node_modules/redeyed": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/redeyed/-/redeyed-2.1.1.tgz", - "integrity": "sha512-FNpGGo1DycYAdnrKFxCMmKYgo/mILAqtRYbkdQD8Ep/Hk2PQ5+aEAEx+IU713RTDmuBaH0c8P5ZozurNu5ObRQ==", - "dev": true, - "peer": true, - "dependencies": { - "esprima": "~4.0.0" + "funding": { + "type": "individual", + "url": "https://paulmillr.com/funding/" } }, - "node_modules/regenerate": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", - "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", - "dev": true - }, - "node_modules/regenerate-unicode-properties": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz", - "integrity": "sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==", + "node_modules/reflect-metadata": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.2.2.tgz", + "integrity": "sha512-urBwgfrvVP/eAyXx4hluJivBKzuEbSQs9rKWCrCkbSxNv8mxPcUZKeuoF3Uy4mJl3Lwprp6yy5/39VWigZ4K6Q==", "dev": true, - "dependencies": { - "regenerate": "^1.4.2" - }, - "engines": { - "node": ">=4" - } + "license": "Apache-2.0" }, - "node_modules/regenerator-runtime": { - "version": "0.13.11", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", - "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==", - "dev": true - }, - "node_modules/regenerator-transform": { - "version": "0.15.1", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.1.tgz", - "integrity": "sha512-knzmNAcuyxV+gQCufkYcvOqX/qIIfHLv0u5x79kRxuGojfYVky1f15TzZEu2Avte8QGepvUNTnLskf8E6X6Vyg==", + "node_modules/regexp-match-indices": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regexp-match-indices/-/regexp-match-indices-1.0.2.tgz", + "integrity": "sha512-DwZuAkt8NF5mKwGGER1EGh2PRqyvhRhhLviH+R8y8dIuaQROlUfXjt4s9ZTXstIsSkptf06BSvwcEmmfheJJWQ==", "dev": true, + "license": "Apache-2.0", "dependencies": { - "@babel/runtime": "^7.8.4" + "regexp-tree": "^0.1.11" } }, - "node_modules/regexp.prototype.flags": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.3.tgz", - "integrity": "sha512-vqlC04+RQoFalODCbCumG2xIOvapzVMHwsyIGM/SIE8fRhFFsXeH8/QQ+s0T0kDAhKc4k30s73/0ydkHQz6HlQ==", + "node_modules/regexp-tree": { + "version": "0.1.27", + "resolved": "https://registry.npmjs.org/regexp-tree/-/regexp-tree-0.1.27.tgz", + "integrity": "sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA==", "dev": true, "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-errors": "^1.3.0", - "set-function-name": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/regexpp": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", - "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - } - }, - "node_modules/regexpu-core": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz", - "integrity": "sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==", - "dev": true, - "dependencies": { - "@babel/regjsgen": "^0.8.0", - "regenerate": "^1.4.2", - "regenerate-unicode-properties": "^10.1.0", - "regjsparser": "^0.9.1", - "unicode-match-property-ecmascript": "^2.0.0", - "unicode-match-property-value-ecmascript": "^2.1.0" - }, - "engines": { - "node": ">=4" + "bin": { + "regexp-tree": "bin/regexp-tree" } }, "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==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-5.1.0.tgz", + "integrity": "sha512-GdekYuwLXLxMuFTwAPg5UKGLW/UXzQrZvH/Zj791BQif5T05T0RsaLfHc9q3ZOKi7n+BoprPD9mJ0O0k4xzUlw==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "@pnpm/npm-conf": "^2.1.0" @@ -15708,32 +12833,12 @@ "node": ">=14" } }, - "node_modules/regjsparser": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", - "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", - "dev": true, - "dependencies": { - "jsesc": "~0.5.0" - }, - "bin": { - "regjsparser": "bin/parser" - } - }, - "node_modules/regjsparser/node_modules/jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", - "dev": true, - "bin": { - "jsesc": "bin/jsesc" - } - }, "node_modules/release-zalgo": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/release-zalgo/-/release-zalgo-1.0.0.tgz", "integrity": "sha512-gUAyHVHPPC5wdqX/LG4LWtRYtgjxyX78oanFNTMMyFEfOqdC54s3eE82imuWKbOeqYht2CrNf64Qb8vgmmtZGA==", "dev": true, + "license": "ISC", "dependencies": { "es6-error": "^4.0.1" }, @@ -15746,6 +12851,7 @@ "resolved": "https://registry.npmjs.org/remark-gfm/-/remark-gfm-1.0.0.tgz", "integrity": "sha512-KfexHJCiqvrdBZVbQ6RopMZGwaXz6wFJEfByIuEwGf0arvITHjiKKZ1dpXujjH9KZdm1//XJQwgfnJ3lmXaDPA==", "dev": true, + "license": "MIT", "dependencies": { "mdast-util-gfm": "^0.1.0", "micromark-extension-gfm": "^0.3.0" @@ -15760,6 +12866,7 @@ "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-9.0.0.tgz", "integrity": "sha512-geKatMwSzEXKHuzBNU1z676sGcDcFoChMK38TgdHJNAYfFtsfHDQG7MoJAjs6sgYMqyLduCYWDIWZIxiPeafEw==", "dev": true, + "license": "MIT", "dependencies": { "mdast-util-from-markdown": "^0.8.0" }, @@ -15773,6 +12880,7 @@ "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-9.0.1.tgz", "integrity": "sha512-mWmNg3ZtESvZS8fv5PTvaPckdL4iNlCHTt8/e/8oN08nArHRHjNZMKzA/YW3+p7/lYqIw4nx1XsjCBo/AxNChg==", "dev": true, + "license": "MIT", "dependencies": { "mdast-util-to-markdown": "^0.6.0" }, @@ -15785,13 +12893,15 @@ "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==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/repeat-string": { "version": "1.6.1", "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10" } @@ -15801,6 +12911,7 @@ "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -15810,6 +12921,8 @@ "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==", "dev": true, + "license": "MIT", + "peer": true, "engines": { "node": ">=0.10.0" } @@ -15818,90 +12931,36 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/resolve": { - "version": "1.22.8", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", - "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "version": "1.22.11", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.11.tgz", + "integrity": "sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==", "dev": true, "license": "MIT", "dependencies": { - "is-core-module": "^2.13.0", + "is-core-module": "^2.16.1", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, "bin": { "resolve": "bin/resolve" }, + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "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/resolve-cwd/node_modules/resolve-from": { + "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_modules/resolve-dir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz", - "integrity": "sha512-R7uiTjECzvOsWSfdM0QKFNBVFcK27aHOUwdvK53BcW8zqnGdYp0Fbj82cy54+2A4P2tFM22J5kRfe1R+lM/1yg==", - "dev": true, - "dependencies": { - "expand-tilde": "^2.0.0", - "global-modules": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "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/resolve-global": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/resolve-global/-/resolve-global-1.0.0.tgz", - "integrity": "sha512-zFa12V4OLtT5XUX/Q4VLvTfBf+Ok0SPc1FNGM/z9ctUdiU618qwKpWnd0CHs3+RqROfyEg/DhuHbMWYqcgljEw==", - "dev": true, - "dependencies": { - "global-dirs": "^0.1.1" - }, - "engines": { - "node": ">=8" - } - }, - "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, - "dependencies": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" - }, + "license": "MIT", "engines": { "node": ">=8" } @@ -15911,82 +12970,85 @@ "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", "dev": true, + "license": "MIT", "engines": { "node": ">= 4" } }, "node_modules/reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz", + "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==", "dev": true, + "license": "MIT", "engines": { "iojs": ">=1.0.0", "node": ">=0.10.0" } }, "node_modules/rewire": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/rewire/-/rewire-6.0.0.tgz", - "integrity": "sha512-7sZdz5dptqBCapJYocw9EcppLU62KMEqDLIILJnNET2iqzXHaQfaVP5SOJ06XvjX+dNIDJbzjw0ZWzrgDhtjYg==", - "dev": true, - "dependencies": { - "eslint": "^7.32.0" - } - }, - "node_modules/rewire/node_modules/@babel/code-frame": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", - "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/rewire/-/rewire-9.0.1.tgz", + "integrity": "sha512-dnbLeTwHpXvWJjswC6CshXUUnnpE5AVhlayVRvDJhJx5ejbO4nbj1IXqN2urErgB7TpHUAMpf6iPDhQIxeSQOQ==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/highlight": "^7.10.4" + "eslint": "^9.30", + "pirates": "^4.0.7" } }, "node_modules/rewire/node_modules/@eslint/eslintrc": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz", - "integrity": "sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==", + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.3.tgz", + "integrity": "sha512-Kr+LPIUVKz2qkx1HAMH8q1q6azbqBAsXJUxBl/ODDuVPX45Z9DfwB8tPjTi6nNZ8BuM3nbJxC5zCAg5elnBUTQ==", "dev": true, + "license": "MIT", "dependencies": { "ajv": "^6.12.4", - "debug": "^4.1.1", - "espree": "^7.3.0", - "globals": "^13.9.0", - "ignore": "^4.0.6", + "debug": "^4.3.2", + "espree": "^10.0.1", + "globals": "^14.0.0", + "ignore": "^5.2.0", "import-fresh": "^3.2.1", - "js-yaml": "^3.13.1", - "minimatch": "^3.0.4", + "js-yaml": "^4.1.1", + "minimatch": "^3.1.2", "strip-json-comments": "^3.1.1" }, "engines": { - "node": "^10.12.0 || >=12.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "node_modules/rewire/node_modules/@humanwhocodes/config-array": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.5.0.tgz", - "integrity": "sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==", + "node_modules/rewire/node_modules/@eslint/js": { + "version": "9.39.1", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.39.1.tgz", + "integrity": "sha512-S26Stp4zCy88tH94QbBv3XCuzRQiZ9yXofEILmglYTh/Ug/a9/umqvgFtYBAo3Lp0nsI/5/qH1CCrbdK3AP1Tw==", "dev": true, - "dependencies": { - "@humanwhocodes/object-schema": "^1.2.0", - "debug": "^4.1.1", - "minimatch": "^3.0.4" - }, + "license": "MIT", "engines": { - "node": ">=10.10.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://eslint.org/donate" } }, - "node_modules/rewire/node_modules/acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "node_modules/rewire/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, - "bin": { - "acorn": "bin/acorn" + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" }, - "engines": { - "node": ">=0.4.0" + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, "node_modules/rewire/node_modules/ansi-styles": { @@ -15994,6 +13056,7 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, + "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -16009,6 +13072,7 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, + "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -16025,6 +13089,7 @@ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -16036,13 +13101,15 @@ "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 + "dev": true, + "license": "MIT" }, "node_modules/rewire/node_modules/escape-string-regexp": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" }, @@ -16051,116 +13118,148 @@ } }, "node_modules/rewire/node_modules/eslint": { - "version": "7.32.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.32.0.tgz", - "integrity": "sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==", + "version": "9.39.1", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.39.1.tgz", + "integrity": "sha512-BhHmn2yNOFA9H9JmmIVKJmd288g9hrVRDkdoIgRCRuSySRUHH7r/DI6aAXW9T1WwUuY3DFgrcaqB+deURBLR5g==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/code-frame": "7.12.11", - "@eslint/eslintrc": "^0.4.3", - "@humanwhocodes/config-array": "^0.5.0", - "ajv": "^6.10.0", + "@eslint-community/eslint-utils": "^4.8.0", + "@eslint-community/regexpp": "^4.12.1", + "@eslint/config-array": "^0.21.1", + "@eslint/config-helpers": "^0.4.2", + "@eslint/core": "^0.17.0", + "@eslint/eslintrc": "^3.3.1", + "@eslint/js": "9.39.1", + "@eslint/plugin-kit": "^0.4.1", + "@humanfs/node": "^0.16.6", + "@humanwhocodes/module-importer": "^1.0.1", + "@humanwhocodes/retry": "^0.4.2", + "@types/estree": "^1.0.6", + "ajv": "^6.12.4", "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.0.1", - "doctrine": "^3.0.0", - "enquirer": "^2.3.5", + "cross-spawn": "^7.0.6", + "debug": "^4.3.2", "escape-string-regexp": "^4.0.0", - "eslint-scope": "^5.1.1", - "eslint-utils": "^2.1.0", - "eslint-visitor-keys": "^2.0.0", - "espree": "^7.3.1", - "esquery": "^1.4.0", + "eslint-scope": "^8.4.0", + "eslint-visitor-keys": "^4.2.1", + "espree": "^10.4.0", + "esquery": "^1.5.0", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "functional-red-black-tree": "^1.0.1", - "glob-parent": "^5.1.2", - "globals": "^13.6.0", - "ignore": "^4.0.6", - "import-fresh": "^3.0.0", + "file-entry-cache": "^8.0.0", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "ignore": "^5.2.0", "imurmurhash": "^0.1.4", "is-glob": "^4.0.0", - "js-yaml": "^3.13.1", "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", "lodash.merge": "^4.6.2", - "minimatch": "^3.0.4", + "minimatch": "^3.1.2", "natural-compare": "^1.4.0", - "optionator": "^0.9.1", - "progress": "^2.0.0", - "regexpp": "^3.1.0", - "semver": "^7.2.1", - "strip-ansi": "^6.0.0", - "strip-json-comments": "^3.1.0", - "table": "^6.0.9", - "text-table": "^0.2.0", - "v8-compile-cache": "^2.0.3" + "optionator": "^0.9.3" }, "bin": { "eslint": "bin/eslint.js" }, "engines": { - "node": "^10.12.0 || >=12.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://eslint.org/donate" + }, + "peerDependencies": { + "jiti": "*" + }, + "peerDependenciesMeta": { + "jiti": { + "optional": true + } + } + }, + "node_modules/rewire/node_modules/eslint-scope": { + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.4.0.tgz", + "integrity": "sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "url": "https://opencollective.com/eslint" } }, "node_modules/rewire/node_modules/eslint-visitor-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", - "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz", + "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==", "dev": true, + "license": "Apache-2.0", "engines": { - "node": ">=10" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, "node_modules/rewire/node_modules/espree": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz", - "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==", + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-10.4.0.tgz", + "integrity": "sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { - "acorn": "^7.4.0", - "acorn-jsx": "^5.3.1", - "eslint-visitor-keys": "^1.3.0" + "acorn": "^8.15.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^4.2.1" }, "engines": { - "node": "^10.12.0 || >=12.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "node_modules/rewire/node_modules/espree/node_modules/eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "node_modules/rewire/node_modules/file-entry-cache": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", + "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", "dev": true, + "license": "MIT", + "dependencies": { + "flat-cache": "^4.0.0" + }, "engines": { - "node": ">=4" + "node": ">=16.0.0" } }, - "node_modules/rewire/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==", + "node_modules/rewire/node_modules/flat-cache": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", + "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", "dev": true, + "license": "MIT", "dependencies": { - "is-glob": "^4.0.1" + "flatted": "^3.2.9", + "keyv": "^4.5.4" }, "engines": { - "node": ">= 6" + "node": ">=16" } }, "node_modules/rewire/node_modules/globals": { - "version": "13.20.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", - "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", + "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", "dev": true, - "dependencies": { - "type-fest": "^0.20.2" - }, + "license": "MIT", "engines": { - "node": ">=8" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -16171,51 +13270,24 @@ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, - "node_modules/rewire/node_modules/ignore": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", - "dev": true, - "engines": { - "node": ">= 4" - } - }, - "node_modules/rewire/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==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/rewire/node_modules/semver": { - "version": "7.4.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.4.0.tgz", - "integrity": "sha512-RgOxM8Mw+7Zus0+zcLEUn8+JfoLpj/huFTItQy2hsM4khuC1HYRDp0cU482Ewn/Fcy6bCjufD8vAj7voC66KQw==", + "node_modules/rewire/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, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } + "license": "MIT" }, "node_modules/rewire/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, + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -16223,29 +13295,13 @@ "node": ">=8" } }, - "node_modules/rewire/node_modules/type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/rewire/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "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==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", "dev": true, + "license": "ISC", "dependencies": { "glob": "^7.1.3" }, @@ -16256,13 +13312,46 @@ "url": "https://github.com/sponsors/isaacs" } }, - "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/rollup": { + "version": "4.53.3", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.53.3.tgz", + "integrity": "sha512-w8GmOxZfBmKknvdXU1sdM9NHcoQejwF/4mNgj2JuEEdRaHwwF12K7e9eXn1nLZ07ad+du76mkVsyeb2rKGllsA==", "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "1.0.8" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, "engines": { - "node": ">=0.12.0" + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.53.3", + "@rollup/rollup-android-arm64": "4.53.3", + "@rollup/rollup-darwin-arm64": "4.53.3", + "@rollup/rollup-darwin-x64": "4.53.3", + "@rollup/rollup-freebsd-arm64": "4.53.3", + "@rollup/rollup-freebsd-x64": "4.53.3", + "@rollup/rollup-linux-arm-gnueabihf": "4.53.3", + "@rollup/rollup-linux-arm-musleabihf": "4.53.3", + "@rollup/rollup-linux-arm64-gnu": "4.53.3", + "@rollup/rollup-linux-arm64-musl": "4.53.3", + "@rollup/rollup-linux-loong64-gnu": "4.53.3", + "@rollup/rollup-linux-ppc64-gnu": "4.53.3", + "@rollup/rollup-linux-riscv64-gnu": "4.53.3", + "@rollup/rollup-linux-riscv64-musl": "4.53.3", + "@rollup/rollup-linux-s390x-gnu": "4.53.3", + "@rollup/rollup-linux-x64-gnu": "4.53.3", + "@rollup/rollup-linux-x64-musl": "4.53.3", + "@rollup/rollup-openharmony-arm64": "4.53.3", + "@rollup/rollup-win32-arm64-msvc": "4.53.3", + "@rollup/rollup-win32-ia32-msvc": "4.53.3", + "@rollup/rollup-win32-x64-gnu": "4.53.3", + "@rollup/rollup-win32-x64-msvc": "4.53.3", + "fsevents": "~2.3.2" } }, "node_modules/run-parallel": { @@ -16284,51 +13373,11 @@ "url": "https://feross.org/support" } ], - "dependencies": { - "queue-microtask": "^1.2.2" - } - }, - "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, - "dependencies": { - "tslib": "^2.1.0" - } - }, - "node_modules/rxjs/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/safe-array-concat": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.2.tgz", - "integrity": "sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==", - "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.7", - "get-intrinsic": "^1.2.4", - "has-symbols": "^1.0.3", - "isarray": "^2.0.5" - }, - "engines": { - "node": ">=0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "queue-microtask": "^1.2.2" } }, - "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, - "license": "MIT" - }, "node_modules/safe-buffer": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", @@ -16347,44 +13396,24 @@ "type": "consulting", "url": "https://feross.org/support" } - ] - }, - "node_modules/safe-regex-test": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.3.tgz", - "integrity": "sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.6", - "es-errors": "^1.3.0", - "is-regex": "^1.1.4" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "dev": true + ], + "license": "MIT" }, "node_modules/schema-utils": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", - "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.3.3.tgz", + "integrity": "sha512-eflK8wEtyOE6+hsaRVPxvUKYCpRgzLqDTb8krvAsRIwOGlHoSgYLgBXoubGgLd2fT41/OUYdb48v4k4WWHQurA==", "dev": true, + "license": "MIT", + "peer": true, "dependencies": { - "@types/json-schema": "^7.0.5", - "ajv": "^6.12.4", - "ajv-keywords": "^3.5.2" + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" }, "engines": { - "node": ">= 8.9.0" + "node": ">= 10.13.0" }, "funding": { "type": "opencollective", @@ -16395,38 +13424,41 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/seed-random/-/seed-random-2.2.0.tgz", "integrity": "sha512-34EQV6AAHQGhoc0tn/96a9Fsi6v2xdqe/dMUwljGRaFOzR3EgRmECvD0O8vi8X+/uQ50LGHfkNu/Eue5TPKZkQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/semantic-release": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/semantic-release/-/semantic-release-21.1.1.tgz", - "integrity": "sha512-OCIazQnaCHdq1F6zfmKS0P7jZakYq0weiqW2mxUWo4H2CDnxelUoa/0Bs/dQatoHc6JFh6lG2HWpusdl93bFcw==", + "version": "23.1.1", + "resolved": "https://registry.npmjs.org/semantic-release/-/semantic-release-23.1.1.tgz", + "integrity": "sha512-qqJDBhbtHsjUEMsojWKGuL5lQFCJuPtiXKEIlFKyTzDDGTAE/oyvznaP8GeOr5PvcqBJ6LQz4JCENWPLeehSpA==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { - "@semantic-release/commit-analyzer": "^10.0.0", + "@semantic-release/commit-analyzer": "^12.0.0", "@semantic-release/error": "^4.0.0", - "@semantic-release/github": "^9.0.0", - "@semantic-release/npm": "^10.0.2", - "@semantic-release/release-notes-generator": "^11.0.0", - "aggregate-error": "^4.0.1", - "cosmiconfig": "^8.0.0", + "@semantic-release/github": "^10.0.0", + "@semantic-release/npm": "^12.0.0", + "@semantic-release/release-notes-generator": "^13.0.0", + "aggregate-error": "^5.0.0", + "cosmiconfig": "^9.0.0", "debug": "^4.0.0", - "env-ci": "^9.0.0", - "execa": "^8.0.0", - "figures": "^5.0.0", - "find-versions": "^5.1.0", + "env-ci": "^11.0.0", + "execa": "^9.0.0", + "figures": "^6.0.0", + "find-versions": "^6.0.0", "get-stream": "^6.0.0", "git-log-parser": "^1.2.0", "hook-std": "^3.0.0", "hosted-git-info": "^7.0.0", + "import-from-esm": "^1.3.1", "lodash-es": "^4.17.21", - "marked": "^5.0.0", - "marked-terminal": "^5.1.1", + "marked": "^12.0.0", + "marked-terminal": "^7.0.0", "micromatch": "^4.0.2", "p-each-series": "^3.0.0", "p-reduce": "^3.0.0", - "read-pkg-up": "^10.0.0", + "read-package-up": "^11.0.0", "resolve-from": "^5.0.0", "semver": "^7.3.2", "semver-diff": "^4.0.0", @@ -16437,20 +13469,31 @@ "semantic-release": "bin/semantic-release.js" }, "engines": { - "node": ">=18" + "node": ">=20.8.1" } }, "node_modules/semantic-release-config-kuzzle": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/semantic-release-config-kuzzle/-/semantic-release-config-kuzzle-1.0.0.tgz", - "integrity": "sha512-/Hnai4G0ax4rJP7YuJ3+X48HUNLo0v3wDK1pcTFiYMA+8sa+wU9w5lVWWQStykufndB6XLnyd8rden79jAaTww==", - "dev": true + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/semantic-release-config-kuzzle/-/semantic-release-config-kuzzle-1.1.2.tgz", + "integrity": "sha512-lX672E6448wWWkpvlItp7jZcOEwla79k/COcLKMDS1eI7vbOkz/dEYmTgFvVBs8hjfPaSyZLr01Z1XKn4KhqUg==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@semantic-release/changelog": "^6.0.3", + "@semantic-release/git": "^10.0.1", + "conventional-changelog-conventionalcommits": "^7.0.2", + "semantic-release-slack-bot": "^4.0.2" + }, + "peerDependencies": { + "semantic-release": "^23.1.1" + } }, "node_modules/semantic-release-slack-bot": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/semantic-release-slack-bot/-/semantic-release-slack-bot-4.0.2.tgz", "integrity": "sha512-EgpUGmxDq5l9qSfAJNkGMOjxi6p5a7lAMnV5sNG53QxpIOsgMUF9X3J+NeaFWXsGyRP5CEkVtDdDkfvvNNo2ag==", "dev": true, + "license": "MIT", "dependencies": { "@semantic-release/error": "^2.2.0", "micromatch": "4.0.2", @@ -16468,13 +13511,15 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/@semantic-release/error/-/error-2.2.0.tgz", "integrity": "sha512-9Tj/qn+y2j+sjCI3Jd+qseGtHjOAeg7dU2/lVcqIQ9TV3QDaDXDYXcoOHU+7o2Hwh8L8ymL4gfuO7KxDs3q2zg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/semantic-release-slack-bot/node_modules/micromatch": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", "dev": true, + "license": "MIT", "dependencies": { "braces": "^3.0.1", "picomatch": "^2.0.5" @@ -16484,58 +13529,46 @@ } }, "node_modules/semantic-release/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==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-5.0.0.tgz", + "integrity": "sha512-gOsf2YwSlleG6IjRYG2A7k0HmBMEo6qVNk9Bp/EaLgAJT5ngH6PXbqa4ItvnEwCm/velL5jAnQgsHsWnjhGmvw==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { - "clean-stack": "^4.0.0", + "clean-stack": "^5.2.0", "indent-string": "^5.0.0" }, "engines": { - "node": ">=12" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/semantic-release/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==", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-5.3.0.tgz", + "integrity": "sha512-9ngPTOhYGQqNVSfeJkYXHmF7AGWp4/nN5D/QqNQs3Dvxd1Kk/WpjHfNujKHYUQ/5CoGyOyFNoWSPk5afzP0QVg==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "escape-string-regexp": "5.0.0" }, "engines": { - "node": ">=12" + "node": ">=14.16" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/semantic-release/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, - "peer": true, - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" - }, - "engines": { - "node": ">=12" - } - }, "node_modules/semantic-release/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, + "license": "MIT", "peer": true, "engines": { "node": ">=12" @@ -16545,37 +13578,28 @@ } }, "node_modules/semantic-release/node_modules/figures": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-5.0.0.tgz", - "integrity": "sha512-ej8ksPF4x6e5wvK9yevct0UCXh8TTFlWGVLlgjZuoBH1HwjIfKE/IdL5mq89sFA7zELi1VhKpmtDnrs7zWyeyg==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-6.1.0.tgz", + "integrity": "sha512-d+l3qxjSesT4V7v2fh+QnmFnUWv9lSpjarhShNTgBOfA0ttejbQUAlHLitbjkoRiDulW0OPoQPYIGhIC8ohejg==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { - "escape-string-regexp": "^5.0.0", - "is-unicode-supported": "^1.2.0" + "is-unicode-supported": "^2.0.0" }, "engines": { - "node": ">=14" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/semantic-release/node_modules/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, - "peer": true, - "engines": { - "node": "6.* || 8.* || >= 10.*" - } - }, "node_modules/semantic-release/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, + "license": "MIT", "peer": true, "engines": { "node": ">=12" @@ -16584,61 +13608,27 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/semantic-release/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, - "peer": true, - "engines": { - "node": ">=8" - } - }, "node_modules/semantic-release/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==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-2.1.0.tgz", + "integrity": "sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ==", "dev": true, + "license": "MIT", "peer": true, "engines": { - "node": ">=12" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/semantic-release/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==", - "dev": true, - "peer": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/semantic-release/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, - "peer": true, - "engines": { - "node": ">=8" - } - }, "node_modules/semantic-release/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==", + "version": "7.7.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", + "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", "dev": true, + "license": "ISC", "peer": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, "bin": { "semver": "bin/semver.js" }, @@ -16646,57 +13636,6 @@ "node": ">=10" } }, - "node_modules/semantic-release/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, - "peer": true, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/semantic-release/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true, - "peer": true - }, - "node_modules/semantic-release/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, - "peer": 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/semantic-release/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, - "peer": true, - "engines": { - "node": ">=12" - } - }, "node_modules/semver": { "version": "6.3.1", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", @@ -16712,6 +13651,7 @@ "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-4.0.0.tgz", "integrity": "sha512-0Ju4+6A8iOnpL/Thra7dZsSlOHYAHIeMxfhWQRI1/VLcT3WDBZKKtQt/QkBOsiIN9ZpuvHE6cGZ0x4glCMmfiA==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "semver": "^7.3.5" @@ -16723,28 +13663,13 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/semver-diff/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==", - "dev": true, - "peer": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/semver-diff/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==", + "version": "7.7.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", + "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", "dev": true, + "license": "ISC", "peer": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, "bin": { "semver": "bin/semver.js" }, @@ -16752,18 +13677,12 @@ "node": ">=10" } }, - "node_modules/semver-diff/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true, - "peer": true - }, "node_modules/semver-regex": { "version": "4.0.5", "resolved": "https://registry.npmjs.org/semver-regex/-/semver-regex-4.0.5.tgz", "integrity": "sha512-hunMQrEy1T6Jr2uEVjrAIqjwWcQTgOAcIM52C8MY1EZSD3DDNft04XzvYKPqjED65bNVVko0YI38nYeEHCX3yw==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": ">=12" @@ -16772,32 +13691,12 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/serialize-error": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-4.1.0.tgz", - "integrity": "sha512-5j9GgyGsP9vV9Uj1S0lDCvlsd+gc2LEPVK7HHHte7IyPwOD4lVQFeaX143gx3U5AnoCi+wbcb3mvaxVysjpxEw==", - "dev": true, - "dependencies": { - "type-fest": "^0.3.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/serialize-error/node_modules/type-fest": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.3.1.tgz", - "integrity": "sha512-cUGJnCdr4STbePCgqNFbpVNCepa+kAVohJs1sLhxzdH+gnEoOd8VhbYa7pD3zZYGiURWM2xzEII3fQcRizDkYQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, "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==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", + "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "randombytes": "^2.1.0" } @@ -16806,59 +13705,15 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", - "dev": true - }, - "node_modules/set-function-length": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", - "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", - "dev": true, - "license": "MIT", - "dependencies": { - "define-data-property": "^1.1.4", - "es-errors": "^1.3.0", - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.4", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/set-function-name": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz", - "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "define-data-property": "^1.1.4", - "es-errors": "^1.3.0", - "functions-have-names": "^1.2.3", - "has-property-descriptors": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/shallow-clone": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", - "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", "dev": true, - "dependencies": { - "kind-of": "^6.0.2" - }, - "engines": { - "node": ">=8" - } + "license": "ISC" }, "node_modules/shebang-command": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", "dev": true, + "license": "MIT", "dependencies": { "shebang-regex": "^3.0.0" }, @@ -16871,6 +13726,7 @@ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } @@ -16880,6 +13736,7 @@ "resolved": "https://registry.npmjs.org/should/-/should-13.2.3.tgz", "integrity": "sha512-ggLesLtu2xp+ZxI+ysJTmNjh2U0TsC+rQ/pfED9bUZZ4DKefP27D+7YJVVTvKsmjLpIi9jAa7itwDGkDDmt1GQ==", "dev": true, + "license": "MIT", "dependencies": { "should-equal": "^2.0.0", "should-format": "^3.0.3", @@ -16893,6 +13750,7 @@ "resolved": "https://registry.npmjs.org/should-equal/-/should-equal-2.0.0.tgz", "integrity": "sha512-ZP36TMrK9euEuWQYBig9W55WPC7uo37qzAEmbjHz4gfyuXrEUgF8cUvQVO+w+d3OMfPvSRQJ22lSm8MQJ43LTA==", "dev": true, + "license": "MIT", "dependencies": { "should-type": "^1.4.0" } @@ -16902,6 +13760,7 @@ "resolved": "https://registry.npmjs.org/should-format/-/should-format-3.0.3.tgz", "integrity": "sha512-hZ58adtulAk0gKtua7QxevgUaXTTXxIi8t41L3zo9AHvjXO1/7sdLECuHeIN2SRtYXpNkmhoUP2pdeWgricQ+Q==", "dev": true, + "license": "MIT", "dependencies": { "should-type": "^1.3.0", "should-type-adaptors": "^1.0.1" @@ -16912,6 +13771,7 @@ "resolved": "https://registry.npmjs.org/should-sinon/-/should-sinon-0.0.6.tgz", "integrity": "sha512-ScBOH5uW5QVFaONmUnIXANSR6z5B8IKzEmBP3HE5sPOCDuZ88oTMdUdnKoCVQdLcCIrRrhRLPS5YT+7H40a04g==", "dev": true, + "license": "MIT", "peerDependencies": { "should": ">= 8.x" } @@ -16920,13 +13780,15 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/should-type/-/should-type-1.4.0.tgz", "integrity": "sha512-MdAsTu3n25yDbIe1NeN69G4n6mUnJGtSJHygX3+oN0ZbO3DTiATnf7XnYJdGT42JCXurTb1JI0qOBR65shvhPQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/should-type-adaptors": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/should-type-adaptors/-/should-type-adaptors-1.1.0.tgz", "integrity": "sha512-JA4hdoLnN+kebEp2Vs8eBe9g7uy0zbRo+RMcU0EsNy+R+k049Ki+N5tT5Jagst2g7EAja+euFuoXFCa8vIklfA==", "dev": true, + "license": "MIT", "dependencies": { "should-type": "^1.3.0", "should-util": "^1.0.0" @@ -16936,38 +13798,22 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/should-util/-/should-util-1.0.1.tgz", "integrity": "sha512-oXF8tfxx5cDk8r2kYqlkUJzZpDBqVY/II2WhvU0n9Y3XYvAYRmeaf1PvvIvTgPnv4KJ+ES5M0PyDq5Jp+Ygy2g==", - "dev": true - }, - "node_modules/side-channel": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", - "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.4", - "object-inspect": "^1.13.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } + "license": "MIT" }, "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 + "dev": true, + "license": "ISC" }, "node_modules/signale": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/signale/-/signale-1.4.0.tgz", "integrity": "sha512-iuh+gPf28RkltuJC7W5MRi6XAjTDCAPC/prJUpQoG4vIP3MJZ+GTydVnodXA7pwvTKb2cA0m9OFZW/cdWy/I/w==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "chalk": "^2.3.2", @@ -16975,7 +13821,18 @@ "pkg-conf": "^2.1.0" }, "engines": { - "node": ">=6" + "node": ">=6" + } + }, + "node_modules/signale/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, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.8.0" } }, "node_modules/signale/node_modules/figures": { @@ -16983,6 +13840,7 @@ "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", "integrity": "sha512-Oa2M9atig69ZkfwiApY8F2Yy+tzMbazyvqv21R0NsSC8floSOC09BbT1ITWAdoMGQvJ/aZnR1KMwdx9tvHnTNA==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "escape-string-regexp": "^1.0.5" @@ -16992,16 +13850,16 @@ } }, "node_modules/sinon": { - "version": "14.0.2", - "resolved": "https://registry.npmjs.org/sinon/-/sinon-14.0.2.tgz", - "integrity": "sha512-PDpV0ZI3ZCS3pEqx0vpNp6kzPhHrLx72wA0G+ZLaaJjLIYeE0n8INlgaohKuGy7hP0as5tbUd23QWu5U233t+w==", + "version": "21.0.0", + "resolved": "https://registry.npmjs.org/sinon/-/sinon-21.0.0.tgz", + "integrity": "sha512-TOgRcwFPbfGtpqvZw+hyqJDvqfapr1qUlOizROIk4bBLjlsjlB00Pg6wMFXNtJRpu+eCZuVOaLatG7M8105kAw==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { - "@sinonjs/commons": "^2.0.0", - "@sinonjs/fake-timers": "^9.1.2", - "@sinonjs/samsam": "^7.0.1", - "diff": "^5.0.0", - "nise": "^5.1.2", + "@sinonjs/commons": "^3.0.1", + "@sinonjs/fake-timers": "^13.0.5", + "@sinonjs/samsam": "^8.0.1", + "diff": "^7.0.0", "supports-color": "^7.2.0" }, "funding": { @@ -17010,19 +13868,21 @@ } }, "node_modules/sinon/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==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz", + "integrity": "sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==", "dev": true, + "license": "BSD-3-Clause", "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==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-7.0.0.tgz", + "integrity": "sha512-PJWHUb1RFevKCwaFA9RlG5tCd+FO5iRh9A8HEtkmBH2Li03iJriB6m6JIN4rGz3K3JLawI7/veA1xzRKP6ISBw==", "dev": true, + "license": "BSD-3-Clause", "engines": { "node": ">=0.3.1" } @@ -17032,6 +13892,7 @@ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } @@ -17041,6 +13902,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -17048,11 +13910,26 @@ "node": ">=8" } }, + "node_modules/skin-tone": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/skin-tone/-/skin-tone-2.0.0.tgz", + "integrity": "sha512-kUMbT1oBJCpgrnKoSr0o6wPtvRWT9W9UKvGLwfJYO2WuahZRHOpEyL1ckyMGgMWh0UdpmaoFqKKD29WTomNEGA==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "unicode-emoji-modifier-base": "^1.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/slackify-markdown": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/slackify-markdown/-/slackify-markdown-4.4.0.tgz", - "integrity": "sha512-a2b0Rh4aPi3PYt23N0vxPn7emkQtShewhLX8uIiXOMlPBAXRki+/9kEXJztZr1Oo9rDb1YxScGuZ0D2ubLPhvQ==", + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/slackify-markdown/-/slackify-markdown-4.5.0.tgz", + "integrity": "sha512-qr/BvNVzC6Gok1agvGP2CRou60+M8eFON/bJERZ64YsvKStHtcG3qK3IL58ZvBSEnWJTYZmrTi2zat+1vJd1yA==", "dev": true, + "license": "MIT", "dependencies": { "mdast-util-to-markdown": "^0.6.2", "remark-gfm": "^1.0.0", @@ -17068,65 +13945,7 @@ "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/slice-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", - "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.0.0", - "astral-regex": "^2.0.0", - "is-fullwidth-code-point": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/slice-ansi?sponsor=1" - } - }, - "node_modules/slice-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, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/slice-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==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/slice-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/slice-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==", - "dev": true, + "license": "MIT", "engines": { "node": ">=8" } @@ -17136,6 +13955,17 @@ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "dev": true, + "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } @@ -17145,6 +13975,7 @@ "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", "dev": true, + "license": "MIT", "dependencies": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" @@ -17155,6 +13986,7 @@ "resolved": "https://registry.npmjs.org/spawn-error-forwarder/-/spawn-error-forwarder-1.0.0.tgz", "integrity": "sha512-gRjMgK5uFjbCvdibeGJuy3I5OYz6VLoVdsOJdA6wV0WlfQVLFueoqMxwwYD9RODdgb6oUIvlRlsyFSiQkMKu0g==", "dev": true, + "license": "MIT", "peer": true }, "node_modules/spawn-wrap": { @@ -17162,6 +13994,7 @@ "resolved": "https://registry.npmjs.org/spawn-wrap/-/spawn-wrap-2.0.0.tgz", "integrity": "sha512-EeajNjfN9zMnULLwhZZQU3GWBoFNkbngTUPfaawT4RkMiviTxcX0qfhVbGey39mfctfDHkWtuecgQ8NJcyQWHg==", "dev": true, + "license": "ISC", "dependencies": { "foreground-child": "^2.0.0", "is-windows": "^1.0.2", @@ -17174,55 +14007,63 @@ "node": ">=8" } }, + "node_modules/spawn-wrap/node_modules/foreground-child": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-2.0.0.tgz", + "integrity": "sha512-dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA==", + "dev": true, + "license": "ISC", + "dependencies": { + "cross-spawn": "^7.0.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=8.0.0" + } + }, "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==", "dev": true, + "license": "Apache-2.0", "dependencies": { "spdx-expression-parse": "^3.0.0", "spdx-license-ids": "^3.0.0" } }, "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==", - "dev": true + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz", + "integrity": "sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==", + "dev": true, + "license": "CC-BY-3.0" }, "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==", "dev": true, + "license": "MIT", "dependencies": { "spdx-exceptions": "^2.1.0", "spdx-license-ids": "^3.0.0" } }, "node_modules/spdx-license-ids": { - "version": "3.0.13", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.13.tgz", - "integrity": "sha512-XkD+zwiqXHikFZm4AX/7JSCXA98U5Db4AFd5XUg/+9UNtnH75+Z9KxtpYiJZx36mUDVOwH83pl7yvCer6ewM3w==", - "dev": true - }, - "node_modules/split": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/split/-/split-1.0.1.tgz", - "integrity": "sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==", + "version": "3.0.22", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.22.tgz", + "integrity": "sha512-4PRT4nh1EImPbt2jASOKHX7PB7I+e4IWNLvkKFDxNhJlfjbYlleYQh285Z/3mPTHSAK/AvdMmw5BNNuYH8ShgQ==", "dev": true, - "dependencies": { - "through": "2" - }, - "engines": { - "node": "*" - } + "license": "CC0-1.0" }, "node_modules/split2": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/split2/-/split2-4.2.0.tgz", "integrity": "sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==", "dev": true, + "license": "ISC", + "peer": true, "engines": { "node": ">= 10.x" } @@ -17231,82 +14072,34 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", - "dev": true - }, - "node_modules/stack-chain": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/stack-chain/-/stack-chain-2.0.0.tgz", - "integrity": "sha512-GGrHXePi305aW7XQweYZZwiRwR7Js3MWoK/EHzzB9ROdc75nCnjSJVi21rdAGxFl+yCx2L2qdfl5y7NO4lTyqg==", - "dev": true - }, - "node_modules/stack-generator": { - "version": "2.0.10", - "resolved": "https://registry.npmjs.org/stack-generator/-/stack-generator-2.0.10.tgz", - "integrity": "sha512-mwnua/hkqM6pF4k8SnmZ2zfETsRUpWXREfA/goT8SLCV4iOFa4bzOX2nDipWAZFPTjLvQB82f5yaodMVhK0yJQ==", "dev": true, - "dependencies": { - "stackframe": "^1.3.4" - } + "license": "BSD-3-Clause" }, "node_modules/stackframe": { "version": "1.3.4", "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.3.4.tgz", "integrity": "sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==", - "dev": true - }, - "node_modules/stacktrace-gps": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/stacktrace-gps/-/stacktrace-gps-3.1.2.tgz", - "integrity": "sha512-GcUgbO4Jsqqg6RxfyTHFiPxdPqF+3LFmQhm7MgCuYQOYuWyqxo5pwRPz5d/u6/WYJdEnWfK4r+jGbyD8TSggXQ==", - "dev": true, - "dependencies": { - "source-map": "0.5.6", - "stackframe": "^1.3.4" - } - }, - "node_modules/stacktrace-gps/node_modules/source-map": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz", - "integrity": "sha512-MjZkVp0NHr5+TPihLcadqnlVoGIoWo4IBHptutGh9wI3ttUYvCG26HkSuDi+K6lsZ25syXJXcctwgyVCt//xqA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/stacktrace-js": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/stacktrace-js/-/stacktrace-js-2.0.2.tgz", - "integrity": "sha512-Je5vBeY4S1r/RnLydLl0TBTi3F2qdfWmYsGvtfZgEI+SCprPppaIhQf5nGcal4gI4cGpCV/duLcAzT1np6sQqg==", "dev": true, - "dependencies": { - "error-stack-parser": "^2.0.6", - "stack-generator": "^2.0.5", - "stacktrace-gps": "^3.0.4" - } + "license": "MIT" }, "node_modules/stream-combiner2": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/stream-combiner2/-/stream-combiner2-1.1.1.tgz", "integrity": "sha512-3PnJbYgS56AeWgtKF5jtJRT6uFJe56Z0Hc5Ngg/6sI6rIt8iiMBTa9cvdyFfpMQjaVHr8dusbNeFGIIonxOvKw==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "duplexer2": "~0.1.0", "readable-stream": "^2.0.2" } }, - "node_modules/stream-combiner2/node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "dev": true, - "peer": true - }, "node_modules/stream-combiner2/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==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "core-util-is": "~1.0.0", @@ -17323,6 +14116,7 @@ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", "dev": true, + "license": "MIT", "peer": true }, "node_modules/stream-combiner2/node_modules/string_decoder": { @@ -17330,135 +14124,81 @@ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "safe-buffer": "~5.1.0" } }, - "node_modules/stream-http": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-3.2.0.tgz", - "integrity": "sha512-Oq1bLqisTyK3TSCXpPbT4sdeYNdmyZJv1LxpEm2vu1ZhK89kSE5YXwZc3cWk0MagGaKriBh9mCFbVGtO+vY29A==", - "dev": true, - "dependencies": { - "builtin-status-codes": "^3.0.0", - "inherits": "^2.0.4", - "readable-stream": "^3.6.0", - "xtend": "^4.0.2" - } - }, - "node_modules/string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.2.0" - } - }, - "node_modules/string-argv": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.3.1.tgz", - "integrity": "sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg==", - "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==", + "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==", "dev": true, + "license": "MIT", "dependencies": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" }, "engines": { - "node": ">=4" - } - }, - "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": ">=8" } }, - "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==", + "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==", "dev": true, - "dependencies": { - "ansi-regex": "^3.0.0" - }, + "license": "MIT", "engines": { - "node": ">=4" + "node": ">=8" } }, - "node_modules/string.prototype.trim": { - "version": "1.2.9", - "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.9.tgz", - "integrity": "sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==", + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.0", - "es-object-atoms": "^1.0.0" + "ansi-regex": "^5.0.1" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=8" } }, - "node_modules/string.prototype.trimend": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.8.tgz", - "integrity": "sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==", + "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==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0" + "ansi-regex": "^5.0.1" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=8" } }, - "node_modules/string.prototype.trimstart": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz", - "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==", + "node_modules/strip-ansi-cjs/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, "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0" - }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=8" } }, - "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==", + "node_modules/strip-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, - "dependencies": { - "ansi-regex": "^5.0.1" - }, + "license": "MIT", "engines": { "node": ">=8" } @@ -17468,42 +14208,52 @@ "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "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==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-4.0.0.tgz", + "integrity": "sha512-aulFJcD6YK8V1G7iRB5tigAP4TsHBZZrOV8pjV++zdUwmeV8uzbY7yn6h9MswN62adStNZFuCIx4haBnRuMDaw==", "dev": true, + "license": "MIT", "peer": true, "engines": { - "node": ">=12" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/strip-indent": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", - "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", + "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, - "dependencies": { - "min-indent": "^1.0.0" - }, + "license": "MIT", "engines": { "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "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==", + "node_modules/super-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/super-regex/-/super-regex-1.1.0.tgz", + "integrity": "sha512-WHkws2ZflZe41zj6AolvvmaTrWds/VuyeYr9iPVv/oQeaIoVxMKaushfFWpOGDT+GuBrM/sVqF8KUCYQlSSTdQ==", "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "function-timeout": "^1.0.1", + "make-asynchronous": "^1.0.1", + "time-span": "^5.1.0" + }, "engines": { - "node": ">=8" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -17514,6 +14264,8 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, + "license": "MIT", + "peer": true, "dependencies": { "has-flag": "^3.0.0" }, @@ -17522,17 +14274,21 @@ } }, "node_modules/supports-hyperlinks": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz", - "integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-3.2.0.tgz", + "integrity": "sha512-zFObLMyZeEwzAoKCyu1B91U79K2t7ApXuQfo8OuxwXLDgcKxuwM+YvcbIhm6QWqz7mHUH1TVytR1PwVVjEuMig==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "has-flag": "^4.0.0", "supports-color": "^7.0.0" }, "engines": { - "node": ">=8" + "node": ">=14.18" + }, + "funding": { + "url": "https://github.com/chalk/supports-hyperlinks?sponsor=1" } }, "node_modules/supports-hyperlinks/node_modules/has-flag": { @@ -17540,6 +14296,7 @@ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": ">=8" @@ -17550,6 +14307,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "has-flag": "^4.0.0" @@ -17563,6 +14321,7 @@ "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -17570,74 +14329,48 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/table": { - "version": "6.8.1", - "resolved": "https://registry.npmjs.org/table/-/table-6.8.1.tgz", - "integrity": "sha512-Y4X9zqrCftUhMeH2EptSSERdVKt/nEdijTOacGD/97EKjhQ/Qs8RTlEGABSJNNN8lac9kheH+af7yAkEWlgneA==", + "node_modules/synckit": { + "version": "0.11.11", + "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.11.11.tgz", + "integrity": "sha512-MeQTA1r0litLUf0Rp/iisCaL8761lKAZHaimlbGK4j0HysC4PLfqygQj9srcs0m2RdtDYnF8UuYyKpbjHYp7Jw==", "dev": true, + "license": "MIT", "dependencies": { - "ajv": "^8.0.1", - "lodash.truncate": "^4.4.2", - "slice-ansi": "^4.0.0", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1" + "@pkgr/core": "^0.2.9" }, "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/table/node_modules/ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "dev": true, - "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": "^14.18.0 || >=16.0.0" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/table/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, - "engines": { - "node": ">=8" + "url": "https://opencollective.com/synckit" } }, - "node_modules/table/node_modules/json-schema-traverse": { + "node_modules/tagged-tag": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true - }, - "node_modules/table/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==", + "resolved": "https://registry.npmjs.org/tagged-tag/-/tagged-tag-1.0.0.tgz", + "integrity": "sha512-yEFYrVhod+hdNyx7g5Bnkkb0G6si8HJurOoOEgC8B/O0uXLHlaey/65KRv6cuWBNhBgHKAROVpc7QyYqE5gFng==", "dev": true, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, + "license": "MIT", "engines": { - "node": ">=8" + "node": ">=20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/tapable": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", - "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.3.0.tgz", + "integrity": "sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg==", "dev": true, + "license": "MIT", + "peer": true, "engines": { "node": ">=6" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" } }, "node_modules/temp-dir": { @@ -17645,6 +14378,7 @@ "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-3.0.0.tgz", "integrity": "sha512-nHc6S/bwIilKHNRgK/3jlhDoIHcp45YgyiwcAk46Tr0LfEqGBVpmiAyuiuxeVE44m3mXnEeVhaipLOEWmH+Njw==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": ">=14.16" @@ -17655,6 +14389,7 @@ "resolved": "https://registry.npmjs.org/tempy/-/tempy-3.1.0.tgz", "integrity": "sha512-7jDLIdD2Zp0bDe5r3D2qtkd1QOCacylBuL7oa4udvN6v2pqr4+LcCr67C8DR1zkpaZ8XosF5m1yQSabKAW6f2g==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "is-stream": "^3.0.0", @@ -17674,6 +14409,7 @@ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": "^12.20.0 || ^14.13.1 || >=16.0.0" @@ -17687,6 +14423,7 @@ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz", "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==", "dev": true, + "license": "(MIT OR CC0-1.0)", "peer": true, "engines": { "node": ">=12.20" @@ -17696,13 +14433,15 @@ } }, "node_modules/terser": { - "version": "5.16.9", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.16.9.tgz", - "integrity": "sha512-HPa/FdTB9XGI2H1/keLFZHxl6WNvAI4YalHGtDQTlMnJcoqSab1UwL4l1hGEhs6/GmLHBZIg/YgB++jcbzoOEg==", + "version": "5.44.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.44.1.tgz", + "integrity": "sha512-t/R3R/n0MSwnnazuPpPNVO60LX0SKL45pyl9YlvxIdkH0Of7D5qM2EVe+yASRIlY5pZ73nclYJfNANGWPwFDZw==", "dev": true, + "license": "BSD-2-Clause", + "peer": true, "dependencies": { - "@jridgewell/source-map": "^0.3.2", - "acorn": "^8.5.0", + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.15.0", "commander": "^2.20.0", "source-map-support": "~0.5.20" }, @@ -17714,16 +14453,18 @@ } }, "node_modules/terser-webpack-plugin": { - "version": "5.3.7", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.7.tgz", - "integrity": "sha512-AfKwIktyP7Cu50xNjXF/6Qb5lBNzYaWpU6YfoX3uZicTx0zTy0stDDCsvjDapKsSDvOeWo5MEq4TmdBy2cNoHw==", + "version": "5.3.14", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.14.tgz", + "integrity": "sha512-vkZjpUjb6OMS7dhV+tILUW6BhpDR7P2L/aQSAv+Uwk+m8KATX9EccViHTJR2qDtACKPIYndLGCyl3FMo+r2LMw==", "dev": true, + "license": "MIT", + "peer": true, "dependencies": { - "@jridgewell/trace-mapping": "^0.3.17", + "@jridgewell/trace-mapping": "^0.3.25", "jest-worker": "^27.4.5", - "schema-utils": "^3.1.1", - "serialize-javascript": "^6.0.1", - "terser": "^5.16.5" + "schema-utils": "^4.3.0", + "serialize-javascript": "^6.0.2", + "terser": "^5.31.1" }, "engines": { "node": ">= 10.13.0" @@ -17747,44 +14488,20 @@ } } }, - "node_modules/terser-webpack-plugin/node_modules/schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/terser-webpack-plugin/node_modules/serialize-javascript": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz", - "integrity": "sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==", - "dev": true, - "dependencies": { - "randombytes": "^2.1.0" - } - }, "node_modules/terser/node_modules/commander": { "version": "2.20.3", "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true + "dev": true, + "license": "MIT", + "peer": true }, "node_modules/test-exclude": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", "dev": true, + "license": "ISC", "dependencies": { "@istanbuljs/schema": "^0.1.2", "glob": "^7.1.4", @@ -17799,6 +14516,8 @@ "resolved": "https://registry.npmjs.org/text-extensions/-/text-extensions-2.4.0.tgz", "integrity": "sha512-te/NtwBwfiNRLf9Ijqx3T0nlqZiQ2XrrtBvu+cLL8ZRrGkO0NHTug8MYFKyoSrv/sHTaSKfilUkizV6XhxMJ3g==", "dev": true, + "license": "MIT", + "peer": true, "engines": { "node": ">=8" }, @@ -17810,13 +14529,16 @@ "version": "0.2.0", "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", - "dev": true + "dev": true, + "license": "MIT", + "peer": true }, "node_modules/thenify": { "version": "3.3.1", "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", "dev": true, + "license": "MIT", "dependencies": { "any-promise": "^1.0.0" } @@ -17826,6 +14548,7 @@ "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", "dev": true, + "license": "MIT", "dependencies": { "thenify": ">= 3.1.0 < 4" }, @@ -17837,31 +14560,28 @@ "version": "2.3.8", "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", - "dev": true + "dev": true, + "license": "MIT", + "peer": true }, "node_modules/through2": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "readable-stream": "~2.3.6", "xtend": "~4.0.1" } }, - "node_modules/through2/node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "dev": true, - "peer": true - }, "node_modules/through2/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==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "core-util-is": "~1.0.0", @@ -17878,6 +14598,7 @@ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", "dev": true, + "license": "MIT", "peer": true }, "node_modules/through2/node_modules/string_decoder": { @@ -17885,40 +14606,82 @@ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "safe-buffer": "~5.1.0" } }, - "node_modules/title-case": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/title-case/-/title-case-2.1.1.tgz", - "integrity": "sha512-EkJoZ2O3zdCz3zJsYCsxyq2OC5hrxR9mfdd5I+w8h/tmFfeOxJ+vvkxsKxdmN0WtS9zLdHEgfgVOiMVgv+Po4Q==", + "node_modules/time-span": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/time-span/-/time-span-5.1.0.tgz", + "integrity": "sha512-75voc/9G4rDIJleOo4jPvN4/YC4GRZrY8yy1uU4lwrB3XEQbWve8zXoO5No4eFrGcTAMYyoY67p8jRQdtA1HbA==", "dev": true, + "license": "MIT", + "peer": true, "dependencies": { - "no-case": "^2.2.0", - "upper-case": "^1.0.3" + "convert-hrtime": "^5.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "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/tiny-case": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/tiny-case/-/tiny-case-1.0.3.tgz", + "integrity": "sha512-Eet/eeMhkO6TX8mnUteS9zgPbUMQa4I6Kkp5ORiBD5476/m+PIRiumP5tmh5ioJpH7k51Kehawy2UDfsnxxY8Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/tinyglobby": { + "version": "0.2.15", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz", + "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==", "dev": true, + "license": "MIT", "dependencies": { - "os-tmpdir": "~1.0.2" + "fdir": "^6.5.0", + "picomatch": "^4.0.3" + }, + "engines": { + "node": ">=12.0.0" }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" + } + }, + "node_modules/tinyglobby/node_modules/fdir": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", + "dev": true, + "license": "MIT", "engines": { - "node": ">=0.6.0" + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } } }, - "node_modules/to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "node_modules/tinyglobby/node_modules/picomatch": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", "dev": true, + "license": "MIT", "engines": { - "node": ">=4" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" } }, "node_modules/to-regex-range": { @@ -17926,6 +14689,7 @@ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", "dev": true, + "license": "MIT", "dependencies": { "is-number": "^7.0.0" }, @@ -17933,56 +14697,74 @@ "node": ">=8.0" } }, + "node_modules/toposort": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/toposort/-/toposort-2.0.2.tgz", + "integrity": "sha512-0a5EOkAUp8D4moMi2W8ZF8jcga7BgZd91O/yabJCFY8az+XSzeGyTKs0Aoo897iV1Nj6guFq8orWDS96z91oGg==", + "dev": true, + "license": "MIT" + }, "node_modules/tr46": { "version": "0.0.3", "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/traverse": { - "version": "0.6.7", - "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.6.7.tgz", - "integrity": "sha512-/y956gpUo9ZNCb99YjxG7OaslxZWHfCHAUUfshwqOXmxUIvqLjVO581BT+gM59+QV9tFe6/CGG53tsA1Y7RSdg==", + "version": "0.6.8", + "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.6.8.tgz", + "integrity": "sha512-aXJDbk6SnumuaZSANd21XAo15ucCDE38H4fkqiGsc3MhCK+wOlZvLP9cB/TvpHT0mOyWgC4Z8EwRlzqYSUzdsA==", "dev": true, + "license": "MIT", "peer": true, + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/trim-newlines": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz", - "integrity": "sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/trough": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/trough/-/trough-1.0.5.tgz", "integrity": "sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA==", "dev": true, + "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/ts-morph": { - "version": "15.1.0", - "resolved": "https://registry.npmjs.org/ts-morph/-/ts-morph-15.1.0.tgz", - "integrity": "sha512-RBsGE2sDzUXFTnv8Ba22QfeuKbgvAGJFuTN7HfmIRUkgT/NaVLfDM/8OFm2NlFkGlWEXdpW5OaFIp1jvqdDuOg==", + "node_modules/ts-api-utils": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.4.3.tgz", + "integrity": "sha512-i3eMG77UTMD0hZhgRS562pv83RC6ukSAC2GMNWc+9dieh/+jDM5u5YG+NHX6VNDRHQcHwmsTHctP9LhbC3WxVw==", "dev": true, - "dependencies": { - "@ts-morph/common": "~0.16.0", - "code-block-writer": "^11.0.0" + "license": "MIT", + "engines": { + "node": ">=16" + }, + "peerDependencies": { + "typescript": ">=4.2.0" + } + }, + "node_modules/ts-dedent": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/ts-dedent/-/ts-dedent-2.2.0.tgz", + "integrity": "sha512-q5W7tVM71e2xjHZTlgfTDoPF/SmqKG5hddq9SzR49CH2hayqRKJtQ4mtRlSxKaJlR/+9rEM+mnBHf7I2/BQcpQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.10" } }, "node_modules/ts-node": { - "version": "10.9.1", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz", - "integrity": "sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==", + "version": "10.9.2", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz", + "integrity": "sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==", "dev": true, + "license": "MIT", "dependencies": { "@cspotcode/source-map-support": "^0.8.0", "@tsconfig/node10": "^1.0.7", @@ -18011,184 +14793,58 @@ "@swc/wasm": ">=1.2.50", "@types/node": "*", "typescript": ">=2.7" - }, - "peerDependenciesMeta": { - "@swc/core": { - "optional": true - }, - "@swc/wasm": { - "optional": 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, - "license": "MIT", - "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/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, - "license": "MIT", - "dependencies": { - "minimist": "^1.2.0" - }, - "bin": { - "json5": "lib/cli.js" - } - }, - "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, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "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/tsutils": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", - "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", - "dev": true, - "dependencies": { - "tslib": "^1.8.1" - }, - "engines": { - "node": ">= 6" - }, - "peerDependencies": { - "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" - } - }, - "node_modules/type": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz", - "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==", - "dev": true - }, - "node_modules/type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, - "dependencies": { - "prelude-ls": "^1.2.1" - }, - "engines": { - "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==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "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==", - "dev": true, - "engines": { - "node": ">=8" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "@swc/wasm": { + "optional": true + } } }, - "node_modules/typed-array-buffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz", - "integrity": "sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==", + "node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "es-errors": "^1.3.0", - "is-typed-array": "^1.1.13" - }, - "engines": { - "node": ">= 0.4" - } + "license": "0BSD" }, - "node_modules/typed-array-byte-length": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.1.tgz", - "integrity": "sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==", + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.7", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-proto": "^1.0.3", - "is-typed-array": "^1.1.13" + "prelude-ls": "^1.2.1" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">= 0.8.0" } }, - "node_modules/typed-array-byte-offset": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.2.tgz", - "integrity": "sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==", + "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, "license": "MIT", - "dependencies": { - "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.7", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-proto": "^1.0.3", - "is-typed-array": "^1.1.13" - }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=4" } }, - "node_modules/typed-array-length": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.6.tgz", - "integrity": "sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==", + "node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-proto": "^1.0.3", - "is-typed-array": "^1.1.13", - "possible-typed-array-names": "^1.0.0" - }, + "license": "(MIT OR CC0-1.0)", + "peer": true, "engines": { - "node": ">= 0.4" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/typedarray-to-buffer": { @@ -18196,29 +14852,33 @@ "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", "dev": true, + "license": "MIT", "dependencies": { "is-typedarray": "^1.0.0" } }, "node_modules/typescript": { - "version": "4.9.5", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", - "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", + "version": "5.4.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.5.tgz", + "integrity": "sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==", "dev": true, + "license": "Apache-2.0", "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" }, "engines": { - "node": ">=4.2.0" + "node": ">=14.17" } }, "node_modules/uglify-js": { - "version": "3.17.4", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.17.4.tgz", - "integrity": "sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==", + "version": "3.19.3", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.19.3.tgz", + "integrity": "sha512-v3Xu+yuwBXisp6QYTcH4UbH+xYJXqnq2m/LtQVWKWzYc1iehYnLixoQDN9FH6/j9/oybfd6W9Ghwkl8+UMKTKQ==", "dev": true, + "license": "BSD-2-Clause", "optional": true, + "peer": true, "bin": { "uglifyjs": "bin/uglifyjs" }, @@ -18226,60 +14886,35 @@ "node": ">=0.8.0" } }, - "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, - "license": "MIT", - "dependencies": { - "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/unicode-canonical-property-names-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", - "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/unicode-match-property-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", - "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", + "node_modules/undici-types": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.16.0.tgz", + "integrity": "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==", "dev": true, - "dependencies": { - "unicode-canonical-property-names-ecmascript": "^2.0.0", - "unicode-property-aliases-ecmascript": "^2.0.0" - }, - "engines": { - "node": ">=4" - } + "license": "MIT" }, - "node_modules/unicode-match-property-value-ecmascript": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz", - "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==", + "node_modules/unicode-emoji-modifier-base": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unicode-emoji-modifier-base/-/unicode-emoji-modifier-base-1.0.0.tgz", + "integrity": "sha512-yLSH4py7oFH3oG/9K+XWrz1pSi3dfUrWEnInbxMfArOfc1+33BlGPQtLsOYwvdMy11AwUBetYuaRxSPqgkq+8g==", "dev": true, + "license": "MIT", + "peer": true, "engines": { "node": ">=4" } }, - "node_modules/unicode-property-aliases-ecmascript": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", - "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", + "node_modules/unicorn-magic": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.3.0.tgz", + "integrity": "sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==", "dev": true, + "license": "MIT", "engines": { - "node": ">=4" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/unified": { @@ -18287,6 +14922,7 @@ "resolved": "https://registry.npmjs.org/unified/-/unified-9.2.2.tgz", "integrity": "sha512-Sg7j110mtefBD+qunSLO1lqOEKdrwBFBrR6Qd8f4uwkhWNlbkaqwHse6e7QvD3AP/MNoJdEDLaf8OxYyoWgorQ==", "dev": true, + "license": "MIT", "dependencies": { "bail": "^1.0.0", "extend": "^3.0.0", @@ -18300,11 +14936,22 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/unified/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, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, "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, + "license": "MIT", "peer": true, "dependencies": { "crypto-random-string": "^4.0.0" @@ -18321,6 +14968,7 @@ "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-4.1.0.tgz", "integrity": "sha512-ZOQSsnce92GrxSqlnEEseX0gi7GH9zTJZ0p9dtu87WRb/37mMPO2Ilx1s/t9vBHrFhbgweUwb+t7cIn5dxPhZg==", "dev": true, + "license": "MIT", "funding": { "type": "opencollective", "url": "https://opencollective.com/unified" @@ -18331,6 +14979,7 @@ "resolved": "https://registry.npmjs.org/unist-util-remove/-/unist-util-remove-2.1.0.tgz", "integrity": "sha512-J8NYPyBm4baYLdCbjmf1bhPu45Cr1MWTm77qd9istEkzWpnN6O9tMsEbB2JhNnBCqGENRqEWomQ+He6au0B27Q==", "dev": true, + "license": "MIT", "dependencies": { "unist-util-is": "^4.0.0" }, @@ -18344,6 +14993,7 @@ "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-2.0.3.tgz", "integrity": "sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==", "dev": true, + "license": "MIT", "dependencies": { "@types/unist": "^2.0.2" }, @@ -18357,6 +15007,7 @@ "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-2.0.3.tgz", "integrity": "sha512-iJ4/RczbJMkD0712mGktuGpm/U4By4FfDonL7N/9tATGIF4imikjOuagyMY53tnZq3NP6BcmlrHhEKAfGWjh7Q==", "dev": true, + "license": "MIT", "dependencies": { "@types/unist": "^2.0.0", "unist-util-is": "^4.0.0", @@ -18372,6 +15023,7 @@ "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-3.1.1.tgz", "integrity": "sha512-1KROIZWo6bcMrZEwiH2UrXDyalAa0uqzWCxCJj6lPOvTve2WkfgCytoDTPaMnodXh1WrXOq0haVYHj99ynJlsg==", "dev": true, + "license": "MIT", "dependencies": { "@types/unist": "^2.0.0", "unist-util-is": "^4.0.0" @@ -18382,25 +15034,27 @@ } }, "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==", + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-7.0.3.tgz", + "integrity": "sha512-TmnEAEAsBJVZM/AADELsK76llnwcf9vMKuPz8JflO1frO8Lchitr0fNaN9d+Ap0BjKtqWqd/J17qeDnXh8CL2A==", "dev": true, + "license": "ISC", "peer": true }, "node_modules/universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", "dev": true, + "license": "MIT", "engines": { "node": ">= 10.0.0" } }, "node_modules/update-browserslist-db": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz", - "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.2.2.tgz", + "integrity": "sha512-E85pfNzMQ9jpKkA7+TJAi4TJN+tBCuWh5rUcS/sv6cFi+1q9LYDwDI5dpUL0u/73EElyQ8d3TEaeW4sPedBqYA==", "dev": true, "funding": [ { @@ -18410,42 +15064,52 @@ { "type": "tidelift", "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "dependencies": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" + "escalade": "^3.2.0", + "picocolors": "^1.1.1" }, "bin": { - "browserslist-lint": "cli.js" + "update-browserslist-db": "cli.js" }, "peerDependencies": { "browserslist": ">= 4.21.0" } }, - "node_modules/upper-case": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz", - "integrity": "sha512-WRbjgmYzgXkCV7zNVpy5YgrHgbBv126rMALQQMrmzOVC4GM2waQ9x7xtm8VU+1yF2kWyPzI9zbZ48n4vSxwfSA==", - "dev": true + "node_modules/upper-case-first": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/upper-case-first/-/upper-case-first-2.0.2.tgz", + "integrity": "sha512-514ppYHBaKwfJRK/pNC6c/OxfGa0obSnAl106u97Ed0I625Nin96KAjttZF6ZL3e1XLtphxnqrOi9iWgm+u+bg==", + "dev": true, + "license": "MIT", + "dependencies": { + "tslib": "^2.0.3" + } }, "node_modules/uri-js": { "version": "4.4.1", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "punycode": "^2.1.0" } }, - "node_modules/url": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", - "integrity": "sha512-kbailJa29QrtXnxgq+DdCEGlbTeYM2eJUxsz6vjZavrCYPMIFHMKQmSKYAIuUK2i7hgPm28a8piX5NTUtM/LKQ==", + "node_modules/uri-js/node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", "dev": true, - "dependencies": { - "punycode": "1.3.2", - "querystring": "0.2.0" + "license": "MIT", + "engines": { + "node": ">=6" } }, "node_modules/url-join": { @@ -18453,79 +15117,61 @@ "resolved": "https://registry.npmjs.org/url-join/-/url-join-5.0.0.tgz", "integrity": "sha512-n2huDr9h9yzd6exQVnH/jU5mr+Pfx08LRXXZhkLLetAMESRj+anQsTAh940iMrIetKAmry9coFuZQ2jY8/p3WA==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": "^12.20.0 || ^14.13.1 || >=16.0.0" } }, - "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==", - "dev": true - }, "node_modules/util-arity": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/util-arity/-/util-arity-1.1.0.tgz", "integrity": "sha512-kkyIsXKwemfSy8ZEoaIz06ApApnWsk5hQO0vLjZS6UkBiGiW++Jsyb8vSBoc0WKlffGoGs5yYy/j5pp8zckrFA==", - "dev": true + "dev": true, + "license": "MIT" }, "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==", - "dev": true + "dev": true, + "license": "MIT", + "peer": true }, "node_modules/uuid": { "version": "8.3.2", "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", "dev": true, + "license": "MIT", "bin": { "uuid": "dist/bin/uuid" } }, - "node_modules/v8-compile-cache": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", - "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", - "dev": true - }, "node_modules/v8-compile-cache-lib": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", - "dev": true + "dev": true, + "license": "MIT" }, "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==", "dev": true, + "license": "Apache-2.0", "dependencies": { "spdx-correct": "^3.0.0", "spdx-expression-parse": "^3.0.0" } }, - "node_modules/verror": { - "version": "1.10.1", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.1.tgz", - "integrity": "sha512-veufcmxri4e3XSrT0xwfUR7kguIkaxBeosDg00yDWhk49wdwkSUrvvsm7nc75e1PUyvIeZj6nS8VQRYz2/S4Xg==", - "dev": true, - "dependencies": { - "assert-plus": "^1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" - }, - "engines": { - "node": ">=0.6.0" - } - }, "node_modules/vfile": { "version": "4.2.1", "resolved": "https://registry.npmjs.org/vfile/-/vfile-4.2.1.tgz", "integrity": "sha512-O6AE4OskCG5S1emQ/4gl8zK586RqA3srz3nfK/Viy0UPToBc5Trp9BVFb1u0CjsKrAWwnpr4ifM/KBXPWwJbCA==", "dev": true, + "license": "MIT", "dependencies": { "@types/unist": "^2.0.0", "is-buffer": "^2.0.0", @@ -18542,6 +15188,7 @@ "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-2.0.4.tgz", "integrity": "sha512-DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ==", "dev": true, + "license": "MIT", "dependencies": { "@types/unist": "^2.0.0", "unist-util-stringify-position": "^2.0.0" @@ -18551,11 +15198,119 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/vite": { + "version": "7.2.6", + "resolved": "https://registry.npmjs.org/vite/-/vite-7.2.6.tgz", + "integrity": "sha512-tI2l/nFHC5rLh7+5+o7QjKjSR04ivXDF4jcgV0f/bTQ+OJiITy5S6gaynVsEM+7RqzufMnVbIon6Sr5x1SDYaQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "esbuild": "^0.25.0", + "fdir": "^6.5.0", + "picomatch": "^4.0.3", + "postcss": "^8.5.6", + "rollup": "^4.43.0", + "tinyglobby": "^0.2.15" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^20.19.0 || >=22.12.0", + "jiti": ">=1.21.0", + "less": "^4.0.0", + "lightningcss": "^1.21.0", + "sass": "^1.70.0", + "sass-embedded": "^1.70.0", + "stylus": ">=0.54.8", + "sugarss": "^5.0.0", + "terser": "^5.16.0", + "tsx": "^4.8.1", + "yaml": "^2.4.2" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "jiti": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + }, + "tsx": { + "optional": true + }, + "yaml": { + "optional": true + } + } + }, + "node_modules/vite/node_modules/fdir": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/vite/node_modules/picomatch": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, "node_modules/watchpack": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", - "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.4.tgz", + "integrity": "sha512-c5EGNOiyxxV5qmTtAB7rbiXxi1ooX1pQKMLX/MIabJjRA0SJBQOjKF+KSVfHkr9U1cADPon0mRiVe/riyaiDUA==", "dev": true, + "license": "MIT", + "peer": true, "dependencies": { "glob-to-regexp": "^0.4.1", "graceful-fs": "^4.1.2" @@ -18564,89 +15319,57 @@ "node": ">=10.13.0" } }, - "node_modules/wcwidth": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", - "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", + "node_modules/web-worker": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/web-worker/-/web-worker-1.2.0.tgz", + "integrity": "sha512-PgF341avzqyx60neE9DD+XS26MMNMoUQRz9NOZwW32nPQrF6p77f1htcnjBSEV8BGMKZ16choqUG4hyI0Hx7mA==", "dev": true, - "dependencies": { - "defaults": "^1.0.3" - } + "license": "Apache-2.0", + "peer": true }, "node_modules/webidl-conversions": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", - "dev": true + "dev": true, + "license": "BSD-2-Clause" }, "node_modules/webpack": { - "version": "5.79.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.79.0.tgz", - "integrity": "sha512-3mN4rR2Xq+INd6NnYuL9RC9GAmc1ROPKJoHhrZ4pAjdMFEkJJWrsPw8o2JjCIyQyTu7rTXYn4VG6OpyB3CobZg==", - "dev": true, - "dependencies": { - "@types/eslint-scope": "^3.7.3", - "@types/estree": "^1.0.0", - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/wasm-edit": "1.11.1", - "@webassemblyjs/wasm-parser": "1.11.1", - "acorn": "^8.7.1", - "acorn-import-assertions": "^1.7.6", - "browserslist": "^4.14.5", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.10.0", - "es-module-lexer": "^1.2.1", - "eslint-scope": "5.1.1", - "events": "^3.2.0", - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.2.9", - "json-parse-even-better-errors": "^2.3.1", - "loader-runner": "^4.2.0", - "mime-types": "^2.1.27", - "neo-async": "^2.6.2", - "schema-utils": "^3.1.0", - "tapable": "^2.1.1", - "terser-webpack-plugin": "^5.3.7", - "watchpack": "^2.4.0", - "webpack-sources": "^3.2.3" - }, - "bin": { - "webpack": "bin/webpack.js" - }, - "engines": { - "node": ">=10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependenciesMeta": { - "webpack-cli": { - "optional": true - } - } - }, - "node_modules/webpack-cli": { - "version": "4.10.0", - "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.10.0.tgz", - "integrity": "sha512-NLhDfH/h4O6UOy+0LSso42xvYypClINuMNBVVzX4vX98TmTaTUxwRbXdhucbFMd2qLaCTcLq/PdYrvi8onw90w==", + "version": "5.103.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.103.0.tgz", + "integrity": "sha512-HU1JOuV1OavsZ+mfigY0j8d1TgQgbZ6M+J75zDkpEAwYeXjWSqrGJtgnPblJjd/mAyTNQ7ygw0MiKOn6etz8yw==", "dev": true, + "license": "MIT", + "peer": true, "dependencies": { - "@discoveryjs/json-ext": "^0.5.0", - "@webpack-cli/configtest": "^1.2.0", - "@webpack-cli/info": "^1.5.0", - "@webpack-cli/serve": "^1.7.0", - "colorette": "^2.0.14", - "commander": "^7.0.0", - "cross-spawn": "^7.0.3", - "fastest-levenshtein": "^1.0.12", - "import-local": "^3.0.2", - "interpret": "^2.2.0", - "rechoir": "^0.7.0", - "webpack-merge": "^5.7.3" + "@types/eslint-scope": "^3.7.7", + "@types/estree": "^1.0.8", + "@types/json-schema": "^7.0.15", + "@webassemblyjs/ast": "^1.14.1", + "@webassemblyjs/wasm-edit": "^1.14.1", + "@webassemblyjs/wasm-parser": "^1.14.1", + "acorn": "^8.15.0", + "acorn-import-phases": "^1.0.3", + "browserslist": "^4.26.3", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.17.3", + "es-module-lexer": "^1.2.1", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.11", + "json-parse-even-better-errors": "^2.3.1", + "loader-runner": "^4.3.1", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^4.3.3", + "tapable": "^2.3.0", + "terser-webpack-plugin": "^5.3.11", + "watchpack": "^2.4.4", + "webpack-sources": "^3.3.3" }, "bin": { - "webpack-cli": "bin/cli.js" + "webpack": "bin/webpack.js" }, "engines": { "node": ">=10.13.0" @@ -18655,71 +15378,47 @@ "type": "opencollective", "url": "https://opencollective.com/webpack" }, - "peerDependencies": { - "webpack": "4.x.x || 5.x.x" - }, "peerDependenciesMeta": { - "@webpack-cli/generators": { - "optional": true - }, - "@webpack-cli/migrate": { - "optional": true - }, - "webpack-bundle-analyzer": { - "optional": true - }, - "webpack-dev-server": { + "webpack-cli": { "optional": true } } }, - "node_modules/webpack-cli/node_modules/commander": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", - "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "node_modules/webpack-sources": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.3.3.tgz", + "integrity": "sha512-yd1RBzSGanHkitROoPFd6qsrxt+oFhg/129YzheDGqeustzX0vTZJZsSsQjVQC4yzBQ56K55XU8gaNCtIzOnTg==", "dev": true, + "license": "MIT", + "peer": true, "engines": { - "node": ">= 10" + "node": ">=10.13.0" } }, - "node_modules/webpack-merge": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.8.0.tgz", - "integrity": "sha512-/SaI7xY0831XwP6kzuwhKWVKDP9t1QY1h65lAFLbZqMPIuYcD9QAW4u9STIbU9kaJbPBB/geU/gLr1wDjOhQ+Q==", + "node_modules/webpack/node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", "dev": true, + "license": "BSD-2-Clause", + "peer": true, "dependencies": { - "clone-deep": "^4.0.1", - "wildcard": "^2.0.0" + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" }, "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/webpack-sources": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", - "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", - "dev": true, - "engines": { - "node": ">=10.13.0" + "node": ">=8.0.0" } }, - "node_modules/webpack/node_modules/schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "node_modules/webpack/node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, + "license": "BSD-2-Clause", + "peer": true, "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" + "node": ">=4.0" } }, "node_modules/whatwg-url": { @@ -18727,6 +15426,7 @@ "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", "dev": true, + "license": "MIT", "dependencies": { "tr46": "~0.0.3", "webidl-conversions": "^3.0.0" @@ -18737,6 +15437,7 @@ "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "dev": true, + "license": "ISC", "dependencies": { "isexe": "^2.0.0" }, @@ -18747,60 +15448,19 @@ "node": ">= 8" } }, - "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, - "license": "MIT", - "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" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/which-module": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha512-B+enWhmw6cjfVC7kS8Pj9pCrKSc5txArRyaYGe088shv/FGWH+0Rjx/xPgtsWfsUtS27FkP697E4DDhgrgoc0Q==", - "dev": true - }, - "node_modules/which-typed-array": { - "version": "1.1.15", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.15.tgz", - "integrity": "sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.1.tgz", + "integrity": "sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==", "dev": true, - "license": "MIT", - "dependencies": { - "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.7", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-tostringtag": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/wildcard": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.0.tgz", - "integrity": "sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==", - "dev": true + "license": "ISC" }, "node_modules/word-wrap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -18809,19 +15469,42 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==", - "dev": true + "dev": true, + "license": "MIT", + "peer": true }, "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 + "version": "9.3.4", + "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-9.3.4.tgz", + "integrity": "sha512-TmPRQYYSAnnDiEB0P/Ytip7bFGvqnSU6I2BcuSw7Hx+JSg/DsUi5ebYfc8GYaSdpuvOcEs6dXxPurOYpe9QFwg==", + "dev": true, + "license": "Apache-2.0" }, "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, + "license": "MIT", + "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" + } + }, + "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==", + "dev": true, + "license": "MIT", "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", @@ -18834,11 +15517,73 @@ "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, + "node_modules/wrap-ansi-cjs/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs/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==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/wrap-ansi-cjs/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, + "license": "MIT" + }, + "node_modules/wrap-ansi-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==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, "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, + "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -18854,6 +15599,7 @@ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -18865,13 +15611,15 @@ "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 + "dev": true, + "license": "MIT" }, "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==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } @@ -18881,6 +15629,7 @@ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, + "license": "MIT", "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -18894,13 +15643,15 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/write-file-atomic": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", "dev": true, + "license": "ISC", "dependencies": { "imurmurhash": "^0.1.4", "is-typedarray": "^1.0.0", @@ -18909,9 +15660,9 @@ } }, "node_modules/ws": { - "version": "8.17.1", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.17.1.tgz", - "integrity": "sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==", + "version": "8.18.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.3.tgz", + "integrity": "sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==", "license": "MIT", "engines": { "node": ">=10.0.0" @@ -18929,13 +15680,14 @@ } } }, - "node_modules/xregexp": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/xregexp/-/xregexp-4.4.1.tgz", - "integrity": "sha512-2u9HwfadaJaY9zHtRRnH6BY6CQVNQKkYm3oLtC9gJXXzfsbACg5X5e4EZZGVAH+YIfa+QA9lsFQTTe3HURF3ag==", + "node_modules/xmlbuilder": { + "version": "15.1.1", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-15.1.1.tgz", + "integrity": "sha512-yMqGBqtXyeN1e3TGYvgNgDVZ3j84W4cwkOXQswghol6APgZWaff9lnbvN7MHYJOiXsvGPXtjTYJEiC9J2wv9Eg==", "dev": true, - "dependencies": { - "@babel/runtime-corejs3": "^7.12.1" + "license": "MIT", + "engines": { + "node": ">=8.0" } }, "node_modules/xtend": { @@ -18943,6 +15695,8 @@ "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", "dev": true, + "license": "MIT", + "peer": true, "engines": { "node": ">=0.4" } @@ -18952,6 +15706,7 @@ "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", "dev": true, + "license": "ISC", "engines": { "node": ">=10" } @@ -18960,33 +15715,52 @@ "version": "3.1.1", "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true + "dev": true, + "license": "ISC" + }, + "node_modules/yaml": { + "version": "2.8.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.2.tgz", + "integrity": "sha512-mplynKqc1C2hTVYxd0PU2xQAc22TI1vShAYGksCCfxbn/dFwnHTNi1bvYsBTkhdUNtGIf5xNOg938rrSSYvS9A==", + "dev": true, + "license": "ISC", + "bin": { + "yaml": "bin.mjs" + }, + "engines": { + "node": ">= 14.6" + }, + "funding": { + "url": "https://github.com/sponsors/eemeli" + } }, "node_modules/yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", "dev": true, + "license": "MIT", "dependencies": { - "cliui": "^7.0.2", + "cliui": "^8.0.1", "escalade": "^3.1.1", "get-caller-file": "^2.0.5", "require-directory": "^2.1.1", - "string-width": "^4.2.0", + "string-width": "^4.2.3", "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" + "yargs-parser": "^21.1.1" }, "engines": { - "node": ">=10" + "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==", + "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, + "license": "ISC", "engines": { - "node": ">=10" + "node": ">=12" } }, "node_modules/yargs-unparser": { @@ -18994,6 +15768,7 @@ "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz", "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==", "dev": true, + "license": "MIT", "dependencies": { "camelcase": "^6.0.0", "decamelize": "^4.0.0", @@ -19009,6 +15784,7 @@ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" }, @@ -19021,6 +15797,7 @@ "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz", "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" }, @@ -19028,11 +15805,22 @@ "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, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, "node_modules/yargs/node_modules/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, + "license": "ISC", "engines": { "node": "6.* || 8.* || >= 10.*" } @@ -19042,6 +15830,7 @@ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } @@ -19051,6 +15840,7 @@ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, + "license": "MIT", "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -19065,6 +15855,7 @@ "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } @@ -19074,6 +15865,7 @@ "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" }, @@ -19081,11 +15873,52 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/yoctocolors": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yoctocolors/-/yoctocolors-2.1.2.tgz", + "integrity": "sha512-CzhO+pFNo8ajLM2d2IW/R93ipy99LWjtwblvC1RsoSUMZgyLbYFr221TnSNT7GjGdYui6P459mw9JH/g/zW2ug==", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/yup": { + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/yup/-/yup-1.7.1.tgz", + "integrity": "sha512-GKHFX2nXul2/4Dtfxhozv701jLQHdf6J34YDh2cEkpqoo8le5Mg6/LrdseVLrFarmFygZTlfIhHx/QKfb/QWXw==", + "dev": true, + "license": "MIT", + "dependencies": { + "property-expr": "^2.0.5", + "tiny-case": "^1.0.3", + "toposort": "^2.0.2", + "type-fest": "^2.19.0" + } + }, + "node_modules/yup/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, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/zwitch": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-1.0.5.tgz", "integrity": "sha512-V50KMwwzqJV0NpZIZFwfOD5/lyny3WlSzRiXgA0G7VUnRlqttta1L6UQIHzd6EuBY/cHGfwTIck7w1yH6Q5zUw==", "dev": true, + "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" diff --git a/package.json b/package.json index cf9c9d46a..889f76dbd 100644 --- a/package.json +++ b/package.json @@ -21,66 +21,39 @@ "prepublishOnly": "npm run build", "test": "npm run test:lint && npm run test:unit && npm run test:functional", "test:unit": "nyc --reporter=text-summary --reporter=lcov mocha", - "test:functional": "cucumber-js --exit --fail-fast", - "test:lint": "npm run test:lint:js && npm run test:lint:ts", - "test:lint:js": "eslint --max-warnings=0 ./src ./test ./features", - "test:lint:js:fix": "eslint --max-warnings=0 ./src ./test ./features --fix", - "test:lint:ts": "eslint ./src --ext .ts --config .eslintrc-ts.json", - "test:lint:ts:fix": "eslint ./src --ext .ts --config .eslintrc-ts.json --fix", - "build": "npm run build-ts && node build.js", - "build-ts": "tsc --build tsconfig.json", - "clean": "touch index.ts && npm run build-ts | grep TSFILE | cut -d' ' -f 2 | xargs rm", + "test:functional": "cucumber-js --exit --fail-fast -c cucumber.config.cjs", + "test:lint": "eslint . --fix", + "build": "tsc --build tsconfig.json && vite build", "dev": "node -r ts-node/register ", "doc-testing": "bash .ci/test-docs.sh" }, "browser": "dist/kuzzle.js", - "main": "index.js", + "main": "out/index.js", "license": "Apache-2.0", "dependencies": { - "min-req-promise": "^1.0.1", - "ws": "^8.17.1" + "min-req-promise": "1.0.1", + "ws": "8.18.3" }, "devDependencies": { - "@babel/core": "^7.21.4", - "@babel/preset-env": "^7.21.4", - "@commitlint/cli": "^17.6.7", - "@commitlint/config-conventional": "^17.6.7", - "@semantic-release/changelog": "^6.0.3", - "@semantic-release/commit-analyzer": "^10.0.1", - "@semantic-release/git": "^10.0.1", - "@semantic-release/release-notes-generator": "^11.0.4", - "@types/node": "^18.15.11", - "babel-loader": "^8.3.0", - "buffer": "^6.0.3", - "cucumber": "^6.0.5", - "cz-conventional-changelog": "^3.3.0", - "eslint-plugin-html": "^8.1.2", - "eslint-plugin-import": "^2.31.0", - "eslint-plugin-kuzzle": "^0.0.6", - "eslint-plugin-node": "^11.1.0", - "eslint-plugin-promise": "^7.1.0", - "eslint-plugin-standard": "^5.0.0", - "https-browserify": "^1.0.0", - "lodash": "^4.17.21", - "lolex": "^6.0.0", - "mocha": "10.2.0", - "mock-require": "^3.0.3", - "nyc": "^15.1.0", - "proxyquire": "^2.1.3", - "retry": "^0.13.1", - "rewire": "^6.0.0", - "semantic-release-config-kuzzle": "^1.0.0", - "semantic-release-slack-bot": "^4.0.2", - "should": "13.2.3", + "@cucumber/cucumber": "12.3.0", + "@types/node": "24.10.1", + "babel-loader": "10.0.0", + "eslint-plugin-kuzzle": "0.0.15", + "lodash": "4.17.21", + "lolex": "6.0.0", + "mocha": "11.7.5", + "mock-require": "3.0.3", + "nyc": "17.1.0", + "proxyquire": "2.1.3", + "retry": "0.13.1", + "rewire": "9.0.1", + "semantic-release-config-kuzzle": "1.1.2", "should-sinon": "0.0.6", - "sinon": "^14.0.2", - "stream-http": "^3.2.0", - "ts-morph": "^15.1.0", - "ts-node": "^10.9.1", - "typescript": "^4.9.5", - "url": "^0.11.0", - "webpack": "^5.79.0", - "webpack-cli": "^4.10.0" + "should": "13.2.3", + "sinon": "21.0.0", + "ts-node": "10.9.2", + "typescript": "5.4.*", + "vite": "7.2.6" }, "engines": { "node": ">= 10.13.0" @@ -93,4 +66,4 @@ "src/**/*.d.ts", "src/**/*.json" ] -} +} \ No newline at end of file diff --git a/src/Kuzzle.ts b/src/Kuzzle.ts index be16f0785..bbef4844a 100644 --- a/src/Kuzzle.ts +++ b/src/Kuzzle.ts @@ -222,7 +222,7 @@ export class Kuzzle extends KuzzleEventEmitter { * Default: `true` */ deprecationWarning?: boolean; - } = {} + } = {}, ) { super(); @@ -234,7 +234,7 @@ export class Kuzzle extends KuzzleEventEmitter { for (const method of ["addListener", "isReady", "query"]) { if (typeof protocol[method] !== "function") { throw new Error( - `Protocol instance must implement a "${method}" method` + `Protocol instance must implement a "${method}" method`, ); } } @@ -298,12 +298,12 @@ export class Kuzzle extends KuzzleEventEmitter { this.deprecationHandler = new Deprecation( typeof options.deprecationWarning === "boolean" ? options.deprecationWarning - : true + : true, ); if (this._cookieAuthentication && typeof XMLHttpRequest === "undefined") { throw new Error( - "Support for cookie authentication with cookieAuth option is not supported outside a browser" + "Support for cookie authentication with cookieAuth option is not supported outside a browser", ); } @@ -406,7 +406,7 @@ export class Kuzzle extends KuzzleEventEmitter { */ get authenticated() { return Boolean( - this.auth.authenticationToken && !this.auth.authenticationToken.expired + this.auth.authenticationToken && !this.auth.authenticationToken.expired, ); } @@ -579,43 +579,46 @@ export class Kuzzle extends KuzzleEventEmitter { on( eventName: "connected" | "reconnected" | "reAuthenticated" | "tokenExpired", - listener: () => void + listener: () => void, ): this; on(eventName: "beforeLogout", listener: () => void): this; on( eventName: "logoutAttempt" | "afterLogout", - listener: (status: { success: true }) => void + listener: (status: { success: true }) => void, ): this; on(eventName: "beforeLogin", listener: () => void): this; on( eventName: "loginAttempt" | "afterLogin", - listener: (data: { success: boolean; error: string }) => void + listener: (data: { success: boolean; error: string }) => void, ): this; on(eventName: "discarded", listener: (request: RequestPayload) => void): this; on( eventName: "disconnected", - listener: (context: { origin: DisconnectionOrigin }) => void + listener: (context: { origin: DisconnectionOrigin }) => void, ): this; on( eventName: "networkError" | "reconnectionError", - listener: (error: Error) => void + listener: (error: Error) => void, ): this; on( eventName: "offlineQueuePop", - listener: (request: RequestPayload) => void + listener: (request: RequestPayload) => void, ): this; on( eventName: "offlineQueuePush", - listener: (data: { request: RequestPayload }) => void + listener: (data: { request: RequestPayload }) => void, ): this; on( eventName: "queryError", - listener: (data: { error: KuzzleError; request: RequestPayload }) => void + listener: (data: { error: KuzzleError; request: RequestPayload }) => void, ): this; on( eventName: "callbackError", - listener: (data: { error: KuzzleError; notification: Notification }) => void + listener: (data: { + error: KuzzleError; + notification: Notification; + }) => void, ): this; on(eventName: PublicKuzzleEvents, listener: (args: any) => void): this { return super.on(eventName, listener); @@ -665,7 +668,7 @@ export class Kuzzle extends KuzzleEventEmitter { this.protocol.addListener("reconnect", this._reconnect.bind(this)); this.protocol.addListener("discarded", (data) => - this.emit("discarded", data) + this.emit("discarded", data), ); this.protocol.addListener("websocketRenewalStart", () => { @@ -742,7 +745,7 @@ export class Kuzzle extends KuzzleEventEmitter { if (!this.authenticator) { this.emit("reconnectionError", { error: new Error( - 'Could not re-authenticate: "authenticator" property is not set.' + 'Could not re-authenticate: "authenticator" property is not set.', ), }); return false; @@ -754,7 +757,7 @@ export class Kuzzle extends KuzzleEventEmitter { } catch (err) { this.emit("reconnectionError", { error: new Error( - `Failed to authenticate the SDK after reconnection: ${err}` + `Failed to authenticate the SDK after reconnection: ${err}`, ), }); @@ -782,7 +785,7 @@ export class Kuzzle extends KuzzleEventEmitter { if (!valid) { throw new Error( - 'The "authenticator" function failed to authenticate the SDK.' + 'The "authenticator" function failed to authenticate the SDK.', ); } } @@ -809,8 +812,8 @@ export class Kuzzle extends KuzzleEventEmitter { if (this.events.indexOf(event) === -1) { throw new Error( `[${event}] is not a known event. Known events: ${this.events.join( - ", " - )}` + ", ", + )}`, ); } @@ -853,7 +856,7 @@ export class Kuzzle extends KuzzleEventEmitter { */ query( req: TRequest, - opts: JSONObject = {} + opts: JSONObject = {}, ): Promise> { if (typeof req !== "object" || Array.isArray(req)) { throw new Error(`Kuzzle.query: Invalid request: ${JSON.stringify(req)}`); @@ -861,7 +864,7 @@ export class Kuzzle extends KuzzleEventEmitter { if (typeof opts !== "object" || Array.isArray(opts)) { throw new Error( - `Kuzzle.query: Invalid "options" argument: ${JSON.stringify(opts)}` + `Kuzzle.query: Invalid "options" argument: ${JSON.stringify(opts)}`, ); } @@ -913,8 +916,8 @@ export class Kuzzle extends KuzzleEventEmitter { ) { throw new Error( `Kuzzle.query: Invalid volatile argument received: ${JSON.stringify( - request.volatile - )}` + request.volatile, + )}`, ); } @@ -949,7 +952,7 @@ export class Kuzzle extends KuzzleEventEmitter { this.emit("discarded", { request }); return Promise.reject( new Error(`Unable to execute request: not connected to a Kuzzle server. -Discarded request: ${JSON.stringify(request)}`) +Discarded request: ${JSON.stringify(request)}`), ); } @@ -958,7 +961,7 @@ Discarded request: ${JSON.stringify(request)}`) debug("RESPONSE", response); return this.deprecationHandler.logDeprecation(response); - } + }, ); } @@ -1030,7 +1033,7 @@ Discarded request: ${JSON.stringify(request)}`) if (this.__proxy__ ? this.__proxy__.hasProp(accessor) : this[accessor]) { throw new Error( - `There is already a controller with the accessor '${accessor}'. Please use another one.` + `There is already a controller with the accessor '${accessor}'. Please use another one.`, ); } @@ -1042,7 +1045,7 @@ Discarded request: ${JSON.stringify(request)}`) if (controller.kuzzle !== this) { throw new Error( - "You must pass the Kuzzle SDK instance to the parent constructor." + "You must pass the Kuzzle SDK instance to the parent constructor.", ); } @@ -1060,7 +1063,7 @@ Discarded request: ${JSON.stringify(request)}`) if (wrongType) { throw new Error( - `Expected ${prop} to be a ${typestr}, ${typeof value} received` + `Expected ${prop} to be a ${typestr}, ${typeof value} received`, ); } } @@ -1086,8 +1089,8 @@ Discarded request: ${JSON.stringify(request)}`) this.emit("offlineQueuePop", droppedRequest.request); droppedRequest.reject( new Error( - "Query aborted: queued time exceeded the queueTTL option value" - ) + "Query aborted: queued time exceeded the queueTTL option value", + ), ); }); } @@ -1100,8 +1103,8 @@ Discarded request: ${JSON.stringify(request)}`) this.emit("offlineQueuePop", droppedRequest.request); droppedRequest.reject( new Error( - "Query aborted: too many queued requests (see the queueMaxSize option)" - ) + "Query aborted: too many queued requests (see the queueMaxSize option)", + ), ); }); } @@ -1119,16 +1122,19 @@ Discarded request: ${JSON.stringify(request)}`) this._timeoutRequest( this.offlineQueue[0].timeout, - this.offlineQueue[0].request + this.offlineQueue[0].request, ) .then(this.offlineQueue[0].resolve) .catch(this.offlineQueue[0].reject); this.emit("offlineQueuePop", this.offlineQueue.shift().request); - setTimeout(() => { - dequeuingProcess(); - }, Math.max(0, this.replayInterval)); + setTimeout( + () => { + dequeuingProcess(); + }, + Math.max(0, this.replayInterval), + ); } }; @@ -1136,7 +1142,7 @@ Discarded request: ${JSON.stringify(request)}`) if (typeof this.offlineQueueLoader !== "function") { throw new Error( "Invalid value for offlineQueueLoader property. Expected: function. Got: " + - typeof this.offlineQueueLoader + typeof this.offlineQueueLoader, ); } @@ -1155,13 +1161,13 @@ Discarded request: ${JSON.stringify(request)}`) !query.request.controller ) { throw new Error( - "Invalid offline queue request. One or more missing properties: requestId, action, controller." + "Invalid offline queue request. One or more missing properties: requestId, action, controller.", ); } return Object.prototype.hasOwnProperty.call( uniqueQueue, - query.request.requestId + query.request.requestId, ) ? false : (uniqueQueue[query.request.requestId] = true); @@ -1171,7 +1177,7 @@ Discarded request: ${JSON.stringify(request)}`) } else { throw new Error( "Invalid value returned by the offlineQueueLoader function. Expected: array. Got: " + - typeof additionalQueue + typeof additionalQueue, ); } }); @@ -1191,7 +1197,7 @@ Discarded request: ${JSON.stringify(request)}`) private _timeoutRequest( delay: number, request: RequestPayload, - options: JSONObject = {} + options: JSONObject = {}, ) { debug("REQUEST", request); diff --git a/src/KuzzleError.ts b/src/KuzzleError.ts index ea52bbd54..ea91209a3 100644 --- a/src/KuzzleError.ts +++ b/src/KuzzleError.ts @@ -1,5 +1,3 @@ -"use strict"; - import { hilightUserCode } from "./utils/stackTrace"; import { RequestPayload } from "./types/RequestPayload"; import { JSONObject } from "./types"; @@ -115,7 +113,7 @@ export class KuzzleError extends Error { }, sdkStack?: string, protocol?: string, - request?: RequestPayload + request?: RequestPayload, ) { super(apiError.message); diff --git a/src/RequestTimeoutError.ts b/src/RequestTimeoutError.ts index db901c348..2bbfa1b62 100644 --- a/src/RequestTimeoutError.ts +++ b/src/RequestTimeoutError.ts @@ -1,5 +1,3 @@ -"use strict"; - import { RequestPayload } from "./types/RequestPayload"; /** diff --git a/src/controllers/Auth.ts b/src/controllers/Auth.ts index 47581faf4..601775f90 100644 --- a/src/controllers/Auth.ts +++ b/src/controllers/Auth.ts @@ -79,7 +79,7 @@ export class AuthController extends BaseController { */ createApiKey( description: string, - options: ArgsAuthControllerCreateApiKey = {} + options: ArgsAuthControllerCreateApiKey = {}, ): Promise { const request = { _id: options._id, @@ -105,7 +105,7 @@ export class AuthController extends BaseController { */ checkRights( requestPayload: RequestPayload, - options: ArgsAuthControllerCheckRights = {} + options: ArgsAuthControllerCheckRights = {}, ): Promise { const request = { action: "checkRights", @@ -113,7 +113,7 @@ export class AuthController extends BaseController { }; return this.query(request, options).then( - (response) => response.result.allowed + (response) => response.result.allowed, ); } @@ -129,7 +129,7 @@ export class AuthController extends BaseController { */ deleteApiKey( id: string, - options: ArgsAuthControllerDeleteApiKey = {} + options: ArgsAuthControllerDeleteApiKey = {}, ): Promise { const request = { _id: id, @@ -155,7 +155,7 @@ export class AuthController extends BaseController { */ searchApiKeys( query: JSONObject = {}, - options: ArgsAuthControllerSearchApiKeys = {} + options: ArgsAuthControllerSearchApiKeys = {}, ): Promise<{ /** * Array of found ApiKeys @@ -190,7 +190,7 @@ export class AuthController extends BaseController { */ checkToken( token?: string, - options: ArgsAuthControllerCheckToken = {} + options: ArgsAuthControllerCheckToken = {}, ): Promise<{ /** * Tell if the token is valid or not @@ -224,7 +224,7 @@ export class AuthController extends BaseController { body: { token }, cookieAuth, }, - { queuable: false, ...options } + { queuable: false, ...options }, ).then((response) => response.result); } @@ -245,7 +245,7 @@ export class AuthController extends BaseController { createMyCredentials( strategy: string, credentials: JSONObject, - options: ArgsAuthControllerCreateMyCredentials = {} + options: ArgsAuthControllerCreateMyCredentials = {}, ): Promise { return this.query( { @@ -253,7 +253,7 @@ export class AuthController extends BaseController { body: credentials, strategy, }, - options + options, ).then((response) => response.result); } @@ -271,14 +271,14 @@ export class AuthController extends BaseController { */ credentialsExist( strategy: string, - options: ArgsAuthControllerCredentialsExist = {} + options: ArgsAuthControllerCredentialsExist = {}, ): Promise { return this.query( { action: "credentialsExist", strategy, }, - options + options, ).then((response) => response.result); } @@ -294,14 +294,14 @@ export class AuthController extends BaseController { */ deleteMyCredentials( strategy: string, - options: ArgsAuthControllerDeleteMyCredentials = {} + options: ArgsAuthControllerDeleteMyCredentials = {}, ): Promise { return this.query( { action: "deleteMyCredentials", strategy, }, - options + options, ).then((response) => response.result.acknowledged); } @@ -317,16 +317,16 @@ export class AuthController extends BaseController { * @returns Currently logged User */ getCurrentUser( - options: ArgsAuthControllerGetCurrentUser = {} + options: ArgsAuthControllerGetCurrentUser = {}, ): Promise { return this.query( { action: "getCurrentUser", }, - options + options, ).then( (response) => - new User(this.kuzzle, response.result._id, response.result._source) + new User(this.kuzzle, response.result._id, response.result._source), ); } @@ -345,14 +345,14 @@ export class AuthController extends BaseController { */ getMyCredentials( strategy: string, - options: ArgsAuthControllerGetMyCredentials = {} + options: ArgsAuthControllerGetMyCredentials = {}, ): Promise { return this.query( { action: "getMyCredentials", strategy, }, - options + options, ).then((response) => response.result); } @@ -395,7 +395,7 @@ export class AuthController extends BaseController { { action: "getMyRights", }, - options + options, ).then((response) => response.result.hits); } @@ -411,13 +411,13 @@ export class AuthController extends BaseController { * @returns An array of available strategies names */ getStrategies( - options: ArgsAuthControllerGetStrategies = {} + options: ArgsAuthControllerGetStrategies = {}, ): Promise> { return this.query( { action: "getStrategies", }, - options + options, ).then((response) => response.result); } @@ -438,7 +438,7 @@ export class AuthController extends BaseController { strategy: string, credentials: JSONObject, expiresIn?: string | number, - options: ArgsAuthControllerLogin = {} + options: ArgsAuthControllerLogin = {}, ): Promise { const request = { action: "login", @@ -459,7 +459,7 @@ export class AuthController extends BaseController { if (this.kuzzle.cookieAuthentication) { if (response.result.jwt) { const err = new Error( - "Kuzzle support for cookie authentication is disabled or not supported" + "Kuzzle support for cookie authentication is disabled or not supported", ); this.kuzzle.emit("loginAttempt", { error: err.message, @@ -511,7 +511,7 @@ export class AuthController extends BaseController { action: "logout", cookieAuth: this.kuzzle.cookieAuthentication, }, - { queuable: false, timeout: -1, ...options } + { queuable: false, timeout: -1, ...options }, ); this._authenticationToken = null; /** @@ -553,7 +553,7 @@ export class AuthController extends BaseController { updateMyCredentials( strategy: string, credentials: JSONObject, - options: ArgsAuthControllerUpdateMyCredentials = {} + options: ArgsAuthControllerUpdateMyCredentials = {}, ): Promise { return this.query( { @@ -561,7 +561,7 @@ export class AuthController extends BaseController { body: credentials, strategy, }, - options + options, ).then((response) => response.result); } @@ -580,17 +580,17 @@ export class AuthController extends BaseController { */ updateSelf( content: JSONObject, - options: ArgsAuthControllerUpdateSelf = {} + options: ArgsAuthControllerUpdateSelf = {}, ): Promise { return this.query( { action: "updateSelf", body: content, }, - options + options, ).then( (response) => - new User(this.kuzzle, response.result._id, response.result._source) + new User(this.kuzzle, response.result._id, response.result._source), ); } @@ -608,7 +608,7 @@ export class AuthController extends BaseController { validateMyCredentials( strategy: string, credentials: JSONObject, - options: ArgsAuthControllerValidateMyCredentials = {} + options: ArgsAuthControllerValidateMyCredentials = {}, ): Promise { return this.query( { @@ -616,7 +616,7 @@ export class AuthController extends BaseController { body: credentials, strategy, }, - options + options, ).then((response) => response.result); } diff --git a/src/controllers/Base.ts b/src/controllers/Base.ts index b2dd82788..4f1c54557 100644 --- a/src/controllers/Base.ts +++ b/src/controllers/Base.ts @@ -17,7 +17,7 @@ export class BaseController { this._name = name; } - protected get kuzzle() { + get kuzzle() { return this._kuzzle; } diff --git a/src/controllers/Bulk.ts b/src/controllers/Bulk.ts index 5202a7c38..678d83367 100644 --- a/src/controllers/Bulk.ts +++ b/src/controllers/Bulk.ts @@ -28,7 +28,7 @@ export class BulkController extends BaseController { index: string, collection: string, query: JSONObject = {}, - options: ArgsBulkControllerDeleteByQuery = {} + options: ArgsBulkControllerDeleteByQuery = {}, ): Promise { const request = { action: "deleteByQuery", @@ -38,7 +38,7 @@ export class BulkController extends BaseController { }; return this.query(request, options).then( - (response) => response.result.deleted + (response) => response.result.deleted, ); } @@ -60,7 +60,7 @@ export class BulkController extends BaseController { index: string, collection: string, bulkData: Array, - options: ArgsBulkControllerImport = {} + options: ArgsBulkControllerImport = {}, ): Promise<{ /** * Array of successfully executed actions @@ -116,7 +116,7 @@ export class BulkController extends BaseController { collection, index, }, - options + options, ).then((response) => response.result); } @@ -140,7 +140,7 @@ export class BulkController extends BaseController { collection: string, query: JSONObject, changes: JSONObject, - options: ArgsBulkControllerUpdateByQuery = {} + options: ArgsBulkControllerUpdateByQuery = {}, ): Promise { const request = { action: "updateByQuery", @@ -150,7 +150,7 @@ export class BulkController extends BaseController { }; return this.query(request, options).then( - (response) => response.result.updated + (response) => response.result.updated, ); } @@ -176,7 +176,7 @@ export class BulkController extends BaseController { collection: string, document: JSONObject, id?: string, - options: ArgsBulkControllerWrite = {} + options: ArgsBulkControllerWrite = {}, ): Promise { return this.query( { @@ -187,7 +187,7 @@ export class BulkController extends BaseController { index, notify: options.notify, }, - options + options, ).then((response) => response.result); } @@ -220,7 +220,7 @@ export class BulkController extends BaseController { */ _source: JSONObject; }>, - options: ArgsBulkControllerMWrite = {} + options: ArgsBulkControllerMWrite = {}, ): Promise<{ /** * Array of successfully created/replaced documents @@ -252,7 +252,7 @@ export class BulkController extends BaseController { index, notify: options.notify, }, - options + options, ).then((response) => response.result); } } diff --git a/src/controllers/Collection.ts b/src/controllers/Collection.ts index 31d5e6137..d87d893da 100644 --- a/src/controllers/Collection.ts +++ b/src/controllers/Collection.ts @@ -37,7 +37,7 @@ export class CollectionController extends BaseController { settings?: JSONObject; } | CollectionMappings, - options: ArgsCollectionControllerCreate = {} + options: ArgsCollectionControllerCreate = {}, ): Promise { const request = { action: "create", @@ -63,7 +63,7 @@ export class CollectionController extends BaseController { deleteSpecifications( index: string, collection: string, - options: ArgsCollectionControllerDeleteSpecifications = {} + options: ArgsCollectionControllerDeleteSpecifications = {}, ): Promise { const request = { action: "deleteSpecifications", @@ -87,7 +87,7 @@ export class CollectionController extends BaseController { exists( index: string, collection: string, - options: ArgsCollectionControllerExists = {} + options: ArgsCollectionControllerExists = {}, ): Promise { return this.query( { @@ -95,7 +95,7 @@ export class CollectionController extends BaseController { collection, index, }, - options + options, ).then((response) => response.result); } @@ -114,7 +114,7 @@ export class CollectionController extends BaseController { refresh( index: string, collection: string, - options: ArgsCollectionControllerRefresh = {} + options: ArgsCollectionControllerRefresh = {}, ): Promise { return this.query( { @@ -122,7 +122,7 @@ export class CollectionController extends BaseController { collection, index, }, - options + options, ).then(() => undefined); } @@ -141,7 +141,7 @@ export class CollectionController extends BaseController { getMapping( index: string, collection: string, - options: ArgsCollectionControllerGetMapping = {} + options: ArgsCollectionControllerGetMapping = {}, ): Promise { const request = { action: "getMapping", @@ -169,7 +169,7 @@ export class CollectionController extends BaseController { getSpecifications( index: string, collection: string, - options: ArgsCollectionControllerGetSpecifications = {} + options: ArgsCollectionControllerGetSpecifications = {}, ): Promise { return this.query( { @@ -177,7 +177,7 @@ export class CollectionController extends BaseController { collection, index, }, - options + options, ).then((response) => response.result); } @@ -195,7 +195,7 @@ export class CollectionController extends BaseController { */ list( index: string, - options: ArgsCollectionControllerList = {} + options: ArgsCollectionControllerList = {}, ): Promise<{ /** * Types of returned collections. @@ -240,7 +240,7 @@ export class CollectionController extends BaseController { */ searchSpecifications( query: JSONObject = {}, - options: ArgsCollectionControllerSearchSpecifications = {} + options: ArgsCollectionControllerSearchSpecifications = {}, ): Promise { const request = { action: "searchSpecifications", @@ -257,8 +257,8 @@ export class CollectionController extends BaseController { this.kuzzle, request, options, - response.result - ) + response.result, + ), ); } @@ -276,7 +276,7 @@ export class CollectionController extends BaseController { truncate( index: string, collection: string, - options: ArgsCollectionControllerTruncate = {} + options: ArgsCollectionControllerTruncate = {}, ): Promise { const request = { action: "truncate", @@ -320,7 +320,7 @@ export class CollectionController extends BaseController { settings?: JSONObject; } | CollectionMappings, - options: ArgsCollectionControllerUpdate = {} + options: ArgsCollectionControllerUpdate = {}, ): Promise { return this.query( { @@ -329,7 +329,7 @@ export class CollectionController extends BaseController { collection, index, }, - options + options, ).then(() => undefined); } @@ -340,7 +340,7 @@ export class CollectionController extends BaseController { index: string, collection: string, mappings: CollectionMappings, - options: ArgsCollectionControllerUpdateMapping = {} + options: ArgsCollectionControllerUpdateMapping = {}, ): Promise { return this.query( { @@ -349,7 +349,7 @@ export class CollectionController extends BaseController { collection, index, }, - options + options, ).then((response) => response.result); } @@ -371,7 +371,7 @@ export class CollectionController extends BaseController { index: string, collection: string, specifications: JSONObject, - options: ArgsCollectionControllerUpdateSpecifications = {} + options: ArgsCollectionControllerUpdateSpecifications = {}, ): Promise { return this.query( { @@ -380,7 +380,7 @@ export class CollectionController extends BaseController { collection, index, }, - options + options, ).then((response) => response.result); } @@ -403,7 +403,7 @@ export class CollectionController extends BaseController { index: string, collection: string, specifications: JSONObject, - options: ArgsCollectionControllerValidateSpecifications = {} + options: ArgsCollectionControllerValidateSpecifications = {}, ): Promise<{ valid: boolean; details: Array; @@ -416,7 +416,7 @@ export class CollectionController extends BaseController { collection, index, }, - options + options, ).then((response) => response.result); } @@ -433,7 +433,7 @@ export class CollectionController extends BaseController { delete( index: string, collection: string, - options: ArgsCollectionControllerDelete = {} + options: ArgsCollectionControllerDelete = {}, ): Promise { const request = { action: "delete", @@ -464,8 +464,7 @@ export interface ArgsCollectionControllerList extends ArgsDefault { size?: number; } -export interface ArgsCollectionControllerSearchSpecifications - extends ArgsDefault { +export interface ArgsCollectionControllerSearchSpecifications extends ArgsDefault { from?: number; size?: number; scroll?: string; diff --git a/src/controllers/Document.ts b/src/controllers/Document.ts index cb8dbf364..aff8a923d 100644 --- a/src/controllers/Document.ts +++ b/src/controllers/Document.ts @@ -46,7 +46,7 @@ export class DocumentController extends BaseController { index: string, collection: string, body?: JSONObject, - options: ArgsDocumentControllerCount = {} + options: ArgsDocumentControllerCount = {}, ): Promise { const request = { action: "count", @@ -56,7 +56,7 @@ export class DocumentController extends BaseController { }; return this.query(request, options).then( - (response) => response.result.count + (response) => response.result.count, ); } @@ -81,7 +81,7 @@ export class DocumentController extends BaseController { collection: string, content: Partial, _id: string = null, - options: ArgsDocumentControllerCreate = {} + options: ArgsDocumentControllerCreate = {}, ): Promise> { const request = { _id, @@ -117,7 +117,7 @@ export class DocumentController extends BaseController { collection: string, _id: string, content: Partial, - options: ArgsDocumentControllerCreateOrReplace = {} + options: ArgsDocumentControllerCreateOrReplace = {}, ): Promise> { const request = { _id, @@ -151,7 +151,7 @@ export class DocumentController extends BaseController { index: string, collection: string, _id: string, - options: ArgsDocumentControllerDelete = {} + options: ArgsDocumentControllerDelete = {}, ): Promise { const request = { _id, @@ -185,7 +185,7 @@ export class DocumentController extends BaseController { index: string, collection: string, query: JSONObject = {}, - options: ArgsDocumentControllerDeleteByQuery = {} + options: ArgsDocumentControllerDeleteByQuery = {}, ): Promise { const request = { action: "deleteByQuery", @@ -221,7 +221,7 @@ export class DocumentController extends BaseController { collection: string, _id: string, fields: string[], - options: ArgsDocumentControllerDeleteFields = {} + options: ArgsDocumentControllerDeleteFields = {}, ): Promise> { const request = { _id, @@ -256,7 +256,7 @@ export class DocumentController extends BaseController { index: string, collection: string, _id: string, - options: ArgsDocumentControllerExists = {} + options: ArgsDocumentControllerExists = {}, ): Promise { const request = { _id, @@ -288,7 +288,7 @@ export class DocumentController extends BaseController { index: string, collection: string, _id: string, - options: ArgsDocumentControllerGet = {} + options: ArgsDocumentControllerGet = {}, ): Promise> { const request = { _id, @@ -321,7 +321,7 @@ export class DocumentController extends BaseController { index: string, collection: string, documents: mCreateRequest, - options: ArgsDocumentControllerMCreate = {} + options: ArgsDocumentControllerMCreate = {}, ): Promise { const request = { action: "mCreate", @@ -356,7 +356,7 @@ export class DocumentController extends BaseController { index: string, collection: string, documents: mCreateOrReplaceRequest, - options: ArgsDocumentControllerMCreateOrReplace = {} + options: ArgsDocumentControllerMCreateOrReplace = {}, ): Promise { const request = { action: "mCreateOrReplace", @@ -391,7 +391,7 @@ export class DocumentController extends BaseController { index: string, collection: string, ids: mDeleteRequest, - options: ArgsDocumentControllerMDelete = {} + options: ArgsDocumentControllerMDelete = {}, ): Promise { const request = { action: "mDelete", @@ -424,7 +424,7 @@ export class DocumentController extends BaseController { index: string, collection: string, ids: string[], - options: ArgsDocumentControllerMGet = {} + options: ArgsDocumentControllerMGet = {}, ): Promise<{ /** * Array of successfully retrieved documents @@ -466,7 +466,7 @@ export class DocumentController extends BaseController { index: string, collection: string, documents: mReplaceRequest, - options: ArgsDocumentControllerMReplace = {} + options: ArgsDocumentControllerMReplace = {}, ): Promise { const request = { action: "mReplace", @@ -505,7 +505,7 @@ export class DocumentController extends BaseController { index: string, collection: string, documents: mUpdateRequest, - options: ArgsDocumentControllerMUpdate = {} + options: ArgsDocumentControllerMUpdate = {}, ): Promise { const request = { action: "mUpdate", @@ -541,7 +541,7 @@ export class DocumentController extends BaseController { index: string, collection: string, documents: mUpsertRequest, - options: ArgsDocumentControllerMUpsert = {} + options: ArgsDocumentControllerMUpsert = {}, ): Promise { const request = { action: "mUpsert", @@ -576,7 +576,7 @@ export class DocumentController extends BaseController { collection: string, _id: string, content: Partial, - options: ArgsDocumentControllerReplace = {} + options: ArgsDocumentControllerReplace = {}, ): Promise> { const request = { _id, @@ -612,11 +612,11 @@ export class DocumentController extends BaseController { index: string, collection: string, searchBody: JSONObject = {}, - options: ArgsDocumentControllerSearch = {} + options: ArgsDocumentControllerSearch = {}, ): Promise>> { return this._search(index, collection, searchBody, options).then( ({ response, request, opts }) => - new DocumentSearchResult(this.kuzzle, request, opts, response.result) + new DocumentSearchResult(this.kuzzle, request, opts, response.result), ); } @@ -624,7 +624,7 @@ export class DocumentController extends BaseController { index: string, collection: string, body: JSONObject = {}, - options: JSONObject = {} + options: JSONObject = {}, ) { const request: any = { action: "search", @@ -676,7 +676,7 @@ export class DocumentController extends BaseController { collection: string, _id: string, content: Partial, - options: ArgsDocumentControllerUpdate = {} + options: ArgsDocumentControllerUpdate = {}, ): Promise> { const request = { _id, @@ -715,7 +715,7 @@ export class DocumentController extends BaseController { collection: string, query: JSONObject, changes: Partial, - options: ArgsDocumentControllerUpdateByQuery = {} + options: ArgsDocumentControllerUpdateByQuery = {}, ): Promise> { const request = { action: "updateByQuery", @@ -753,7 +753,7 @@ export class DocumentController extends BaseController { collection: string, _id: string, changes: Partial, - options: ArgsDocumentControllerUpsert = {} + options: ArgsDocumentControllerUpsert = {}, ): Promise> { const request = { _id, @@ -786,7 +786,7 @@ export class DocumentController extends BaseController { index: string, collection: string, content: TKDocumentContent, - options: ArgsDocumentControllerValidate = {} + options: ArgsDocumentControllerValidate = {}, ): Promise { return this.query( { @@ -795,7 +795,7 @@ export class DocumentController extends BaseController { collection, index, }, - options + options, ).then((response) => response.result); } } @@ -908,8 +908,9 @@ export interface ArgsDocumentControllerUpdateByQuery extends ArgsDefault { lang?: string; } -export interface ArgsDocumentControllerUpsert - extends ArgsDefault { +export interface ArgsDocumentControllerUpsert< + TKDocumentContent, +> extends ArgsDefault { default?: Partial; refresh?: "wait_for" | "false"; silent?: boolean; diff --git a/src/controllers/Index.ts b/src/controllers/Index.ts index b22d075b6..861fc2a31 100644 --- a/src/controllers/Index.ts +++ b/src/controllers/Index.ts @@ -18,7 +18,7 @@ export class IndexController extends BaseController { */ create( index: string, - options: ArgsIndexControllerCreate = {} + options: ArgsIndexControllerCreate = {}, ): Promise { const request = { action: "create", @@ -39,7 +39,7 @@ export class IndexController extends BaseController { */ delete( index: string, - options: ArgsIndexControllerDelete = {} + options: ArgsIndexControllerDelete = {}, ): Promise { const request = { action: "delete", @@ -60,14 +60,14 @@ export class IndexController extends BaseController { */ exists( index: string, - options: ArgsIndexControllerExists = {} + options: ArgsIndexControllerExists = {}, ): Promise { return this.query( { action: "exists", index, }, - options + options, ).then((response) => response.result); } @@ -85,7 +85,7 @@ export class IndexController extends BaseController { { action: "list", }, - options + options, ).then((response) => response.result.indexes); } @@ -103,7 +103,7 @@ export class IndexController extends BaseController { */ mDelete( indexes: Array, - options: ArgsIndexControllerMDelete = {} + options: ArgsIndexControllerMDelete = {}, ): Promise> { const request = { action: "mDelete", @@ -113,7 +113,7 @@ export class IndexController extends BaseController { }; return this.query(request, options).then( - (response) => response.result.deleted + (response) => response.result.deleted, ); } @@ -131,7 +131,7 @@ export class IndexController extends BaseController { { action: "stats", }, - options + options, ).then((response) => response.result); } } diff --git a/src/controllers/MemoryStorage.js b/src/controllers/MemoryStorage.ts similarity index 92% rename from src/controllers/MemoryStorage.js rename to src/controllers/MemoryStorage.ts index 4c5b2387e..ac0ef029d 100644 --- a/src/controllers/MemoryStorage.js +++ b/src/controllers/MemoryStorage.ts @@ -1,35 +1,48 @@ -const { BaseController } = require("./Base"); +import { BaseController } from "./Base"; -/* eslint sort-keys: 0 */ +type CommandOptionsMapper = (data: any, options: any) => void; + +type CommandDefinition = { + getter?: boolean; + required?: string[]; + opts?: string[] | CommandOptionsMapper; + mapResults?: (results: any) => any; +}; // Parameter mutualization -const getId = { getter: true, required: ["_id"] }; -const getIdField = { getter: true, required: ["_id", "field"] }; -const getKeys = { getter: true, required: ["keys"] }; -const getMember = { getter: true, required: ["_id", "member"] }; -const getxScan = { +const getId: CommandDefinition = { getter: true, required: ["_id"] }; +const getIdField: CommandDefinition = { + getter: true, + required: ["_id", "field"], +}; +const getKeys: CommandDefinition = { getter: true, required: ["keys"] }; +const getMember: CommandDefinition = { + getter: true, + required: ["_id", "member"], +}; +const getxScan: CommandDefinition = { getter: true, required: ["_id", "cursor"], opts: ["match", "count"], mapResults: mapScanResults, }; -const getZrange = { +const getZrange: CommandDefinition = { getter: true, required: ["_id", "start", "stop"], opts: assignZrangeOptions, mapResults: mapZrangeResults, }; -const getZrangeBy = { +const getZrangeBy: CommandDefinition = { getter: true, required: ["_id", "min", "max"], opts: assignZrangeOptions, mapResults: mapZrangeResults, }; -const setId = { required: ["_id"] }; -const setIdValue = { required: ["_id", "value"] }; +const setId: CommandDefinition = { required: ["_id"] }; +const setIdValue: CommandDefinition = { required: ["_id", "value"] }; // Redis commands -const commands = { +const commands: Record = { append: setIdValue, bitcount: { getter: true, required: ["_id"], opts: ["start", "end"] }, bitop: { required: ["_id", "operation", "keys"] }, @@ -219,11 +232,9 @@ const commands = { * - script based functions * - transaction functions * - * @param {object} kuzzle - Kuzzle instance to inherit from - * @constructor */ -class MemoryStorageController extends BaseController { - constructor(kuzzle) { +export class MemoryStorageController extends BaseController { + constructor(kuzzle: any) { super(kuzzle, "ms"); } } @@ -231,12 +242,14 @@ class MemoryStorageController extends BaseController { // Dynamically builds this class' prototypes using the "commands" global variable for (const action of Object.keys(commands)) { // eslint-disable-next-line no-loop-func - MemoryStorageController.prototype[action] = function (...args) { + (MemoryStorageController.prototype as any)[action] = function ( + ...args: any[] + ) { const command = commands[action]; - const request = { + const request: any = { action, }; - const options = {}; + const options: any = {}; if (!command.getter) { request.body = {}; @@ -259,7 +272,7 @@ for (const action of Object.keys(commands)) { if (args.length) { if (typeof args[0] !== "object" || Array.isArray(args[0])) { throw new Error( - `ms.${action}: invalid optional paramater (expected an object` + `ms.${action}: invalid optional paramater (expected an object`, ); } @@ -390,7 +403,7 @@ function mapGeoRadiusResults(results) { return results.map(function (point) { // The point id is always the first item - const p = { + const p: any = { name: point.shift(), }; @@ -497,5 +510,3 @@ function mapScanResults(results) { values: results[1], }; } - -module.exports = { MemoryStorageController }; diff --git a/src/controllers/Realtime.ts b/src/controllers/Realtime.ts index 608379fb0..eb98c48f7 100644 --- a/src/controllers/Realtime.ts +++ b/src/controllers/Realtime.ts @@ -80,14 +80,14 @@ export class RealtimeController extends BaseController { */ count( roomId: string, - options: ArgsRealtimeControllerCount = {} + options: ArgsRealtimeControllerCount = {}, ): Promise { return this.query( { action: "count", body: { roomId }, }, - options + options, ).then((response) => response.result.count); } @@ -111,7 +111,7 @@ export class RealtimeController extends BaseController { index: string, collection: string, message: JSONObject, - options: ArgsRealtimeControllerPublish = {} + options: ArgsRealtimeControllerPublish = {}, ): Promise { const request = { _id: options._id, @@ -122,7 +122,7 @@ export class RealtimeController extends BaseController { }; return this.query(request, options).then( - (response) => response.result.published + (response) => response.result.published, ); } @@ -152,7 +152,7 @@ export class RealtimeController extends BaseController { collection: string, filters: JSONObject, callback: (notification: Notification) => void | Promise, - options: ArgsRealtimeControllerSubscribe = {} + options: ArgsRealtimeControllerSubscribe = {}, ): Promise { const room = new Room(this, index, collection, filters, callback, options); @@ -175,7 +175,7 @@ export class RealtimeController extends BaseController { */ unsubscribe( roomId: string, - options: ArgsRealtimeControllerUnsubscribe = {} + options: ArgsRealtimeControllerUnsubscribe = {}, ): Promise { const request = { action: "unsubscribe", @@ -237,7 +237,7 @@ export class RealtimeController extends BaseController { room .subscribe() .catch(() => - this.kuzzle.emit("discarded", { request: room.request }) + this.kuzzle.emit("discarded", { request: room.request }), ); } diff --git a/src/controllers/Security.ts b/src/controllers/Security.ts index b16aae984..49049d59b 100644 --- a/src/controllers/Security.ts +++ b/src/controllers/Security.ts @@ -27,7 +27,7 @@ export class SecurityController extends BaseController { createApiKey( userId, description, - options: ArgsSecurityControllerCreateApiKey = {} + options: ArgsSecurityControllerCreateApiKey = {}, ) { const request = { _id: options._id, @@ -52,7 +52,7 @@ export class SecurityController extends BaseController { checkRights( kuid, requestPayload, - options: ArgsSecurityControllerCheckRights = {} + options: ArgsSecurityControllerCheckRights = {}, ) { const request = { action: "checkRights", @@ -61,7 +61,7 @@ export class SecurityController extends BaseController { }; return this.query(request, options).then( - (response) => response.result.allowed + (response) => response.result.allowed, ); } @@ -97,7 +97,7 @@ export class SecurityController extends BaseController { searchApiKeys( userId, query = {}, - options: ArgsSecurityControllerSearchApiKeys = {} + options: ArgsSecurityControllerSearchApiKeys = {}, ) { const request = { action: "searchApiKeys", @@ -115,7 +115,7 @@ export class SecurityController extends BaseController { strategy, _id, body, - options: ArgsSecurityControllerCreateCredentials = {} + options: ArgsSecurityControllerCreateCredentials = {}, ) { return this.query( { @@ -124,14 +124,14 @@ export class SecurityController extends BaseController { body, strategy, }, - options + options, ).then((response) => response.result); } createFirstAdmin( _id, body, - options: ArgsSecurityControllerCreateFirstAdmin = {} + options: ArgsSecurityControllerCreateFirstAdmin = {}, ) { const request = { _id, @@ -142,14 +142,14 @@ export class SecurityController extends BaseController { return this.query(request, options).then( (response) => - new User(this.kuzzle, response.result._id, response.result._source) + new User(this.kuzzle, response.result._id, response.result._source), ); } createOrReplaceProfile( _id, body, - options: ArgsSecurityControllerCreateOrReplaceProfile = {} + options: ArgsSecurityControllerCreateOrReplaceProfile = {}, ) { const request = { _id, @@ -159,14 +159,14 @@ export class SecurityController extends BaseController { return this.query(request, options).then( (response) => - new Profile(this.kuzzle, response.result._id, response.result._source) + new Profile(this.kuzzle, response.result._id, response.result._source), ); } createOrReplaceRole( _id, body, - options: ArgsSecurityControllerCreateOrReplaceRole = {} + options: ArgsSecurityControllerCreateOrReplaceRole = {}, ) { const request = { _id, @@ -179,8 +179,8 @@ export class SecurityController extends BaseController { new Role( this.kuzzle, response.result._id, - response.result._source.controllers - ) + response.result._source.controllers, + ), ); } @@ -193,14 +193,14 @@ export class SecurityController extends BaseController { return this.query(request, options).then( (response) => - new Profile(this.kuzzle, response.result._id, response.result._source) + new Profile(this.kuzzle, response.result._id, response.result._source), ); } createRestrictedUser( body, _id = null, - options: ArgsSecurityControllerCreateRestrictedUser = {} + options: ArgsSecurityControllerCreateRestrictedUser = {}, ) { if (!body.content) { body.content = {}; @@ -214,7 +214,7 @@ export class SecurityController extends BaseController { return this.query(request, options).then( (response) => - new User(this.kuzzle, response.result._id, response.result._source) + new User(this.kuzzle, response.result._id, response.result._source), ); } @@ -230,8 +230,8 @@ export class SecurityController extends BaseController { new Role( this.kuzzle, response.result._id, - response.result._source.controllers - ) + response.result._source.controllers, + ), ); } @@ -244,14 +244,14 @@ export class SecurityController extends BaseController { return this.query(request, options).then( (response) => - new User(this.kuzzle, response.result._id, response.result._source) + new User(this.kuzzle, response.result._id, response.result._source), ); } deleteCredentials( strategy, _id, - options: ArgsSecurityControllerDeleteCredentials = {} + options: ArgsSecurityControllerDeleteCredentials = {}, ) { const request = { _id, @@ -287,33 +287,33 @@ export class SecurityController extends BaseController { } getAllCredentialFields( - options: ArgsSecurityControllerGetAllCredentialFields = {} + options: ArgsSecurityControllerGetAllCredentialFields = {}, ) { return this.query( { action: "getAllCredentialFields", }, - options + options, ).then((response) => response.result); } getCredentialFields( strategy, - options: ArgsSecurityControllerGetCredentialFields = {} + options: ArgsSecurityControllerGetCredentialFields = {}, ) { return this.query( { action: "getCredentialFields", strategy, }, - options + options, ).then((response) => response.result); } getCredentials( strategy, _id, - options: ArgsSecurityControllerGetCredentials = {} + options: ArgsSecurityControllerGetCredentials = {}, ) { return this.query( { @@ -321,14 +321,14 @@ export class SecurityController extends BaseController { action: "getCredentials", strategy, }, - options + options, ).then((response) => response.result); } getCredentialsById( strategy, _id, - options: ArgsSecurityControllerGetCredentialsById = {} + options: ArgsSecurityControllerGetCredentialsById = {}, ) { return this.query( { @@ -336,14 +336,14 @@ export class SecurityController extends BaseController { action: "getCredentialsById", strategy, }, - options + options, ).then((response) => response.result); } getProfile(_id, options: ArgsSecurityControllerGetProfile = {}) { return this.query({ _id, action: "getProfile" }, options).then( (response) => - new Profile(this.kuzzle, response.result._id, response.result._source) + new Profile(this.kuzzle, response.result._id, response.result._source), ); } @@ -352,7 +352,7 @@ export class SecurityController extends BaseController { { action: "getProfileMapping", }, - options + options, ).then((response) => response.result); } @@ -362,7 +362,7 @@ export class SecurityController extends BaseController { _id, action: "getProfileRights", }, - options + options, ).then((response) => response.result.hits); } @@ -372,14 +372,14 @@ export class SecurityController extends BaseController { _id, action: "getRole", }, - options + options, ).then( (response) => new Role( this.kuzzle, response.result._id, - response.result._source.controllers - ) + response.result._source.controllers, + ), ); } @@ -388,7 +388,7 @@ export class SecurityController extends BaseController { { action: "getRoleMapping", }, - options + options, ).then((response) => response.result); } @@ -398,10 +398,10 @@ export class SecurityController extends BaseController { _id, action: "getUser", }, - options + options, ).then( (response) => - new User(this.kuzzle, response.result._id, response.result._source) + new User(this.kuzzle, response.result._id, response.result._source), ); } @@ -410,7 +410,7 @@ export class SecurityController extends BaseController { { action: "getUserMapping", }, - options + options, ).then((response) => response.result); } @@ -420,27 +420,27 @@ export class SecurityController extends BaseController { _id, action: "getUserRights", }, - options + options, ).then((response) => response.result.hits); } getUserStrategies( _id, - options: ArgsSecurityControllerGetUserStrategies = {} + options: ArgsSecurityControllerGetUserStrategies = {}, ) { return this.query( { _id, action: "getUserStrategies", }, - options + options, ).then((response) => response.result.strategies); } hasCredentials( strategy, _id, - options: ArgsSecurityControllerHasCredentials = {} + options: ArgsSecurityControllerHasCredentials = {}, ) { return this.query( { @@ -448,7 +448,7 @@ export class SecurityController extends BaseController { action: "hasCredentials", strategy, }, - options + options, ).then((response) => response.result); } @@ -483,8 +483,8 @@ export class SecurityController extends BaseController { return this.query({ action: "mGetProfiles", body: { ids } }, options).then( (response) => response.result.hits.map( - (hit) => new Profile(this.kuzzle, hit._id, hit._source) - ) + (hit) => new Profile(this.kuzzle, hit._id, hit._source), + ), ); } @@ -496,8 +496,8 @@ export class SecurityController extends BaseController { return this.query(request, options).then((response) => response.result.hits.map( - (hit) => new User(this.kuzzle, hit._id, hit._source) - ) + (hit) => new User(this.kuzzle, hit._id, hit._source), + ), ); } @@ -507,11 +507,11 @@ export class SecurityController extends BaseController { action: "mGetRoles", body: { ids }, }, - options + options, ).then((response) => response.result.hits.map( - (hit) => new Role(this.kuzzle, hit._id, hit._source.controllers) - ) + (hit) => new Role(this.kuzzle, hit._id, hit._source.controllers), + ), ); } @@ -521,7 +521,7 @@ export class SecurityController extends BaseController { action: "refresh", collection, }, - options + options, ); } @@ -533,7 +533,7 @@ export class SecurityController extends BaseController { }; return this.query(request, options).then( (response) => - new User(this.kuzzle, response.result._id, response.result._source) + new User(this.kuzzle, response.result._id, response.result._source), ); } @@ -548,7 +548,7 @@ export class SecurityController extends BaseController { return this.query(request, options).then( (response) => - new ProfileSearchResult(this.kuzzle, request, options, response.result) + new ProfileSearchResult(this.kuzzle, request, options, response.result), ); } @@ -563,7 +563,7 @@ export class SecurityController extends BaseController { return this.query(request, options).then( (response) => - new RoleSearchResult(this.kuzzle, request, options, response.result) + new RoleSearchResult(this.kuzzle, request, options, response.result), ); } @@ -578,7 +578,7 @@ export class SecurityController extends BaseController { return this.query(request, options).then( (response) => - new UserSearchResult(this.kuzzle, request, options, response.result) + new UserSearchResult(this.kuzzle, request, options, response.result), ); } @@ -586,7 +586,7 @@ export class SecurityController extends BaseController { strategy, _id, body, - options: ArgsSecurityControllerUpdateCredentials = {} + options: ArgsSecurityControllerUpdateCredentials = {}, ) { return this.query( { @@ -595,7 +595,7 @@ export class SecurityController extends BaseController { body, strategy, }, - options + options, ).then((response) => response.result); } @@ -608,20 +608,20 @@ export class SecurityController extends BaseController { return this.query(request, options).then( (response) => - new Profile(this.kuzzle, response.result._id, response.result._source) + new Profile(this.kuzzle, response.result._id, response.result._source), ); } updateProfileMapping( body, - options: ArgsSecurityControllerUpdateProfileMapping = {} + options: ArgsSecurityControllerUpdateProfileMapping = {}, ) { return this.query( { action: "updateProfileMapping", body, }, - options + options, ).then((response) => response.result); } @@ -638,21 +638,21 @@ export class SecurityController extends BaseController { new Role( this.kuzzle, response.result._id, - response.result._source.controllers - ) + response.result._source.controllers, + ), ); } updateRoleMapping( body, - options: ArgsSecurityControllerUpdateRoleMapping = {} + options: ArgsSecurityControllerUpdateRoleMapping = {}, ) { return this.query( { action: "updateRoleMapping", body, }, - options + options, ).then((response) => response.result); } @@ -664,20 +664,20 @@ export class SecurityController extends BaseController { }; return this.query(request, options).then( (response) => - new User(this.kuzzle, response.result._id, response.result._source) + new User(this.kuzzle, response.result._id, response.result._source), ); } updateUserMapping( body, - options: ArgsSecurityControllerUpdateUserMapping = {} + options: ArgsSecurityControllerUpdateUserMapping = {}, ) { return this.query( { action: "updateUserMapping", body, }, - options + options, ).then((response) => response.result); } @@ -685,7 +685,7 @@ export class SecurityController extends BaseController { strategy, _id, body, - options: ArgsSecurityControllerValidateCredentials = {} + options: ArgsSecurityControllerValidateCredentials = {}, ) { return this.query( { @@ -694,7 +694,7 @@ export class SecurityController extends BaseController { body, strategy, }, - options + options, ).then((response) => response.result); } } diff --git a/src/controllers/Server.ts b/src/controllers/Server.ts index d080785b7..cb1374e94 100644 --- a/src/controllers/Server.ts +++ b/src/controllers/Server.ts @@ -24,7 +24,7 @@ export class ServerController extends BaseController { { action: "adminExists", }, - options + options, ).then((response) => response.result.exists); } @@ -39,7 +39,7 @@ export class ServerController extends BaseController { { action: "capabilities", }, - options + options, ).then((response) => response.result); } @@ -54,7 +54,7 @@ export class ServerController extends BaseController { { action: "getAllStats", }, - options + options, ).then((response) => response.result); } @@ -69,7 +69,7 @@ export class ServerController extends BaseController { { action: "getConfig", }, - options + options, ).then((response) => response.result); } @@ -84,7 +84,7 @@ export class ServerController extends BaseController { { action: "getLastStats", }, - options + options, ).then((response) => response.result); } @@ -99,7 +99,7 @@ export class ServerController extends BaseController { getStats( startTime: number | string, stopTime: number | string, - options: ArgsServerControllerGetStats + options: ArgsServerControllerGetStats, ) { return this.query( { @@ -107,7 +107,7 @@ export class ServerController extends BaseController { startTime, stopTime, }, - options + options, ).then((response) => response.result); } @@ -122,7 +122,7 @@ export class ServerController extends BaseController { { action: "info", }, - options + options, ).then((response) => response.result); } @@ -137,7 +137,7 @@ export class ServerController extends BaseController { { action: "now", }, - options + options, ).then((response) => response.result.now); } } diff --git a/src/core/Jwt.js b/src/core/Jwt.ts similarity index 65% rename from src/core/Jwt.js rename to src/core/Jwt.ts index f0d3219ae..75d1011ac 100644 --- a/src/core/Jwt.js +++ b/src/core/Jwt.ts @@ -1,12 +1,10 @@ -"use strict"; - // atob is not available in React Native // https://stackoverflow.com/questions/42829838/react-native-atob-btoa-not-working-without-remote-js-debugging const base64Charset = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="; -const decodeBase64 = (input) => { +const decodeBase64 = (input: string): string => { const str = input.replace(/=+$/, ""); let output = ""; @@ -27,8 +25,17 @@ const decodeBase64 = (input) => { return output; }; -class Jwt { - constructor(encodedJwt) { +interface JwtPayload { + _id?: string; + exp?: number; +} + +export class Jwt { + private _encodedJwt: string; + private _userId: string | null; + private _expiresAt: number | null; + + constructor(encodedJwt: string) { this._encodedJwt = encodedJwt; this._userId = null; @@ -37,39 +44,41 @@ class Jwt { this._decode(); } - get encodedJwt() { + get encodedJwt(): string { return this._encodedJwt; } - get userId() { + get userId(): string | null { return this._userId; } - get expiresAt() { + get expiresAt(): number | null { return this._expiresAt; } - get expired() { - return Math.round(Date.now() / 1000) > this.expiresAt; + get expired(): boolean { + const expiresAt = this._expiresAt; + + return expiresAt === null + ? true + : Math.round(Date.now() / 1000) > expiresAt; } - _decode() { + private _decode(): void { const payloadRaw = this._encodedJwt.split(".")[1]; if (!payloadRaw) { throw new Error("Invalid JWT format"); } - let payload; + let payload: JwtPayload; try { payload = JSON.parse(decodeBase64(payloadRaw)); } catch (error) { throw new Error("Invalid JSON payload for JWT"); } - this._userId = payload._id; - this._expiresAt = payload.exp; + this._userId = payload._id ?? null; + this._expiresAt = payload.exp ?? null; } } - -module.exports = { Jwt }; diff --git a/src/core/KuzzleEventEmitter.ts b/src/core/KuzzleEventEmitter.ts index 27608a853..ba50b8c5b 100644 --- a/src/core/KuzzleEventEmitter.ts +++ b/src/core/KuzzleEventEmitter.ts @@ -70,7 +70,7 @@ export class KuzzleEventEmitter { addListener( eventName: PrivateAndPublicSDKEvents, listener: ListenerFunction, - once = false + once = false, ) { if (!eventName || !listener) { return this; @@ -81,7 +81,7 @@ export class KuzzleEventEmitter { if (listenerType !== "function") { throw new Error( - `Invalid listener type: expected a function, got a ${listenerType}` + `Invalid listener type: expected a function, got a ${listenerType}`, ); } @@ -98,7 +98,7 @@ export class KuzzleEventEmitter { on( eventName: PrivateAndPublicSDKEvents, - listener: (args: any) => void + listener: (args: any) => void, ): this { return this.addListener(eventName, listener); } @@ -114,7 +114,7 @@ export class KuzzleEventEmitter { if (!this._exists(this._events.get(eventName), listener)) { const listeners = [new Listener(listener, once)].concat( - this._events.get(eventName) + this._events.get(eventName), ); this._events.set(eventName, listeners); @@ -137,7 +137,7 @@ export class KuzzleEventEmitter { removeListener( eventName: PrivateAndPublicSDKEvents, - listener: () => void + listener: () => void, ): this; removeListener(eventName: string, listener: () => void): this; removeListener(eventName: string, listener: (...args: unknown[]) => void) { diff --git a/src/core/Observer.ts b/src/core/Observer.ts index a2f85a708..04cbf9647 100644 --- a/src/core/Observer.ts +++ b/src/core/Observer.ts @@ -68,7 +68,7 @@ type CollectionUrn = string; function documentUrn( index: string, collection: string, - id: string + id: string, ): DocumentUrn { return `${index}:${collection}:${id}`; } @@ -197,7 +197,7 @@ export class Observer { stop( index?: string, collection?: string, - documents?: Array<{ _id: string }> + documents?: Array<{ _id: string }>, ): Promise { if (index && collection && documents) { return this.disposeDocuments(index, collection, documents); @@ -217,10 +217,10 @@ export class Observer { private disposeDocuments( index: string, collection: string, - documents: Array<{ _id: string }> + documents: Array<{ _id: string }>, ): Promise { const observedDocuments = this.documentsByCollection.get( - collectionUrn(index, collection) + collectionUrn(index, collection), ); for (const document of documents) { @@ -238,7 +238,7 @@ export class Observer { private disposeCollection(index: string, collection: string): Promise { const observedDocuments = this.documentsByCollection.get( - collectionUrn(index, collection) + collectionUrn(index, collection), ); for (const id of observedDocuments.ids) { @@ -295,12 +295,12 @@ export class Observer { index: string, collection: string, id: string, - options: ArgsDocumentControllerGet = {} + options: ArgsDocumentControllerGet = {}, ): Promise> { return this.sdk.document .get(index, collection, id, options) .then((document) => - this.observe(index, collection, document) + this.observe(index, collection, document), ); } @@ -319,7 +319,7 @@ export class Observer { index: string, collection: string, ids: string[], - options: ArgsDocumentControllerMGet = {} + options: ArgsDocumentControllerMGet = {}, ): Promise<{ /** * Array of successfully retrieved documents @@ -362,21 +362,21 @@ export class Observer { index: string, collection: string, searchBody: JSONObject = {}, - options: ArgsDocumentControllerSearch = {} + options: ArgsDocumentControllerSearch = {}, ): Promise> { // eslint-disable-next-line dot-notation return this.sdk.document["_search"]( index, collection, searchBody, - options + options, ).then(({ response, request, opts }) => { const result = new RealtimeDocumentSearchResult( this.sdk, request, opts, response.result, - this + this, ); return result.start(); @@ -395,7 +395,7 @@ export class Observer { observe( index: string, collection: string, - document: KDocument + document: KDocument, ): Promise> { const rtDocument = this.addDocument(index, collection, document); @@ -412,7 +412,7 @@ export class Observer { addDocument( index: string, collection: string, - document: KDocument + document: KDocument, ): RealtimeDocument { const rtDocument = new RealtimeDocument(document); @@ -421,7 +421,7 @@ export class Observer { if (!this.documentsByCollection.has(urn)) { this.documentsByCollection.set( urn, - new ObservedDocuments(index, collection) + new ObservedDocuments(index, collection), ); } @@ -431,7 +431,7 @@ export class Observer { this.documents.set( documentUrn(index, collection, document._id), - rtDocument + rtDocument, ); return rtDocument; @@ -458,7 +458,7 @@ export class Observer { if (this.documentsByCollection.size !== 0) { this.pullingTimer = setInterval( this.pullingHandler.bind(this), - this.options.pullingDelay + this.options.pullingDelay, ); } } @@ -477,14 +477,14 @@ export class Observer { .mGet( observedDocuments.index, observedDocuments.collection, - observedDocuments.ids + observedDocuments.ids, ) .then(({ successes, errors }) => { for (const document of successes) { const urn = documentUrn( observedDocuments.index, observedDocuments.collection, - document._id + document._id, ); const rtDocument = this.documents.get(urn); @@ -495,7 +495,7 @@ export class Observer { const urn = documentUrn( observedDocuments.index, observedDocuments.collection, - deletedDocumentId + deletedDocumentId, ); const rtDocument = this.documents.get(urn); @@ -510,8 +510,8 @@ export class Observer { this.documentsByCollection.delete( collectionUrn( observedDocuments.index, - observedDocuments.collection - ) + observedDocuments.collection, + ), ); } } @@ -542,7 +542,7 @@ export class Observer { */ private resubscribe(index: string, collection: string): Promise { const observedDocuments = this.documentsByCollection.get( - collectionUrn(index, collection) + collectionUrn(index, collection), ); if (!observedDocuments) { @@ -561,7 +561,7 @@ export class Observer { index, collection, observedDocuments.filters, - this.notificationHandler.bind(this) + this.notificationHandler.bind(this), ) .then((roomId) => { const oldRoomId = observedDocuments.roomId; @@ -580,7 +580,7 @@ export class Observer { * @internal */ private notificationHandler( - notification: DocumentNotification + notification: DocumentNotification, ): Promise { const { index, collection, result } = notification; @@ -602,7 +602,7 @@ export class Observer { this.documents.delete(documentUrn(index, collection, rtDocument._id)); const observedDocuments = this.documentsByCollection.get( - collectionUrn(index, collection) + collectionUrn(index, collection), ); observedDocuments.delete(result._id); diff --git a/src/core/RealtimeDocument.ts b/src/core/RealtimeDocument.ts index 5a725e34b..aeb84e914 100644 --- a/src/core/RealtimeDocument.ts +++ b/src/core/RealtimeDocument.ts @@ -7,7 +7,7 @@ import { KDocumentContentGeneric } from "../types"; * Use the `Observer` class to manipulate such documents. */ export class RealtimeDocument< - TKDocumentContent extends KDocumentContentGeneric + TKDocumentContent extends KDocumentContentGeneric, > { /** * Document ID diff --git a/src/core/Room.js b/src/core/Room.ts similarity index 51% rename from src/core/Room.js rename to src/core/Room.ts index 1e9bc86d9..f1a21ab51 100644 --- a/src/core/Room.js +++ b/src/core/Room.ts @@ -1,15 +1,64 @@ -"use strict"; +import type { + ArgsRealtimeControllerSubscribe, + RealtimeController, +} from "../controllers/Realtime"; +import type { JSONObject, Notification } from "../types"; + +type SubscribeResponse = { + result: { + channel: string; + roomId: string; + }; +}; + +type RoomOptions = ArgsRealtimeControllerSubscribe & { + autoResubscribe?: boolean; + state?: string; +}; + +type SubscribeRequest = { + action: "subscribe"; + body: JSONObject; + collection: string; + controller: "realtime"; + index: string; + scope?: RoomOptions["scope"]; + state?: RoomOptions["state"]; + users?: RoomOptions["users"]; + volatile?: RoomOptions["volatile"]; +}; + +type RoomCallback = (notification: Notification) => void | Promise; class Room { + public controller: RealtimeController; + public index: string; + public collection: string; + public callback: RoomCallback; + public options: RoomOptions; + public id: string = null; + public channel: string = null; + public request: SubscribeRequest; + public autoResubscribe: boolean; + public subscribeToSelf: boolean; + private _kuzzle: any; + /** - * @param {RealtimeController} controller - * @param {string} index - * @param {string} collection - * @param {object} body - * @param {function} callback - * @param {object} options + * @param controller + * @param index + * @param collection + * @param body + * @param callback + * @param options */ - constructor(controller, index, collection, body, callback, options = {}) { + constructor( + controller: RealtimeController, + index: string, + collection: string, + body: JSONObject, + callback: RoomCallback, + options: RoomOptions = {}, + ) { Reflect.defineProperty(this, "_kuzzle", { value: controller.kuzzle, }); @@ -22,7 +71,6 @@ class Room { this.id = null; this.channel = null; - // format complete request from body & options this.request = { action: "subscribe", body, @@ -44,7 +92,6 @@ class Room { ? options.subscribeToSelf : true; - // force bind for further event listener calls this._channelListener = this._channelListener.bind(this); } @@ -52,26 +99,26 @@ class Room { return this._kuzzle; } - subscribe() { - return this.kuzzle.query(this.request, this.options).then((response) => { - this.id = response.result.roomId; - this.channel = response.result.channel; + subscribe(): Promise { + return this.kuzzle + .query(this.request, this.options) + .then((response: SubscribeResponse) => { + this.id = response.result.roomId; + this.channel = response.result.channel; - // we rely on kuzzle event emitter to not duplicate the listeners here - this.kuzzle.protocol.on(this.channel, this._channelListener); + this.kuzzle.protocol.on(this.channel, this._channelListener); - return response; - }); + return response; + }); } - removeListeners() { + removeListeners(): void { if (this.channel) { this.kuzzle.protocol.removeListener(this.channel, this._channelListener); } } - _channelListener(data) { - // intercept token expiration messages and relay them to kuzzle + private _channelListener(data: any): void { if (data.type === "TokenExpired") { return this.kuzzle.tokenExpired(); } @@ -100,4 +147,5 @@ class Room { } } +export default Room; module.exports = Room; diff --git a/src/core/batchWriter/BatchBuffer.ts b/src/core/batchWriter/BatchBuffer.ts index 92eaa29ae..dd91dd686 100644 --- a/src/core/batchWriter/BatchBuffer.ts +++ b/src/core/batchWriter/BatchBuffer.ts @@ -41,7 +41,7 @@ export class BatchBuffer { collection: string, body: JSONObject, _id?: string, - options?: JSONObject + options?: JSONObject, ): { idx: number; promise: InstrumentablePromise } { if (!this.indexes.has(index)) { this.indexes.set(index, new Map()); diff --git a/src/core/batchWriter/BatchController.ts b/src/core/batchWriter/BatchController.ts index bb6171978..b3a5a7912 100644 --- a/src/core/batchWriter/BatchController.ts +++ b/src/core/batchWriter/BatchController.ts @@ -44,7 +44,7 @@ export class BatchController extends DocumentController { */ constructor( sdk: Kuzzle, - { interval = 10, maxWriteBufferSize = 200, maxReadBufferSize = 200 } = {} + { interval = 10, maxWriteBufferSize = 200, maxReadBufferSize = 200 } = {}, ) { super(sdk); @@ -85,14 +85,14 @@ export class BatchController extends DocumentController { collection: string, content: Partial, _id?: string, - options?: ArgsDocumentControllerCreate + options?: ArgsDocumentControllerCreate, ): Promise> { const { idx, promise } = this.writer.addCreate( index, collection, content, _id, - options + options, ); const { successes, errors } = await promise.promise; @@ -107,7 +107,7 @@ export class BatchController extends DocumentController { if (error) { throw new Error( - `Cannot create document in "${index}":"${collection}" : ${error.reason}` + `Cannot create document in "${index}":"${collection}" : ${error.reason}`, ); } } @@ -134,14 +134,14 @@ export class BatchController extends DocumentController { collection: string, _id: string, content: Partial, - options?: ArgsDocumentControllerReplace + options?: ArgsDocumentControllerReplace, ): Promise> { const { idx, promise } = this.writer.addReplace( index, collection, content, _id, - options + options, ); const { successes, errors } = await promise.promise; @@ -150,7 +150,7 @@ export class BatchController extends DocumentController { if (error) { throw new Error( - `Cannot replace document "${index}":"${collection}":"${_id}": ${error.reason}` + `Cannot replace document "${index}":"${collection}":"${_id}": ${error.reason}`, ); } @@ -175,14 +175,14 @@ export class BatchController extends DocumentController { collection: string, _id: string, content: Partial, - options?: ArgsDocumentControllerCreateOrReplace + options?: ArgsDocumentControllerCreateOrReplace, ): Promise> { const { idx, promise } = this.writer.addCreateOrReplace( index, collection, content, _id, - options + options, ); const { successes, errors } = await promise.promise; @@ -191,7 +191,7 @@ export class BatchController extends DocumentController { if (error) { throw new Error( - `Cannot create or replace document "${index}":"${collection}":"${_id}": ${error.reason}` + `Cannot create or replace document "${index}":"${collection}":"${_id}": ${error.reason}`, ); } @@ -219,14 +219,14 @@ export class BatchController extends DocumentController { collection: string, _id: string, content: Partial, - options?: ArgsDocumentControllerUpdate + options?: ArgsDocumentControllerUpdate, ): Promise> { const { idx, promise } = this.writer.addUpdate( index, collection, content, _id, - options + options, ); const { successes, errors } = await promise.promise; @@ -235,7 +235,7 @@ export class BatchController extends DocumentController { if (error) { throw new Error( - `Cannot update document "${index}":"${collection}":"${_id}": ${error.reason}` + `Cannot update document "${index}":"${collection}":"${_id}": ${error.reason}`, ); } @@ -259,7 +259,7 @@ export class BatchController extends DocumentController { async get( index: string, collection: string, - id: string + id: string, ): Promise> { const { promise } = this.writer.addGet(index, collection, undefined, id); @@ -294,13 +294,13 @@ export class BatchController extends DocumentController { async exists( index: string, collection: string, - id: string + id: string, ): Promise { const { idx, promise } = this.writer.addExists( index, collection, undefined, - id + id, ); const existences = await promise.promise; @@ -327,7 +327,7 @@ export class BatchController extends DocumentController { index, collection, undefined, - id + id, ); const { successes, errors } = await promise.promise; @@ -336,7 +336,7 @@ export class BatchController extends DocumentController { if (error) { throw new Error( - `Cannot delete document "${index}":"${collection}":"${id}" : ${error.reason}` + `Cannot delete document "${index}":"${collection}":"${id}" : ${error.reason}`, ); } diff --git a/src/core/batchWriter/BatchWriter.ts b/src/core/batchWriter/BatchWriter.ts index 14d3796f2..3c3c8108c 100644 --- a/src/core/batchWriter/BatchWriter.ts +++ b/src/core/batchWriter/BatchWriter.ts @@ -76,7 +76,7 @@ export class BatchWriter { constructor( sdk: Kuzzle, - { interval = 10, maxWriteBufferSize = 200, maxReadBufferSize = 200 } = {} + { interval = 10, maxWriteBufferSize = 200, maxReadBufferSize = 200 } = {}, ) { this.sdk = sdk; this.interval = interval; @@ -142,7 +142,7 @@ export class BatchWriter { private async sendWriteBuffer( mAction: any, buffer: BatchBuffer, - options: JSONObject = {} + options: JSONObject = {}, ) { const promises = []; @@ -161,7 +161,7 @@ export class BatchWriter { ...options, }) .then(promise.resolve) - .catch(promise.reject) + .catch(promise.reject), ); } } @@ -171,28 +171,28 @@ export class BatchWriter { private sendCreateBuffer( buffer: BatchBuffer, - options?: { refresh?: "wait_for" | "false" } + options?: { refresh?: "wait_for" | "false" }, ) { return this.sendWriteBuffer("mCreate", buffer, options); } private sendUpdateBuffer( buffer: BatchBuffer, - options?: { refresh?: "wait_for" | "false" } + options?: { refresh?: "wait_for" | "false" }, ) { return this.sendWriteBuffer("mUpdate", buffer, options); } private sendReplaceBuffer( buffer: BatchBuffer, - options?: { refresh?: "wait_for" | "false" } + options?: { refresh?: "wait_for" | "false" }, ) { return this.sendWriteBuffer("mReplace", buffer, options); } private sendCreateOrReplaceBuffer( buffer: BatchBuffer, - options?: { refresh?: "wait_for" | "false" } + options?: { refresh?: "wait_for" | "false" }, ) { return this.sendWriteBuffer("mCreateOrReplace", buffer, options); } @@ -216,7 +216,7 @@ export class BatchWriter { this.sdk.document .mGet(index, collection, ids) .then(promise.resolve) - .catch(promise.reject) + .catch(promise.reject), ); } } @@ -251,7 +251,7 @@ export class BatchWriter { promise.resolve(existences); }) - .catch(promise.reject) + .catch(promise.reject), ); } } @@ -278,7 +278,7 @@ export class BatchWriter { this.sdk.document .mDelete(index, collection, ids) .then(promise.resolve) - .catch(promise.reject) + .catch(promise.reject), ); } } diff --git a/src/core/searchResult/Document.ts b/src/core/searchResult/Document.ts index 544a07149..2e4e8edad 100644 --- a/src/core/searchResult/Document.ts +++ b/src/core/searchResult/Document.ts @@ -2,7 +2,7 @@ import { SearchResultBase } from "./SearchResultBase"; import { KDocumentContentGeneric, KHit } from "../../types"; export class DocumentSearchResult< - TKDocumentContent extends KDocumentContentGeneric + TKDocumentContent extends KDocumentContentGeneric, > extends SearchResultBase> { /** * @param {Kuzzle} kuzzle diff --git a/src/core/searchResult/Profile.ts b/src/core/searchResult/Profile.ts index 87bc87adb..47c2347b6 100644 --- a/src/core/searchResult/Profile.ts +++ b/src/core/searchResult/Profile.ts @@ -8,7 +8,7 @@ export class ProfileSearchResult extends SearchResultBase { this._searchAction = "searchProfiles"; this._scrollAction = "scrollProfiles"; this.hits = result.hits.map( - (hit) => new Profile(this._kuzzle, hit._id, hit._source) + (hit) => new Profile(this._kuzzle, hit._id, hit._source), ); } @@ -19,7 +19,7 @@ export class ProfileSearchResult extends SearchResultBase { } nextSearchResult.hits = nextSearchResult._result.hits.map( - (hit) => new Profile(nextSearchResult._kuzzle, hit._id, hit._source) + (hit) => new Profile(nextSearchResult._kuzzle, hit._id, hit._source), ); return nextSearchResult; diff --git a/src/core/searchResult/RealtimeDocument.ts b/src/core/searchResult/RealtimeDocument.ts index 4ed36705c..2b9a72a0e 100644 --- a/src/core/searchResult/RealtimeDocument.ts +++ b/src/core/searchResult/RealtimeDocument.ts @@ -8,7 +8,7 @@ import { SearchResultBase } from "./SearchResultBase"; * Represents a SearchResult containing realtime documents. */ export class RealtimeDocumentSearchResult< - TKDocumentContent extends KDocumentContentGeneric + TKDocumentContent extends KDocumentContentGeneric, > extends SearchResultBase> { private observer: Observer; @@ -17,7 +17,7 @@ export class RealtimeDocumentSearchResult< request: RequestPayload, options: JSONObject, result: JSONObject, - observer: Observer + observer: Observer, ) { super(kuzzle, request, options, result); @@ -61,7 +61,7 @@ export class RealtimeDocumentSearchResult< this._request, this._options, result, - this.observer + this.observer, ); nextSearchResult.fetched += this.fetched; diff --git a/src/core/searchResult/Role.ts b/src/core/searchResult/Role.ts index 75426bdc3..2d3699ba7 100644 --- a/src/core/searchResult/Role.ts +++ b/src/core/searchResult/Role.ts @@ -9,7 +9,7 @@ export class RoleSearchResult extends SearchResultBase { this._scrollAction = null; // scrollRoles action does not exists in Kuzzle API. this.hits = this._result.hits.map( - (hit) => new Role(this._kuzzle, hit._id, hit._source.controllers) + (hit) => new Role(this._kuzzle, hit._id, hit._source.controllers), ); } @@ -18,7 +18,7 @@ export class RoleSearchResult extends SearchResultBase { // => we deny "scroll" and "sort" parameters. if (this._request.scroll || this._request.sort) { return Promise.reject( - new Error("only from/size params are allowed for role search") + new Error("only from/size params are allowed for role search"), ); } @@ -29,7 +29,7 @@ export class RoleSearchResult extends SearchResultBase { nextSearchResult.hits = nextSearchResult._result.hits.map( (hit) => - new Role(nextSearchResult._kuzzle, hit._id, hit._source.controllers) + new Role(nextSearchResult._kuzzle, hit._id, hit._source.controllers), ); return nextSearchResult; diff --git a/src/core/searchResult/SearchResultBase.ts b/src/core/searchResult/SearchResultBase.ts index 053a6b27f..4bc5899b8 100644 --- a/src/core/searchResult/SearchResultBase.ts +++ b/src/core/searchResult/SearchResultBase.ts @@ -62,7 +62,7 @@ export class SearchResultBase implements SearchResult { kuzzle: Kuzzle, request: BaseRequest, options: JSONObject = {}, - result: any = {} + result: any = {}, ) { Reflect.defineProperty(this, "_kuzzle", { value: kuzzle, @@ -122,8 +122,8 @@ export class SearchResultBase implements SearchResult { if (!hit) { return Promise.reject( new Error( - 'Unable to retrieve all results from search: the sort combination must identify one item only. Add document "_id" to the sort.' - ) + 'Unable to retrieve all results from search: the sort combination must identify one item only. Add document "_id" to the sort.', + ), ); } @@ -141,8 +141,8 @@ export class SearchResultBase implements SearchResult { if (sorts.length === 0) { return Promise.reject( new Error( - "Unable to retrieve next results from search: sort param is empty" - ) + "Unable to retrieve next results from search: sort param is empty", + ), ); } @@ -174,8 +174,8 @@ export class SearchResultBase implements SearchResult { return Promise.reject( new Error( - "Unable to retrieve next results from search: missing scrollId, from/sort, or from/size params" - ) + "Unable to retrieve next results from search: missing scrollId, from/sort, or from/size params", + ), ); } @@ -199,7 +199,7 @@ export class SearchResultBase implements SearchResult { this._kuzzle, this._request, this._options, - result + result, ); nextSearchResult.fetched += this.fetched; diff --git a/src/core/searchResult/User.ts b/src/core/searchResult/User.ts index eb1d5e298..db46d67cf 100644 --- a/src/core/searchResult/User.ts +++ b/src/core/searchResult/User.ts @@ -8,7 +8,7 @@ export class UserSearchResult extends SearchResultBase { this._searchAction = "searchUsers"; this._scrollAction = "scrollUsers"; this.hits = this._result.hits.map( - (hit) => new User(this._kuzzle, hit._id, hit._source) + (hit) => new User(this._kuzzle, hit._id, hit._source), ); } @@ -19,7 +19,7 @@ export class UserSearchResult extends SearchResultBase { } nextSearchResult.hits = nextSearchResult._result.hits.map( - (hit) => new User(nextSearchResult._kuzzle, hit._id, hit._source) + (hit) => new User(nextSearchResult._kuzzle, hit._id, hit._source), ); return nextSearchResult; diff --git a/src/core/security/Profile.ts b/src/core/security/Profile.ts index adc55e401..23a9e4495 100644 --- a/src/core/security/Profile.ts +++ b/src/core/security/Profile.ts @@ -60,7 +60,7 @@ export class Profile { return this.kuzzle.security.mGetRoles( this.policies.map((policy) => policy.roleId), - options + options, ); } diff --git a/src/protocols/Http.ts b/src/protocols/Http.ts index fcdeadaf4..9bf376e84 100644 --- a/src/protocols/Http.ts +++ b/src/protocols/Http.ts @@ -1,5 +1,3 @@ -"use strict"; - import { HttpRoutes, JSONObject } from "../types"; import { RequestPayload } from "../types/RequestPayload"; import { KuzzleAbstractProtocol } from "./abstract/Base"; @@ -37,7 +35,7 @@ export default class HttpProtocol extends KuzzleAbstractProtocol { customRoutes?: HttpRoutes; timeout?: number; headers?: JSONObject; - } = {} + } = {}, ) { super(host, options, "http"); @@ -61,12 +59,12 @@ export default class HttpProtocol extends KuzzleAbstractProtocol { if (!(typeof route.url === "string" && route.url.length > 0)) { throw new Error( - `Incorrect URL for custom route ${controller}:${action}.` + `Incorrect URL for custom route ${controller}:${action}.`, ); } if (!(typeof route.verb === "string" && route.verb.length > 0)) { throw new Error( - `Incorrect VERB for custom route ${controller}:${action}.` + `Incorrect VERB for custom route ${controller}:${action}.`, ); } } @@ -137,13 +135,13 @@ export default class HttpProtocol extends KuzzleAbstractProtocol { if (error.status === 401 || error.status === 403) { this._warn( - '"server:publicApi" route is restricted for anonymous user.' + '"server:publicApi" route is restricted for anonymous user.', ); this._warn( - "This route is used by the HTTP protocol to build API URLs." + "This route is used by the HTTP protocol to build API URLs.", ); this._warn( - "Fallback to static routes, some API routes may be unavailable as well as plugin custom routes" + "Fallback to static routes, some API routes may be unavailable as well as plugin custom routes", ); // fallback to static http routes @@ -164,7 +162,7 @@ export default class HttpProtocol extends KuzzleAbstractProtocol { ({ result: res, error: err }) => { if (!err) { this._routes = this._constructRoutes( - res.serverInfo.kuzzle.api.routes + res.serverInfo.kuzzle.api.routes, ); return; @@ -175,21 +173,21 @@ export default class HttpProtocol extends KuzzleAbstractProtocol { } this._warn( - '"server:info" route is restricted for anonymous user.' + '"server:info" route is restricted for anonymous user.', ); this._warn( - "This route is used by the HTTP protocol to build API URLs." + "This route is used by the HTTP protocol to build API URLs.", ); this._warn( - 'If you want to expose your API routes without disclosing server information you can use "server:publicApi" (available in Kuzzle 1.9.0).' + 'If you want to expose your API routes without disclosing server information you can use "server:publicApi" (available in Kuzzle 1.9.0).', ); this._warn( - "Fallback to static routes, some API routes may be unavailable as well as plugin custom routes" + "Fallback to static routes, some API routes may be unavailable as well as plugin custom routes", ); // fallback to static http routes this._routes = staticHttpRoutes; - } + }, ); } @@ -203,7 +201,7 @@ export default class HttpProtocol extends KuzzleAbstractProtocol { }) .catch((err) => { const connectionError: any = new Error( - `Unable to connect to kuzzle server at ${this.host}:${this.port}` + `Unable to connect to kuzzle server at ${this.host}:${this.port}`, ); connectionError.internal = err; @@ -218,7 +216,7 @@ export default class HttpProtocol extends KuzzleAbstractProtocol { enableCookieSupport() { if (typeof XMLHttpRequest === "undefined") { throw new Error( - "Support for cookie cannot be enabled outside of a browser" + "Support for cookie cannot be enabled outside of a browser", ); } @@ -238,7 +236,7 @@ export default class HttpProtocol extends KuzzleAbstractProtocol { if (!route) { const error = new Error( - `No URL found for "${request.controller}:${request.action}".` + `No URL found for "${request.controller}:${request.action}".`, ); this.emit(request.requestId, { error, status: 400 }); return; @@ -300,7 +298,7 @@ export default class HttpProtocol extends KuzzleAbstractProtocol { // check if an url param is missing (eg: "/:index/_create) if (!urlParam) { const error = new Error( - `Missing URL param "${matches[1]}" in "${matches.input}"` + `Missing URL param "${matches[1]}" in "${matches.input}"`, ); this.emit(payload.requestId, { error, status: 400 }); @@ -360,10 +358,10 @@ export default class HttpProtocol extends KuzzleAbstractProtocol { if (formattedRequest) { this._sendHttpRequest(formattedRequest) .then((response) => - this.emit(formattedRequest.payload.requestId, response) + this.emit(formattedRequest.payload.requestId, response), ) .catch((error) => - this.emit(formattedRequest.payload.requestId, { error }) + this.emit(formattedRequest.payload.requestId, { error }), ); } } @@ -389,7 +387,7 @@ export default class HttpProtocol extends KuzzleAbstractProtocol { const url = `${this.protocol}://${this.host}:${this.port}${path}`; const headers = (payload && payload.headers) || {}; headers["Content-Length"] = Buffer.byteLength( - (payload && payload.body) || "" + (payload && payload.body) || "", ); return httpClient @@ -401,7 +399,7 @@ export default class HttpProtocol extends KuzzleAbstractProtocol { .then((response) => { if (response.statusCode === 431) { throw new Error( - "Request query string is too large. Try to use the method with the POST verb instead." + "Request query string is too large. Try to use the method with the POST verb instead.", ); } @@ -433,7 +431,7 @@ export default class HttpProtocol extends KuzzleAbstractProtocol { xhr.withCredentials = this.cookieSupport; for (const [header, value] of Object.entries( - (payload && payload.headers) || {} + (payload && payload.headers) || {}, )) { xhr.setRequestHeader(header, value as string); } diff --git a/src/protocols/WebSocket.ts b/src/protocols/WebSocket.ts index 8e52fcbe6..fc6f2c515 100644 --- a/src/protocols/WebSocket.ts +++ b/src/protocols/WebSocket.ts @@ -1,5 +1,3 @@ -"use strict"; - import { KuzzleError } from "../KuzzleError"; import { BaseProtocolRealtime } from "./abstract/Realtime"; import { JSONObject } from "../types"; @@ -44,7 +42,7 @@ export default class WebSocketProtocol extends BaseProtocolRealtime { */ sslConnection?: boolean; ssl?: boolean; - } = {} + } = {}, ) { super(host, options, "ws"); @@ -163,7 +161,7 @@ export default class WebSocketProtocol extends BaseProtocolRealtime { if ( [this.client.CLOSING, this.client.CLOSED].indexOf( - this.client.readyState + this.client.readyState, ) > -1 ) { return reject(err); @@ -194,7 +192,7 @@ export default class WebSocketProtocol extends BaseProtocolRealtime { const error = new KuzzleError( data.error, new Error().stack, - this.constructor.name + this.constructor.name, ); this.emit("queryError", { error, request: data }); @@ -220,7 +218,7 @@ export default class WebSocketProtocol extends BaseProtocolRealtime { enableCookieSupport() { if (typeof XMLHttpRequest === "undefined") { throw new Error( - "Support for cookie cannot be enabled outside of a browser" + "Support for cookie cannot be enabled outside of a browser", ); } @@ -342,7 +340,7 @@ export default class WebSocketProtocol extends BaseProtocolRealtime { // If we were waiting for a pong that never occured before the next ping cycle we throw an error if (this.waitForPong) { const error: any = new Error( - "Kuzzle does'nt respond to ping. Connection lost." + "Kuzzle does'nt respond to ping. Connection lost.", ); error.status = 503; diff --git a/src/protocols/abstract/Base.ts b/src/protocols/abstract/Base.ts index f66f2ead0..3b8e51832 100644 --- a/src/protocols/abstract/Base.ts +++ b/src/protocols/abstract/Base.ts @@ -1,5 +1,3 @@ -"use strict"; - import { KuzzleError } from "../../KuzzleError"; import { uuidv4 } from "../../utils/uuidv4"; import { KuzzleEventEmitter } from "../../core/KuzzleEventEmitter"; @@ -26,7 +24,7 @@ export abstract class KuzzleAbstractProtocol extends KuzzleEventEmitter { constructor( host: string, options: JSONObject = {}, - name: string = undefined + name: string = undefined, ) { super(); @@ -38,7 +36,7 @@ export abstract class KuzzleAbstractProtocol extends KuzzleEventEmitter { if (options.ssl !== undefined && options.sslConnection !== undefined) { throw new Error( - 'Both "ssl" and "sslConnection" options are set. Use only "ssl".' + 'Both "ssl" and "sslConnection" options are set. Use only "ssl".', ); } @@ -144,7 +142,7 @@ export abstract class KuzzleAbstractProtocol extends KuzzleEventEmitter { this.emit("discarded", request); return Promise.reject( new Error(`Unable to execute request: not connected to a Kuzzle server. -Discarded request: ${JSON.stringify(request)}`) +Discarded request: ${JSON.stringify(request)}`), ); } @@ -165,7 +163,7 @@ Discarded request: ${JSON.stringify(request)}`) response.error, stack, this.constructor.name, - request + request, ); } else { // Keep both stacktrace because the one we captured in "stack" will give @@ -206,7 +204,7 @@ Discarded request: ${JSON.stringify(request)}`) */ clear() { const rejectedError = new Error( - "Network error: request was sent but no response has been received" + "Network error: request was sent but no response has been received", ); for (const pending of this._pendingRequests.values()) { pending.reject(rejectedError); diff --git a/src/protocols/abstract/Realtime.ts b/src/protocols/abstract/Realtime.ts index 00721f1c3..0e03bee39 100644 --- a/src/protocols/abstract/Realtime.ts +++ b/src/protocols/abstract/Realtime.ts @@ -1,5 +1,3 @@ -"use strict"; - import { KuzzleAbstractProtocol } from "./Base"; import { getBrowserWindow, isBrowser } from "../../utils/browser"; import { DisconnectionOrigin } from "../DisconnectionOrigin"; @@ -76,7 +74,7 @@ export abstract class BaseProtocolRealtime extends KuzzleAbstractProtocol { this.clear(); const connectionError = new Error( - `Unable to connect to kuzzle server at ${this.host}:${this.port}: ${error.message} (ws status=${error.status})` + `Unable to connect to kuzzle server at ${this.host}:${this.port}: ${error.message} (ws status=${error.status})`, ); this.emit("networkError", connectionError); @@ -96,7 +94,7 @@ export abstract class BaseProtocolRealtime extends KuzzleAbstractProtocol { this.retrying = false; this.connect().catch((err) => this.clientNetworkError(err)); }, - { once: true } + { once: true }, ); return; } diff --git a/src/types/KDocument.ts b/src/types/KDocument.ts index 1132f67d2..862360945 100644 --- a/src/types/KDocument.ts +++ b/src/types/KDocument.ts @@ -61,8 +61,9 @@ export interface KDocument { /** * Represents a Kuzzle document retrieved from search */ -export interface KHit - extends KDocument { +export interface KHit< + TKDocumentContent extends KDocumentContent, +> extends KDocument { /** * Elasticsearch relevance score */ diff --git a/src/types/Notification.ts b/src/types/Notification.ts index e926a926d..c45c6139d 100644 --- a/src/types/Notification.ts +++ b/src/types/Notification.ts @@ -57,7 +57,7 @@ export interface BaseNotification { * (create, update, delete) */ export interface DocumentNotification< - TDocContent extends KDocumentContentGeneric = KDocumentContentGeneric + TDocContent extends KDocumentContentGeneric = KDocumentContentGeneric, > extends BaseNotification { /** * Updated document that triggered the notification diff --git a/src/types/ProfilePolicy.ts b/src/types/ProfilePolicy.ts index 45986ff1e..876cd6430 100644 --- a/src/types/ProfilePolicy.ts +++ b/src/types/ProfilePolicy.ts @@ -37,6 +37,6 @@ export type ProfilePolicy = { * Rights will only be applied on those collections. */ collections?: Array; - } + }, ]; }; diff --git a/src/types/mRequests.ts b/src/types/mRequests.ts index 40b1f12d1..ed21f3d9e 100644 --- a/src/types/mRequests.ts +++ b/src/types/mRequests.ts @@ -14,7 +14,7 @@ export type mCreateRequest = }>; export type mCreateOrReplaceRequest< - TKDocumentContent extends KDocumentContentGeneric + TKDocumentContent extends KDocumentContentGeneric, > = Array<{ /** * Document unique identifier diff --git a/src/utils/debug.js b/src/utils/debug.ts similarity index 56% rename from src/utils/debug.js rename to src/utils/debug.ts index 7e1116634..fafe275ce 100644 --- a/src/utils/debug.js +++ b/src/utils/debug.ts @@ -1,10 +1,8 @@ -let NODE_DEBUG; +import { getBrowserWindow, isBrowser } from "./browser"; -const { isBrowser, getBrowserWindow } = require("./browser"); +let NODE_DEBUG: boolean | undefined; -/* eslint no-undef: 0 */ - -function shouldDebug() { +function shouldDebug(): boolean { /** * Some framework like react-native or other might emulate the window object * but when on plateforms like iOS / Android, the window.location is undefined. @@ -17,19 +15,39 @@ function shouldDebug() { try { if (!isBrowser()) { // Avoid multiple calls to process.env - if (!NODE_DEBUG) { - NODE_DEBUG = (process.env.DEBUG || "").includes("kuzzle-sdk"); + if (NODE_DEBUG === undefined) { + NODE_DEBUG = (process.env.DEBUG ?? "").includes("kuzzle-sdk"); } return NODE_DEBUG; } - const window = getBrowserWindow(); - return ( - window.debugKuzzleSdk || - (window.location && - new URL(window.location).searchParams.get("debugKuzzleSdk") !== null) - ); + const window = getBrowserWindow() as + | (Window & { + debugKuzzleSdk?: boolean; + }) + | null; + + if (!window) { + return false; + } + + if (window.debugKuzzleSdk) { + return true; + } + + const location = window.location; + + if (!location) { + return false; + } + + const href = + typeof location === "string" + ? location + : ((location as Location).href ?? String(location)); + + return new URL(href).searchParams.get("debugKuzzleSdk") !== null; } catch (e) { return false; } @@ -42,7 +60,7 @@ function shouldDebug() { * In a browser, you can add the `?debugKuzzleSdk` in the URL * or set `window.debugKuzzleSdk` = true */ -function debug(message, obj) { +export function debug(message: string, obj?: unknown): void { if (!shouldDebug()) { return; } @@ -58,5 +76,3 @@ function debug(message, obj) { console.log(toPrint); } } - -module.exports = { debug }; diff --git a/src/utils/proxify.js b/src/utils/proxify.ts similarity index 95% rename from src/utils/proxify.js rename to src/utils/proxify.ts index 3b56401ef..b484d484b 100644 --- a/src/utils/proxify.js +++ b/src/utils/proxify.ts @@ -49,8 +49,6 @@ console.log(obj.bar); // throw error ``` */ -/* eslint sort-keys: 0 */ - const getOptions = (options) => Object.assign( {}, @@ -63,7 +61,7 @@ const getOptions = (options) => sealGet: false, warnDeprecationOnce: true, }, - options + options, ); const getPropertyNames = (obj) => { @@ -77,7 +75,7 @@ const getPropertyNames = (obj) => { const deleteDuplicates = (arr) => [...new Set(arr)]; -const proxify = (obj, opts = {}) => { +export const proxify = (obj, opts = {}) => { if (!obj || (typeof obj !== "object" && typeof obj !== "function")) { throw Error("proxify only applies on non-null object"); } @@ -107,7 +105,7 @@ const proxify = (obj, opts = {}) => { } [...Object.getOwnPropertyNames(obj), ...getPropertyNames(obj)].forEach( - (prop) => properties.add(prop) + (prop) => properties.add(prop), ); const handler = { @@ -123,7 +121,7 @@ const proxify = (obj, opts = {}) => { set: (target, name, value) => { if (options.seal && !properties.has(name)) { throw new Error( - `Cannot set a value to the undefined '${name}' property in '${options.name}'` + `Cannot set a value to the undefined '${name}' property in '${options.name}'`, ); } if (deprecated.has(name)) { @@ -136,5 +134,3 @@ const proxify = (obj, opts = {}) => { return new Proxy(obj, handler); }; - -module.exports = { proxify }; diff --git a/src/utils/stackTrace.js b/src/utils/stackTrace.ts similarity index 89% rename from src/utils/stackTrace.js rename to src/utils/stackTrace.ts index a7f1f4184..42e3dee54 100644 --- a/src/utils/stackTrace.js +++ b/src/utils/stackTrace.ts @@ -1,5 +1,3 @@ -"use strict"; - /** * Hilight user code * @@ -9,7 +7,7 @@ * > at /home/aschen/projets/kuzzleio/sdk-javascript/test.js:8:18 * at processTicksAndRejections (internal/process/task_queues.js:97:5)] */ -function hilightUserCode(line) { +export function hilightUserCode(line) { // ignore first line (error message) if (!line.includes(" at ")) { return line; @@ -27,7 +25,3 @@ function hilightUserCode(line) { // hilight user code return ">" + line; } - -module.exports = { - hilightUserCode, -}; diff --git a/src/utils/uuidv4.js b/src/utils/uuidv4.js deleted file mode 100644 index 8164bf0f0..000000000 --- a/src/utils/uuidv4.js +++ /dev/null @@ -1,11 +0,0 @@ -// golfed version of uuid-v4 -// uuid node module relies on crypto, which is a bit fat to embed -// -// cf amazing https://gist.github.com/jed/982883 - -const uuidv4 = (a) => - a - ? (a ^ ((Math.random() * 16) >> (a / 4))).toString(16) - : ([1e7] + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, uuidv4); - -module.exports = { uuidv4 }; diff --git a/src/utils/uuidv4.ts b/src/utils/uuidv4.ts new file mode 100644 index 000000000..9cd69c0d9 --- /dev/null +++ b/src/utils/uuidv4.ts @@ -0,0 +1,54 @@ +const byteToHex = new Array(256); +for (let i = 0; i < 256; i++) { + byteToHex[i] = (i + 0x100).toString(16).substring(1); +} + +const randomBytes = new Uint8Array(16); +const cryptoObj = + typeof globalThis !== "undefined" ? (globalThis as any).crypto : undefined; + +const fillRandomBytes = (bytes: Uint8Array) => { + if (cryptoObj && typeof cryptoObj.getRandomValues === "function") { + cryptoObj.getRandomValues(bytes); + return; + } + + // Fallback when crypto is unavailable + for (let i = 0; i < bytes.length; i++) { + bytes[i] = (Math.random() * 256) | 0; + } +}; + +export const uuidv4 = (): string => { + if (cryptoObj && typeof cryptoObj.randomUUID === "function") { + return cryptoObj.randomUUID(); + } + + fillRandomBytes(randomBytes); + + randomBytes[6] = (randomBytes[6] & 0x0f) | 0x40; + randomBytes[8] = (randomBytes[8] & 0x3f) | 0x80; + + return ( + byteToHex[randomBytes[0]] + + byteToHex[randomBytes[1]] + + byteToHex[randomBytes[2]] + + byteToHex[randomBytes[3]] + + "-" + + byteToHex[randomBytes[4]] + + byteToHex[randomBytes[5]] + + "-" + + byteToHex[randomBytes[6]] + + byteToHex[randomBytes[7]] + + "-" + + byteToHex[randomBytes[8]] + + byteToHex[randomBytes[9]] + + "-" + + byteToHex[randomBytes[10]] + + byteToHex[randomBytes[11]] + + byteToHex[randomBytes[12]] + + byteToHex[randomBytes[13]] + + byteToHex[randomBytes[14]] + + byteToHex[randomBytes[15]] + ); +}; diff --git a/test/.eslintrc.json b/test/.eslintrc.json deleted file mode 100644 index bb86bc75d..000000000 --- a/test/.eslintrc.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "rules": { - "func-names": 0, - "no-invalid-this": 0, - "no-new": 0, - "new-cap": 0, - "no-console": 0 - }, - "parserOptions": { - "ecmaVersion": 2017 - }, - "env": { - "browser": true, - "mocha": true - } -} diff --git a/test/controllers/auth.test.js b/test/controllers/auth.test.js index 2909801d0..7c278dc87 100644 --- a/test/controllers/auth.test.js +++ b/test/controllers/auth.test.js @@ -1,3 +1,5 @@ +"use strict"; + const sinon = require("sinon"); const should = require("should"); @@ -47,30 +49,30 @@ describe("Auth Controller", () => { const apiResult = { _id: "api-key-id", _source: { - userId: "kuid", description: "description", expiresAt: Date.now() + 10000, - ttl: 10000, token: "secret-token", + ttl: 10000, + userId: "kuid", }, }; kuzzle.query.resolves({ result: apiResult }); const result = await kuzzle.auth.createApiKey("description", { - expiresIn: 10000, _id: "api-key-id", + expiresIn: 10000, refresh: "wait_for", }); should(kuzzle.query).be.calledWith({ - controller: "auth", - action: "createApiKey", _id: "api-key-id", - expiresIn: 10000, - refresh: "wait_for", + action: "createApiKey", body: { description: "description", }, + controller: "auth", + expiresIn: 10000, + refresh: "wait_for", }); should(result).be.eql(apiResult); @@ -84,9 +86,9 @@ describe("Auth Controller", () => { await kuzzle.auth.deleteApiKey("api-key-id", { refresh: "wait_for" }); should(kuzzle.query).be.calledWith({ - controller: "auth", - action: "deleteApiKey", _id: "api-key-id", + action: "deleteApiKey", + controller: "auth", refresh: "wait_for", }); }); @@ -98,16 +100,16 @@ describe("Auth Controller", () => { const result = await kuzzle.auth.searchApiKeys( { match: {} }, - { from: 1, size: 2 } + { from: 1, size: 2 }, ); should(kuzzle.query).be.calledWith({ - controller: "auth", action: "searchApiKeys", body: { match: {} }, + controller: "auth", from: 1, - size: 2, lang: undefined, + size: 2, }); should(result).be.eql({ hits: [1, 2] }); @@ -118,9 +120,9 @@ describe("Auth Controller", () => { it("should call auth/checkToken query with the token and return a Promise which resolves the token validity", () => { kuzzle.query.resolves({ result: { - valid: true, - state: "Error message", expiresAt: 42424242, + state: "Error message", + valid: true, }, }); @@ -129,19 +131,19 @@ describe("Auth Controller", () => { .be.calledOnce() .be.calledWithMatch( { - controller: "auth", action: "checkToken", body: { token: "token", }, + controller: "auth", cookieAuth: false, }, - { queuable: false } + { queuable: false }, ); should(res).match({ - valid: true, - state: "Error message", expiresAt: 42424242, + state: "Error message", + valid: true, }); }); }); @@ -149,9 +151,9 @@ describe("Auth Controller", () => { it("should call auth/checkToken query with cookieAuth false, the token and return a Promise which resolves the token validity", () => { kuzzle.query.resolves({ result: { - valid: true, - state: "Error message", expiresAt: 42424242, + state: "Error message", + valid: true, }, }); @@ -162,19 +164,19 @@ describe("Auth Controller", () => { .be.calledOnce() .be.calledWithMatch( { - controller: "auth", action: "checkToken", body: { token: "token", }, + controller: "auth", cookieAuth: false, }, - { queuable: false } + { queuable: false }, ); should(res).match({ - valid: true, - state: "Error message", expiresAt: 42424242, + state: "Error message", + valid: true, }); }); }); @@ -182,9 +184,9 @@ describe("Auth Controller", () => { it("should call auth/checkToken query with cookieAuth false, the stored token if no token is given and return a Promise which resolves the token validity", () => { kuzzle.query.resolves({ result: { - valid: true, - state: "Error message", expiresAt: 42424242, + state: "Error message", + valid: true, }, }); @@ -196,19 +198,19 @@ describe("Auth Controller", () => { return kuzzle.auth.checkToken(undefined, options).then((res) => { should(kuzzle.query).be.calledOnce().be.calledWithMatch( { - controller: "auth", action: "checkToken", body: { token, }, + controller: "auth", cookieAuth: false, }, - { queuable: false } + { queuable: false }, ); should(res).match({ - valid: true, - state: "Error message", expiresAt: 42424242, + state: "Error message", + valid: true, }); }); }); @@ -216,9 +218,9 @@ describe("Auth Controller", () => { it("should call auth/checkToken query with cookieAuth true, token should be undefined and return a Promise which resolves the token validity", () => { kuzzle.query.resolves({ result: { - valid: true, - state: "Error message", expiresAt: 42424242, + state: "Error message", + valid: true, }, }); @@ -232,19 +234,19 @@ describe("Auth Controller", () => { .be.calledOnce() .be.calledWithMatch( { - controller: "auth", action: "checkToken", body: { token: undefined, }, + controller: "auth", cookieAuth: true, }, - { queuable: false } + { queuable: false }, ); should(res).match({ - valid: true, - state: "Error message", expiresAt: 42424242, + state: "Error message", + valid: true, }); }); }); @@ -256,8 +258,8 @@ describe("Auth Controller", () => { kuzzle.query.resolves({ result: { - username: "foo", kuid: "bar", + username: "foo", }, }); @@ -266,15 +268,15 @@ describe("Auth Controller", () => { .then((res) => { should(kuzzle.query).be.calledOnce().be.calledWith( { - strategy: "strategy", + action: "createMyCredentials", body: credentials, controller: "auth", - action: "createMyCredentials", + strategy: "strategy", }, - options + options, ); - should(res).match({ username: "foo", kuid: "bar" }); + should(res).match({ kuid: "bar", username: "foo" }); }); }); }); @@ -286,11 +288,11 @@ describe("Auth Controller", () => { return kuzzle.auth.credentialsExist("strategy", options).then((res) => { should(kuzzle.query).be.calledOnce().be.calledWith( { - strategy: "strategy", - controller: "auth", action: "credentialsExist", + controller: "auth", + strategy: "strategy", }, - options + options, ); should(res).be.exactly(true); @@ -307,11 +309,11 @@ describe("Auth Controller", () => { .then((res) => { should(kuzzle.query).be.calledOnce().be.calledWith( { - strategy: "strategy", - controller: "auth", action: "deleteMyCredentials", + controller: "auth", + strategy: "strategy", }, - options + options, ); should(res).be.exactly(true); @@ -331,10 +333,10 @@ describe("Auth Controller", () => { return kuzzle.auth.getCurrentUser(options).then((user) => { should(kuzzle.query).be.calledOnce().be.calledWith( { - controller: "auth", action: "getCurrentUser", + controller: "auth", }, - options + options, ); should(user).be.an.instanceOf(User); @@ -348,22 +350,22 @@ describe("Auth Controller", () => { it("should call auth/getMyCredentials query with the strategy name and return a Promise which resolves the user credentials", () => { kuzzle.query.resolves({ result: { - username: "foo", kuid: "bar", + username: "foo", }, }); return kuzzle.auth.getMyCredentials("strategy", options).then((res) => { should(kuzzle.query).be.calledOnce().be.calledWith( { - strategy: "strategy", - controller: "auth", action: "getMyCredentials", + controller: "auth", + strategy: "strategy", }, - options + options, ); - should(res).match({ username: "foo", kuid: "bar" }); + should(res).match({ kuid: "bar", username: "foo" }); }); }); }); @@ -374,10 +376,10 @@ describe("Auth Controller", () => { result: { hits: [ { - controller: "foo", action: "bar", - index: "foobar", collection: "*", + controller: "foo", + index: "foobar", value: "allowed", }, ], @@ -387,18 +389,18 @@ describe("Auth Controller", () => { return kuzzle.auth.getMyRights(options).then((res) => { should(kuzzle.query).be.calledOnce().be.calledWith( { - controller: "auth", action: "getMyRights", + controller: "auth", }, - options + options, ); should(res).be.an.Array(); should(res[0]).match({ - controller: "foo", action: "bar", - index: "foobar", collection: "*", + controller: "foo", + index: "foobar", value: "allowed", }); }); @@ -412,10 +414,10 @@ describe("Auth Controller", () => { return kuzzle.auth.getStrategies(options).then((res) => { should(kuzzle.query).be.calledOnce().be.calledWith( { - controller: "auth", action: "getStrategies", + controller: "auth", }, - options + options, ); should(res).be.an.Array(); @@ -435,8 +437,8 @@ describe("Auth Controller", () => { kuzzle.query.resolves({ result: { - jwt, _id: "kuid", + jwt, }, }); }); @@ -447,14 +449,14 @@ describe("Auth Controller", () => { .then((res) => { should(kuzzle.query).be.calledOnce().be.calledWith( { - controller: "auth", action: "login", - strategy: "strategy", - expiresIn: "expiresIn", body: credentials, + controller: "auth", cookieAuth: false, + expiresIn: "expiresIn", + strategy: "strategy", }, - { queuable: false, verb: "POST", timeout: -1 } + { queuable: false, timeout: -1, verb: "POST" }, ); should(res).be.equal(jwt); @@ -468,14 +470,14 @@ describe("Auth Controller", () => { .then(() => { should(kuzzle.query).be.calledOnce().be.calledWith( { - controller: "auth", action: "login", - strategy: "strategy", - expiresIn: "expiresIn", body: credentials, + controller: "auth", cookieAuth: true, + expiresIn: "expiresIn", + strategy: "strategy", }, - { queuable: false, verb: "POST", timeout: -1 } + { queuable: false, timeout: -1, verb: "POST" }, ); }); }); @@ -492,14 +494,14 @@ describe("Auth Controller", () => { .then((res) => { should(kuzzle.query).be.calledOnce().be.calledWith( { - controller: "auth", action: "login", - strategy: "strategy", - expiresIn: "expiresIn", body: credentials, + controller: "auth", cookieAuth: true, + expiresIn: "expiresIn", + strategy: "strategy", }, - { queuable: false, verb: "POST", timeout: -1 } + { queuable: false, timeout: -1, verb: "POST" }, ); should(res).be.undefined(); @@ -522,12 +524,12 @@ describe("Auth Controller", () => { .catch(() => { should(kuzzle.emit).be.calledWith("beforeLogin"); should(kuzzle.emit).be.calledWith("afterLogin", { - success: false, error: "Error", + success: false, }); should(kuzzle.emit).be.calledWith("loginAttempt", { - success: false, error: "Error", + success: false, }); }); }); @@ -554,12 +556,12 @@ describe("Auth Controller", () => { .catch(() => { should(kuzzle.emit).be.calledWith("beforeLogin"); should(kuzzle.emit).be.calledWith("afterLogin", { - success: false, error: "Error", + success: false, }); should(kuzzle.emit).be.calledWith("loginAttempt", { - success: false, error: "Error", + success: false, }); }); }); @@ -599,8 +601,8 @@ describe("Auth Controller", () => { it("should call auth/logout query and return an empty Promise", () => { return kuzzle.auth.logout().then((res) => { should(kuzzle.query).be.calledOnce().be.calledWith({ - controller: "auth", action: "logout", + controller: "auth", cookieAuth: false, }); @@ -626,8 +628,8 @@ describe("Auth Controller", () => { kuzzle.query.rejects(); await kuzzle.auth.logout().catch(() => { should(kuzzle.emit).be.calledWith("logoutAttempt", { - success: false, error: "Error", + success: false, }); }); }); @@ -644,8 +646,8 @@ describe("Auth Controller", () => { kuzzle.query.rejects(); await kuzzle.auth.logout().catch(() => { should(kuzzle.emit).be.calledWith("afterLogout", { - success: false, error: "Error", + success: false, }); }); }); @@ -657,8 +659,8 @@ describe("Auth Controller", () => { kuzzle.query.resolves({ result: { - username: "foo", kuid: "bar", + username: "foo", }, }); @@ -667,15 +669,15 @@ describe("Auth Controller", () => { .then((res) => { should(kuzzle.query).be.calledOnce().be.calledWith( { - controller: "auth", action: "updateMyCredentials", - strategy: "strategy", body: credentials, + controller: "auth", + strategy: "strategy", }, - options + options, ); - should(res).match({ username: "foo", kuid: "bar" }); + should(res).match({ kuid: "bar", username: "foo" }); }); }); }); @@ -694,11 +696,11 @@ describe("Auth Controller", () => { return kuzzle.auth.updateSelf(body, options).then((user) => { should(kuzzle.query).be.calledOnce().be.calledWith( { - controller: "auth", action: "updateSelf", body, + controller: "auth", }, - options + options, ); should(user).be.an.instanceOf(User); @@ -719,12 +721,12 @@ describe("Auth Controller", () => { .then((res) => { should(kuzzle.query).be.calledOnce().be.calledWith( { - strategy: "strategy", + action: "validateMyCredentials", body, controller: "auth", - action: "validateMyCredentials", + strategy: "strategy", }, - options + options, ); should(res).be.exactly(true); @@ -743,10 +745,10 @@ describe("Auth Controller", () => { it("should call auth/refreshToken query", () => { return kuzzle.auth.refreshToken().then((res) => { should(kuzzle.query).be.calledOnce().be.calledWith({ - controller: "auth", action: "refreshToken", - expiresIn: undefined, + controller: "auth", cookieAuth: false, + expiresIn: undefined, }); should(res).be.eql(tokenResponse); @@ -759,10 +761,10 @@ describe("Auth Controller", () => { kuzzle.cookieAuthentication = true; return kuzzle.auth.refreshToken().then((res) => { should(kuzzle.query).be.calledOnce().be.calledWith({ - controller: "auth", action: "refreshToken", - expiresIn: undefined, + controller: "auth", cookieAuth: true, + expiresIn: undefined, }); should(res).be.eql(tokenResponse); @@ -773,8 +775,8 @@ describe("Auth Controller", () => { it("should set the expiresIn option if one is provided", () => { return kuzzle.auth.refreshToken({ expiresIn: "foobar" }).then((res) => { should(kuzzle.query).be.calledOnce().be.calledWithMatch({ - controller: "auth", action: "refreshToken", + controller: "auth", expiresIn: "foobar", }); @@ -805,7 +807,7 @@ describe("Auth Controller", () => { }); it("should throw if parameter is not a string", () => { - should(function () { + should(function auth() { kuzzle.auth.authenticationToken = 1234; }).throw(); }); diff --git a/test/controllers/bulk.test.js b/test/controllers/bulk.test.js index fbac21efc..1dabd2b4c 100644 --- a/test/controllers/bulk.test.js +++ b/test/controllers/bulk.test.js @@ -1,3 +1,5 @@ +"use strict"; + const { BulkController } = require("../../src/controllers/Bulk"), sinon = require("sinon"), should = require("should"); @@ -26,20 +28,20 @@ describe("Bulk Controller", () => { "index", "collection", { query: { match: { foo: "bar" } } }, - options + options, ) .then((res) => { should(kuzzle.query) .be.calledOnce() .be.calledWith( { - controller: "bulk", action: "deleteByQuery", - index: "index", - collection: "collection", body: { query: { match: { foo: "bar" } } }, + collection: "collection", + controller: "bulk", + index: "index", }, - options + options, ); should(res).be.an.Number(); @@ -52,11 +54,11 @@ describe("Bulk Controller", () => { it("should call bulk/import query with the bulk data and return a Promise which resolves json object", () => { kuzzle.query.resolves({ result: { + errors: false, items: [ { create: { _id: "foo" }, status: 200 }, - { update: { _id: "bar" }, status: 200 }, + { status: 200, update: { _id: "bar" } }, ], - errors: false, }, }); @@ -68,18 +70,18 @@ describe("Bulk Controller", () => { .then((res) => { should(kuzzle.query).be.calledOnce().be.calledWith( { - index, - collection, + action: "import", body: { bulkData }, + collection, controller: "bulk", - action: "import", + index, }, - options + options, ); should(res.items).match([ { create: { _id: "foo" }, status: 200 }, - { update: { _id: "bar" }, status: 200 }, + { status: 200, update: { _id: "bar" } }, ]); should(res.errors).be.eql(false); }); @@ -105,15 +107,15 @@ describe("Bulk Controller", () => { .then((result) => { should(kuzzle.query).be.calledOnce().be.calledWith( { - body: document, _id: "liia", - index: "vietnam", + action: "write", + body: document, collection: "hochiminh", controller: "bulk", - action: "write", + index: "vietnam", notify: true, }, - options + options, ); should(result).match({ @@ -151,14 +153,14 @@ describe("Bulk Controller", () => { .then((result) => { should(kuzzle.query).be.calledOnce().be.calledWith( { + action: "mWrite", body: { documents }, - index: "vietnam", collection: "hochiminh", controller: "bulk", - action: "mWrite", + index: "vietnam", notify: true, }, - options + options, ); should(result.hits[0]).match({ diff --git a/test/controllers/collection.test.js b/test/controllers/collection.test.js index c1c60b215..454b510ef 100644 --- a/test/controllers/collection.test.js +++ b/test/controllers/collection.test.js @@ -1,3 +1,5 @@ +"use strict"; + const { CollectionController } = require("../../src/controllers/Collection"), { SpecificationsSearchResult, @@ -31,7 +33,7 @@ describe("Collection Controller", () => { index: "index", collection: "collection", }, - options + options, ); should(res).be.undefined(); @@ -54,7 +56,7 @@ describe("Collection Controller", () => { index: "index", collection: "collection", }, - options + options, ); should(res).be.undefined(); @@ -76,7 +78,7 @@ describe("Collection Controller", () => { index: "index", collection: "collection", }, - options + options, ); should(res).be.undefined(); @@ -98,7 +100,7 @@ describe("Collection Controller", () => { index: "index", collection: "collection", }, - options + options, ); should(res).be.a.Boolean().and.be.true(); @@ -120,7 +122,7 @@ describe("Collection Controller", () => { index: "index", collection: "collection", }, - options + options, ); should(res).be.undefined(); @@ -157,7 +159,7 @@ describe("Collection Controller", () => { collection: "collection", includeKuzzleMeta: true, }, - options + options, ); should(res).match({ @@ -201,7 +203,7 @@ describe("Collection Controller", () => { index: "index", collection: "collection", }, - options + options, ); should(res).match({ @@ -240,7 +242,7 @@ describe("Collection Controller", () => { size: 0, from: undefined, }, - options + options, ); should(res).match({ @@ -282,7 +284,7 @@ describe("Collection Controller", () => { size: 42, scroll: "scroll", }, - { foo: "bar", from: 3, scroll: "scroll", size: 42 } + { foo: "bar", from: 3, scroll: "scroll", size: 42 }, ); should(res).be.an.instanceOf(SpecificationsSearchResult); @@ -317,7 +319,7 @@ describe("Collection Controller", () => { index: "index", collection: "collection", }, - options + options, ); should(res).be.undefined(); @@ -341,7 +343,7 @@ describe("Collection Controller", () => { index: "index", collection: "collection", }, - options + options, ); should(res).match({ foo: "bar" }); @@ -386,7 +388,7 @@ describe("Collection Controller", () => { controller: "collection", action: "updateSpecifications", }, - options + options, ); should(res).match({ foo: "bar" }); @@ -416,7 +418,7 @@ describe("Collection Controller", () => { controller: "collection", action: "validateSpecifications", }, - options + options, ); should(res).match({ diff --git a/test/controllers/document.test.js b/test/controllers/document.test.js index fae5cdf7b..9b9a61062 100644 --- a/test/controllers/document.test.js +++ b/test/controllers/document.test.js @@ -1,3 +1,5 @@ +"use strict"; + const sinon = require("sinon"); const should = require("should"); @@ -35,7 +37,7 @@ describe("Document Controller", () => { collection: "collection", body: { foo: "bar" }, }, - options + options, ); should(res).be.a.Number().and.be.equal(1234); @@ -68,7 +70,7 @@ describe("Document Controller", () => { silent: true, body: { foo: "bar" }, }, - options + options, ); should(res).be.equal(result); @@ -93,7 +95,7 @@ describe("Document Controller", () => { "collection", "document-id", { foo: "bar" }, - options + options, ) .then((res) => { should(kuzzle.query) @@ -108,7 +110,7 @@ describe("Document Controller", () => { silent: true, body: { foo: "bar" }, }, - options + options, ); should(res).be.equal(result); @@ -133,7 +135,7 @@ describe("Document Controller", () => { silent: true, _id: "document-id", }, - options + options, ); should(res).equal("document-id"); @@ -157,7 +159,7 @@ describe("Document Controller", () => { "collection", "document-id", ["bar"], - optionsCopy + optionsCopy, ) .then((res) => { should(kuzzle.query) @@ -173,7 +175,7 @@ describe("Document Controller", () => { silent: true, source: true, }, - optionsCopy + optionsCopy, ); should(res._id).be.equal("document-id"); @@ -202,7 +204,7 @@ describe("Document Controller", () => { lang: undefined, silent: true, }, - options + options, ); should(res).be.an.Array(); @@ -236,7 +238,7 @@ describe("Document Controller", () => { collection: "collection", _id: "document-id", }, - options + options, ); should(res._id).be.equal("document-id"); @@ -268,7 +270,7 @@ describe("Document Controller", () => { "index", "collection", [{ _id: "document-id", body: { foo: "bar" } }], - options + options, ) .then((res) => { should(kuzzle.query) @@ -285,7 +287,7 @@ describe("Document Controller", () => { documents: [{ _id: "document-id", body: { foo: "bar" } }], }, }, - options + options, ); should(res).be.equal(result); @@ -314,7 +316,7 @@ describe("Document Controller", () => { "index", "collection", [{ _id: "document-id", body: { foo: "bar" } }], - options + options, ) .then((res) => { should(kuzzle.query) @@ -331,7 +333,7 @@ describe("Document Controller", () => { documents: [{ _id: "document-id", body: { foo: "bar" } }], }, }, - options + options, ); should(res).be.equal(result); @@ -357,7 +359,7 @@ describe("Document Controller", () => { "collection", "some-id", { changes: "changes" }, - options + options, ) .then((res) => { should(kuzzle.query) @@ -376,7 +378,7 @@ describe("Document Controller", () => { default: { def: "default" }, }, }, - options + options, ); should(res).be.equal(result); @@ -406,7 +408,7 @@ describe("Document Controller", () => { strict: true, body: { ids: ["document1", "document2"] }, }, - options + options, ); should(res).be.equal(result); @@ -438,7 +440,7 @@ describe("Document Controller", () => { collection: "collection", body: { ids: ["document1", "document2"] }, }, - options + options, ); should(res).be.equal(result); @@ -467,7 +469,7 @@ describe("Document Controller", () => { "index", "collection", [{ _id: "document-id", body: { foo: "bar" } }], - options + options, ) .then((res) => { should(kuzzle.query) @@ -484,7 +486,7 @@ describe("Document Controller", () => { documents: [{ _id: "document-id", body: { foo: "bar" } }], }, }, - options + options, ); should(res).be.equal(result); @@ -513,7 +515,7 @@ describe("Document Controller", () => { "index", "collection", [{ _id: "document-id", body: { foo: "bar" } }], - options + options, ) .then((res) => { should(kuzzle.query) @@ -530,7 +532,7 @@ describe("Document Controller", () => { documents: [{ _id: "document-id", body: { foo: "bar" } }], }, }, - options + options, ); should(res).be.equal(result); @@ -564,7 +566,7 @@ describe("Document Controller", () => { silent: true, body: { foo: "bar" }, }, - options + options, ); should(res).be.equal(result); @@ -602,7 +604,7 @@ describe("Document Controller", () => { size: undefined, scroll: undefined, }, - options + options, ); should(res).be.an.instanceOf(DocumentSearchResult); @@ -645,7 +647,7 @@ describe("Document Controller", () => { size: undefined, scroll: undefined, }, - options + options, ); should(res).be.an.instanceOf(DocumentSearchResult); @@ -674,7 +676,7 @@ describe("Document Controller", () => { "index", "collection", { foo: "bar" }, - { from: 1, size: 2, scroll: "10s" } + { from: 1, size: 2, scroll: "10s" }, ) .then((res) => { should(kuzzle.query) @@ -690,7 +692,7 @@ describe("Document Controller", () => { size: 2, scroll: "10s", }, - {} + {}, ); should(res).be.an.instanceOf(DocumentSearchResult); @@ -776,7 +778,7 @@ describe("Document Controller", () => { silent: true, source: undefined, }, - options + options, ); should(res).be.equal(result); @@ -798,7 +800,7 @@ describe("Document Controller", () => { "collection", "document-id", { foo: "bar" }, - { retryOnConflict: true } + { retryOnConflict: true }, ) .then((res) => { should(kuzzle.query) @@ -815,7 +817,7 @@ describe("Document Controller", () => { source: undefined, silent: undefined, }, - { retryOnConflict: true } + { retryOnConflict: true }, ); should(res).be.equal(result); @@ -837,7 +839,7 @@ describe("Document Controller", () => { "collection", "document-id", { foo: "bar" }, - { source: true } + { source: true }, ) .then((res) => { should(kuzzle.query) @@ -899,7 +901,7 @@ describe("Document Controller", () => { silent: true, lang: undefined, }, - options + options, ); should(res).be.equal(result); @@ -972,7 +974,7 @@ describe("Document Controller", () => { collection: "collection", body: { foo: "bar" }, }, - options + options, ); should(res).be.equal(result); diff --git a/test/controllers/index.test.js b/test/controllers/index.test.js index 6f68ad85b..58ab7b307 100644 --- a/test/controllers/index.test.js +++ b/test/controllers/index.test.js @@ -1,3 +1,5 @@ +"use strict"; + const { IndexController } = require("../../src/controllers/Index"), sinon = require("sinon"), should = require("should"); @@ -29,7 +31,7 @@ describe("Index Controller", () => { action: "create", index: "index", }, - options + options, ); should(res).be.undefined(); @@ -50,7 +52,7 @@ describe("Index Controller", () => { action: "delete", index: "index", }, - options + options, ); should(res).be.undefined(); @@ -69,7 +71,7 @@ describe("Index Controller", () => { action: "exists", index: "index", }, - options + options, ); should(res).be.a.Boolean().and.be.true(); @@ -90,7 +92,7 @@ describe("Index Controller", () => { controller: "index", action: "list", }, - options + options, ); should(res).be.equal(result.indexes); @@ -114,7 +116,7 @@ describe("Index Controller", () => { action: "mDelete", body: { indexes: ["foo", "bar"] }, }, - options + options, ); should(res).be.equal(result.deleted); @@ -147,7 +149,7 @@ describe("Index Controller", () => { controller: "index", action: "stats", }, - options + options, ); should(res).be.equal(result); diff --git a/test/controllers/memoryStorage.test.js b/test/controllers/memoryStorage.test.js index ec54222a0..4a768121d 100644 --- a/test/controllers/memoryStorage.test.js +++ b/test/controllers/memoryStorage.test.js @@ -1,3 +1,5 @@ +"use strict"; + const { MemoryStorageController, } = require("../../src/controllers/MemoryStorage"), @@ -21,7 +23,7 @@ describe("MemoryStorage Controller", function () { expArgs, expOpts, result, - expected + expected, ) => { kuzzle.query.reset(); kuzzle.query.resolves({ result }); @@ -38,8 +40,8 @@ describe("MemoryStorage Controller", function () { action: command, }, expArgs, - expOpts - ) + expOpts, + ), ); }); }; @@ -51,7 +53,7 @@ describe("MemoryStorage Controller", function () { expArgs, expOpts, result, - expected + expected, ) => { if (!expArgs.body) { expArgs.body = {}; @@ -71,8 +73,8 @@ describe("MemoryStorage Controller", function () { action: command, }, expArgs, - expOpts - ) + expOpts, + ), ); return kuzzle.ms[command](...args.concat(opts)); @@ -87,7 +89,7 @@ describe("MemoryStorage Controller", function () { { _id: "key", body: { value: "value" } }, {}, 123, - 123 + 123, ); }); @@ -99,7 +101,7 @@ describe("MemoryStorage Controller", function () { { _id: "key" }, { start: 2, end: 42 }, 123, - 123 + 123, ); }); @@ -111,7 +113,7 @@ describe("MemoryStorage Controller", function () { { _id: "key", body: { operation: "and", keys: ["foo", "bar"] } }, {}, 123, - 123 + 123, ); }); @@ -123,7 +125,7 @@ describe("MemoryStorage Controller", function () { { _id: "key", bit: 0 }, { start: 2, end: 42 }, 123, - 123 + 123, ); }); @@ -143,7 +145,7 @@ describe("MemoryStorage Controller", function () { { _id: "key", body: { value: 42 } }, {}, 123, - 123 + 123, ); }); @@ -155,7 +157,7 @@ describe("MemoryStorage Controller", function () { { body: { keys: ["key1", "key2", "key3"] } }, {}, 123, - 123 + 123, ); }); @@ -167,7 +169,7 @@ describe("MemoryStorage Controller", function () { { keys: ["key1", "key2", "key3"] }, {}, 123, - 123 + 123, ); }); @@ -179,7 +181,7 @@ describe("MemoryStorage Controller", function () { { _id: "key", body: { seconds: 42 } }, {}, 0, - false + false, ); }); @@ -191,7 +193,7 @@ describe("MemoryStorage Controller", function () { { _id: "key", body: { timestamp: 123456789 } }, {}, 1, - true + true, ); }); @@ -220,7 +222,7 @@ describe("MemoryStorage Controller", function () { { _id: "key", body: { points: points } }, {}, 1, - 1 + 1, ); }); @@ -232,7 +234,7 @@ describe("MemoryStorage Controller", function () { { _id: "key", member1: "Palermo", member2: "Catania" }, { unit: "ft" }, "12345.678", - 12345.678 + 12345.678, ); }); @@ -244,7 +246,7 @@ describe("MemoryStorage Controller", function () { { _id: "key", members: ["Palermo", "Catania"] }, {}, ["foo", "bar"], - ["foo", "bar"] + ["foo", "bar"], ); }); @@ -262,7 +264,7 @@ describe("MemoryStorage Controller", function () { [ [123.45, 67.89], [3.14, 6.98], - ] + ], ); }); @@ -280,7 +282,7 @@ describe("MemoryStorage Controller", function () { [ { name: "Palermo", distance: 190.4424, coordinates: [13.36, 38.11] }, { name: "Catania", distance: 56.44, coordinates: [15.08, 37.5] }, - ] + ], ).then(function () { return testReadCommand( "georadius", @@ -289,7 +291,7 @@ describe("MemoryStorage Controller", function () { { _id: "key", lon: 15, lat: 37, distance: 200, unit: "km" }, {}, ["Palermo", "Catania"], - [{ name: "Palermo" }, { name: "Catania" }] + [{ name: "Palermo" }, { name: "Catania" }], ); }); }); @@ -308,7 +310,7 @@ describe("MemoryStorage Controller", function () { [ { name: "Palermo", distance: 190.4424, coordinates: [13.36, 38.11] }, { name: "Catania", distance: 56.44, coordinates: [15.08, 37.5] }, - ] + ], ).then(function () { return testReadCommand( "georadiusbymember", @@ -317,7 +319,7 @@ describe("MemoryStorage Controller", function () { { _id: "key", member: "Palermo", distance: 200, unit: "km" }, {}, ["Palermo", "Catania"], - [{ name: "Palermo" }, { name: "Catania" }] + [{ name: "Palermo" }, { name: "Catania" }], ); }); }); @@ -330,7 +332,7 @@ describe("MemoryStorage Controller", function () { { _id: "key" }, {}, "foobar", - "foobar" + "foobar", ); }); @@ -342,7 +344,7 @@ describe("MemoryStorage Controller", function () { { _id: "key", offset: 10 }, {}, 1, - 1 + 1, ); }); @@ -354,7 +356,7 @@ describe("MemoryStorage Controller", function () { { _id: "key", start: 2, end: 4 }, {}, "bar", - "bar" + "bar", ); }); @@ -366,7 +368,7 @@ describe("MemoryStorage Controller", function () { { _id: "key", body: { value: "foobar" } }, {}, "foobar", - "foobar" + "foobar", ); }); @@ -378,7 +380,7 @@ describe("MemoryStorage Controller", function () { { _id: "key", body: { fields: ["f1", "f2", "f3"] } }, {}, 2, - 2 + 2, ); }); @@ -390,7 +392,7 @@ describe("MemoryStorage Controller", function () { { _id: "key", field: "field" }, {}, 0, - false + false, ); }); @@ -402,7 +404,7 @@ describe("MemoryStorage Controller", function () { { _id: "key", field: "field" }, {}, "foobar", - "foobar" + "foobar", ); }); @@ -414,7 +416,7 @@ describe("MemoryStorage Controller", function () { { _id: "key" }, {}, { foo: "bar", baz: "qux" }, - { foo: "bar", baz: "qux" } + { foo: "bar", baz: "qux" }, ); }); @@ -426,7 +428,7 @@ describe("MemoryStorage Controller", function () { { _id: "key", body: { field: "field", value: 42 } }, {}, 2, - 2 + 2, ); }); @@ -438,7 +440,7 @@ describe("MemoryStorage Controller", function () { { _id: "key", body: { field: "field", value: 3.14159 } }, {}, "3.14159", - 3.14159 + 3.14159, ); }); @@ -450,7 +452,7 @@ describe("MemoryStorage Controller", function () { { _id: "key" }, {}, ["foo", "bar", "baz", "qux"], - ["foo", "bar", "baz", "qux"] + ["foo", "bar", "baz", "qux"], ); }); @@ -466,7 +468,7 @@ describe("MemoryStorage Controller", function () { { _id: "key", fields: ["f1", "f2", "f3"] }, {}, ["foo", "bar", "baz", "qux"], - ["foo", "bar", "baz", "qux"] + ["foo", "bar", "baz", "qux"], ); }); @@ -483,7 +485,7 @@ describe("MemoryStorage Controller", function () { { _id: "key", body: { entries: entries } }, {}, "OK", - undefined + undefined, ); }); @@ -495,7 +497,7 @@ describe("MemoryStorage Controller", function () { { _id: "key", cursor: 0 }, { count: 42, match: "foo*" }, [42, ["bar", "baz", "qux"]], - { cursor: 42, values: ["bar", "baz", "qux"] } + { cursor: 42, values: ["bar", "baz", "qux"] }, ); }); @@ -507,7 +509,7 @@ describe("MemoryStorage Controller", function () { { _id: "key", body: { field: "field", value: "value" } }, {}, 1, - true + true, ); }); @@ -519,7 +521,7 @@ describe("MemoryStorage Controller", function () { { _id: "key", body: { field: "field", value: "value" } }, {}, 0, - false + false, ); }); @@ -531,7 +533,7 @@ describe("MemoryStorage Controller", function () { { _id: "key", field: "field" }, {}, 10, - 10 + 10, ); }); @@ -543,7 +545,7 @@ describe("MemoryStorage Controller", function () { { _id: "key" }, {}, ["foo", "bar", "baz", "qux"], - ["foo", "bar", "baz", "qux"] + ["foo", "bar", "baz", "qux"], ); }); @@ -559,7 +561,7 @@ describe("MemoryStorage Controller", function () { { _id: "key", body: { value: -3 } }, {}, 123, - 123 + 123, ); }); @@ -571,7 +573,7 @@ describe("MemoryStorage Controller", function () { { _id: "key", body: { value: -3.14 } }, {}, "123.12", - 123.12 + 123.12, ); }); @@ -583,7 +585,7 @@ describe("MemoryStorage Controller", function () { { pattern: "pattern" }, {}, ["foo", "bar", "baz"], - ["foo", "bar", "baz"] + ["foo", "bar", "baz"], ); }); @@ -595,7 +597,7 @@ describe("MemoryStorage Controller", function () { { _id: "key", idx: 3 }, {}, "foobar", - "foobar" + "foobar", ); }); @@ -607,7 +609,7 @@ describe("MemoryStorage Controller", function () { { _id: "key", body: { position: "after", pivot: "foo", value: "bar" } }, {}, 4, - 4 + 4, ); }); @@ -623,7 +625,7 @@ describe("MemoryStorage Controller", function () { { _id: "key" }, {}, "foobar", - "foobar" + "foobar", ); }); @@ -635,7 +637,7 @@ describe("MemoryStorage Controller", function () { { _id: "key", body: { values: ["foo", "bar", "baz"] } }, {}, 4, - 4 + 4, ); }); @@ -647,7 +649,7 @@ describe("MemoryStorage Controller", function () { { _id: "key", body: { value: "foo" } }, {}, 4, - 4 + 4, ); }); @@ -659,7 +661,7 @@ describe("MemoryStorage Controller", function () { { _id: "key", start: 0, stop: 1 }, {}, ["foo", "bar"], - ["foo", "bar"] + ["foo", "bar"], ); }); @@ -671,7 +673,7 @@ describe("MemoryStorage Controller", function () { { _id: "key", body: { count: 1, value: "foo" } }, {}, 1, - 1 + 1, ); }); @@ -683,7 +685,7 @@ describe("MemoryStorage Controller", function () { { _id: "key", body: { index: 1, value: "foo" } }, {}, "OK", - undefined + undefined, ); }); @@ -695,7 +697,7 @@ describe("MemoryStorage Controller", function () { { _id: "key", body: { start: 1, stop: 2 } }, {}, "OK", - undefined + undefined, ); }); @@ -724,7 +726,7 @@ describe("MemoryStorage Controller", function () { [null, "OK"], [null, "1"], [null, 1], - ] + ], ); }); @@ -736,7 +738,7 @@ describe("MemoryStorage Controller", function () { { keys: ["k1", "k2", "k3"] }, {}, ["foo", "bar", "baz"], - ["foo", "bar", "baz"] + ["foo", "bar", "baz"], ); }); @@ -753,7 +755,7 @@ describe("MemoryStorage Controller", function () { { body: { entries: entries } }, {}, "OK", - undefined + undefined, ); }); @@ -770,7 +772,7 @@ describe("MemoryStorage Controller", function () { { body: { entries: entries } }, {}, 1, - true + true, ); }); @@ -782,7 +784,7 @@ describe("MemoryStorage Controller", function () { { _id: "key", subcommand: "encoding" }, {}, "foobar", - "foobar" + "foobar", ); }); @@ -794,7 +796,7 @@ describe("MemoryStorage Controller", function () { { _id: "key" }, {}, 1, - true + true, ); }); @@ -806,7 +808,7 @@ describe("MemoryStorage Controller", function () { { _id: "key", body: { milliseconds: 42000 } }, {}, 0, - false + false, ); }); @@ -818,7 +820,7 @@ describe("MemoryStorage Controller", function () { { _id: "key", body: { timestamp: 123456789 } }, {}, 1, - true + true, ); }); @@ -830,7 +832,7 @@ describe("MemoryStorage Controller", function () { { _id: "key", body: { elements: ["foo", "bar", "baz"] } }, {}, 0, - false + false, ); }); @@ -842,7 +844,7 @@ describe("MemoryStorage Controller", function () { { keys: ["k1", "k2", "k3"] }, {}, 42, - 42 + 42, ); }); @@ -854,7 +856,7 @@ describe("MemoryStorage Controller", function () { { _id: "key", body: { sources: ["key1", "key2", "key3"] } }, {}, "OK", - undefined + undefined, ); }); @@ -870,7 +872,7 @@ describe("MemoryStorage Controller", function () { { _id: "key", body: { value: "value", milliseconds: 42000 } }, {}, "OK", - undefined + undefined, ); }); @@ -882,7 +884,7 @@ describe("MemoryStorage Controller", function () { { _id: "key" }, {}, 42000, - 42000 + 42000, ); }); @@ -898,7 +900,7 @@ describe("MemoryStorage Controller", function () { { _id: "key", body: { newkey: "newId" } }, {}, "OK", - undefined + undefined, ); }); @@ -910,7 +912,7 @@ describe("MemoryStorage Controller", function () { { _id: "key", body: { newkey: "newId" } }, {}, 1, - true + true, ); }); @@ -922,7 +924,7 @@ describe("MemoryStorage Controller", function () { { _id: "key" }, {}, "foobar", - "foobar" + "foobar", ); }); @@ -934,7 +936,7 @@ describe("MemoryStorage Controller", function () { { body: { source: "src", destination: "dest" } }, {}, "foobar", - "foobar" + "foobar", ); }); @@ -946,7 +948,7 @@ describe("MemoryStorage Controller", function () { { _id: "key", body: { values: ["foo", "bar", "baz"] } }, {}, 4, - 4 + 4, ); }); @@ -958,7 +960,7 @@ describe("MemoryStorage Controller", function () { { _id: "key", body: { value: "foo" } }, {}, 4, - 4 + 4, ); }); @@ -970,7 +972,7 @@ describe("MemoryStorage Controller", function () { { _id: "key", body: { members: ["foo", "bar", "baz"] } }, {}, 4, - 4 + 4, ); }); @@ -982,7 +984,7 @@ describe("MemoryStorage Controller", function () { { cursor: 0 }, { count: 42, match: "foo*" }, [42, ["bar", "baz", "qux"]], - { cursor: 42, values: ["bar", "baz", "qux"] } + { cursor: 42, values: ["bar", "baz", "qux"] }, ); }); @@ -998,7 +1000,7 @@ describe("MemoryStorage Controller", function () { { _id: "key", keys: ["foo", "bar", "baz"] }, {}, ["foo", "bar", "baz"], - ["foo", "bar", "baz"] + ["foo", "bar", "baz"], ); }); @@ -1013,7 +1015,7 @@ describe("MemoryStorage Controller", function () { }, {}, 4, - 4 + 4, ); }); @@ -1025,7 +1027,7 @@ describe("MemoryStorage Controller", function () { { _id: "key", body: { value: "foo", ex: 0, nx: true, px: 42, xx: true } }, {}, "OK", - undefined + undefined, ); }); @@ -1037,7 +1039,7 @@ describe("MemoryStorage Controller", function () { { _id: "key", body: { value: "foo", seconds: 42 } }, {}, "OK", - undefined + undefined, ); }); @@ -1049,7 +1051,7 @@ describe("MemoryStorage Controller", function () { { _id: "key", body: { value: "foo" } }, {}, 1, - true + true, ); }); @@ -1061,7 +1063,7 @@ describe("MemoryStorage Controller", function () { { keys: ["k1", "k2", "k3"] }, {}, ["foo", "bar", "baz"], - ["foo", "bar", "baz"] + ["foo", "bar", "baz"], ); }); @@ -1073,7 +1075,7 @@ describe("MemoryStorage Controller", function () { { body: { destination: "key", keys: ["k1", "k2", "k3"] } }, {}, 1, - 1 + 1, ); }); @@ -1085,7 +1087,7 @@ describe("MemoryStorage Controller", function () { { _id: "key", member: "foobar" }, {}, 0, - false + false, ); }); @@ -1097,7 +1099,7 @@ describe("MemoryStorage Controller", function () { { _id: "key" }, {}, ["foo", "bar", "baz"], - ["foo", "bar", "baz"] + ["foo", "bar", "baz"], ); }); @@ -1109,7 +1111,7 @@ describe("MemoryStorage Controller", function () { { _id: "key", body: { destination: "dest", member: "member" } }, {}, 1, - true + true, ); }); @@ -1136,7 +1138,7 @@ describe("MemoryStorage Controller", function () { }, {}, ["foo", "bar", "baz"], - ["foo", "bar", "baz"] + ["foo", "bar", "baz"], ); }); @@ -1148,7 +1150,7 @@ describe("MemoryStorage Controller", function () { { _id: "key", body: { count: 2 } }, {}, ["foo", "bar"], - ["foo", "bar"] + ["foo", "bar"], ); }); @@ -1160,7 +1162,7 @@ describe("MemoryStorage Controller", function () { { _id: "key" }, { count: 2 }, ["foo", "bar"], - ["foo", "bar"] + ["foo", "bar"], ); }); @@ -1172,7 +1174,7 @@ describe("MemoryStorage Controller", function () { { _id: "key", body: { members: ["m1", "m2", "m3"] } }, {}, 3, - 3 + 3, ); }); @@ -1184,7 +1186,7 @@ describe("MemoryStorage Controller", function () { { _id: "key", cursor: 0 }, { count: 42, match: "foo*" }, [42, ["bar", "baz", "qux"]], - { cursor: 42, values: ["bar", "baz", "qux"] } + { cursor: 42, values: ["bar", "baz", "qux"] }, ); }); @@ -1200,7 +1202,7 @@ describe("MemoryStorage Controller", function () { { keys: ["k1", "k2", "k3"] }, {}, ["foo", "bar", "baz"], - ["foo", "bar", "baz"] + ["foo", "bar", "baz"], ); }); @@ -1212,7 +1214,7 @@ describe("MemoryStorage Controller", function () { { body: { destination: "key", keys: ["k1", "k2", "k3"] } }, {}, 1, - 1 + 1, ); }); @@ -1228,7 +1230,7 @@ describe("MemoryStorage Controller", function () { { body: { keys: ["k1", "k2", "k3"] } }, {}, 3, - 3 + 3, ); }); @@ -1244,7 +1246,7 @@ describe("MemoryStorage Controller", function () { { _id: "key" }, {}, "foobar", - "foobar" + "foobar", ); }); @@ -1265,7 +1267,7 @@ describe("MemoryStorage Controller", function () { }, {}, 3, - 3 + 3, ); }); @@ -1281,7 +1283,7 @@ describe("MemoryStorage Controller", function () { { _id: "key", min: 2, max: 3 }, {}, 3, - 3 + 3, ); }); @@ -1293,7 +1295,7 @@ describe("MemoryStorage Controller", function () { { _id: "key", body: { member: "foo", value: 42 } }, {}, 2, - 2 + 2, ); }); @@ -1312,7 +1314,7 @@ describe("MemoryStorage Controller", function () { }, {}, 1, - 1 + 1, ); }); @@ -1324,7 +1326,7 @@ describe("MemoryStorage Controller", function () { { _id: "key", min: "foo", max: "bar" }, {}, 3, - 3 + 3, ); }); @@ -1339,7 +1341,7 @@ describe("MemoryStorage Controller", function () { [ { member: "foo", score: 123 }, { member: "bar", score: 456 }, - ] + ], ); }); @@ -1351,7 +1353,7 @@ describe("MemoryStorage Controller", function () { { _id: "key", min: "a", max: "z" }, { limit: [0, 1] }, ["foo", "bar", "baz"], - ["foo", "bar", "baz"] + ["foo", "bar", "baz"], ); }); @@ -1363,7 +1365,7 @@ describe("MemoryStorage Controller", function () { { _id: "key", min: "a", max: "z" }, { limit: [0, 1] }, ["foo", "bar", "baz"], - ["foo", "bar", "baz"] + ["foo", "bar", "baz"], ); }); @@ -1378,7 +1380,7 @@ describe("MemoryStorage Controller", function () { [ { member: "foo", score: 123 }, { member: "bar", score: 456 }, - ] + ], ); }); @@ -1390,7 +1392,7 @@ describe("MemoryStorage Controller", function () { { _id: "key", member: "foo" }, {}, 3, - 3 + 3, ); }); @@ -1402,7 +1404,7 @@ describe("MemoryStorage Controller", function () { { _id: "key", body: { members: ["m1", "m2", "m3"] } }, {}, 3, - 3 + 3, ); }); @@ -1414,7 +1416,7 @@ describe("MemoryStorage Controller", function () { { _id: "key", body: { min: "a", max: "z" } }, {}, 3, - 3 + 3, ); }); @@ -1426,7 +1428,7 @@ describe("MemoryStorage Controller", function () { { _id: "key", body: { start: 0, stop: 3 } }, {}, 3, - 3 + 3, ); }); @@ -1438,7 +1440,7 @@ describe("MemoryStorage Controller", function () { { _id: "key", body: { min: 0, max: 3 } }, {}, 3, - 3 + 3, ); }); @@ -1453,7 +1455,7 @@ describe("MemoryStorage Controller", function () { [ { member: "foo", score: 123 }, { member: "bar", score: 456 }, - ] + ], ); }); @@ -1468,7 +1470,7 @@ describe("MemoryStorage Controller", function () { [ { member: "foo", score: 123 }, { member: "bar", score: 456 }, - ] + ], ); }); @@ -1480,7 +1482,7 @@ describe("MemoryStorage Controller", function () { { _id: "key", member: "foo" }, {}, 3, - 3 + 3, ); }); @@ -1492,7 +1494,7 @@ describe("MemoryStorage Controller", function () { { _id: "key", cursor: 0 }, { count: 42, match: "foo*" }, [42, ["bar", "baz", "qux"]], - { cursor: 42, values: ["bar", "baz", "qux"] } + { cursor: 42, values: ["bar", "baz", "qux"] }, ); }); @@ -1504,7 +1506,7 @@ describe("MemoryStorage Controller", function () { { _id: "key", member: "foo" }, {}, "3.14159", - 3.14159 + 3.14159, ); }); @@ -1523,7 +1525,7 @@ describe("MemoryStorage Controller", function () { }, {}, 1, - 1 + 1, ); }); }); diff --git a/test/controllers/realtime.test.js b/test/controllers/realtime.test.js index f8b08b4b9..8a2b7832a 100644 --- a/test/controllers/realtime.test.js +++ b/test/controllers/realtime.test.js @@ -1,3 +1,5 @@ +"use strict"; + const mockrequire = require("mock-require"); const sinon = require("sinon"); const should = require("should"); @@ -86,7 +88,7 @@ describe("Realtime Controller", () => { action: "count", body: { roomId: "roomId" }, }, - options + options, ); should(res).be.a.Number().and.be.equal(1234); @@ -113,7 +115,7 @@ describe("Realtime Controller", () => { body: { foo: "bar" }, _id: "doc-id", }, - options + options, ); should(published).be.a.Boolean().and.be.true(); @@ -148,7 +150,7 @@ describe("Realtime Controller", () => { }; return room; - } + }, ); const reRequire = mockrequire.reRequire("../../src/controllers/Realtime"); @@ -193,7 +195,7 @@ describe("Realtime Controller", () => { "collection", body, cb, - options + options, ); }) .then(() => { @@ -255,7 +257,7 @@ describe("Realtime Controller", () => { action: "unsubscribe", body: { roomId }, }, - options + options, ); }); }); @@ -285,7 +287,7 @@ describe("Realtime Controller", () => { should(kuzzle.realtime._subscriptions).be.empty(); should(kuzzle.realtime._subscriptionsOff).eql( - new Map([["foo", [roomA]]]) + new Map([["foo", [roomA]]]), ); for (const room of [roomA, roomB, roomC]) { should(room.removeListeners).be.calledOnce(); @@ -311,7 +313,7 @@ describe("Realtime Controller", () => { new Map([ ["foo", [roomA, roomB]], ["bar", [roomC]], - ]) + ]), ); for (const room of [roomA, roomB, roomC]) { diff --git a/test/controllers/security.test.js b/test/controllers/security.test.js index 548bd6cb4..393906944 100644 --- a/test/controllers/security.test.js +++ b/test/controllers/security.test.js @@ -1,3 +1,5 @@ +"use strict"; + const { SecurityController } = require("../../src/controllers/Security"); const { Profile } = require("../../src/core/security/Profile"); const { Role } = require("../../src/core/security/Role"); @@ -81,7 +83,7 @@ describe("Security Controller", () => { const result = await kuzzle.security.searchApiKeys( "kuid", { match: {} }, - { from: 1, size: 2 } + { from: 1, size: 2 }, ); should(kuzzle.query).be.calledWith({ @@ -119,7 +121,7 @@ describe("Security Controller", () => { controller: "security", action: "createCredentials", }, - options + options, ); should(res).be.equal(result); @@ -149,7 +151,7 @@ describe("Security Controller", () => { action: "createFirstAdmin", reset: undefined, }, - options + options, ); should(user).be.an.instanceOf(User); @@ -180,7 +182,7 @@ describe("Security Controller", () => { action: "createFirstAdmin", reset: true, }, - { reset: true } + { reset: true }, ); should(user).be.an.instanceOf(User); @@ -216,7 +218,7 @@ describe("Security Controller", () => { controller: "security", action: "createOrReplaceProfile", }, - options + options, ); should(profile).be.an.instanceOf(Profile); @@ -252,7 +254,7 @@ describe("Security Controller", () => { action: "createOrReplaceRole", force: null, }, - options + options, ); should(role).be.an.instanceOf(Role); @@ -287,7 +289,7 @@ describe("Security Controller", () => { controller: "security", action: "createProfile", }, - options + options, ); should(profile).be.an.instanceOf(Profile); @@ -323,7 +325,7 @@ describe("Security Controller", () => { action: "createRole", force: null, }, - options + options, ); should(role).be.an.instanceOf(Role); @@ -363,7 +365,7 @@ describe("Security Controller", () => { controller: "security", action: "createUser", }, - options + options, ); should(user).be.an.instanceOf(User); @@ -407,7 +409,7 @@ describe("Security Controller", () => { controller: "security", action: "createRestrictedUser", }, - options + options, ); should(user).be.an.instanceOf(User); @@ -438,7 +440,7 @@ describe("Security Controller", () => { controller: "security", action: "deleteCredentials", }, - options + options, ); should(res).be.equal(result); @@ -460,7 +462,7 @@ describe("Security Controller", () => { controller: "security", action: "deleteProfile", }, - options + options, ); should(res).be.equal(result); @@ -482,7 +484,7 @@ describe("Security Controller", () => { controller: "security", action: "deleteRole", }, - options + options, ); should(res).be.equal(result); @@ -504,7 +506,7 @@ describe("Security Controller", () => { controller: "security", action: "deleteUser", }, - options + options, ); should(res).be.equal(result); @@ -526,7 +528,7 @@ describe("Security Controller", () => { controller: "security", action: "getAllCredentialFields", }, - options + options, ); should(res).be.equal(result); @@ -548,7 +550,7 @@ describe("Security Controller", () => { action: "getCredentialFields", strategy: "strategy", }, - options + options, ); should(res).be.equal(result); @@ -574,7 +576,7 @@ describe("Security Controller", () => { strategy: "strategy", _id: "kuid", }, - options + options, ); should(res).be.equal(result); @@ -600,7 +602,7 @@ describe("Security Controller", () => { strategy: "strategy", _id: "userId", }, - options + options, ); should(res).be.equal(result); @@ -629,7 +631,7 @@ describe("Security Controller", () => { controller: "security", action: "getProfile", }, - options + options, ); should(profile).be.an.instanceOf(Profile); @@ -652,7 +654,7 @@ describe("Security Controller", () => { controller: "security", action: "getProfileMapping", }, - options + options, ); should(res).be.equal(result); @@ -691,7 +693,7 @@ describe("Security Controller", () => { controller: "security", action: "getProfileRights", }, - options + options, ); should(res).be.eql(result.hits); @@ -718,7 +720,7 @@ describe("Security Controller", () => { controller: "security", action: "getRole", }, - options + options, ); should(role).be.an.instanceOf(Role); @@ -741,7 +743,7 @@ describe("Security Controller", () => { controller: "security", action: "getRoleMapping", }, - options + options, ); should(res).be.equal(result); @@ -768,7 +770,7 @@ describe("Security Controller", () => { controller: "security", action: "getUser", }, - options + options, ); should(user).be.an.instanceOf(User); @@ -795,7 +797,7 @@ describe("Security Controller", () => { controller: "security", action: "getUserMapping", }, - options + options, ); should(res).be.equal(result); @@ -832,7 +834,7 @@ describe("Security Controller", () => { controller: "security", action: "getUserRights", }, - options + options, ); should(res).be.eql(result.hits); @@ -854,7 +856,7 @@ describe("Security Controller", () => { controller: "security", action: "getUserStrategies", }, - options + options, ); should(res).be.eql(result.strategies); @@ -876,7 +878,7 @@ describe("Security Controller", () => { strategy: "strategy", _id: "kuid", }, - options + options, ); should(res).be.a.Boolean().and.be.True(); @@ -900,7 +902,7 @@ describe("Security Controller", () => { action: "mDeleteProfiles", body: { ids: ["profile1", "profile2"] }, }, - options + options, ); should(res).be.equal(result); @@ -924,7 +926,7 @@ describe("Security Controller", () => { action: "mDeleteRoles", body: { ids: ["role1", "role2"] }, }, - options + options, ); should(res).be.equal(result); @@ -948,7 +950,7 @@ describe("Security Controller", () => { action: "mDeleteUsers", body: { ids: ["user1", "user2"] }, }, - options + options, ); should(res).be.equal(result); @@ -986,7 +988,7 @@ describe("Security Controller", () => { action: "mGetProfiles", body: { ids: ["profile1", "profile2"] }, }, - options + options, ); should(res).be.an.Array(); @@ -1033,7 +1035,7 @@ describe("Security Controller", () => { action: "mGetRoles", body: { ids: ["role1", "role2"] }, }, - options + options, ); should(res).be.an.Array(); @@ -1095,7 +1097,7 @@ describe("Security Controller", () => { controller: "security", action: "replaceUser", }, - options + options, ); should(user).be.an.instanceOf(User); @@ -1145,7 +1147,7 @@ describe("Security Controller", () => { body: { roles: ["foo", "bar"] }, opt: "in", }, - options + options, ); should(res).be.an.instanceOf(ProfileSearchResult); @@ -1177,7 +1179,7 @@ describe("Security Controller", () => { return kuzzle.security .searchProfiles( { roles: ["foo", "bar"] }, - { from: 1, size: 2, scroll: "10s" } + { from: 1, size: 2, scroll: "10s" }, ) .then((res) => { should(kuzzle.query) @@ -1191,7 +1193,7 @@ describe("Security Controller", () => { size: 2, scroll: "10s", }, - { from: 1, scroll: "10s", size: 2 } + { from: 1, scroll: "10s", size: 2 }, ); should(res).be.an.instanceOf(ProfileSearchResult); @@ -1238,7 +1240,7 @@ describe("Security Controller", () => { body: { controllers: ["foo", "bar"] }, opt: "in", }, - options + options, ); should(res).be.an.instanceOf(RoleSearchResult); @@ -1280,7 +1282,7 @@ describe("Security Controller", () => { from: 1, size: 2, }, - { from: 1, size: 2 } + { from: 1, size: 2 }, ); should(res).be.an.instanceOf(RoleSearchResult); @@ -1333,7 +1335,7 @@ describe("Security Controller", () => { scroll: undefined, lang: undefined, }, - options + options, ); should(res).be.an.instanceOf(UserSearchResult); @@ -1380,7 +1382,7 @@ describe("Security Controller", () => { scroll: "10s", lang: undefined, }, - { from: 1, scroll: "10s", size: 2 } + { from: 1, scroll: "10s", size: 2 }, ); should(res).be.an.instanceOf(UserSearchResult); @@ -1412,7 +1414,7 @@ describe("Security Controller", () => { controller: "security", action: "updateCredentials", }, - options + options, ); should(res).be.equal(result); @@ -1445,7 +1447,7 @@ describe("Security Controller", () => { controller: "security", action: "updateProfile", }, - options + options, ); should(profile).be.an.instanceOf(Profile); @@ -1470,7 +1472,7 @@ describe("Security Controller", () => { controller: "security", action: "updateProfileMapping", }, - options + options, ); should(res.acknowledged).be.a.Boolean().and.be.True(); @@ -1504,7 +1506,7 @@ describe("Security Controller", () => { action: "updateRole", force: null, }, - options + options, ); should(role).be.an.instanceOf(Role); @@ -1529,7 +1531,7 @@ describe("Security Controller", () => { controller: "security", action: "updateRoleMapping", }, - options + options, ); should(res.acknowledged).be.a.Boolean().and.be.True(); @@ -1562,7 +1564,7 @@ describe("Security Controller", () => { controller: "security", action: "updateUser", }, - options + options, ); should(user).be.an.instanceOf(User); @@ -1591,7 +1593,7 @@ describe("Security Controller", () => { controller: "security", action: "updateUserMapping", }, - options + options, ); should(res.acknowledged).be.a.Boolean().and.be.True(); @@ -1616,7 +1618,7 @@ describe("Security Controller", () => { controller: "security", action: "validateCredentials", }, - options + options, ); should(res).be.a.Boolean().and.be.True(); diff --git a/test/controllers/server.test.js b/test/controllers/server.test.js index 0a713679b..4712575a7 100644 --- a/test/controllers/server.test.js +++ b/test/controllers/server.test.js @@ -1,3 +1,5 @@ +"use strict"; + const { ServerController } = require("../../src/controllers/Server"), sinon = require("sinon"), should = require("should"); @@ -368,7 +370,7 @@ describe("Server Controller", () => { startTime: 1234, stopTime: null, }, - {} + {}, ); should(res).match(result); }) @@ -385,7 +387,7 @@ describe("Server Controller", () => { startTime: null, stopTime: 9876, }, - {} + {}, ); should(res).match(result); }) @@ -402,7 +404,7 @@ describe("Server Controller", () => { startTime: null, stopTime: null, }, - {} + {}, ); should(res).match(result); }); diff --git a/test/core/Jwt.test.js b/test/core/Jwt.test.js index 88d4da867..ba1f33991 100644 --- a/test/core/Jwt.test.js +++ b/test/core/Jwt.test.js @@ -1,3 +1,6 @@ +/* eslint-disable no-new */ +"use strict"; + const generateJwt = require("../mocks/generateJwt.mock"), rewire = require("rewire"), should = require("should"); @@ -39,7 +42,7 @@ describe("Jwt", () => { it("should return a boolean according to expiresAt", () => { const encodedJwt = generateJwt( "user-gordon", - Math.round(Date.now() / 1000) - 1000 + Math.round(Date.now() / 1000) - 1000, ); authenticationToken = new Jwt(encodedJwt); diff --git a/test/core/batchWriter/BatchBuffer.test.js b/test/core/batchWriter/BatchBuffer.test.js index 41dec8d2e..0c6d7f6cd 100644 --- a/test/core/batchWriter/BatchBuffer.test.js +++ b/test/core/batchWriter/BatchBuffer.test.js @@ -1,3 +1,5 @@ +"use strict"; + const should = require("should"); const { BatchBuffer } = require("../../../src/core/batchWriter/BatchBuffer"); diff --git a/test/core/batchWriter/BatchController.test.js b/test/core/batchWriter/BatchController.test.js index 8950afb74..229982a97 100644 --- a/test/core/batchWriter/BatchController.test.js +++ b/test/core/batchWriter/BatchController.test.js @@ -1,3 +1,5 @@ +"use strict"; + const sinon = require("sinon"); const should = require("should"); @@ -106,7 +108,7 @@ describe("BatchController", () => { should(prom1).be.resolvedWith("dana"); should(prom2).be.rejectedWith( - new Error('Cannot create document in "city":"galle" : some reason') + new Error('Cannot create document in "city":"galle" : some reason'), ); }); }); @@ -132,13 +134,13 @@ describe("BatchController", () => { "city", "galle", { name: "Dana" }, - "dana" + "dana", ); const prom2 = batchController.replace( "city", "galle", { name: "Aschen" }, - "aschen" + "aschen", ); promise.resolve({ @@ -155,7 +157,7 @@ describe("BatchController", () => { "galle", "aschen", { name: "Aschen" }, - undefined + undefined, ); }); @@ -164,13 +166,13 @@ describe("BatchController", () => { "city", "galle", { name: "Dana" }, - "dana" + "dana", ); const prom2 = batchController.replace( "city", "galle", { name: "Aschen" }, - "aschen" + "aschen", ); promise.resolve({ @@ -189,7 +191,7 @@ describe("BatchController", () => { should(prom1).be.resolvedWith("dana"); should(prom2).be.rejectedWith( - new Error('Cannot replace document in "city":"galle" : some reason') + new Error('Cannot replace document in "city":"galle" : some reason'), ); }); }); @@ -215,13 +217,13 @@ describe("BatchController", () => { "city", "galle", { name: "Dana" }, - "dana" + "dana", ); const prom2 = batchController.createOrReplace( "city", "galle", { name: "Aschen" }, - "aschen" + "aschen", ); promise.resolve({ @@ -238,7 +240,7 @@ describe("BatchController", () => { "galle", "aschen", { name: "Aschen" }, - undefined + undefined, ); }); @@ -247,13 +249,13 @@ describe("BatchController", () => { "city", "galle", { name: "Dana" }, - "dana" + "dana", ); const prom2 = batchController.createOrReplace( "city", "galle", { name: "Aschen" }, - "aschen" + "aschen", ); promise.resolve({ @@ -273,8 +275,8 @@ describe("BatchController", () => { should(prom1).be.resolvedWith("dana"); should(prom2).be.rejectedWith( new Error( - 'Cannot create or replace document in "city":"galle" : some reason' - ) + 'Cannot create or replace document in "city":"galle" : some reason', + ), ); }); }); @@ -300,13 +302,13 @@ describe("BatchController", () => { "city", "galle", { name: "Dana" }, - "dana" + "dana", ); const prom2 = batchController.update( "city", "galle", { name: "Aschen" }, - "aschen" + "aschen", ); promise.resolve({ @@ -323,7 +325,7 @@ describe("BatchController", () => { "galle", "aschen", { name: "Aschen" }, - undefined + undefined, ); }); @@ -332,13 +334,13 @@ describe("BatchController", () => { "city", "galle", { name: "Dana" }, - "dana" + "dana", ); const prom2 = batchController.update( "city", "galle", { name: "Aschen" }, - "aschen" + "aschen", ); promise.resolve({ @@ -357,7 +359,7 @@ describe("BatchController", () => { should(prom1).be.resolvedWith("dana"); should(prom2).be.rejectedWith( - new Error('Cannot update in "city":"galle" : some reason') + new Error('Cannot update in "city":"galle" : some reason'), ); }); }); @@ -417,7 +419,7 @@ describe("BatchController", () => { new KuzzleError({ message: 'Document "city":"galle":"aschen" not found', id: "services.storage.not_found", - }) + }), ); }); }); @@ -507,7 +509,7 @@ describe("BatchController", () => { should(prom1).be.resolvedWith("dana"); should(prom2).be.rejectedWith( - new Error('Cannot delete document "city":"galle":aschen": some reason') + new Error('Cannot delete document "city":"galle":aschen": some reason'), ); }); }); diff --git a/test/core/batchWriter/BatchWriter.test.js b/test/core/batchWriter/BatchWriter.test.js index 4a0df9d26..0bb906243 100644 --- a/test/core/batchWriter/BatchWriter.test.js +++ b/test/core/batchWriter/BatchWriter.test.js @@ -1,3 +1,5 @@ +"use strict"; + const sinon = require("sinon"); const should = require("should"); @@ -115,19 +117,19 @@ describe("BatchWriter", () => { "city", "tbilisi", { name: "Dana" }, - "dana" + "dana", ); writer.buffers.create.add( "city", "tbilisi", { name: "Aschen" }, - "aschen" + "aschen", ); const colombo = writer.buffers.create.add( "city", "colombo", { name: "Ugo" }, - "ugo" + "ugo", ); await writer.sendWriteBuffer("mCreate", writer.buffers.create); @@ -150,7 +152,7 @@ describe("BatchWriter", () => { "city", "tbilisi", { name: "Dana" }, - "dana" + "dana", ); await writer.sendWriteBuffer("mCreate", writer.buffers.create); @@ -173,14 +175,14 @@ describe("BatchWriter", () => { "city", "tbilisi", undefined, - "dana" + "dana", ); writer.buffers.get.add("city", "tbilisi", undefined, "aschen"); const colombo = writer.buffers.get.add( "city", "colombo", undefined, - "ugo" + "ugo", ); await writer.sendGetBuffer(writer.buffers.get); @@ -198,7 +200,7 @@ describe("BatchWriter", () => { "city", "tbilisi", undefined, - "dana" + "dana", ); await writer.sendGetBuffer(writer.buffers.get); @@ -225,14 +227,14 @@ describe("BatchWriter", () => { "city", "tbilisi", undefined, - "dana" + "dana", ); writer.buffers.exists.add("city", "tbilisi", undefined, "aschen"); const colombo = writer.buffers.exists.add( "city", "colombo", undefined, - "ugo" + "ugo", ); await writer.sendExistsBuffer(writer.buffers.exists); @@ -249,7 +251,7 @@ describe("BatchWriter", () => { "city", "tbilisi", undefined, - "dana" + "dana", ); writer.buffers.exists.add("city", "tbilisi", undefined, "aschen"); writer.sdk.document.mGet.onCall(0).resolves({ @@ -268,7 +270,7 @@ describe("BatchWriter", () => { "city", "tbilisi", undefined, - "dana" + "dana", ); await writer.sendExistsBuffer(writer.buffers.exists); @@ -290,14 +292,14 @@ describe("BatchWriter", () => { "city", "tbilisi", undefined, - "dana" + "dana", ); writer.buffers.delete.add("city", "tbilisi", undefined, "aschen"); const colombo = writer.buffers.delete.add( "city", "colombo", undefined, - "ugo" + "ugo", ); await writer.sendDeleteBuffer(writer.buffers.delete); @@ -315,7 +317,7 @@ describe("BatchWriter", () => { "city", "tbilisi", undefined, - "dana" + "dana", ); await writer.sendDeleteBuffer(writer.buffers.delete); diff --git a/test/core/observer.test.js b/test/core/observer.test.js index 4a25c7dcb..cccf29a62 100644 --- a/test/core/observer.test.js +++ b/test/core/observer.test.js @@ -1,3 +1,5 @@ +"use strict"; + const sinon = require("sinon"); const should = require("should"); @@ -204,7 +206,7 @@ describe("Observer", () => { "index", "collection", "id", - "opts" + "opts", ); should(observer.observe).be.calledWith("index", "collection", doc1); should(rtDoc).be.eql(rtDoc1); @@ -225,14 +227,14 @@ describe("Observer", () => { "index", "collection", ["id", "id2"], - "opts" + "opts", ); should(sdk.document.mGet).be.calledWith( "index", "collection", ["id", "id2"], - "opts" + "opts", ); should(observer.addDocument) .be.calledTwice() @@ -260,14 +262,14 @@ describe("Observer", () => { "index", "collection", query, - options + options, ); should(sdk.document._search).be.calledWith( "index", "collection", query, - options + options, ); // Called by RealtimeDocumentSearchResult should(observer.addDocument) diff --git a/test/core/room.test.js b/test/core/room.test.js index 2eadd73ba..04d5985ae 100644 --- a/test/core/room.test.js +++ b/test/core/room.test.js @@ -1,3 +1,5 @@ +"use strict"; + const sinon = require("sinon"); const should = require("should"); @@ -43,7 +45,7 @@ describe("Room", () => { "collection", body, cb, - options + options, ); should(room.controller).be.equal(controller); @@ -169,7 +171,7 @@ describe("Room", () => { users: "all", volatile: { bar: "foo" }, }, - opts + opts, ); should(res).be.equal(response); @@ -229,7 +231,7 @@ describe("Room", () => { "collection", { foo: "bar" }, sinon.stub(), - options + options, ); room.id = "my-room-id"; room.channel = "subscription-channel"; @@ -239,7 +241,7 @@ describe("Room", () => { room._channelListener = sinon.stub(); controller.kuzzle.protocol.on( "subscription-channel", - room._channelListener + room._channelListener, ); should(room._channelListener).not.be.called(); @@ -265,7 +267,7 @@ describe("Room", () => { "collection", { foo: "bar" }, cb, - options + options, ); room.id = "my-room-id"; room.channel = "subscription-channel"; diff --git a/test/core/searchResult/document.test.js b/test/core/searchResult/document.test.js index e154ecc3a..f52707fc8 100644 --- a/test/core/searchResult/document.test.js +++ b/test/core/searchResult/document.test.js @@ -1,3 +1,5 @@ +"use strict"; + const sinon = require("sinon"); const should = require("should"); @@ -90,7 +92,7 @@ describe("DocumentSearchResult", () => { searchResult = new DocumentSearchResult(kuzzle, request, options, result); return should(searchResult.next()).be.rejectedWith( - "Unable to retrieve next results from search: missing scrollId, from/sort, or from/size params" + "Unable to retrieve next results from search: missing scrollId, from/sort, or from/size params", ); }); @@ -121,7 +123,7 @@ describe("DocumentSearchResult", () => { kuzzle, request, options, - result + result, ); kuzzle.query.resolves({ result: nextResponse }); @@ -150,7 +152,7 @@ describe("DocumentSearchResult", () => { should(nextSearchResult._result).be.equal(nextResponse); should(nextSearchResult.hits).be.equal(nextResponse.hits); should(nextSearchResult.aggregations).equal( - nextResponse.aggregations + nextResponse.aggregations, ); }); }); @@ -200,7 +202,7 @@ describe("DocumentSearchResult", () => { kuzzle, request, options, - result + result, ); kuzzle.query.resolves({ result: nextResponse }); @@ -225,7 +227,7 @@ describe("DocumentSearchResult", () => { action: "search", size: 2, }, - options + options, ); should(nextSearchResult).not.be.equal(searchResult); should(nextSearchResult).be.instanceOf(DocumentSearchResult); @@ -241,7 +243,7 @@ describe("DocumentSearchResult", () => { should(nextSearchResult._result).be.equal(nextResponse); should(nextSearchResult.hits).be.equal(nextResponse.hits); should(nextSearchResult.aggregations).equal( - nextResponse.aggregations + nextResponse.aggregations, ); }); }); @@ -252,7 +254,7 @@ describe("DocumentSearchResult", () => { kuzzle, request, options, - result + result, ); return should(searchResult.next()).be.rejected(); @@ -264,7 +266,7 @@ describe("DocumentSearchResult", () => { kuzzle, request, options, - result + result, ); return should(searchResult.next()).be.rejected(); @@ -313,7 +315,7 @@ describe("DocumentSearchResult", () => { kuzzle, request, options, - result + result, ); kuzzle.query.resolves({ result: nextResponse }); @@ -355,7 +357,7 @@ describe("DocumentSearchResult", () => { should(nextSearchResult._result).be.equal(nextResponse); should(nextSearchResult.hits).be.equal(nextResponse.hits); should(nextSearchResult.aggregations).equal( - nextResponse.aggregations + nextResponse.aggregations, ); }); }); diff --git a/test/core/searchResult/profile.test.js b/test/core/searchResult/profile.test.js index b40b80d5d..a3362d352 100644 --- a/test/core/searchResult/profile.test.js +++ b/test/core/searchResult/profile.test.js @@ -1,3 +1,5 @@ +"use strict"; + const { ProfileSearchResult, } = require("../../../src/core/searchResult/Profile"), @@ -114,7 +116,7 @@ describe("ProfileSearchResult", () => { searchResult = new ProfileSearchResult(kuzzle, request, options, result); return should(searchResult.next()).be.rejectedWith( - "Unable to retrieve next results from search: missing scrollId, from/sort, or from/size params" + "Unable to retrieve next results from search: missing scrollId, from/sort, or from/size params", ); }); @@ -155,7 +157,7 @@ describe("ProfileSearchResult", () => { kuzzle, request, options, - result + result, ); kuzzle.query.resolves({ result: nextResponse }); @@ -243,7 +245,7 @@ describe("ProfileSearchResult", () => { kuzzle, request, options, - result + result, ); kuzzle.query.resolves({ result: nextResponse }); @@ -265,7 +267,7 @@ describe("ProfileSearchResult", () => { action: "searchProfiles", size: 2, }, - options + options, ); should(nextSearchResult).not.be.equal(searchResult); should(nextSearchResult).be.instanceOf(ProfileSearchResult); @@ -333,7 +335,7 @@ describe("ProfileSearchResult", () => { kuzzle, request, options, - result + result, ); kuzzle.query.resolves({ result: nextResponse }); diff --git a/test/core/searchResult/role.test.js b/test/core/searchResult/role.test.js index 75f281320..1ac0c27ae 100644 --- a/test/core/searchResult/role.test.js +++ b/test/core/searchResult/role.test.js @@ -1,3 +1,5 @@ +"use strict"; + const { RoleSearchResult } = require("../../../src/core/searchResult/Role"), { Role } = require("../../../src/core/security/Role"), sinon = require("sinon"), @@ -100,7 +102,7 @@ describe("RoleSearchResult", () => { searchResult = new RoleSearchResult(kuzzle, request, options, result); return should(searchResult.next()).be.rejectedWith( - "only from/size params are allowed for role search" + "only from/size params are allowed for role search", ); }); @@ -109,7 +111,7 @@ describe("RoleSearchResult", () => { searchResult = new RoleSearchResult(kuzzle, request, options, result); return should(searchResult.next()).be.rejectedWith( - "only from/size params are allowed for role search" + "only from/size params are allowed for role search", ); }); @@ -117,7 +119,7 @@ describe("RoleSearchResult", () => { searchResult = new RoleSearchResult(kuzzle, request, options, result); return should(searchResult.next()).be.rejectedWith( - "Unable to retrieve next results from search: missing scrollId, from/sort, or from/size params" + "Unable to retrieve next results from search: missing scrollId, from/sort, or from/size params", ); }); diff --git a/test/core/searchResult/specifications.test.js b/test/core/searchResult/specifications.test.js index df1bdb639..7b3e864da 100644 --- a/test/core/searchResult/specifications.test.js +++ b/test/core/searchResult/specifications.test.js @@ -1,3 +1,5 @@ +"use strict"; + const { SpecificationsSearchResult, } = require("../../../src/core/searchResult/Specifications"), @@ -43,7 +45,7 @@ describe("SpecificationsSearchResult", () => { kuzzle, request, options, - result + result, ); should(searchResult._request).be.equal(request); @@ -83,7 +85,7 @@ describe("SpecificationsSearchResult", () => { kuzzle, request, options, - result + result, ); return searchResult.next().then((res) => { @@ -114,11 +116,11 @@ describe("SpecificationsSearchResult", () => { kuzzle, request, options, - result + result, ); return should(searchResult.next()).be.rejectedWith( - "Unable to retrieve next results from search: missing scrollId, from/sort, or from/size params" + "Unable to retrieve next results from search: missing scrollId, from/sort, or from/size params", ); }); @@ -163,7 +165,7 @@ describe("SpecificationsSearchResult", () => { kuzzle, request, options, - result + result, ); kuzzle.query.resolves({ result: nextResponse }); @@ -233,7 +235,7 @@ describe("SpecificationsSearchResult", () => { kuzzle, request, options, - result + result, ); kuzzle.query.resolves({ result: nextResponse }); @@ -254,7 +256,7 @@ describe("SpecificationsSearchResult", () => { action: "searchSpecifications", size: 2, }, - options + options, ); should(nextSearchResult).not.be.equal(searchResult); should(nextSearchResult).be.instanceOf(SpecificationsSearchResult); @@ -312,7 +314,7 @@ describe("SpecificationsSearchResult", () => { kuzzle, request, options, - result + result, ); kuzzle.query.resolves({ result: nextResponse }); diff --git a/test/core/searchResult/user.test.js b/test/core/searchResult/user.test.js index 047fe81c0..8dd249141 100644 --- a/test/core/searchResult/user.test.js +++ b/test/core/searchResult/user.test.js @@ -1,3 +1,5 @@ +"use strict"; + const { UserSearchResult } = require("../../../src/core/searchResult/User"), { User } = require("../../../src/core/security/User"), sinon = require("sinon"), @@ -120,7 +122,7 @@ describe("UserSearchResult", () => { searchResult = new UserSearchResult(kuzzle, request, options, result); return should(searchResult.next()).be.rejectedWith( - "Unable to retrieve next results from search: missing scrollId, from/sort, or from/size params" + "Unable to retrieve next results from search: missing scrollId, from/sort, or from/size params", ); }); @@ -288,7 +290,7 @@ describe("UserSearchResult", () => { action: "searchUsers", size: 2, }, - options + options, ); should(nextSearchResult).not.be.equal(searchResult); should(nextSearchResult).be.instanceOf(UserSearchResult); diff --git a/test/core/security/profile.test.js b/test/core/security/profile.test.js index 2fd2ae7f1..5fdfe22e2 100644 --- a/test/core/security/profile.test.js +++ b/test/core/security/profile.test.js @@ -1,3 +1,5 @@ +"use strict"; + const { Profile } = require("../../../src/core/security/Profile"); const sinon = require("sinon"); const should = require("should"); diff --git a/test/core/security/user.test.js b/test/core/security/user.test.js index 78452a750..8fa3194a4 100644 --- a/test/core/security/user.test.js +++ b/test/core/security/user.test.js @@ -1,3 +1,5 @@ +"use strict"; + const { User } = require("../../../src/core/security/User"), sinon = require("sinon"), should = require("should"); diff --git a/test/kuzzle-sdk-test.ts b/test/kuzzle-sdk-test.ts deleted file mode 100644 index e662fe119..000000000 --- a/test/kuzzle-sdk-test.ts +++ /dev/null @@ -1,49 +0,0 @@ -/** - * This file only purpose is to check that type remains compliant with the spec for user usage. - * This is not meant to be executed. It is only a compilation check along the test battery. - * - * If you see red warning, it's likely that you broke the code somewhere and introduced a breaking change. - * - * TODO: This can be safely removed when test will be migrated to TypeScript. - * TODO: Due to how the stack actually build and test, this file is not part of the CI, check it on your own before pushing. - * - * Inspired by TS standard from DefinitelyTyped - * @see https://github.com/DefinitelyTyped/DefinitelyTyped#my-package-teststs - */ -import { Kuzzle } from "../src/Kuzzle"; -import WebSocket from "../src/protocols/WebSocket"; -const kuzzle = new Kuzzle(new WebSocket("toto")); - -// Events -kuzzle.on("connected", () => {}); -kuzzle.on("callbackError", ({ error, notification }) => {}); -kuzzle.on( - "discarded", - ({ - action, - controller, - _id, - body, - collection, - index, - jwt, - requestId, - volatile, - }) => {} -); -kuzzle.on("disconnected", ({ origin }) => {}); -kuzzle.on("loginAttempt", ({ success, error }) => {}); - -// Methods -kuzzle.connect().then(() => {}); -kuzzle.disconnect(); -kuzzle.isAuthenticated().then(() => {}); -kuzzle.query({ controller: "auth", action: "login" }).then(() => {}); - -kuzzle.authenticator = () => Promise.resolve(); -kuzzle.authenticator().then(() => {}); -kuzzle.authenticate().then(() => {}); -kuzzle - .login("local", { username: "ScreamZ", password: "some_password" }) - .then(() => {}); -kuzzle.logout().then(() => {}); diff --git a/test/kuzzle/authenticator.test.js b/test/kuzzle/authenticator.test.js index 8b68eaa7c..d4c6ef27f 100644 --- a/test/kuzzle/authenticator.test.js +++ b/test/kuzzle/authenticator.test.js @@ -1,3 +1,5 @@ +"use strict"; + const should = require("should"); const sinon = require("sinon"); const ProtocolMock = require("../mocks/protocol.mock"); diff --git a/test/kuzzle/connect.test.js b/test/kuzzle/connect.test.js index 4e9d773e4..f5568022d 100644 --- a/test/kuzzle/connect.test.js +++ b/test/kuzzle/connect.test.js @@ -1,3 +1,5 @@ +"use strict"; + const should = require("should"); const sinon = require("sinon"); const ProtocolMock = require("../mocks/protocol.mock"); diff --git a/test/kuzzle/constructor.test.js b/test/kuzzle/constructor.test.js index 63829758b..6341cfc80 100644 --- a/test/kuzzle/constructor.test.js +++ b/test/kuzzle/constructor.test.js @@ -1,3 +1,7 @@ +/* eslint-disable no-undef */ +/* eslint-disable no-new */ +"use strict"; + const should = require("should"), sinon = require("sinon"), { Kuzzle } = require("../../src/Kuzzle"), diff --git a/test/kuzzle/eventEmitter.test.js b/test/kuzzle/eventEmitter.test.js index 96d28efb3..46611af6e 100644 --- a/test/kuzzle/eventEmitter.test.js +++ b/test/kuzzle/eventEmitter.test.js @@ -1,3 +1,6 @@ +/* eslint-disable no-invalid-this */ +"use strict"; + const should = require("should"), sinon = require("sinon"), { KuzzleEventEmitter } = require("../../src/core/KuzzleEventEmitter"); @@ -28,13 +31,13 @@ describe("Event emitter", () => { describe("#addListener", () => { it("should properly add new listeners to events", () => { should(kuzzleEventEmitter.on("foo", listener1)).be.eql( - kuzzleEventEmitter + kuzzleEventEmitter, ); should(kuzzleEventEmitter.on("foo", listener2)).be.eql( - kuzzleEventEmitter + kuzzleEventEmitter, ); should(kuzzleEventEmitter.on("bar", listener3)).be.eql( - kuzzleEventEmitter + kuzzleEventEmitter, ); should(kuzzleEventEmitter.listeners("foo")) .eql([listener1, listener2]) @@ -254,13 +257,13 @@ describe("Event emitter", () => { describe("#eventNames", () => { it("should return the list of registered event names", () => { should(kuzzleEventEmitter.on("foo", listener1)).be.eql( - kuzzleEventEmitter + kuzzleEventEmitter, ); should(kuzzleEventEmitter.once("bar", listener2)).be.eql( - kuzzleEventEmitter + kuzzleEventEmitter, ); should(kuzzleEventEmitter.on("baz", listener3)).be.eql( - kuzzleEventEmitter + kuzzleEventEmitter, ); should(kuzzleEventEmitter.eventNames()).be.eql(["foo", "bar", "baz"]); diff --git a/test/kuzzle/getters.test.js b/test/kuzzle/getters.test.js index bb61ba980..03dfbb341 100644 --- a/test/kuzzle/getters.test.js +++ b/test/kuzzle/getters.test.js @@ -1,3 +1,5 @@ +"use strict"; + const should = require("should"), ProtocolMock = require("../mocks/protocol.mock"), generateJwt = require("../mocks/generateJwt.mock"), diff --git a/test/kuzzle/listenersManagement.test.js b/test/kuzzle/listenersManagement.test.js index 35c071d26..234d9cb05 100644 --- a/test/kuzzle/listenersManagement.test.js +++ b/test/kuzzle/listenersManagement.test.js @@ -1,3 +1,5 @@ +"use strict"; + const should = require("should"); const sinon = require("sinon"); @@ -44,7 +46,7 @@ describe("Kuzzle listeners management", () => { should(function () { kuzzle.addListener("foo", sinon.stub()); }).throw( - "[foo] is not a known event. Known events: " + knownEvents.join(", ") + "[foo] is not a known event. Known events: " + knownEvents.join(", "), ); let i; @@ -56,7 +58,7 @@ describe("Kuzzle listeners management", () => { for (i = 0; i < knownEvents.length; i++) { should(KuzzleEventEmitter.prototype.addListener.getCall(i)).be.calledWith( - knownEvents[i] + knownEvents[i], ); } }); @@ -72,11 +74,11 @@ describe("Kuzzle listeners management", () => { should(KuzzleEventEmitter.prototype.emit).be.calledTwice(); should(KuzzleEventEmitter.prototype.emit.firstCall).be.calledWith( "connected", - "foo" + "foo", ); should(KuzzleEventEmitter.prototype.emit.secondCall).be.calledWith( "offlineQueuePush", - "bar" + "bar", ); KuzzleEventEmitter.prototype.emit.reset(); @@ -88,7 +90,7 @@ describe("Kuzzle listeners management", () => { should(KuzzleEventEmitter.prototype.emit).be.calledOnce(); should(KuzzleEventEmitter.prototype.emit).be.calledWith( "connected", - "bar" + "bar", ); done(); }, 0); diff --git a/test/kuzzle/protocol.test.js b/test/kuzzle/protocol.test.js index 8f5f0729b..7d2c70581 100644 --- a/test/kuzzle/protocol.test.js +++ b/test/kuzzle/protocol.test.js @@ -1,3 +1,5 @@ +"use strict"; + const should = require("should"); const sinon = require("sinon"); const ProtocolMock = require("../mocks/protocol.mock"); diff --git a/test/kuzzle/proxy.test.js b/test/kuzzle/proxy.test.js index 3796f5d92..d093a3173 100644 --- a/test/kuzzle/proxy.test.js +++ b/test/kuzzle/proxy.test.js @@ -1,3 +1,5 @@ +"use strict"; + const should = require("should"), { Kuzzle } = require("../../src/Kuzzle"), ProtocolMock = require("../mocks/protocol.mock"); @@ -10,7 +12,7 @@ describe("Kuzzle proxy", () => { should(() => { kuzzle.jvt = "foobar"; }).throwError( - "Cannot set a value to the undefined 'jvt' property in 'kuzzle'" + "Cannot set a value to the undefined 'jvt' property in 'kuzzle'", ); }); }); diff --git a/test/kuzzle/query.test.js b/test/kuzzle/query.test.js index ebda3e03d..5efbfb0d9 100644 --- a/test/kuzzle/query.test.js +++ b/test/kuzzle/query.test.js @@ -1,4 +1,4 @@ -/* eslint no-undef: 0 */ +"use strict"; const should = require("should"), sinon = require("sinon"), @@ -6,6 +6,8 @@ const should = require("should"), generateJwt = require("../mocks/generateJwt.mock"), { Kuzzle } = require("../../src/Kuzzle"); +let kuzzle; + describe("Kuzzle query management", () => { describe("#_timeoutRequest", () => { beforeEach(() => { @@ -19,7 +21,7 @@ describe("Kuzzle query management", () => { should(kuzzle.protocol.query).be.calledOnce(); should(kuzzle.protocol.query).be.calledWith( { foo: "bar" }, - { bar: "baz" } + { bar: "baz" }, ); }); @@ -35,7 +37,7 @@ describe("Kuzzle query management", () => { const response = kuzzle._timeoutRequest( 100, { foo: "bar" }, - { bar: "baz" } + { bar: "baz" }, ); await should(response).be.resolvedWith("foo"); }); @@ -52,7 +54,7 @@ describe("Kuzzle query management", () => { const promise = kuzzle._timeoutRequest( 10, { foo: "bar" }, - { bar: "baz" } + { bar: "baz" }, ); await should(promise).be.rejected(); }); @@ -70,8 +72,6 @@ describe("Kuzzle query management", () => { result: { foo: "bar" }, }; - let kuzzle; - beforeEach(() => { const protocol = new ProtocolMock("somewhere"); @@ -95,10 +95,10 @@ describe("Kuzzle query management", () => { sdkName: kuzzle.sdkName, }, requestId: sinon.match( - /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i + /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i, ), }, - {} + {}, ); }); @@ -118,13 +118,13 @@ describe("Kuzzle query management", () => { sdkName: kuzzle.sdkName, }, requestId: sinon.match( - /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i + /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i, ), // propagated arguments foo: "bar", baz: "yolo", }, - { foo: "bar", baz: "yolo" } + { foo: "bar", baz: "yolo" }, ); }); @@ -150,10 +150,10 @@ describe("Kuzzle query management", () => { sdkName: kuzzle.sdkName, }, requestId: sinon.match( - /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i + /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i, ), }, - {} + {}, ); }); @@ -161,11 +161,11 @@ describe("Kuzzle query management", () => { kuzzle.query({ controller: "foo", action: "bar" }); should(kuzzle._timeoutRequest).be.calledWithMatch( kuzzle._requestTimeout, - { collection: undefined } + { collection: undefined }, ); should(kuzzle._timeoutRequest).be.calledWithMatch( kuzzle._requestTimeout, - { index: undefined } + { index: undefined }, ); }); @@ -185,7 +185,7 @@ describe("Kuzzle query management", () => { should(function () { kuzzle.query({ volatile: ["foo", "bar"] }); }).throw( - 'Kuzzle.query: Invalid volatile argument received: ["foo","bar"]' + 'Kuzzle.query: Invalid volatile argument received: ["foo","bar"]', ); }); @@ -209,7 +209,7 @@ describe("Kuzzle query management", () => { should(kuzzle._timeoutRequest).be.calledOnce(); should(kuzzle._timeoutRequest).be.calledWithMatch( kuzzle._requestTimeout, - { volatile: kuzzle.volatile } + { volatile: kuzzle.volatile }, ); }); @@ -225,7 +225,7 @@ describe("Kuzzle query management", () => { should(kuzzle._timeoutRequest).be.calledOnce(); should(kuzzle._timeoutRequest).be.calledWithMatch( kuzzle._requestTimeout, - { volatile: { foo: "foo", baz: volatile.baz } } + { volatile: { foo: "foo", baz: volatile.baz } }, ); }); @@ -247,7 +247,7 @@ describe("Kuzzle query management", () => { sdkInstanceId: "req-sdk-instance-id", sdkName: "req-sdk-version", }, - } + }, ); }); @@ -255,13 +255,13 @@ describe("Kuzzle query management", () => { kuzzle.query({ refresh: "wait_for" }); should(kuzzle._timeoutRequest).be.calledWithMatch( kuzzle._requestTimeout, - { refresh: "wait_for" } + { refresh: "wait_for" }, ); kuzzle.query({ refresh: false }); should(kuzzle._timeoutRequest).be.calledWithMatch( kuzzle._requestTimeout, - { refresh: false } + { refresh: false }, ); }); @@ -270,7 +270,7 @@ describe("Kuzzle query management", () => { should(kuzzle._timeoutRequest).be.calledOnce(); should(kuzzle._timeoutRequest).be.calledWithMatch( kuzzle._requestTimeout, - { requestId: "foobar" } + { requestId: "foobar" }, ); }); diff --git a/test/kuzzle/queue.test.js b/test/kuzzle/queue.test.js index a1e587d5f..0077b19ac 100644 --- a/test/kuzzle/queue.test.js +++ b/test/kuzzle/queue.test.js @@ -1,3 +1,5 @@ +"use strict"; + const should = require("should"); const sinon = require("sinon"); @@ -98,7 +100,7 @@ describe("Kuzzle queue", () => { setTimeout(() => { should(kuzzle._timeoutRequest).be.calledTwice(); should(kuzzle._timeoutRequest.getCall(0).args[1]).be.eql( - query2.request + query2.request, ); should(kuzzle._timeoutRequest.getCall(1).args[1]).be.eql(query.request); done(); @@ -127,7 +129,7 @@ describe("Kuzzle queue", () => { setTimeout(() => { should(kuzzle._timeoutRequest).be.calledTwice(); should(kuzzle._timeoutRequest.getCall(0).args[1]).be.eql( - query2.request + query2.request, ); should(kuzzle._timeoutRequest.getCall(1).args[1]).be.eql(query.request); done(); @@ -161,7 +163,7 @@ describe("Kuzzle queue", () => { kuzzle.playQueue(); await should(deferred).rejectedWith( - "Query aborted: queued time exceeded the queueTTL option value" + "Query aborted: queued time exceeded the queueTTL option value", ); should(rejectedRequest).calledOnce().calledWith(query.request); }); @@ -198,7 +200,7 @@ describe("Kuzzle queue", () => { kuzzle.playQueue(); await should(deferred).rejectedWith( - "Query aborted: too many queued requests (see the queueMaxSize option)" + "Query aborted: too many queued requests (see the queueMaxSize option)", ); should(rejectedRequest).calledTwice().calledWith(query.request); }); diff --git a/test/kuzzle/setters.test.js b/test/kuzzle/setters.test.js index f5ec7debf..8cfee32b0 100644 --- a/test/kuzzle/setters.test.js +++ b/test/kuzzle/setters.test.js @@ -1,3 +1,5 @@ +"use strict"; + const should = require("should"), sinon = require("sinon"), ProtocolMock = require("../mocks/protocol.mock"), diff --git a/test/kuzzle/useController.test.js b/test/kuzzle/useController.test.js index af895b233..d5f11eb5f 100644 --- a/test/kuzzle/useController.test.js +++ b/test/kuzzle/useController.test.js @@ -1,3 +1,5 @@ +"use strict"; + const should = require("should"), sinon = require("sinon"), ProtocolMock = require("../mocks/protocol.mock"), @@ -66,7 +68,7 @@ describe("Kuzzle custom controllers management", () => { return kuzzle.custom.sayHello("Wake up, and smell the ashes").then(() => { should(kuzzle.protocol.query).be.calledOnce(); should(kuzzle.protocol.query).be.calledWith( - sinon.match.has("controller", "custom-plugin/custom") + sinon.match.has("controller", "custom-plugin/custom"), ); }); }); @@ -81,7 +83,7 @@ describe("Kuzzle custom controllers management", () => { should(() => { kuzzle.useController(WrongConstructorController, "unamed"); }).throw( - "You must pass the Kuzzle SDK instance to the parent constructor." + "You must pass the Kuzzle SDK instance to the parent constructor.", ); }); @@ -97,7 +99,7 @@ describe("Kuzzle custom controllers management", () => { should(() => { kuzzle.useController(CustomController, "custom"); }).throw( - "There is already a controller with the accessor 'custom'. Please use another one." + "There is already a controller with the accessor 'custom'. Please use another one.", ); }); }); diff --git a/test/mocks/generateJwt.mock.js b/test/mocks/generateJwt.mock.js index 33d725fb1..516bd7f2f 100644 --- a/test/mocks/generateJwt.mock.js +++ b/test/mocks/generateJwt.mock.js @@ -1,3 +1,5 @@ +"use strict"; + function generateJwt(userId = "test-user", expiresAt = null) { const header = { alg: "HS256", typ: "JWT" }, payload = { diff --git a/test/mocks/protocol.mock.js b/test/mocks/protocol.mock.js index 4b5d877a9..641ef8e9b 100644 --- a/test/mocks/protocol.mock.js +++ b/test/mocks/protocol.mock.js @@ -1,3 +1,5 @@ +"use strict"; + const sinon = require("sinon"), { KuzzleEventEmitter } = require("../../src/core/KuzzleEventEmitter"), DisconnectionOrigin = require("../../src/protocols/DisconnectionOrigin"); diff --git a/test/mocks/window.mock.js b/test/mocks/window.mock.js index 0aef3f625..07e91affe 100644 --- a/test/mocks/window.mock.js +++ b/test/mocks/window.mock.js @@ -1,3 +1,5 @@ +"use strict"; + const sinon = require("sinon"), { KuzzleEventEmitter } = require("../../src/core/KuzzleEventEmitter"); @@ -8,7 +10,7 @@ class WindowMock extends KuzzleEventEmitter { if (typeof window !== "undefined") { throw new Error( - 'Cannot mock add a global "window" object: already defined' + 'Cannot mock add a global "window" object: already defined', ); } diff --git a/test/protocol/Base.test.js b/test/protocol/Base.test.js index fa3bc5fed..dec8f4142 100644 --- a/test/protocol/Base.test.js +++ b/test/protocol/Base.test.js @@ -1,3 +1,5 @@ +"use strict"; + const should = require("should"); const sinon = require("sinon"); @@ -96,7 +98,7 @@ describe("Common Protocol", () => { }) .catch((error) => { should(error.message).startWith( - "Unable to execute request: not connected to a Kuzzle server." + "Unable to execute request: not connected to a Kuzzle server.", ); }); }); @@ -224,7 +226,7 @@ describe("Common Protocol", () => { should(error.id).be.equal("api.process.action_not_found"); should(error.code).be.equal(33685509); should(error.kuzzleStack).be.equal( - 'NotFoundError: API action "foo":"bar" not found' + 'NotFoundError: API action "foo":"bar" not found', ); should(error.controller).be.equal("foo"); should(error.action).be.equal("bar"); @@ -233,7 +235,7 @@ describe("Common Protocol", () => { should(error.collection).be.equal("toto"); should(error.requestId).be.equal("foobar"); should(error.stack).match( - /NotFoundError: API action "foo":"bar" not found/ + /NotFoundError: API action "foo":"bar" not found/, ); should(error.stack).match(/KuzzleAbstractProtocol/); should(error.stack).match(/>\s{4}at Context./); @@ -309,7 +311,7 @@ describe("Common Protocol", () => { pending2.promise.should.be.rejectedWith({ message: "Network error: request was sent but no response has been received", - }) + }), ); }); }); diff --git a/test/protocol/Http.test.js b/test/protocol/Http.test.js index 00ead9347..549e9f0f5 100644 --- a/test/protocol/Http.test.js +++ b/test/protocol/Http.test.js @@ -1,3 +1,6 @@ +/* eslint-disable no-undef */ +"use strict"; + const proxyquire = require("proxyquire"); const should = require("should"); const sinon = require("sinon"); @@ -235,7 +238,7 @@ describe("HTTP networking module", () => { should(emittedError.internal).eql(error); should(emittedError.message).startWith( - "Unable to connect to kuzzle server at" + "Unable to connect to kuzzle server at", ); }); }); @@ -435,9 +438,9 @@ describe("HTTP networking module", () => { .and.be.calledWithMatch({ method: "GET", path: `/foo?foo=${encodeURIComponent( - '{"foofoo":{"barbar":"bar"}}' + '{"foofoo":{"barbar":"bar"}}', )}&${encodeURIComponent("&baz")}=${encodeURIComponent( - "oh,an,array" + "oh,an,array", )}`, }); done(); @@ -463,7 +466,7 @@ describe("HTTP networking module", () => { .and.be.calledWithMatch({ method: "VERB", path: `/foo/bar?${encodeURIComponent( - "foo?lol" + "foo?lol", )}=${encodeURIComponent("bar&baz")}`, }); @@ -702,7 +705,7 @@ describe("HTTP networking module", () => { body: undefined, headers: { "Content-Length": 0 }, timeout: 0, - } + }, ); }); @@ -722,7 +725,7 @@ describe("HTTP networking module", () => { body: "http request body", headers: { "Content-Length": body.length }, timeout: 0, - } + }, ); }); @@ -738,7 +741,7 @@ describe("HTTP networking module", () => { body: undefined, headers: { "Content-Length": 0 }, timeout: 42000, - } + }, ); }); @@ -758,7 +761,7 @@ describe("HTTP networking module", () => { body: "http request body", headers: { "Content-Length": body.length, foo: "bar" }, timeout: 0, - } + }, ); }); @@ -889,7 +892,7 @@ describe("HTTP networking module", () => { setTimeout(() => xhrStub.onreadystatechange(), 20); return should( - protocol._sendHttpRequest("VERB", "/foo/bar", { body: "foobar" }) + protocol._sendHttpRequest("VERB", "/foo/bar", { body: "foobar" }), ).be.rejectedWith({ message: "Cannot connect to host. Is the host online?", }); diff --git a/test/protocol/WebSocket.test.js b/test/protocol/WebSocket.test.js index 66d45f7f7..e297d6bf5 100644 --- a/test/protocol/WebSocket.test.js +++ b/test/protocol/WebSocket.test.js @@ -1,3 +1,6 @@ +/* eslint-disable no-undef */ +"use strict"; + const should = require("should"); const sinon = require("sinon"); const lolex = require("lolex"); diff --git a/test/setup.js b/test/setup.js new file mode 100644 index 000000000..e325159d7 --- /dev/null +++ b/test/setup.js @@ -0,0 +1,9 @@ +"use strict"; + +/** + * Ensure a global XMLHttpRequest binding exists so strict-mode tests can + * reassign it without throwing ReferenceError in Node. + */ +if (typeof global.XMLHttpRequest === "undefined") { + global.XMLHttpRequest = undefined; +} diff --git a/test/utils/Deprecation.test.js b/test/utils/Deprecation.test.js index 3faa11454..3982243ce 100644 --- a/test/utils/Deprecation.test.js +++ b/test/utils/Deprecation.test.js @@ -1,3 +1,5 @@ +"use strict"; + const should = require("should"); const sinon = require("sinon"); const { Deprecation } = require("../../src/utils/Deprecation"); diff --git a/test/utils/proxify.test.js b/test/utils/proxify.test.js index 69220fcc9..39e8c84df 100644 --- a/test/utils/proxify.test.js +++ b/test/utils/proxify.test.js @@ -1,3 +1,5 @@ +"use strict"; + const should = require("should"), sinon = require("sinon"), { proxify } = require("../../src/utils/proxify"); @@ -39,7 +41,7 @@ describe("proxify", () => { should(() => { obj.prop2 = 42; }).throwError( - "Cannot set a value to the undefined 'prop2' property in 'object'" + "Cannot set a value to the undefined 'prop2' property in 'object'", ); }); @@ -91,7 +93,7 @@ describe("proxify", () => { should(() => { obj.foo = 42; }).throwError( - "Cannot set a value to the undefined 'foo' property in 'object'" + "Cannot set a value to the undefined 'foo' property in 'object'", ); obj.__proxy__.registerProp("foo"); should.doesNotThrow(() => { @@ -110,7 +112,7 @@ describe("proxify", () => { should(() => { obj.prop = 42; }).throwError( - "Cannot set a value to the undefined 'prop' property in 'object'" + "Cannot set a value to the undefined 'prop' property in 'object'", ); }); diff --git a/tsconfig.json b/tsconfig.json index 452852dae..650c4c95e 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -2,6 +2,7 @@ "compilerOptions": { "declaration": true, "listEmittedFiles": true, + "outDir": "out", "module": "commonjs", "target": "es2020", "moduleResolution": "node", @@ -11,6 +12,14 @@ "esModuleInterop": true }, "rootDir": "src/", - "include": ["index.ts", "src/**/*.ts"], - "exclude": ["node_modules"] -} + "include": [ + "index.ts", + "src/**/*.ts", + "src/**/*.js", + "features/**/*.ts", + "vite.config.ts" + ], + "exclude": [ + "node_modules" + ] +} \ No newline at end of file diff --git a/vite.config.ts b/vite.config.ts new file mode 100644 index 000000000..a1ebbbad9 --- /dev/null +++ b/vite.config.ts @@ -0,0 +1,49 @@ +import path from "path"; +import { defineConfig, Plugin } from "vite"; +import { version } from "./package.json"; + +const ignoredModules = new Set([ + "http", + "min-req-promise", + "package", + "ws", + "https", + "url", +]); + +const ignoreOptionalModules: Plugin = { + load(id: string) { + if (ignoredModules.has(id)) { + return "export default {}"; + } + return null; + }, + name: "ignore-optional-modules", + resolveId(source: any) { + return ignoredModules.has(source) ? source : null; + }, +}; + +export default defineConfig({ + build: { + lib: { + entry: path.resolve(__dirname, "out/index.js"), + fileName: () => "kuzzle.js", + formats: ["umd"], + name: "KuzzleSDK", + }, + outDir: "dist", + rollupOptions: { + output: { + banner: `// Kuzzle Javascript SDK version ${version}`, + }, + }, + sourcemap: true, + target: "es2015", + }, + define: { + BUILT: true, + SDKVERSION: JSON.stringify(version), + }, + plugins: [ignoreOptionalModules], +}); diff --git a/webpack.config.js b/webpack.config.js deleted file mode 100644 index 550c8f2fd..000000000 --- a/webpack.config.js +++ /dev/null @@ -1,47 +0,0 @@ -const webpack = require('webpack'); - -const { version } = require('./package.json'); - -module.exports = { - name: 'browser', - mode: 'production', - entry: './index.js', - output: { - path: `${__dirname}/dist`, - filename: 'kuzzle.js', - library: 'KuzzleSDK', - libraryTarget: 'umd' - }, - target: 'web', - watch: false, - devtool: 'cheap-module-source-map', - node: false, - module: { - rules: [ - { - test: /\.?js$/, - use: { - loader: 'babel-loader' - } - } - ] - }, - plugins: [ - new webpack.IgnorePlugin({ - resourceRegExp: /^(http|min-req-promise|package|ws)$/ - }), - new webpack.DefinePlugin({ - SDKVERSION: JSON.stringify(version), - BUILT: true - }), - new webpack.BannerPlugin('Kuzzle Javascript SDK version ' + version), - ], - resolve: { - fallback: { - buffer: false, - http: false, - https: false, - url: false, - } - }, -}; From 8c45c268bf6a56f4350ffab66c2cbf90b3761dec Mon Sep 17 00:00:00 2001 From: rolljee Date: Fri, 5 Dec 2025 16:18:05 +0100 Subject: [PATCH 02/18] fix: modify what files are taken when publishing --- package.json | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 889f76dbd..f31de8e2d 100644 --- a/package.json +++ b/package.json @@ -60,10 +60,8 @@ }, "files": [ "dist/**/*", - "index.js", - "index.d.ts", - "src/**/*.js", - "src/**/*.d.ts", - "src/**/*.json" + "out/**/*.js", + "out/**/*.d.ts", + "out/**/*.json" ] } \ No newline at end of file From e5e913851197b07868633798724a936c04bdc386 Mon Sep 17 00:00:00 2001 From: rolljee Date: Fri, 5 Dec 2025 17:12:57 +0100 Subject: [PATCH 03/18] chore(test): fixing test --- package.json | 11 +++++++---- tsconfig.json | 3 ++- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index f31de8e2d..b5b8e2892 100644 --- a/package.json +++ b/package.json @@ -60,8 +60,11 @@ }, "files": [ "dist/**/*", - "out/**/*.js", - "out/**/*.d.ts", - "out/**/*.json" + "out/**/*", + "index.js", + "index.d.ts", + "src/**/*.js", + "src/**/*.d.ts", + "src/**/*.json" ] -} \ No newline at end of file +} diff --git a/tsconfig.json b/tsconfig.json index 650c4c95e..146455cc0 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -9,7 +9,8 @@ "sourceMap": true, "baseUrl": ".", "resolveJsonModule": true, - "esModuleInterop": true + "esModuleInterop": true, + "skipLibCheck": true }, "rootDir": "src/", "include": [ From badd7b0083296855e7c9f921d090cbbbdb314bf4 Mon Sep 17 00:00:00 2001 From: rolljee Date: Fri, 5 Dec 2025 18:01:42 +0100 Subject: [PATCH 04/18] chore(tests): added websocket to global when not already done (nodejs20) --- test/setup.js | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/test/setup.js b/test/setup.js index e325159d7..fc85fd4da 100644 --- a/test/setup.js +++ b/test/setup.js @@ -1,9 +1,16 @@ "use strict"; /** - * Ensure a global XMLHttpRequest binding exists so strict-mode tests can - * reassign it without throwing ReferenceError in Node. + * Ensure global bindings exist so strict-mode tests can reassign them + * without throwing ReferenceError in Node. */ if (typeof global.XMLHttpRequest === "undefined") { global.XMLHttpRequest = undefined; } + +// Define a writable global binding for WebSocket when Node does not provide one +if (typeof WebSocket === "undefined") { + /* eslint-disable no-var */ + var WebSocket = undefined; // creates the global binding + /* eslint-enable no-var */ +} From 08638609b286f974dd8cdfb9e7c297c37d696b8a Mon Sep 17 00:00:00 2001 From: rolljee Date: Fri, 5 Dec 2025 20:17:30 +0100 Subject: [PATCH 05/18] chore(test): make the linter pass --- test/setup.js | 1 + 1 file changed, 1 insertion(+) diff --git a/test/setup.js b/test/setup.js index fc85fd4da..4fc9ec1a7 100644 --- a/test/setup.js +++ b/test/setup.js @@ -11,6 +11,7 @@ if (typeof global.XMLHttpRequest === "undefined") { // Define a writable global binding for WebSocket when Node does not provide one if (typeof WebSocket === "undefined") { /* eslint-disable no-var */ + // eslint-disable-next-line vars-on-top var WebSocket = undefined; // creates the global binding /* eslint-enable no-var */ } From 88e5e12df3eaf56ee6bcd2b51f3ac1e61786472b Mon Sep 17 00:00:00 2001 From: rolljee Date: Fri, 5 Dec 2025 20:32:11 +0100 Subject: [PATCH 06/18] chore(tests): should fix node20 issue --- features/support/hooks.ts | 1 - test/setup.js | 7 ++----- 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/features/support/hooks.ts b/features/support/hooks.ts index 930920341..3e00e2225 100644 --- a/features/support/hooks.ts +++ b/features/support/hooks.ts @@ -19,7 +19,6 @@ type HookWorld = IWorld & { }; Before(async function () { - console.log(this); await clean(this); }); diff --git a/test/setup.js b/test/setup.js index 4fc9ec1a7..6e01b1b9d 100644 --- a/test/setup.js +++ b/test/setup.js @@ -9,9 +9,6 @@ if (typeof global.XMLHttpRequest === "undefined") { } // Define a writable global binding for WebSocket when Node does not provide one -if (typeof WebSocket === "undefined") { - /* eslint-disable no-var */ - // eslint-disable-next-line vars-on-top - var WebSocket = undefined; // creates the global binding - /* eslint-enable no-var */ +if (typeof global.WebSocket === "undefined") { + global.WebSocket = undefined; } From ae1cc569e24ceacf837a94ee39ef87c60c9e220e Mon Sep 17 00:00:00 2001 From: rolljee Date: Fri, 5 Dec 2025 20:39:37 +0100 Subject: [PATCH 07/18] chore(tests): snippet tests action --- .ci/doc/config.yml | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/.ci/doc/config.yml b/.ci/doc/config.yml index 9dcbd9e18..f4fbaf602 100644 --- a/.ci/doc/config.yml +++ b/.ci/doc/config.yml @@ -10,10 +10,6 @@ runners: node: service: doc-runner-node path: /var/snippets/node - lint: - global: true - cmd: npx eslint@8.38.0 -c /mnt/.ci/doc/eslint.json {{ snippet.dir }} - before: timeout 600 ash -c 'until stat /tmp/runner_ready_to_lint; do sleep 1; done' run: cmd: node {{ snippet.source }} before: timeout 600 ash -c 'until stat /tmp/runner_is_ready && curl -f -s -o /dev/null http://kuzzle:7512/_now; do sleep 1; done' @@ -21,10 +17,6 @@ runners: web: service: doc-runner-web path: /var/snippets/web - lint: - global: true - cmd: npx eslint@8.38.0 -c /mnt/.ci/doc/eslint.json --parser-options ecmaVersion:12 {{ snippet.dir }}/*.html - before: timeout 600 bash -c 'until stat /home/node/runner_ready_to_lint; do sleep 1; done' run: cmd: node puppeteer.js {{ snippet.dir }}/{{ snippet.source }} before: timeout 600 bash -c 'until stat /home/node/runner_is_ready && curl -f -s -o /dev/null http://kuzzle:7512/_now; do sleep 1; done' @@ -32,10 +24,6 @@ runners: webpack: service: doc-runner-webpack path: /var/snippets/webpack - lint: - global: true - cmd: npx eslint8.38.0 -c /mnt/.ci/doc/eslint.json {{ snippet.dir }} - before: timeout 600 bash -c 'until stat /home/node/runner_ready_to_lint; do sleep 1; done' build: cmd: node webpackBuild.js {{ snippet.dir }}/{{ snippet.source }} before: timeout 600 bash -c 'until stat /home/node/runner_is_ready; do sleep 1; done' From 5b7775f0fc331722e93ebe73ac096619c74e5104 Mon Sep 17 00:00:00 2001 From: rolljee Date: Fri, 5 Dec 2025 22:45:40 +0100 Subject: [PATCH 08/18] chore(tests): tests --- doc/7/getting-started/node-js/snippets/create.js | 2 -- doc/7/getting-started/node-js/snippets/init.js | 2 -- doc/7/getting-started/node-js/snippets/load-sdk.js | 2 -- doc/7/getting-started/node-js/snippets/prepare-db.js | 3 --- doc/7/getting-started/node-js/snippets/subscribe.js | 2 -- doc/7/getting-started/webpack/snippets.disabled/init-kuzzle.js | 2 -- doc/7/getting-started/webpack/snippets.disabled/subscribe.js | 2 -- doc/7/protocols/websocket/constructor/snippets/constructor.js | 2 -- 8 files changed, 17 deletions(-) diff --git a/doc/7/getting-started/node-js/snippets/create.js b/doc/7/getting-started/node-js/snippets/create.js index 07458effa..623f7d7c4 100644 --- a/doc/7/getting-started/node-js/snippets/create.js +++ b/doc/7/getting-started/node-js/snippets/create.js @@ -1,5 +1,3 @@ -"use strict"; - // Loads the Kuzzle SDK modules const { Kuzzle, WebSocket } = require("kuzzle-sdk"); diff --git a/doc/7/getting-started/node-js/snippets/init.js b/doc/7/getting-started/node-js/snippets/init.js index 29b191cf9..8982b68d1 100644 --- a/doc/7/getting-started/node-js/snippets/init.js +++ b/doc/7/getting-started/node-js/snippets/init.js @@ -1,5 +1,3 @@ -"use strict"; - // Loads the Kuzzle SDK modules const { Kuzzle, WebSocket } = require("kuzzle-sdk"); diff --git a/doc/7/getting-started/node-js/snippets/load-sdk.js b/doc/7/getting-started/node-js/snippets/load-sdk.js index 05fc4fa3f..2e83d0b78 100644 --- a/doc/7/getting-started/node-js/snippets/load-sdk.js +++ b/doc/7/getting-started/node-js/snippets/load-sdk.js @@ -1,5 +1,3 @@ -"use strict"; - const { Kuzzle, WebSocket } = require("kuzzle-sdk"); // Replace 'kuzzle' with your Kuzzle server hostname (e.g. 'localhost') diff --git a/doc/7/getting-started/node-js/snippets/prepare-db.js b/doc/7/getting-started/node-js/snippets/prepare-db.js index ae954b07a..33aee5200 100644 --- a/doc/7/getting-started/node-js/snippets/prepare-db.js +++ b/doc/7/getting-started/node-js/snippets/prepare-db.js @@ -1,6 +1,3 @@ -/* eslint-disable no-undef */ -"use strict"; - const run = async () => { try { // Connects to the Kuzzle server diff --git a/doc/7/getting-started/node-js/snippets/subscribe.js b/doc/7/getting-started/node-js/snippets/subscribe.js index e700974a9..4de6764c1 100644 --- a/doc/7/getting-started/node-js/snippets/subscribe.js +++ b/doc/7/getting-started/node-js/snippets/subscribe.js @@ -1,5 +1,3 @@ -"use strict"; - // Loads the Kuzzle SDK modules const { Kuzzle, WebSocket } = require("kuzzle-sdk"); diff --git a/doc/7/getting-started/webpack/snippets.disabled/init-kuzzle.js b/doc/7/getting-started/webpack/snippets.disabled/init-kuzzle.js index b8e0d4286..da446bc77 100644 --- a/doc/7/getting-started/webpack/snippets.disabled/init-kuzzle.js +++ b/doc/7/getting-started/webpack/snippets.disabled/init-kuzzle.js @@ -1,5 +1,3 @@ -"use strict"; - // load the Kuzzle SDK module /* snippet:start:1 */ const { Kuzzle, WebSocket } = require("kuzzle-sdk"); diff --git a/doc/7/getting-started/webpack/snippets.disabled/subscribe.js b/doc/7/getting-started/webpack/snippets.disabled/subscribe.js index a267f5749..dcee72024 100644 --- a/doc/7/getting-started/webpack/snippets.disabled/subscribe.js +++ b/doc/7/getting-started/webpack/snippets.disabled/subscribe.js @@ -1,5 +1,3 @@ -"use strict"; - // load the Kuzzle SDK module const { Kuzzle, WebSocket } = require("kuzzle-sdk"); diff --git a/doc/7/protocols/websocket/constructor/snippets/constructor.js b/doc/7/protocols/websocket/constructor/snippets/constructor.js index 9892fefe5..39e4391e8 100644 --- a/doc/7/protocols/websocket/constructor/snippets/constructor.js +++ b/doc/7/protocols/websocket/constructor/snippets/constructor.js @@ -1,5 +1,3 @@ -"use strict"; - // Loads the WebSocket protocol const { Kuzzle, WebSocket } = require("kuzzle-sdk"); From b4557470e460e243dcd207f1e7ed7f18b765fcd0 Mon Sep 17 00:00:00 2001 From: rolljee Date: Sat, 6 Dec 2025 12:29:09 +0100 Subject: [PATCH 09/18] chore(tests): removed babel --- .babelrc.js | 15 - package-lock.json | 687 ------------------------------ package.json | 3 +- src/core/KuzzleEventEmitter.ts | 2 - src/core/Room.ts | 1 - src/core/searchResult/Document.ts | 2 - src/core/security/Role.ts | 2 - src/core/security/User.ts | 2 - vite.config.ts | 3 +- 9 files changed, 3 insertions(+), 714 deletions(-) delete mode 100644 .babelrc.js diff --git a/.babelrc.js b/.babelrc.js deleted file mode 100644 index 2637379b4..000000000 --- a/.babelrc.js +++ /dev/null @@ -1,15 +0,0 @@ -module.exports = { - presets: [ - [ - '@babel/env', - { - targets: { - browsers: ['> 1%'] - } - } - ] - ], - plugins: [ - ['@babel/plugin-transform-for-of', {'assumeArray': true}] - ] -}; diff --git a/package-lock.json b/package-lock.json index 4bfb5df75..9418e778c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -15,7 +15,6 @@ "devDependencies": { "@cucumber/cucumber": "12.3.0", "@types/node": "24.10.1", - "babel-loader": "10.0.0", "eslint-plugin-kuzzle": "0.0.15", "lodash": "4.17.21", "lolex": "6.0.0", @@ -1937,18 +1936,6 @@ "node": ">=6.0.0" } }, - "node_modules/@jridgewell/source-map": { - "version": "0.3.11", - "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.11.tgz", - "integrity": "sha512-ZMp1V8ZFcPG5dIWnQLr3NSI1MiCU7UETdS/A0G8V/XWHvJv3ZsFqutJn1Y5RPmAPX6F3BiE397OqveU/9NCuIA==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.25" - } - }, "node_modules/@jridgewell/sourcemap-codec": { "version": "1.5.5", "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", @@ -3246,30 +3233,6 @@ "dev": true, "license": "MIT" }, - "node_modules/@types/eslint": { - "version": "9.6.1", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-9.6.1.tgz", - "integrity": "sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "@types/estree": "*", - "@types/json-schema": "*" - } - }, - "node_modules/@types/eslint-scope": { - "version": "3.7.7", - "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz", - "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "@types/eslint": "*", - "@types/estree": "*" - } - }, "node_modules/@types/estree": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", @@ -3565,198 +3528,6 @@ "license": "ISC", "peer": true }, - "node_modules/@webassemblyjs/ast": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.14.1.tgz", - "integrity": "sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "@webassemblyjs/helper-numbers": "1.13.2", - "@webassemblyjs/helper-wasm-bytecode": "1.13.2" - } - }, - "node_modules/@webassemblyjs/floating-point-hex-parser": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.13.2.tgz", - "integrity": "sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA==", - "dev": true, - "license": "MIT", - "peer": true - }, - "node_modules/@webassemblyjs/helper-api-error": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.13.2.tgz", - "integrity": "sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ==", - "dev": true, - "license": "MIT", - "peer": true - }, - "node_modules/@webassemblyjs/helper-buffer": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.14.1.tgz", - "integrity": "sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA==", - "dev": true, - "license": "MIT", - "peer": true - }, - "node_modules/@webassemblyjs/helper-numbers": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.13.2.tgz", - "integrity": "sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "@webassemblyjs/floating-point-hex-parser": "1.13.2", - "@webassemblyjs/helper-api-error": "1.13.2", - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@webassemblyjs/helper-wasm-bytecode": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.13.2.tgz", - "integrity": "sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA==", - "dev": true, - "license": "MIT", - "peer": true - }, - "node_modules/@webassemblyjs/helper-wasm-section": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.14.1.tgz", - "integrity": "sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "@webassemblyjs/ast": "1.14.1", - "@webassemblyjs/helper-buffer": "1.14.1", - "@webassemblyjs/helper-wasm-bytecode": "1.13.2", - "@webassemblyjs/wasm-gen": "1.14.1" - } - }, - "node_modules/@webassemblyjs/ieee754": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.13.2.tgz", - "integrity": "sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "@xtuc/ieee754": "^1.2.0" - } - }, - "node_modules/@webassemblyjs/leb128": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.13.2.tgz", - "integrity": "sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw==", - "dev": true, - "license": "Apache-2.0", - "peer": true, - "dependencies": { - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@webassemblyjs/utf8": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.13.2.tgz", - "integrity": "sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ==", - "dev": true, - "license": "MIT", - "peer": true - }, - "node_modules/@webassemblyjs/wasm-edit": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.14.1.tgz", - "integrity": "sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "@webassemblyjs/ast": "1.14.1", - "@webassemblyjs/helper-buffer": "1.14.1", - "@webassemblyjs/helper-wasm-bytecode": "1.13.2", - "@webassemblyjs/helper-wasm-section": "1.14.1", - "@webassemblyjs/wasm-gen": "1.14.1", - "@webassemblyjs/wasm-opt": "1.14.1", - "@webassemblyjs/wasm-parser": "1.14.1", - "@webassemblyjs/wast-printer": "1.14.1" - } - }, - "node_modules/@webassemblyjs/wasm-gen": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.14.1.tgz", - "integrity": "sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "@webassemblyjs/ast": "1.14.1", - "@webassemblyjs/helper-wasm-bytecode": "1.13.2", - "@webassemblyjs/ieee754": "1.13.2", - "@webassemblyjs/leb128": "1.13.2", - "@webassemblyjs/utf8": "1.13.2" - } - }, - "node_modules/@webassemblyjs/wasm-opt": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.14.1.tgz", - "integrity": "sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "@webassemblyjs/ast": "1.14.1", - "@webassemblyjs/helper-buffer": "1.14.1", - "@webassemblyjs/wasm-gen": "1.14.1", - "@webassemblyjs/wasm-parser": "1.14.1" - } - }, - "node_modules/@webassemblyjs/wasm-parser": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.14.1.tgz", - "integrity": "sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "@webassemblyjs/ast": "1.14.1", - "@webassemblyjs/helper-api-error": "1.13.2", - "@webassemblyjs/helper-wasm-bytecode": "1.13.2", - "@webassemblyjs/ieee754": "1.13.2", - "@webassemblyjs/leb128": "1.13.2", - "@webassemblyjs/utf8": "1.13.2" - } - }, - "node_modules/@webassemblyjs/wast-printer": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.14.1.tgz", - "integrity": "sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "@webassemblyjs/ast": "1.14.1", - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@xtuc/ieee754": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", - "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", - "dev": true, - "license": "BSD-3-Clause", - "peer": true - }, - "node_modules/@xtuc/long": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", - "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", - "dev": true, - "license": "Apache-2.0", - "peer": true - }, "node_modules/acorn": { "version": "8.15.0", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", @@ -3770,20 +3541,6 @@ "node": ">=0.4.0" } }, - "node_modules/acorn-import-phases": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/acorn-import-phases/-/acorn-import-phases-1.0.4.tgz", - "integrity": "sha512-wKmbr/DDiIXzEOiWrTTUcDm24kQ2vGfZQvM2fwg2vXqR5uW6aapr7ObPtj1th32b9u90/Pf4AItvdTh42fBmVQ==", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">=10.13.0" - }, - "peerDependencies": { - "acorn": "^8.14.0" - } - }, "node_modules/acorn-jsx": { "version": "5.3.2", "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", @@ -3832,57 +3589,6 @@ "node": ">=8" } }, - "node_modules/ajv": { - "version": "8.17.1", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", - "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "fast-deep-equal": "^3.1.3", - "fast-uri": "^3.0.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2" - }, - "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==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "ajv": "^8.0.0" - }, - "peerDependencies": { - "ajv": "^8.0.0" - }, - "peerDependenciesMeta": { - "ajv": { - "optional": true - } - } - }, - "node_modules/ajv-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "fast-deep-equal": "^3.1.3" - }, - "peerDependencies": { - "ajv": "^8.8.2" - } - }, "node_modules/ansi-regex": { "version": "6.2.2", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz", @@ -3988,23 +3694,6 @@ "repeat-string": "^1.6.1" } }, - "node_modules/babel-loader": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-10.0.0.tgz", - "integrity": "sha512-z8jt+EdS61AMw22nSfoNJAZ0vrtmhPRVi6ghL3rCeRZI8cdNYFiV5xeV3HbE7rlZZNmGH8BVccwWt8/ED0QOHA==", - "dev": true, - "license": "MIT", - "dependencies": { - "find-up": "^5.0.0" - }, - "engines": { - "node": "^18.20.0 || ^20.10.0 || >=22.0.0" - }, - "peerDependencies": { - "@babel/core": "^7.12.0", - "webpack": ">=5.61.0" - } - }, "node_modules/bail": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/bail/-/bail-1.0.5.tgz", @@ -4309,17 +3998,6 @@ "url": "https://paulmillr.com/funding/" } }, - "node_modules/chrome-trace-event": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz", - "integrity": "sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">=6.0" - } - }, "node_modules/class-transformer": { "version": "0.5.1", "resolved": "https://registry.npmjs.org/class-transformer/-/class-transformer-0.5.1.tgz", @@ -5020,21 +4698,6 @@ "license": "MIT", "peer": true }, - "node_modules/enhanced-resolve": { - "version": "5.18.3", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.18.3.tgz", - "integrity": "sha512-d4lC8xfavMeBjzGr2vECC3fsGXziXZQyJxD868h2M/mBI3PwAuODxAkLkq5HYuvrPYcUtiLzsTo8U3PgX3Ocww==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "graceful-fs": "^4.2.4", - "tapable": "^2.2.0" - }, - "engines": { - "node": ">=10.13.0" - } - }, "node_modules/env-ci": { "version": "11.2.0", "resolved": "https://registry.npmjs.org/env-ci/-/env-ci-11.2.0.tgz", @@ -5250,14 +4913,6 @@ "stackframe": "^1.3.4" } }, - "node_modules/es-module-lexer": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.7.0.tgz", - "integrity": "sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==", - "dev": true, - "license": "MIT", - "peer": true - }, "node_modules/es6-error": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz", @@ -5664,17 +5319,6 @@ "node": ">=0.10.0" } }, - "node_modules/events": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", - "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">=0.8.x" - } - }, "node_modules/execa": { "version": "9.6.1", "resolved": "https://registry.npmjs.org/execa/-/execa-9.6.1.tgz", @@ -5863,24 +5507,6 @@ "dev": true, "license": "MIT" }, - "node_modules/fast-uri": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.0.tgz", - "integrity": "sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/fastify" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/fastify" - } - ], - "license": "BSD-3-Clause", - "peer": true - }, "node_modules/fastq": { "version": "1.19.1", "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.1.tgz", @@ -6304,14 +5930,6 @@ "node": ">=10.13.0" } }, - "node_modules/glob-to-regexp": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", - "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", - "dev": true, - "license": "BSD-2-Clause", - "peer": true - }, "node_modules/global-dirs": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.1.tgz", @@ -7200,50 +6818,6 @@ "node": ">= 0.6.0" } }, - "node_modules/jest-worker": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", - "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, - "engines": { - "node": ">= 10.13.0" - } - }, - "node_modules/jest-worker/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, - "license": "MIT", - "peer": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-worker/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, - "license": "MIT", - "peer": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } - }, "node_modules/js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", @@ -7300,14 +6874,6 @@ "license": "MIT", "peer": true }, - "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==", - "dev": true, - "license": "MIT", - "peer": true - }, "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", @@ -7463,21 +7029,6 @@ "node": ">=4" } }, - "node_modules/loader-runner": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.1.tgz", - "integrity": "sha512-IWqP2SCPhyVFTBtRcgMHdzlf9ul25NwaFx4wCEH/KjAXuuHY4yNjvPXsBokp8jCB936PyWRaPKUNh8NvylLp2Q==", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">=6.11.5" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, "node_modules/locate-path": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", @@ -8227,31 +7778,6 @@ "node": ">=16" } }, - "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==", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">= 0.6" - } - }, - "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==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "mime-db": "1.52.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", @@ -12916,17 +12442,6 @@ "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==", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/require-main-filename": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", @@ -13399,27 +12914,6 @@ ], "license": "MIT" }, - "node_modules/schema-utils": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.3.3.tgz", - "integrity": "sha512-eflK8wEtyOE6+hsaRVPxvUKYCpRgzLqDTb8krvAsRIwOGlHoSgYLgBXoubGgLd2fT41/OUYdb48v4k4WWHQurA==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.9.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.1.0" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, "node_modules/seed-random": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/seed-random/-/seed-random-2.2.0.tgz", @@ -14358,21 +13852,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/tapable": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.3.0.tgz", - "integrity": "sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg==", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">=6" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, "node_modules/temp-dir": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-3.0.0.tgz", @@ -14432,70 +13911,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/terser": { - "version": "5.44.1", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.44.1.tgz", - "integrity": "sha512-t/R3R/n0MSwnnazuPpPNVO60LX0SKL45pyl9YlvxIdkH0Of7D5qM2EVe+yASRIlY5pZ73nclYJfNANGWPwFDZw==", - "dev": true, - "license": "BSD-2-Clause", - "peer": true, - "dependencies": { - "@jridgewell/source-map": "^0.3.3", - "acorn": "^8.15.0", - "commander": "^2.20.0", - "source-map-support": "~0.5.20" - }, - "bin": { - "terser": "bin/terser" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/terser-webpack-plugin": { - "version": "5.3.14", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.14.tgz", - "integrity": "sha512-vkZjpUjb6OMS7dhV+tILUW6BhpDR7P2L/aQSAv+Uwk+m8KATX9EccViHTJR2qDtACKPIYndLGCyl3FMo+r2LMw==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "@jridgewell/trace-mapping": "^0.3.25", - "jest-worker": "^27.4.5", - "schema-utils": "^4.3.0", - "serialize-javascript": "^6.0.2", - "terser": "^5.31.1" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.1.0" - }, - "peerDependenciesMeta": { - "@swc/core": { - "optional": true - }, - "esbuild": { - "optional": true - }, - "uglify-js": { - "optional": true - } - } - }, - "node_modules/terser/node_modules/commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true, - "license": "MIT", - "peer": true - }, "node_modules/test-exclude": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", @@ -15304,21 +14719,6 @@ "url": "https://github.com/sponsors/jonschlinkert" } }, - "node_modules/watchpack": { - "version": "2.4.4", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.4.tgz", - "integrity": "sha512-c5EGNOiyxxV5qmTtAB7rbiXxi1ooX1pQKMLX/MIabJjRA0SJBQOjKF+KSVfHkr9U1cADPon0mRiVe/riyaiDUA==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.1.2" - }, - "engines": { - "node": ">=10.13.0" - } - }, "node_modules/web-worker": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/web-worker/-/web-worker-1.2.0.tgz", @@ -15334,93 +14734,6 @@ "dev": true, "license": "BSD-2-Clause" }, - "node_modules/webpack": { - "version": "5.103.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.103.0.tgz", - "integrity": "sha512-HU1JOuV1OavsZ+mfigY0j8d1TgQgbZ6M+J75zDkpEAwYeXjWSqrGJtgnPblJjd/mAyTNQ7ygw0MiKOn6etz8yw==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "@types/eslint-scope": "^3.7.7", - "@types/estree": "^1.0.8", - "@types/json-schema": "^7.0.15", - "@webassemblyjs/ast": "^1.14.1", - "@webassemblyjs/wasm-edit": "^1.14.1", - "@webassemblyjs/wasm-parser": "^1.14.1", - "acorn": "^8.15.0", - "acorn-import-phases": "^1.0.3", - "browserslist": "^4.26.3", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.17.3", - "es-module-lexer": "^1.2.1", - "eslint-scope": "5.1.1", - "events": "^3.2.0", - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.2.11", - "json-parse-even-better-errors": "^2.3.1", - "loader-runner": "^4.3.1", - "mime-types": "^2.1.27", - "neo-async": "^2.6.2", - "schema-utils": "^4.3.3", - "tapable": "^2.3.0", - "terser-webpack-plugin": "^5.3.11", - "watchpack": "^2.4.4", - "webpack-sources": "^3.3.3" - }, - "bin": { - "webpack": "bin/webpack.js" - }, - "engines": { - "node": ">=10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependenciesMeta": { - "webpack-cli": { - "optional": true - } - } - }, - "node_modules/webpack-sources": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.3.3.tgz", - "integrity": "sha512-yd1RBzSGanHkitROoPFd6qsrxt+oFhg/129YzheDGqeustzX0vTZJZsSsQjVQC4yzBQ56K55XU8gaNCtIzOnTg==", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/webpack/node_modules/eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "dev": true, - "license": "BSD-2-Clause", - "peer": true, - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/webpack/node_modules/estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "dev": true, - "license": "BSD-2-Clause", - "peer": true, - "engines": { - "node": ">=4.0" - } - }, "node_modules/whatwg-url": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", diff --git a/package.json b/package.json index b5b8e2892..4e0068fd7 100644 --- a/package.json +++ b/package.json @@ -37,7 +37,6 @@ "devDependencies": { "@cucumber/cucumber": "12.3.0", "@types/node": "24.10.1", - "babel-loader": "10.0.0", "eslint-plugin-kuzzle": "0.0.15", "lodash": "4.17.21", "lolex": "6.0.0", @@ -67,4 +66,4 @@ "src/**/*.d.ts", "src/**/*.json" ] -} +} \ No newline at end of file diff --git a/src/core/KuzzleEventEmitter.ts b/src/core/KuzzleEventEmitter.ts index ba50b8c5b..6b7fd8c1c 100644 --- a/src/core/KuzzleEventEmitter.ts +++ b/src/core/KuzzleEventEmitter.ts @@ -209,5 +209,3 @@ export class KuzzleEventEmitter { ); } } - -module.exports = { KuzzleEventEmitter }; diff --git a/src/core/Room.ts b/src/core/Room.ts index f1a21ab51..bc1e60f88 100644 --- a/src/core/Room.ts +++ b/src/core/Room.ts @@ -148,4 +148,3 @@ class Room { } export default Room; -module.exports = Room; diff --git a/src/core/searchResult/Document.ts b/src/core/searchResult/Document.ts index 2e4e8edad..f277cf3b2 100644 --- a/src/core/searchResult/Document.ts +++ b/src/core/searchResult/Document.ts @@ -17,5 +17,3 @@ export class DocumentSearchResult< this._scrollAction = "scroll"; } } - -module.exports = { DocumentSearchResult }; diff --git a/src/core/security/Role.ts b/src/core/security/Role.ts index c439716f8..3b39fef7e 100644 --- a/src/core/security/Role.ts +++ b/src/core/security/Role.ts @@ -40,5 +40,3 @@ export class Role { }; } } - -module.exports = { Role }; diff --git a/src/core/security/User.ts b/src/core/security/User.ts index ce55e3864..a9e3eaa9e 100644 --- a/src/core/security/User.ts +++ b/src/core/security/User.ts @@ -74,5 +74,3 @@ export class User { }; } } - -module.exports = { User }; diff --git a/vite.config.ts b/vite.config.ts index a1ebbbad9..ba30304ee 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -27,7 +27,8 @@ const ignoreOptionalModules: Plugin = { export default defineConfig({ build: { lib: { - entry: path.resolve(__dirname, "out/index.js"), + // Use the TypeScript entry so Rollup sees ES modules and can generate a proper UMD bundle + entry: path.resolve(__dirname, "index.ts"), fileName: () => "kuzzle.js", formats: ["umd"], name: "KuzzleSDK", From 3f99565896b38ff80c3314f5ca59203cc1df9cce Mon Sep 17 00:00:00 2001 From: rolljee Date: Sat, 6 Dec 2025 13:36:19 +0100 Subject: [PATCH 10/18] chore(tests): still compatible with old syntax --- src/core/Room.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/src/core/Room.ts b/src/core/Room.ts index bc1e60f88..f1a21ab51 100644 --- a/src/core/Room.ts +++ b/src/core/Room.ts @@ -148,3 +148,4 @@ class Room { } export default Room; +module.exports = Room; From 076e09e2d66d34a525f607ec51014493183bef3e Mon Sep 17 00:00:00 2001 From: rolljee Date: Sat, 6 Dec 2025 14:41:49 +0100 Subject: [PATCH 11/18] chore(tests): modify vite config --- vite.config.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/vite.config.ts b/vite.config.ts index ba30304ee..635fcac9e 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -30,7 +30,8 @@ export default defineConfig({ // Use the TypeScript entry so Rollup sees ES modules and can generate a proper UMD bundle entry: path.resolve(__dirname, "index.ts"), fileName: () => "kuzzle.js", - formats: ["umd"], + // Use an IIFE to avoid CommonJS/AMD detection in browsers that execute the bundle as an ES module + formats: ["iife"], name: "KuzzleSDK", }, outDir: "dist", From 7aa091488c711a18b0fc027733bb4b35c4197547 Mon Sep 17 00:00:00 2001 From: rolljee Date: Sat, 6 Dec 2025 22:23:12 +0100 Subject: [PATCH 12/18] chore(tests): trying to fix tests --- .ci/doc/config.yml | 10 ------- .ci/doc/docker-compose.yml | 25 ++---------------- .ci/doc/webpackBuild.js | 53 -------------------------------------- 3 files changed, 2 insertions(+), 86 deletions(-) delete mode 100644 .ci/doc/webpackBuild.js diff --git a/.ci/doc/config.yml b/.ci/doc/config.yml index f4fbaf602..1ec1032eb 100644 --- a/.ci/doc/config.yml +++ b/.ci/doc/config.yml @@ -20,13 +20,3 @@ runners: run: cmd: node puppeteer.js {{ snippet.dir }}/{{ snippet.source }} before: timeout 600 bash -c 'until stat /home/node/runner_is_ready && curl -f -s -o /dev/null http://kuzzle:7512/_now; do sleep 1; done' - - webpack: - service: doc-runner-webpack - path: /var/snippets/webpack - build: - cmd: node webpackBuild.js {{ snippet.dir }}/{{ snippet.source }} - before: timeout 600 bash -c 'until stat /home/node/runner_is_ready; do sleep 1; done' - run: - cmd: node puppeteer.js /tmp/{{ snippet.name }}/index.html - before: timeout 600 bash -c 'until curl -f -s -o /dev/null http://kuzzle:7512/_now; do sleep 1; done' diff --git a/.ci/doc/docker-compose.yml b/.ci/doc/docker-compose.yml index 4c03c7c72..4351b9a03 100644 --- a/.ci/doc/docker-compose.yml +++ b/.ci/doc/docker-compose.yml @@ -2,7 +2,7 @@ services: kuzzle: image: kuzzleio/kuzzle:2 ports: - - '7512:7512' + - "7512:7512" cap_add: - SYS_PTRACE depends_on: @@ -28,12 +28,11 @@ services: image: kuzzleio/snippets-tests privileged: true ports: - - '9229:9229' + - "9229:9229" depends_on: - kuzzle - doc-runner-node - doc-runner-web - - doc-runner-webpack volumes: - ../..:/mnt - /var/run/docker.sock:/var/run/docker.sock @@ -76,30 +75,10 @@ services: cp /mnt/.ci/doc/puppeteer.js /var/snippets/web/; npm install /mnt/; cp -fr /usr/local/lib/node_modules/* /var/snippets/web/node_modules; - cp -fr /usr/local/lib/node_modules/* /var/snippets/webpack/node_modules; touch /home/node/runner_ready_to_lint; touch /home/node/runner_is_ready; tail -f /dev/null ' - doc-runner-webpack: - build: . - volumes: - - ../..:/mnt - - snippets:/var/snippets - working_dir: /var/snippets/webpack - command: > - bash -c ' - cp /mnt/.ci/doc/puppeteer.js /var/snippets/webpack/; - cp /mnt/.ci/doc/webpackBuild.js /var/snippets/webpack/; - npm install /mnt/; - cp -fr /usr/local/lib/node_modules/* /var/snippets/web/node_modules; - cp -fr /usr/local/lib/node_modules/* /var/snippets/webpack/node_modules; - touch /home/node/runner_ready_to_lint; - touch /home/node/runner_is_ready; - tail -f /dev/null - ' - - volumes: snippets: diff --git a/.ci/doc/webpackBuild.js b/.ci/doc/webpackBuild.js deleted file mode 100644 index 72038a3c2..000000000 --- a/.ci/doc/webpackBuild.js +++ /dev/null @@ -1,53 +0,0 @@ -const path = require('path'); -const webpack = require('webpack'); -const HtmlWebpackPlugin = require('html-webpack-plugin'); - -const build = async file => { - const config = { - entry: file, - output: { - path: path.resolve('/tmp', path.basename(file).replace(/\.[^.]+$/, '')), - filename: 'build.js' - }, - module: { - rules: [ - { - test: /\.js$/, - loader: 'babel-loader' - } - ] - }, - devtool: 'eval-source-map', - plugins: [new HtmlWebpackPlugin()] - }; - - return new Promise((resolve, reject) => { - webpack(config, (err, stats) => { - if (err) { - if (err.details) { - return reject(err.details); - } - return reject(err.stack || err); - } - const info = stats.toJson(); - - if (stats.hasErrors()) { - return reject(info.errors); - } - - if (stats.hasWarnings()) { - return resolve(info.warnings); - } - resolve(true); - }); - }); -}; - -(async () => { - try { - await build(process.argv[2]); - } catch (e) { - console.error(e); - throw e; - } -})(); From 926ae9f3018b00d3dddb54a4c96b27042976b0e9 Mon Sep 17 00:00:00 2001 From: rolljee Date: Sat, 6 Dec 2025 22:37:14 +0100 Subject: [PATCH 13/18] chore(tests): removed .ci folder --- .ci/doc/Dockerfile | 76 --- .ci/doc/config.yml | 22 - .ci/doc/docker-compose.yml | 84 ---- .ci/doc/eslint.json | 444 ------------------ .ci/doc/package.json | 10 - .ci/doc/puppeteer.js | 60 --- .ci/doc/templates/blank.tpl.js | 14 - .ci/doc/templates/catch.tpl.js | 31 -- .ci/doc/templates/controller.tpl.js | 11 - .../createDocumentAfterSnippet.tpl.js | 27 -- .ci/doc/templates/default.tpl.html | 12 - .ci/doc/templates/default.tpl.js | 25 - .ci/doc/templates/doIt.tpl.js | 5 - .ci/doc/templates/empty-realtime.tpl.js | 23 - .ci/doc/templates/empty.tpl.js | 3 - .ci/doc/templates/eventemitter.tpl.js | 6 - .ci/doc/templates/mqtt-end.tpl.js | 4 - .../templates/print-result-successes.tpl.js | 31 -- .ci/doc/templates/realtime.tpl.js | 47 -- .ci/doc/templates/success.tpl.js | 32 -- .ci/doc/templates/thencatch.tpl.js | 28 -- .ci/doc/templates/without-connect.tpl.js | 22 - .ci/docker-compose.yml | 24 - .ci/start_kuzzle.sh | 17 - .ci/stop_kuzzle.sh | 5 - .ci/test-docs.sh | 12 - .github/workflows/pull_request.workflow.yml | 20 +- cypress.json | 13 - vite.config.ts | 2 - 29 files changed, 3 insertions(+), 1107 deletions(-) delete mode 100644 .ci/doc/Dockerfile delete mode 100644 .ci/doc/config.yml delete mode 100644 .ci/doc/docker-compose.yml delete mode 100644 .ci/doc/eslint.json delete mode 100644 .ci/doc/package.json delete mode 100644 .ci/doc/puppeteer.js delete mode 100644 .ci/doc/templates/blank.tpl.js delete mode 100644 .ci/doc/templates/catch.tpl.js delete mode 100644 .ci/doc/templates/controller.tpl.js delete mode 100644 .ci/doc/templates/createDocumentAfterSnippet.tpl.js delete mode 100644 .ci/doc/templates/default.tpl.html delete mode 100644 .ci/doc/templates/default.tpl.js delete mode 100644 .ci/doc/templates/doIt.tpl.js delete mode 100644 .ci/doc/templates/empty-realtime.tpl.js delete mode 100644 .ci/doc/templates/empty.tpl.js delete mode 100644 .ci/doc/templates/eventemitter.tpl.js delete mode 100644 .ci/doc/templates/mqtt-end.tpl.js delete mode 100644 .ci/doc/templates/print-result-successes.tpl.js delete mode 100644 .ci/doc/templates/realtime.tpl.js delete mode 100644 .ci/doc/templates/success.tpl.js delete mode 100644 .ci/doc/templates/thencatch.tpl.js delete mode 100644 .ci/doc/templates/without-connect.tpl.js delete mode 100644 .ci/docker-compose.yml delete mode 100755 .ci/start_kuzzle.sh delete mode 100755 .ci/stop_kuzzle.sh delete mode 100644 .ci/test-docs.sh delete mode 100644 cypress.json diff --git a/.ci/doc/Dockerfile b/.ci/doc/Dockerfile deleted file mode 100644 index 7f7049488..000000000 --- a/.ci/doc/Dockerfile +++ /dev/null @@ -1,76 +0,0 @@ -FROM node:20-bookworm-slim - -USER root - -RUN mkdir -p /home/node/.cache/puppeteer - -# Puppeteer Chrome headless dependencies -RUN apt-get update && apt-get install -y \ - ca-certificates \ - curl \ - fonts-liberation \ - libasound2 \ - libatk-bridge2.0-0 \ - libatk1.0-0 \ - libc6 \ - libcairo2 \ - libcups2 \ - libdbus-1-3 \ - libexpat1 \ - libfontconfig1 \ - libgbm1 \ - libgcc1 \ - libglib2.0-0 \ - libgtk-3-0 \ - libnspr4 \ - libnss3 \ - libpango-1.0-0 \ - libpangocairo-1.0-0 \ - libstdc++6 \ - libx11-6 \ - libx11-xcb1 \ - libxcb1 \ - libxcomposite1 \ - libxcursor1 \ - libxdamage1 \ - libxext6 \ - libxfixes3 \ - libxi6 \ - libxrandr2 \ - libxrender1 \ - libxss1 \ - libxtst6 \ - lsb-release \ - wget \ - xdg-utils \ - && rm -rf /var/lib/apt/lists/* - -# Install all dependencies needed for both services -RUN npm install -g \ - puppeteer \ - eslint@8.38.0 \ - eslint-plugin-html \ - eslint-plugin-import \ - eslint-plugin-node \ - eslint-plugin-promise \ - eslint-plugin-standard \ - babel-loader \ - @babel/core \ - html-webpack-plugin \ - webpack \ - webpack-cli - -RUN usermod -a -G video,audio node - -# Create working directories for snippets -RUN mkdir -p /var/snippets/web && \ - mkdir -p /var/snippets/webpack - -# Set proper permissions -RUN chown -R node:node /var/snippets/ -RUN chown -R node:node /home/node/.cache/puppeteer - -USER node - -# Keep container running -CMD ["tail", "-f", "/dev/null"] diff --git a/.ci/doc/config.yml b/.ci/doc/config.yml deleted file mode 100644 index 1ec1032eb..000000000 --- a/.ci/doc/config.yml +++ /dev/null @@ -1,22 +0,0 @@ ---- -snippets: - mount: /mnt - path: doc/**/snippets/*.test.yml - templates: /mnt/.ci/doc/templates - -runners: - default: node - - node: - service: doc-runner-node - path: /var/snippets/node - run: - cmd: node {{ snippet.source }} - before: timeout 600 ash -c 'until stat /tmp/runner_is_ready && curl -f -s -o /dev/null http://kuzzle:7512/_now; do sleep 1; done' - - web: - service: doc-runner-web - path: /var/snippets/web - run: - cmd: node puppeteer.js {{ snippet.dir }}/{{ snippet.source }} - before: timeout 600 bash -c 'until stat /home/node/runner_is_ready && curl -f -s -o /dev/null http://kuzzle:7512/_now; do sleep 1; done' diff --git a/.ci/doc/docker-compose.yml b/.ci/doc/docker-compose.yml deleted file mode 100644 index 4351b9a03..000000000 --- a/.ci/doc/docker-compose.yml +++ /dev/null @@ -1,84 +0,0 @@ -services: - kuzzle: - image: kuzzleio/kuzzle:2 - ports: - - "7512:7512" - cap_add: - - SYS_PTRACE - depends_on: - - redis - - elasticsearch - environment: - - kuzzle_services__storageEngine__client__node=http://elasticsearch:9200 - - kuzzle_services__internalCache__node__host=redis - - kuzzle_services__memoryStorage__node__host=redis - - kuzzle_services__storageEngine__commonMapping__dynamic=true - - kuzzle_services__storageEngine__internalIndex__collections__users__dynamic=true - - NODE_ENV=development - - redis: - image: redis:5 - - elasticsearch: - image: kuzzleio/elasticsearch:7 - ulimits: - nofile: 65536 - - doc-tests: - image: kuzzleio/snippets-tests - privileged: true - ports: - - "9229:9229" - depends_on: - - kuzzle - - doc-runner-node - - doc-runner-web - volumes: - - ../..:/mnt - - /var/run/docker.sock:/var/run/docker.sock - - snippets:/var/snippets - environment: - - CONFIG_FILE=/mnt/.ci/doc/config.yml - - doc-runner-node: - image: node:20-alpine - command: > - ash -c ' - mkdir -p /var/snippets/node; - apk add --no-cache curl; - cd /var/snippets/node; - npm install \ - bluebird \ - /mnt/ \ - eslint@8.38.0 \ - eslint-plugin-html \ - eslint-plugin-import \ - eslint-plugin-node \ - eslint-plugin-promise \ - eslint-plugin-standard; - touch /tmp/runner_ready_to_lint; - touch /tmp/runner_is_ready; - tail -f /dev/null - ' - volumes: - - ../..:/mnt - - snippets:/var/snippets - - doc-runner-web: - build: . - volumes: - - ../..:/mnt - - snippets:/var/snippets - working_dir: /var/snippets/web - command: > - bash -c ' - cp /mnt/.ci/doc/puppeteer.js /var/snippets/web/; - npm install /mnt/; - cp -fr /usr/local/lib/node_modules/* /var/snippets/web/node_modules; - touch /home/node/runner_ready_to_lint; - touch /home/node/runner_is_ready; - tail -f /dev/null - ' - -volumes: - snippets: diff --git a/.ci/doc/eslint.json b/.ci/doc/eslint.json deleted file mode 100644 index 3ee825948..000000000 --- a/.ci/doc/eslint.json +++ /dev/null @@ -1,444 +0,0 @@ -{ - "parserOptions": { - "ecmaVersion": 9, - "ecmaFeatures": { - "jsx": true - }, - "sourceType": "module" - }, - "env": { - "es6": true, - "node": true, - "browser": true - }, - "plugins": [ - "import", - "node", - "promise", - "standard", - "html" - ], - "globals": { - "document": false, - "navigator": false, - "window": false, - "KuzzleSDK": true - }, - "rules": { - "accessor-pairs": "error", - "arrow-spacing": [ - "error", - { - "before": true, - "after": true - } - ], - "block-spacing": [ - "error", - "always" - ], - "brace-style": [ - "error", - "1tbs", - { - "allowSingleLine": true - } - ], - "camelcase": [ - "error", - { - "properties": "never" - } - ], - "comma-spacing": [ - "error", - { - "before": false, - "after": true - } - ], - "comma-style": [ - "error", - "last" - ], - "constructor-super": "error", - "curly": [ - "error", - "multi-line" - ], - "dot-location": [ - "error", - "property" - ], - "eol-last": "error", - "eqeqeq": [ - "error", - "always", - { - "null": "ignore" - } - ], - "func-call-spacing": [ - "error", - "never" - ], - "generator-star-spacing": [ - "error", - { - "before": true, - "after": true - } - ], - "handle-callback-err": [ - "error", - "^(err|error)$" - ], - "indent": [ - "error", - 2, - { - "SwitchCase": 1, - "VariableDeclarator": 1, - "outerIIFEBody": 1, - "MemberExpression": 1, - "FunctionDeclaration": { - "parameters": 1, - "body": 1 - }, - "FunctionExpression": { - "parameters": 1, - "body": 1 - }, - "CallExpression": { - "arguments": 1 - }, - "ArrayExpression": 1, - "ObjectExpression": 1, - "ImportDeclaration": 1, - "flatTernaryExpressions": false, - "ignoreComments": false - } - ], - "key-spacing": [ - "error", - { - "beforeColon": false, - "afterColon": true - } - ], - "keyword-spacing": [ - "error", - { - "before": true, - "after": true - } - ], - "new-cap": [ - "error", - { - "newIsCap": true, - "capIsNew": false - } - ], - "new-parens": "error", - "no-array-constructor": "error", - "no-caller": "error", - "no-class-assign": "error", - "no-compare-neg-zero": "error", - "no-cond-assign": "error", - "no-const-assign": "error", - "no-constant-condition": [ - "error", - { - "checkLoops": false - } - ], - "no-control-regex": "error", - "no-debugger": "error", - "no-delete-var": "error", - "no-dupe-args": "error", - "no-dupe-class-members": "error", - "no-dupe-keys": "error", - "no-duplicate-case": "error", - "no-empty-character-class": "error", - "no-empty-pattern": "error", - "no-eval": "error", - "no-ex-assign": "error", - "no-extend-native": "error", - "no-extra-bind": "error", - "no-extra-boolean-cast": "error", - "no-extra-parens": [ - "error", - "functions" - ], - "no-fallthrough": "error", - "no-floating-decimal": "error", - "no-func-assign": "error", - "no-global-assign": "error", - "no-implied-eval": "error", - "no-inner-declarations": [ - "error", - "functions" - ], - "no-invalid-regexp": "error", - "no-irregular-whitespace": "error", - "no-iterator": "error", - "no-label-var": "error", - "no-labels": [ - "error", - { - "allowLoop": false, - "allowSwitch": false - } - ], - "no-lone-blocks": "error", - "no-mixed-operators": [ - "error", - { - "groups": [ - [ - "==", - "!=", - "===", - "!==", - ">", - ">=", - "<", - "<=" - ], - [ - "&&", - "||" - ], - [ - "in", - "instanceof" - ] - ], - "allowSamePrecedence": true - } - ], - "no-mixed-spaces-and-tabs": "error", - "no-multi-spaces": "error", - "no-multi-str": "error", - "no-multiple-empty-lines": [ - "error", - { - "max": 1, - "maxEOF": 0 - } - ], - "no-negated-in-lhs": "error", - "no-new": "error", - "no-new-func": "error", - "no-new-object": "error", - "no-new-require": "error", - "no-new-symbol": "error", - "no-new-wrappers": "error", - "no-obj-calls": "error", - "no-octal": "error", - "no-octal-escape": "error", - "no-path-concat": "error", - "no-proto": "error", - "no-redeclare": "error", - "no-regex-spaces": "error", - "no-return-assign": [ - "error", - "except-parens" - ], - "no-return-await": "error", - "no-self-assign": "error", - "no-self-compare": "error", - "no-sequences": "error", - "no-shadow-restricted-names": "error", - "no-sparse-arrays": "error", - "no-tabs": "error", - "no-template-curly-in-string": "error", - "no-this-before-super": "error", - "no-throw-literal": "error", - "no-trailing-spaces": "error", - "no-undef": "error", - "no-undef-init": "error", - "no-unexpected-multiline": "error", - "no-unmodified-loop-condition": "error", - "no-unneeded-ternary": [ - "error", - { - "defaultAssignment": false - } - ], - "no-unreachable": "error", - "no-unsafe-finally": "error", - "no-unsafe-negation": "error", - "no-unused-expressions": [ - "error", - { - "allowShortCircuit": true, - "allowTernary": true, - "allowTaggedTemplates": true - } - ], - "no-use-before-define": [ - "error", - { - "functions": false, - "classes": false, - "variables": false - } - ], - "no-useless-call": "error", - "no-useless-computed-key": "error", - "no-useless-constructor": "error", - "no-useless-escape": "error", - "no-useless-rename": "error", - "no-useless-return": "error", - "no-whitespace-before-property": "error", - "no-with": "error", - "object-property-newline": [ - "error", - { - "allowMultiplePropertiesPerLine": true - } - ], - "one-var": [ - "error", - { - "initialized": "never" - } - ], - "operator-linebreak": [ - "error", - "after", - { - "overrides": { - "?": "before", - ":": "before" - } - } - ], - "prefer-promise-reject-errors": "error", - "quotes": [ - "error", - "single", - { - "avoidEscape": true, - "allowTemplateLiterals": true - } - ], - "rest-spread-spacing": [ - "error", - "never" - ], - "semi-spacing": [ - "error", - { - "before": false, - "after": true - } - ], - "space-before-blocks": [ - "error", - "always" - ], - "space-before-function-paren": [ - "error", - "always" - ], - "space-in-parens": [ - "error", - "never" - ], - "space-infix-ops": "error", - "space-unary-ops": [ - "error", - { - "words": true, - "nonwords": false - } - ], - "spaced-comment": [ - "error", - "always", - { - "line": { - "markers": [ - "*package", - "!", - "/", - ",", - "=" - ] - }, - "block": { - "balanced": true, - "markers": [ - "*package", - "!", - ",", - ":", - "::", - "flow-include" - ], - "exceptions": [ - "*" - ] - } - } - ], - "symbol-description": "error", - "template-curly-spacing": [ - "error", - "never" - ], - "template-tag-spacing": [ - "error", - "never" - ], - "unicode-bom": [ - "error", - "never" - ], - "use-isnan": "error", - "valid-typeof": [ - "error", - { - "requireStringLiterals": true - } - ], - "wrap-iife": [ - "error", - "any", - { - "functionPrototypeMethods": true - } - ], - "yield-star-spacing": [ - "error", - "both" - ], - "yoda": [ - "error", - "never" - ], - "import/export": "error", - "import/first": "error", - "import/no-duplicates": "error", - "import/no-webpack-loader-syntax": "error", - "node/no-deprecated-api": "error", - "node/process-exit-as-throw": "error", - "promise/param-names": "error", - "standard/array-bracket-even-spacing": [ - "error", - "either" - ], - "standard/computed-property-even-spacing": [ - "error", - "even" - ], - "standard/no-callback-literal": "error", - "standard/object-curly-even-spacing": [ - "error", - "either" - ] - } -} \ No newline at end of file diff --git a/.ci/doc/package.json b/.ci/doc/package.json deleted file mode 100644 index a98376095..000000000 --- a/.ci/doc/package.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "name": "docs", - "version": "1.0.0", - "description": "docs for kuzzle-sdk", - "author": "The Kuzzle Team ", - "main": "index.js", - "scripts": {}, - "dependencies": {}, - "devDependencies": {} -} diff --git a/.ci/doc/puppeteer.js b/.ci/doc/puppeteer.js deleted file mode 100644 index eb4558052..000000000 --- a/.ci/doc/puppeteer.js +++ /dev/null @@ -1,60 +0,0 @@ -const puppeteer = require("puppeteer"); -const renderedSnippetPath = process.argv[2]; - -const runInBrowser = async (snippetPath) => { - let browser; - try { - // Install Chrome browser first - const { execSync } = require('child_process'); - execSync('npx puppeteer browsers install chrome', { stdio: 'inherit' }); - - browser = await puppeteer.launch({ - dumpio: true, - headless: "new", - // Remove executablePath to use the bundled Chromium - args: [ - "--no-sandbox", - "--disable-setuid-sandbox", - "--disable-gpu", - "--disable-dev-shm-usage", - ], - }); - } catch (error) { - console.error('Browser launch error:', error); - process.exit(1); - } - - try { - const page = await browser.newPage(); - - page.on("error", (err) => { - console.error('Page error:', err); - }); - - page.on("pageerror", (err) => { - console.error('Page error:', err); - }); - - page.on('console', msg => { - console.log('Page console:', msg.text()); - }); - - await page.goto(`file:${snippetPath}`, { - waitUntil: "networkidle0", - timeout: 30000, - }); - } catch (error) { - console.error('Page processing error:', error); - } finally { - if (browser) { - await browser.close(); - } - } -}; - -if (!renderedSnippetPath) { - console.error('Please provide a path to the snippet file'); - process.exit(1); -} - -runInBrowser(renderedSnippetPath); \ No newline at end of file diff --git a/.ci/doc/templates/blank.tpl.js b/.ci/doc/templates/blank.tpl.js deleted file mode 100644 index 2275df716..000000000 --- a/.ci/doc/templates/blank.tpl.js +++ /dev/null @@ -1,14 +0,0 @@ -// load the Kuzzle SDK module -const - { - Kuzzle, - WebSocket, - Http - } = require('kuzzle-sdk'); - -const kuzzle = new Kuzzle( - new WebSocket('kuzzle', { pingInterval: 2000 }) -); - -[snippet-code] -console.log('Everything is ok'); diff --git a/.ci/doc/templates/catch.tpl.js b/.ci/doc/templates/catch.tpl.js deleted file mode 100644 index 572bd431b..000000000 --- a/.ci/doc/templates/catch.tpl.js +++ /dev/null @@ -1,31 +0,0 @@ -// Loads the Kuzzle SDK module and the websocket protocol -const { - Kuzzle, - WebSocket -} = require('kuzzle-sdk'); - -// Instantiates a Kuzzle client -const - kuzzle = new Kuzzle( - new WebSocket('kuzzle', { autoReconnect: false, pingInterval: 2000 }) - ); - -// Adds a listener to detect any connection problems -kuzzle.on('networkError', error => { - console.error(`Network Error: ${error.message}`); -}); - -(async () => { - try { - await kuzzle.connect(); - } catch (error) { - console.log(`Can not connect to Kuzzle: ${error.message}`); - } - try { - [snippet-code] - } catch (e) { - console.log('Success'); - } finally { - kuzzle.disconnect(); - } -})(); diff --git a/.ci/doc/templates/controller.tpl.js b/.ci/doc/templates/controller.tpl.js deleted file mode 100644 index 17a2ff24e..000000000 --- a/.ci/doc/templates/controller.tpl.js +++ /dev/null @@ -1,11 +0,0 @@ -// load the Kuzzle SDK module -const - { - Kuzzle, - WebSocket, - BaseController - } = require('kuzzle-sdk'); - -BaseController.prototype.query = () => Promise.resolve(null); - -[snippet-code] diff --git a/.ci/doc/templates/createDocumentAfterSnippet.tpl.js b/.ci/doc/templates/createDocumentAfterSnippet.tpl.js deleted file mode 100644 index 047902732..000000000 --- a/.ci/doc/templates/createDocumentAfterSnippet.tpl.js +++ /dev/null @@ -1,27 +0,0 @@ -// This template imports the snippet and then creates a document in the -// 'yellow-taxi collection in the `nyc-open-data` index. - -[snippet-code] - -// Require a kuzzle instance assigning it to a weird variable to avoid collisions and create the instance. -const $k = require('kuzzle-sdk'); -const $kInstance = new $k.Kuzzle(new $k.WebSocket('kuzzle', { pingInterval: 2000 })); - -// add a listener to detect any connection problems -$kInstance.on('networkError', error => { - console.error(`[doItAndCreateDocument.tpl] Network Error: ${error}`); -}); - -$kInstance.connect().then(() => { - const driver = { - name: 'Sirkis', - birthday: '1959-06-22', - license: 'B' - }; - - return $kInstance.document.create('nyc-open-data', 'yellow-taxi', driver); -}).catch(error => { - console.error(`[doItAndCreateDocument.tpl] Error creating document: ${error}`); -}).finally(() => { - $kInstance.disconnect(); -}); diff --git a/.ci/doc/templates/default.tpl.html b/.ci/doc/templates/default.tpl.html deleted file mode 100644 index e19296a86..000000000 --- a/.ci/doc/templates/default.tpl.html +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - Snippet testing - - - - [snippet-code] - - diff --git a/.ci/doc/templates/default.tpl.js b/.ci/doc/templates/default.tpl.js deleted file mode 100644 index e277f3183..000000000 --- a/.ci/doc/templates/default.tpl.js +++ /dev/null @@ -1,25 +0,0 @@ -// Loads the Kuzzle SDK module and the websocket protocol -const { - Kuzzle, - WebSocket -} = require('kuzzle-sdk'); - -// Instantiates a Kuzzle client -const kuzzle = new Kuzzle(new WebSocket('kuzzle', { autoReconnect: false, pingInterval: 2000 })); - -// Adds a listener to detect any connection problems -kuzzle.on('networkError', error => { - console.error(`Network Error: ${error.message}`); -}); - -(async () => { - try { - await kuzzle.connect(); - } catch (error) { - console.log(`Can not connect to Kuzzle: ${error.message}`); - } - - [snippet-code] finally { - kuzzle.disconnect(); - } -})(); diff --git a/.ci/doc/templates/doIt.tpl.js b/.ci/doc/templates/doIt.tpl.js deleted file mode 100644 index 9194dec7a..000000000 --- a/.ci/doc/templates/doIt.tpl.js +++ /dev/null @@ -1,5 +0,0 @@ -// This template expects a snippet that declares a function called doIt function -// which it calls. -[snippet-code] - -doIt(); diff --git a/.ci/doc/templates/empty-realtime.tpl.js b/.ci/doc/templates/empty-realtime.tpl.js deleted file mode 100644 index f8139c144..000000000 --- a/.ci/doc/templates/empty-realtime.tpl.js +++ /dev/null @@ -1,23 +0,0 @@ -function sleep (ms, i = 0) { - setTimeout(() => { - if (i >= 150 || outputs.length > 0) { - console.log = consoleLog; - console.log(...outputs); - - // force exit: do not wait for the event loop to be empty - process.exit(0); - } - sleep(ms, ++i); - }, ms); -} - -const consoleLog = console.log; -const outputs = []; - -console.log = (...args) => { - outputs.push(...args); -}; - -[snippet-code] - -sleep(200); diff --git a/.ci/doc/templates/empty.tpl.js b/.ci/doc/templates/empty.tpl.js deleted file mode 100644 index 3da052031..000000000 --- a/.ci/doc/templates/empty.tpl.js +++ /dev/null @@ -1,3 +0,0 @@ -[snippet-code] - -console.log('Success'); diff --git a/.ci/doc/templates/eventemitter.tpl.js b/.ci/doc/templates/eventemitter.tpl.js deleted file mode 100644 index df1a48f9f..000000000 --- a/.ci/doc/templates/eventemitter.tpl.js +++ /dev/null @@ -1,6 +0,0 @@ -const - { - KuzzleEventEmitter - } = require('kuzzle-sdk'); - -[snippet-code] diff --git a/.ci/doc/templates/mqtt-end.tpl.js b/.ci/doc/templates/mqtt-end.tpl.js deleted file mode 100644 index 4b051836c..000000000 --- a/.ci/doc/templates/mqtt-end.tpl.js +++ /dev/null @@ -1,4 +0,0 @@ -[snippet-code] finally { - console.log('Success'); - client.end(); -} diff --git a/.ci/doc/templates/print-result-successes.tpl.js b/.ci/doc/templates/print-result-successes.tpl.js deleted file mode 100644 index 4b3228a7d..000000000 --- a/.ci/doc/templates/print-result-successes.tpl.js +++ /dev/null @@ -1,31 +0,0 @@ -// Loads the Kuzzle SDK module and the websocket protocol -const { - Kuzzle, - WebSocket -} = require('kuzzle-sdk'); - -// Instantiates a Kuzzle client -const - kuzzle = new Kuzzle( - new WebSocket('kuzzle', { autoReconnect: false, pingInterval: 2000 }) - ); - -// Adds a listener to detect connection problems -kuzzle.on('networkError', error => { - console.error(`Network Error: ${error.message}`); -}); - -(async () => { - let result; - try { - await kuzzle.connect(); - } catch (error) { - console.log(`Cannot connect to Kuzzle: ${error.message}`); - } - [snippet-code] finally { - kuzzle.disconnect(); - } - for (const elem of result.successes) { - console.log(elem); - } -})(); diff --git a/.ci/doc/templates/realtime.tpl.js b/.ci/doc/templates/realtime.tpl.js deleted file mode 100644 index e708c03b1..000000000 --- a/.ci/doc/templates/realtime.tpl.js +++ /dev/null @@ -1,47 +0,0 @@ -// Loads the Kuzzle SDK module and the websocket protocol -const { - Kuzzle, - WebSocket -} = require('kuzzle-sdk'); - -// Instantiates a Kuzzle client -const - kuzzle = new Kuzzle( - new WebSocket('kuzzle', { autoReconnect: false, pingInterval: 2000 }) - ); - -// Adds a listener to detect any connection problems -kuzzle.on('networkError', error => { - console.error(`Network Error: ${error.message}`); -}); - -function sleep (ms) { - return new Promise(resolve => setTimeout(resolve, ms)); -} - -(async () => { - try { - await kuzzle.connect(); - } catch (error) { - console.log(`Cannot connect to Kuzzle: ${error.message}`); - } - - const consoleLog = console.log; - const outputs = []; - - console.log = (...args) => { - outputs.push(...args); - }; - - [snippet-code] finally { - for (let i = 150; i > 0 && outputs.length <= 0; --i) { - await sleep(200); - } - - console.log = consoleLog; - console.log(...outputs); - - // force exit: do not wait for the event loop to be empty - process.exit(0); - } -})(); diff --git a/.ci/doc/templates/success.tpl.js b/.ci/doc/templates/success.tpl.js deleted file mode 100644 index 805c78cad..000000000 --- a/.ci/doc/templates/success.tpl.js +++ /dev/null @@ -1,32 +0,0 @@ -// Loads the Kuzzle SDK module and the websocket protocol -const { - Kuzzle, - WebSocket -} = require('kuzzle-sdk'); - -// Instantiates a Kuzzle client -const - kuzzle = new Kuzzle( - new WebSocket('kuzzle', { autoReconnect: false, pingInterval: 2000 }) - ); - -// Adds a listener to detect any connection problems -kuzzle.on('networkError', error => { - console.error(`Network Error: ${error.message}`); -}); - -(async function run () { - try { - await kuzzle.connect(); - } catch (error) { - console.log(`Can not connect to Kuzzle: ${error.message}`); - } - try { - [snippet-code] - console.log('Success'); - } catch (e) { - console.log(e); - } finally { - kuzzle.disconnect(); - } -})(); diff --git a/.ci/doc/templates/thencatch.tpl.js b/.ci/doc/templates/thencatch.tpl.js deleted file mode 100644 index 43e5d1f0b..000000000 --- a/.ci/doc/templates/thencatch.tpl.js +++ /dev/null @@ -1,28 +0,0 @@ -const Bluebird = require('bluebird'); - -// Loads the Kuzzle SDK module and the websocket protocol -const { - Kuzzle, - WebSocket -} = require('kuzzle-sdk'); - -// Instantiates a Kuzzle client -const - kuzzle = new Kuzzle( - new WebSocket('kuzzle', { autoReconnect: false, pingInterval: 2000 }) - ); - -// Adds a listener to detect any connection problems -kuzzle.on('networkError', error => { - console.error(`Network Error: ${error.message}`); -}); - -Bluebird.resolve( - kuzzle - .connect() - .then(() => { - return [snippet-code] - }) -) - .catch(() => 'nothing') - .finally(() => kuzzle.disconnect()); diff --git a/.ci/doc/templates/without-connect.tpl.js b/.ci/doc/templates/without-connect.tpl.js deleted file mode 100644 index 493ea3b8c..000000000 --- a/.ci/doc/templates/without-connect.tpl.js +++ /dev/null @@ -1,22 +0,0 @@ -// Loads the Kuzzle SDK module and the websocket protocol -const { - Kuzzle, - WebSocket -} = require('kuzzle-sdk'); - -// Instantiates a Kuzzle client -const - kuzzle = new Kuzzle( - new WebSocket('kuzzle', { autoReconnect: false, pingInterval: 2000 }) - ); - -// Adds a listener to detect any connection problems -kuzzle.on('networkError', error => { - console.error(`Network Error: ${error.message}`); -}); - -(async () => { - [snippet-code] finally { - kuzzle.disconnect(); - } -})(); diff --git a/.ci/docker-compose.yml b/.ci/docker-compose.yml deleted file mode 100644 index e5bdca5e3..000000000 --- a/.ci/docker-compose.yml +++ /dev/null @@ -1,24 +0,0 @@ -services: - kuzzle: - image: kuzzleio/kuzzle:2 - ports: - - "7512:7512" - cap_add: - - SYS_PTRACE - depends_on: - - redis - - elasticsearch - environment: - - kuzzle_services__storageEngine__client__node=http://elasticsearch:9200 - - kuzzle_services__internalCache__node__host=redis - - kuzzle_services__memoryStorage__node__host=redis - - kuzzle_services__storageEngine__commonMapping__dynamic=true - - NODE_ENV=production - - redis: - image: redis:5 - - elasticsearch: - image: kuzzleio/elasticsearch:7 - ulimits: - nofile: 65536 \ No newline at end of file diff --git a/.ci/start_kuzzle.sh b/.ci/start_kuzzle.sh deleted file mode 100755 index 4a7a8789b..000000000 --- a/.ci/start_kuzzle.sh +++ /dev/null @@ -1,17 +0,0 @@ -#!/usr/bin/env bash - -set -e - -echo "[$(date --rfc-3339 seconds)] - Start Kuzzle stack" - -docker compose -f .ci/docker-compose.yml up -d - -spinner="/" -until $(curl --output /dev/null --silent --head --fail http://localhost:7512); do - printf '\r' - echo -n "[$(date --rfc-3339 seconds)] - Waiting for Kuzzle stack to be up and running [$spinner]" - - if [ "$spinner" = "/" ]; then spinner="\\"; else spinner="/" ; fi - - sleep 1 -done diff --git a/.ci/stop_kuzzle.sh b/.ci/stop_kuzzle.sh deleted file mode 100755 index 04a8eb30c..000000000 --- a/.ci/stop_kuzzle.sh +++ /dev/null @@ -1,5 +0,0 @@ -#!/usr/bin/env bash -set -e -# Download and launch custom Kuzzle stack - -docker-compose -f .ci/docker-compose.yml stop diff --git a/.ci/test-docs.sh b/.ci/test-docs.sh deleted file mode 100644 index 7cb3854f4..000000000 --- a/.ci/test-docs.sh +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/bash - -set -ex - -here="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )" -cd "$here" - -docker compose -f ./doc/docker-compose.yml build -docker compose -f ./doc/docker-compose.yml pull -docker compose -f ./doc/docker-compose.yml run doc-tests node index -EXIT=$? -docker compose -f ./doc/docker-compose.yml down diff --git a/.github/workflows/pull_request.workflow.yml b/.github/workflows/pull_request.workflow.yml index 0fdcaf210..3e918e408 100644 --- a/.github/workflows/pull_request.workflow.yml +++ b/.github/workflows/pull_request.workflow.yml @@ -14,7 +14,7 @@ jobs: - uses: actions/setup-node@v4 with: node-version: ${{ matrix.node-version }} - cache: 'npm' + cache: "npm" - run: | npm ci npm run test:lint @@ -31,7 +31,7 @@ jobs: - uses: actions/setup-node@v4 with: node-version: ${{ matrix.node-version }} - cache: 'npm' + cache: "npm" - uses: ./.github/actions/unit-tests functional-tests: @@ -46,21 +46,7 @@ jobs: - uses: actions/setup-node@v4 with: node-version: ${{ matrix.node-version }} - cache: 'npm' + cache: "npm" - uses: ./.github/actions/functional-tests with: CYPRESS_RECORD_KEY_DOC: ${{ secrets.CYPRESS_RECORD_KEY_DOC }} - - documentation-snippet-tests: - name: Documentation Snippet Tests - needs: [unit-tests] - runs-on: ubuntu-24.04 - steps: - - uses: actions/checkout@v4 - - uses: actions/setup-node@v4 - with: - node-version: 24 - cache: 'npm' - - uses: ./.github/actions/snippet-tests - with: - CYPRESS_RECORD_KEY_DOC: ${{ secrets.CYPRESS_RECORD_KEY_DOC }} diff --git a/cypress.json b/cypress.json deleted file mode 100644 index 21b572c9e..000000000 --- a/cypress.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "baseUrl": "http://localhost:8080", - "fixturesFolder": "test/e2e/cypress/fixtures", - "integrationFolder": "test/e2e/cypress/integration", - "pluginsFile": "test/e2e/cypress/plugins/index.js", - "supportFile": "test/e2e/cypress/support/index.js", - "screenshotsFolder": "test/e2e/failed-test/", - "videosFolder": "test/e2e/videos", - "videoUploadOnPasses": false, - "projectId": "rwzafm", - "viewportHeight": 800, - "viewportWidth": 1400 -} diff --git a/vite.config.ts b/vite.config.ts index 635fcac9e..6c987cc05 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -30,8 +30,6 @@ export default defineConfig({ // Use the TypeScript entry so Rollup sees ES modules and can generate a proper UMD bundle entry: path.resolve(__dirname, "index.ts"), fileName: () => "kuzzle.js", - // Use an IIFE to avoid CommonJS/AMD detection in browsers that execute the bundle as an ES module - formats: ["iife"], name: "KuzzleSDK", }, outDir: "dist", From 22e0567a89ca281d2637839a8391310c29b64a06 Mon Sep 17 00:00:00 2001 From: rolljee Date: Sat, 6 Dec 2025 22:44:49 +0100 Subject: [PATCH 14/18] chore(tests): add back tests --- .ci/docker-compose.yml | 24 ++++++++++++++++++++++++ .ci/start_kuzzle.sh | 17 +++++++++++++++++ .ci/stop_kuzzle.sh | 5 +++++ 3 files changed, 46 insertions(+) create mode 100644 .ci/docker-compose.yml create mode 100755 .ci/start_kuzzle.sh create mode 100755 .ci/stop_kuzzle.sh diff --git a/.ci/docker-compose.yml b/.ci/docker-compose.yml new file mode 100644 index 000000000..aa751fefe --- /dev/null +++ b/.ci/docker-compose.yml @@ -0,0 +1,24 @@ +services: + kuzzle: + image: kuzzleio/kuzzle:2 + ports: + - "7512:7512" + cap_add: + - SYS_PTRACE + depends_on: + - redis + - elasticsearch + environment: + - kuzzle_services__storageEngine__client__node=http://elasticsearch:9200 + - kuzzle_services__internalCache__node__host=redis + - kuzzle_services__memoryStorage__node__host=redis + - kuzzle_services__storageEngine__commonMapping__dynamic=true + - NODE_ENV=production + + redis: + image: redis:8 + + elasticsearch: + image: docker.io/bitnamilegacy/elasticsearch:8.17.1-debian-12-r6 + ulimits: + nofile: 65536 diff --git a/.ci/start_kuzzle.sh b/.ci/start_kuzzle.sh new file mode 100755 index 000000000..9420842ef --- /dev/null +++ b/.ci/start_kuzzle.sh @@ -0,0 +1,17 @@ +#!/usr/bin/env bash + +set -e + +echo "[$(date --rfc-3339 seconds)] - Start Kuzzle stack" + +docker compose -f .ci/docker-compose.yml up -d + +spinner="/" +until $(curl --output /dev/null --silent --head --fail http://localhost:7512); do + printf '\r' + echo -n "[$(date --rfc-3339 seconds)] - Waiting for Kuzzle stack to be up and running [$spinner]" + + if [ "$spinner" = "/" ]; then spinner="\\"; else spinner="/" ; fi + + sleep 1 +done \ No newline at end of file diff --git a/.ci/stop_kuzzle.sh b/.ci/stop_kuzzle.sh new file mode 100755 index 000000000..15c6d18dd --- /dev/null +++ b/.ci/stop_kuzzle.sh @@ -0,0 +1,5 @@ +#!/usr/bin/env bash +set -e +# Download and launch custom Kuzzle stack + +docker-compose -f .ci/docker-compose.yml stop \ No newline at end of file From 3066576684a14834d18e4d28ea9d7ccb314a09ef Mon Sep 17 00:00:00 2001 From: rolljee Date: Sat, 6 Dec 2025 23:01:46 +0100 Subject: [PATCH 15/18] chore(tests): fixing fonctionnal tests --- .ci/docker-compose.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.ci/docker-compose.yml b/.ci/docker-compose.yml index aa751fefe..5a204033c 100644 --- a/.ci/docker-compose.yml +++ b/.ci/docker-compose.yml @@ -13,6 +13,7 @@ services: - kuzzle_services__internalCache__node__host=redis - kuzzle_services__memoryStorage__node__host=redis - kuzzle_services__storageEngine__commonMapping__dynamic=true + - kuzzle_services__storageEngine__majorVersion=8 - NODE_ENV=production redis: From 9f1cba63b98365bfec1bbe2ff2384a4fd8792e55 Mon Sep 17 00:00:00 2001 From: rolljee Date: Sun, 7 Dec 2025 16:29:10 +0100 Subject: [PATCH 16/18] chore(deps): removed the min-req-promise lib --- index.ts | 3 + package-lock.json | 141 ------------------------------------- package.json | 6 +- src/protocols/Http.ts | 98 +++++++++++++++++++------- test/protocol/Http.test.js | 33 ++++----- vite.config.ts | 7 +- 6 files changed, 97 insertions(+), 191 deletions(-) diff --git a/index.ts b/index.ts index f3139e770..0fd77b3bc 100644 --- a/index.ts +++ b/index.ts @@ -3,6 +3,9 @@ import { isBrowser } from "./src/utils/browser"; // defined by webpack plugin declare let BUILT: any; +console.log("isBrowser", isBrowser()); +console.log(typeof BUILT); + if (isBrowser() && typeof BUILT === "undefined") { throw new Error( "It looks like you are using the Nodejs version of Kuzzle SDK " + diff --git a/package-lock.json b/package-lock.json index 9418e778c..f32daa036 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,7 +9,6 @@ "version": "7.15.1", "license": "Apache-2.0", "dependencies": { - "min-req-promise": "1.0.1", "ws": "8.18.3" }, "devDependencies": { @@ -21,7 +20,6 @@ "mocha": "11.7.5", "mock-require": "3.0.3", "nyc": "17.1.0", - "proxyquire": "2.1.3", "retry": "0.13.1", "rewire": "9.0.1", "semantic-release-config-kuzzle": "1.1.2", @@ -5557,20 +5555,6 @@ "node": "^10.12.0 || >=12.0.0" } }, - "node_modules/fill-keys": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/fill-keys/-/fill-keys-1.0.2.tgz", - "integrity": "sha512-tcgI872xXjwFF4xgQmLxi76GnwJG3g/3isB1l4/G5Z4zrbddGpBjqZCO9oEAcB5wX0Hj/5iQB3toxfO7in1hHA==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-object": "~1.0.1", - "merge-descriptors": "~1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/fill-range": { "version": "7.1.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", @@ -5804,16 +5788,6 @@ "node": "^8.16.0 || ^10.6.0 || >=11.0.0" } }, - "node_modules/function-bind": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/function-timeout": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/function-timeout/-/function-timeout-1.0.2.tgz", @@ -6092,19 +6066,6 @@ "node": ">=8" } }, - "node_modules/hasown": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", - "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, "node_modules/he": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", @@ -6402,22 +6363,6 @@ "node": ">=4" } }, - "node_modules/is-core-module": { - "version": "2.16.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", - "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", - "dev": true, - "license": "MIT", - "dependencies": { - "hasown": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/is-decimal": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-1.0.4.tgz", @@ -6500,16 +6445,6 @@ "node": ">=8" } }, - "node_modules/is-object": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-object/-/is-object-1.0.2.tgz", - "integrity": "sha512-2rRIahhZr2UWb45fIOuvZGpFtz0TyOZLf32KxBbSoUCeZR495zCKlWUKKUByk3geS2eAs7ZAABt0Y/Rx0GiQGA==", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/is-path-inside": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", @@ -7613,16 +7548,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/merge-descriptors": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz", - "integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/merge-stream": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", @@ -7788,12 +7713,6 @@ "node": ">=6" } }, - "node_modules/min-req-promise": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/min-req-promise/-/min-req-promise-1.0.1.tgz", - "integrity": "sha512-PD2LObOGZPBPk3EMiuxc4Te0a0T0C6ZZni4m6eNl1zgxqJh+jThM026TmxV6IcJM8MWPHagJm3Q+zm2CNOAiDg==", - "license": "Apache-2.0" - }, "node_modules/minimatch": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", @@ -7991,13 +7910,6 @@ "node": ">=4.3.0" } }, - "node_modules/module-not-found-error": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/module-not-found-error/-/module-not-found-error-1.0.1.tgz", - "integrity": "sha512-pEk4ECWQXV6z2zjhRZUongnLJNUeGQJ3w6OQ5ctGwD+i5o93qjRQUk2Rt6VdNeu3sEP0AB4LcfvdebpxBRVr4g==", - "dev": true, - "license": "MIT" - }, "node_modules/ms": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", @@ -11714,13 +11626,6 @@ "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==", - "dev": true, - "license": "MIT" - }, "node_modules/path-scurry": { "version": "1.11.1", "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", @@ -12090,18 +11995,6 @@ "license": "ISC", "peer": true }, - "node_modules/proxyquire": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/proxyquire/-/proxyquire-2.1.3.tgz", - "integrity": "sha512-BQWfCqYM+QINd+yawJz23tbBM40VIGXOdDw3X344KcclI/gtBbdWF6SlQ4nK/bYhF9d27KYug9WzljHC6B9Ysg==", - "dev": true, - "license": "MIT", - "dependencies": { - "fill-keys": "^1.0.2", - "module-not-found-error": "^1.0.1", - "resolve": "^1.11.1" - } - }, "node_modules/queue-microtask": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", @@ -12449,27 +12342,6 @@ "dev": true, "license": "ISC" }, - "node_modules/resolve": { - "version": "1.22.11", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.11.tgz", - "integrity": "sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-core-module": "^2.16.1", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/resolve-from": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", @@ -13810,19 +13682,6 @@ "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==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/synckit": { "version": "0.11.11", "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.11.11.tgz", diff --git a/package.json b/package.json index 4e0068fd7..a4ad96987 100644 --- a/package.json +++ b/package.json @@ -31,7 +31,6 @@ "main": "out/index.js", "license": "Apache-2.0", "dependencies": { - "min-req-promise": "1.0.1", "ws": "8.18.3" }, "devDependencies": { @@ -43,12 +42,11 @@ "mocha": "11.7.5", "mock-require": "3.0.3", "nyc": "17.1.0", - "proxyquire": "2.1.3", "retry": "0.13.1", "rewire": "9.0.1", "semantic-release-config-kuzzle": "1.1.2", - "should-sinon": "0.0.6", "should": "13.2.3", + "should-sinon": "0.0.6", "sinon": "21.0.0", "ts-node": "10.9.2", "typescript": "5.4.*", @@ -66,4 +64,4 @@ "src/**/*.d.ts", "src/**/*.json" ] -} \ No newline at end of file +} diff --git a/src/protocols/Http.ts b/src/protocols/Http.ts index 9bf376e84..29349db11 100644 --- a/src/protocols/Http.ts +++ b/src/protocols/Http.ts @@ -373,43 +373,39 @@ export default class HttpProtocol extends KuzzleAbstractProtocol { }: { method: string; path: string; - payload: JSONObject; + payload?: JSONObject; }) { if (typeof XMLHttpRequest === "undefined") { // NodeJS implementation, using http.request: - // eslint-disable-next-line @typescript-eslint/no-var-requires - const httpClient = require("min-req-promise"); - if (path[0] !== "/") { path = `/${path}`; } const url = `${this.protocol}://${this.host}:${this.port}${path}`; - const headers = (payload && payload.headers) || {}; - headers["Content-Length"] = Buffer.byteLength( - (payload && payload.body) || "", - ); + const body = payload && (payload as any).body; + const headers = { + ...((payload && payload.headers) || {}), + "Content-Length": Buffer.byteLength(body || ""), + }; - return httpClient - .request(url, method, { - body: payload && payload.body, - headers: headers, - timeout: this._timeout, - }) - .then((response) => { - if (response.statusCode === 431) { - throw new Error( - "Request query string is too large. Try to use the method with the POST verb instead.", - ); - } + return this._nodeRequest(url, method, { + body, + headers, + timeout: this._timeout, + }).then((response) => { + if (response.statusCode === 431) { + throw new Error( + "Request query string is too large. Try to use the method with the POST verb instead.", + ); + } - const contentType = response.headers["content-type"]; - if (!contentType || !contentType.includes("application/json")) { - return response.body; - } + const contentType = response.headers["content-type"]; + if (!contentType || !contentType.includes("application/json")) { + return response.body; + } - return JSON.parse(response.body); - }); + return JSON.parse(response.body); + }); } // Browser implementation, using XMLHttpRequest: @@ -454,6 +450,56 @@ export default class HttpProtocol extends KuzzleAbstractProtocol { }); } + private _nodeRequest( + url: string, + method: string, + options: { body?: string; headers?: JSONObject; timeout?: number }, + ): Promise<{ + statusCode?: number; + headers: JSONObject; + body: string; + }> { + // eslint-disable-next-line @typescript-eslint/no-var-requires + const httpModule = this.ssl ? require("https") : require("http"); + + return new Promise((resolve, reject) => { + const req = httpModule.request( + url, + { + method, + headers: options.headers, + }, + (res) => { + const chunks: Buffer[] = []; + + res.on("data", (chunk) => chunks.push(chunk)); + res.on("end", () => { + resolve({ + statusCode: res.statusCode, + headers: res.headers as JSONObject, + body: Buffer.concat(chunks).toString(), + }); + }); + }, + ); + + req.on("error", reject); + + const timeout = options.timeout || 0; + if (timeout > 0) { + req.setTimeout(timeout, () => { + req.destroy(new Error("Request timed out")); + }); + } + + if (options.body) { + req.write(options.body); + } + + req.end(); + }); + } + _constructRoutes(publicApi) { const apiRoutes = Object.keys(publicApi) .map((key) => [key, publicApi[key]]) diff --git a/test/protocol/Http.test.js b/test/protocol/Http.test.js index 549e9f0f5..ddbb28a19 100644 --- a/test/protocol/Http.test.js +++ b/test/protocol/Http.test.js @@ -1,7 +1,6 @@ /* eslint-disable no-undef */ "use strict"; -const proxyquire = require("proxyquire"); const should = require("should"); const sinon = require("sinon"); @@ -677,28 +676,26 @@ describe("HTTP networking module", () => { result: "Kuzzle Result", }; - let httpRequestStub; + let nodeRequestStub; beforeEach(() => { - httpRequestStub = sinon.stub().resolves({ + nodeRequestStub = sinon.stub().resolves({ body: JSON.stringify(mockResponseBody), headers: { "content-type": "application/json", }, + statusCode: mockResponseBody.status, }); - const { default: MockHttp } = proxyquire("../../src/protocols/Http", { - "min-req-promise": { request: httpRequestStub }, - }); - - protocol = new MockHttp("address", { port: 1234 }); + protocol = new Http("address", { port: 1234 }); + protocol._nodeRequest = nodeRequestStub; }); it("should call http.request with empty body", () => { protocol._sendHttpRequest({ method: "VERB", path: "/foo/bar" }); - should(httpRequestStub).be.calledOnce(); - should(httpRequestStub).be.calledWith( + should(nodeRequestStub).be.calledOnce(); + should(nodeRequestStub).be.calledWithMatch( "http://address:1234/foo/bar", "VERB", { @@ -717,8 +714,8 @@ describe("HTTP networking module", () => { payload: { body }, }); - should(httpRequestStub).be.calledOnce(); - should(httpRequestStub).be.calledWith( + should(nodeRequestStub).be.calledOnce(); + should(nodeRequestStub).be.calledWithMatch( "http://address:1234/foo/bar", "VERB", { @@ -733,8 +730,8 @@ describe("HTTP networking module", () => { protocol.timeout = 42000; protocol._sendHttpRequest({ method: "VERB", path: "/foo/bar" }); - should(httpRequestStub).be.calledOnce(); - should(httpRequestStub).be.calledWith( + should(nodeRequestStub).be.calledOnce(); + should(nodeRequestStub).be.calledWithMatch( "http://address:1234/foo/bar", "VERB", { @@ -753,8 +750,8 @@ describe("HTTP networking module", () => { payload: { body, headers: { foo: "bar" } }, }); - should(httpRequestStub).be.calledOnce(); - should(httpRequestStub).be.calledWith( + should(nodeRequestStub).be.calledOnce(); + should(nodeRequestStub).be.calledWithMatch( "http://address:1234/foo/bar", "VERB", { @@ -766,14 +763,14 @@ describe("HTTP networking module", () => { }); it("should reject the request in case of error", () => { - httpRequestStub.rejects("My HTTP Error"); + nodeRequestStub.rejects(new Error("My HTTP Error")); return protocol ._sendHttpRequest({ method: "VERB", path: "/foo/bar" }) .then(() => Promise.reject("No error")) .catch((err) => { should(err).be.an.instanceof(Error); - should(err.name).be.exactly("My HTTP Error"); + should(err.message).be.exactly("My HTTP Error"); }); }); diff --git a/vite.config.ts b/vite.config.ts index 6c987cc05..5315713a3 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -4,7 +4,6 @@ import { version } from "./package.json"; const ignoredModules = new Set([ "http", - "min-req-promise", "package", "ws", "https", @@ -29,13 +28,17 @@ export default defineConfig({ lib: { // Use the TypeScript entry so Rollup sees ES modules and can generate a proper UMD bundle entry: path.resolve(__dirname, "index.ts"), - fileName: () => "kuzzle.js", + fileName: () => "kuzzle", name: "KuzzleSDK", + // Match the legacy Webpack output: single UMD bundle + formats: ["umd"], }, outDir: "dist", rollupOptions: { output: { banner: `// Kuzzle Javascript SDK version ${version}`, + // Expose build flags on the global scope for browser usage (mirrors old webpack define) + intro: `var BUILT = true; var SDKVERSION = "${version}";`, }, }, sourcemap: true, From 44149295ad90d29fd9ce71268040ca4669285f62 Mon Sep 17 00:00:00 2001 From: rolljee Date: Tue, 9 Dec 2025 08:53:17 +0100 Subject: [PATCH 17/18] chore(build): build for browser corretly --- index.ts | 17 ------ package.json | 15 ++++- src/core/Room.ts | 1 - src/protocols/Http.ts | 74 +++++++++++++------------ test/core/room.test.js | 122 ++++++++++++++++++++++++++++++++--------- vite.config.ts | 29 +--------- 6 files changed, 152 insertions(+), 106 deletions(-) diff --git a/index.ts b/index.ts index 0fd77b3bc..e9730802a 100644 --- a/index.ts +++ b/index.ts @@ -1,20 +1,3 @@ -import { isBrowser } from "./src/utils/browser"; - -// defined by webpack plugin -declare let BUILT: any; - -console.log("isBrowser", isBrowser()); -console.log(typeof BUILT); - -if (isBrowser() && typeof BUILT === "undefined") { - throw new Error( - "It looks like you are using the Nodejs version of Kuzzle SDK " + - "in a browser. " + - "It is strongly recommended to use the browser-specific build instead. " + - "Learn more at https://github.com/kuzzleio/sdk-javascript/tree/master#browser", - ); -} - export * from "./src/Kuzzle"; export * from "./src/protocols"; export * from "./src/protocols/abstract/Base"; diff --git a/package.json b/package.json index a4ad96987..12214243b 100644 --- a/package.json +++ b/package.json @@ -27,8 +27,19 @@ "dev": "node -r ts-node/register ", "doc-testing": "bash .ci/test-docs.sh" }, - "browser": "dist/kuzzle.js", - "main": "out/index.js", + "browser": "./dist/kuzzle.js", + "main": "./out/index.js", + "types": "index.d.ts", + "exports": { + ".": { + "browser": "./dist/kuzzle.js", + "import": "./out/index.js", + "require": "./out/index.js", + "default": "./out/index.js", + "types": "./index.d.ts" + }, + "./package.json": "./package.json" + }, "license": "Apache-2.0", "dependencies": { "ws": "8.18.3" diff --git a/src/core/Room.ts b/src/core/Room.ts index f1a21ab51..bc1e60f88 100644 --- a/src/core/Room.ts +++ b/src/core/Room.ts @@ -148,4 +148,3 @@ class Room { } export default Room; -module.exports = Room; diff --git a/src/protocols/Http.ts b/src/protocols/Http.ts index 29349db11..2025797f5 100644 --- a/src/protocols/Http.ts +++ b/src/protocols/Http.ts @@ -459,45 +459,49 @@ export default class HttpProtocol extends KuzzleAbstractProtocol { headers: JSONObject; body: string; }> { - // eslint-disable-next-line @typescript-eslint/no-var-requires - const httpModule = this.ssl ? require("https") : require("http"); - - return new Promise((resolve, reject) => { - const req = httpModule.request( - url, - { - method, - headers: options.headers, - }, - (res) => { - const chunks: Buffer[] = []; - - res.on("data", (chunk) => chunks.push(chunk)); - res.on("end", () => { - resolve({ - statusCode: res.statusCode, - headers: res.headers as JSONObject, - body: Buffer.concat(chunks).toString(), - }); - }); - }, - ); + const httpModulePromise: Promise< + typeof import("node:http") | typeof import("node:https") + > = this.ssl ? import("node:https") : import("node:http"); + + return httpModulePromise.then( + (httpModule) => + new Promise((resolve, reject) => { + const req = httpModule.request( + url, + { + method, + headers: options.headers, + }, + (res) => { + const chunks: Buffer[] = []; + + res.on("data", (chunk) => chunks.push(chunk)); + res.on("end", () => { + resolve({ + statusCode: res.statusCode, + headers: res.headers as JSONObject, + body: Buffer.concat(chunks).toString(), + }); + }); + }, + ); - req.on("error", reject); + req.on("error", reject); - const timeout = options.timeout || 0; - if (timeout > 0) { - req.setTimeout(timeout, () => { - req.destroy(new Error("Request timed out")); - }); - } + const timeout = options.timeout || 0; + if (timeout > 0) { + req.setTimeout(timeout, () => { + req.destroy(new Error("Request timed out")); + }); + } - if (options.body) { - req.write(options.body); - } + if (options.body) { + req.write(options.body); + } - req.end(); - }); + req.end(); + }), + ); } _constructRoutes(publicApi) { diff --git a/test/core/room.test.js b/test/core/room.test.js index 04d5985ae..ac0b3713b 100644 --- a/test/core/room.test.js +++ b/test/core/room.test.js @@ -6,6 +6,8 @@ const should = require("should"); const Room = require("../../src/core/Room"); const { KuzzleEventEmitter } = require("../../src/core/KuzzleEventEmitter"); +console.log(Room); + describe("Room", () => { const eventEmitter = new KuzzleEventEmitter(); const options = { opt: "in" }; @@ -39,7 +41,7 @@ describe("Room", () => { controller.kuzzle.autoResubscribe = "default"; - const room = new Room( + const room = new Room.default( controller, "index", "collection", @@ -83,7 +85,14 @@ describe("Room", () => { const body = { foo: "bar" }; const cb = sinon.stub(); - const room = new Room(controller, "index", "collection", body, cb, opts); + const room = new Room.default( + controller, + "index", + "collection", + body, + cb, + opts, + ); should(room.request.scope).be.equal("scope"); should(room.request.state).be.equal("state"); @@ -97,15 +106,36 @@ describe("Room", () => { controller.kuzzle.autoResubscribe = "default"; - const room1 = new Room(controller, "index", "collection", body, cb, { - autoResubscribe: true, - }); - const room2 = new Room(controller, "index", "collection", body, cb, { - autoResubscribe: false, - }); - const room3 = new Room(controller, "index", "collection", body, cb, { - autoResubscribe: "foobar", - }); + const room1 = new Room.default( + controller, + "index", + "collection", + body, + cb, + { + autoResubscribe: true, + }, + ); + const room2 = new Room.default( + controller, + "index", + "collection", + body, + cb, + { + autoResubscribe: false, + }, + ); + const room3 = new Room.default( + controller, + "index", + "collection", + body, + cb, + { + autoResubscribe: "foobar", + }, + ); should(room1.autoResubscribe).be.a.Boolean().and.be.True(); should(room2.autoResubscribe).be.a.Boolean().and.be.False(); @@ -116,15 +146,36 @@ describe("Room", () => { const body = { foo: "bar" }; const cb = sinon.stub(); - const room1 = new Room(controller, "index", "collection", body, cb, { - subscribeToSelf: true, - }); - const room2 = new Room(controller, "index", "collection", body, cb, { - subscribeToSelf: false, - }); - const room3 = new Room(controller, "index", "collection", body, cb, { - subscribeToSelf: "foobar", - }); + const room1 = new Room.default( + controller, + "index", + "collection", + body, + cb, + { + subscribeToSelf: true, + }, + ); + const room2 = new Room.default( + controller, + "index", + "collection", + body, + cb, + { + subscribeToSelf: false, + }, + ); + const room3 = new Room.default( + controller, + "index", + "collection", + body, + cb, + { + subscribeToSelf: "foobar", + }, + ); should(room1.subscribeToSelf).be.a.Boolean().and.be.True(); should(room2.subscribeToSelf).be.a.Boolean().and.be.False(); @@ -154,7 +205,14 @@ describe("Room", () => { }; const body = { foo: "bar" }; const cb = sinon.stub(); - const room = new Room(controller, "index", "collection", body, cb, opts); + const room = new Room.default( + controller, + "index", + "collection", + body, + cb, + opts, + ); return room.subscribe().then((res) => { should(controller.kuzzle.query) @@ -188,7 +246,14 @@ describe("Room", () => { }; const body = { foo: "bar" }; const cb = sinon.stub(); - const room = new Room(controller, "index", "collection", body, cb, opts); + const room = new Room.default( + controller, + "index", + "collection", + body, + cb, + opts, + ); return room.subscribe().then(() => { should(room.id).be.equal("my-room-id"); @@ -206,7 +271,14 @@ describe("Room", () => { }; const body = { foo: "bar" }; const cb = sinon.stub(); - const room = new Room(controller, "index", "collection", body, cb, opts); + const room = new Room.default( + controller, + "index", + "collection", + body, + cb, + opts, + ); room._channelListener = sinon.stub(); @@ -225,7 +297,7 @@ describe("Room", () => { let room; beforeEach(() => { - room = new Room( + room = new Room.default( controller, "index", "collection", @@ -261,7 +333,7 @@ describe("Room", () => { beforeEach(() => { cb = sinon.stub(); - room = new Room( + room = new Room.default( controller, "index", "collection", diff --git a/vite.config.ts b/vite.config.ts index 5315713a3..4fb107df2 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -1,34 +1,13 @@ import path from "path"; -import { defineConfig, Plugin } from "vite"; +import { defineConfig } from "vite"; import { version } from "./package.json"; -const ignoredModules = new Set([ - "http", - "package", - "ws", - "https", - "url", -]); - -const ignoreOptionalModules: Plugin = { - load(id: string) { - if (ignoredModules.has(id)) { - return "export default {}"; - } - return null; - }, - name: "ignore-optional-modules", - resolveId(source: any) { - return ignoredModules.has(source) ? source : null; - }, -}; - export default defineConfig({ build: { lib: { // Use the TypeScript entry so Rollup sees ES modules and can generate a proper UMD bundle entry: path.resolve(__dirname, "index.ts"), - fileName: () => "kuzzle", + fileName: () => "kuzzle.js", name: "KuzzleSDK", // Match the legacy Webpack output: single UMD bundle formats: ["umd"], @@ -38,15 +17,13 @@ export default defineConfig({ output: { banner: `// Kuzzle Javascript SDK version ${version}`, // Expose build flags on the global scope for browser usage (mirrors old webpack define) - intro: `var BUILT = true; var SDKVERSION = "${version}";`, }, }, sourcemap: true, target: "es2015", }, define: { - BUILT: true, SDKVERSION: JSON.stringify(version), }, - plugins: [ignoreOptionalModules], + plugins: [], }); From bbbc373e6e2d5aef9304b93ded8588b662311b3c Mon Sep 17 00:00:00 2001 From: rolljee Date: Fri, 12 Dec 2025 11:47:14 +0100 Subject: [PATCH 18/18] chore(docs): update docs --- doc/7/controllers/auth/check-rights/index.md | 22 +- .../snippets/check-rights.test.yml | 7 - .../check-token/snippets/check-token.test.yml | 11 - .../snippets/create-api-key.test.yml | 22 -- .../snippets/create-my-credentials.test.yml | 10 - .../snippets/credentials-exist.test.yml | 10 - .../snippets/delete-api-key.test.yml | 20 -- .../snippets/delete-my-credentials.test.yml | 10 - .../snippets/get-current-user.test.yml | 10 - .../snippets/get-my-credentials.test.yml | 10 - .../snippets/get-my-rights.test.yml | 10 - .../snippets/get-strategies.test.yml | 10 - .../auth/login/snippets/login.test.yml | 11 - .../auth/logout/snippets/logout.test.yml | 10 - .../snippets/refreshToken.test.yml | 15 -- .../search-api-keys-koncorde.test.yml | 20 -- .../snippets/update-my-credentials.test.yml | 10 - .../update-self/snippets/update-self.test.yml | 10 - .../snippets/validate-my-credentials.test.yml | 10 - .../snippets/delete-by-query.test.yml | 20 -- .../bulk/import/snippets/import.test.yml | 11 - .../bulk/mWrite/snippets/mWrite.test.yml | 10 - .../snippets/update-by-query.test.yml | 18 -- .../bulk/write/snippets/write.test.yml | 10 - .../create/snippets/create.test.yml | 10 - .../snippets/delete-specifications.test.yml | 10 - .../delete/snippets/delete.test.yml | 7 - .../exists/snippets/exists.test.yml | 10 - .../get-mapping/snippets/get-mapping.test.yml | 7 - .../snippets/get-specifications.test.yml | 11 - .../collection/list/snippets/list.test.yml | 10 - .../refresh/snippets/refresh.test.yml | 10 - .../snippets/search-specifications.test.yml | 23 -- .../truncate/snippets/truncate.test.yml | 10 - .../snippets/update-mapping.test.yml | 10 - .../snippets/update-specifications.test.yml | 11 - .../update/snippets/update.test.yml | 10 - .../snippets/validate-specifications.test.yml | 10 - .../document/count/snippets/count.test.yml | 18 -- .../snippets/create-or-replace.test.yml | 10 - .../document/create/snippets/create.test.yml | 10 - .../snippets/delete-by-query-es.test.yml | 20 -- .../delete-by-query-koncorde.test.yml | 20 -- .../snippets/deleteFields.test.yml | 11 - .../document/delete/snippets/delete.test.yml | 11 - .../document/exists/snippets/exists.test.yml | 11 - .../document/get/snippets/get.test.yml | 10 - .../snippets/m-create-or-replace.test.yml | 10 - .../m-create/snippets/m-create.test.yml | 10 - .../m-delete/snippets/m-delete.test.yml | 10 - .../document/m-get/snippets/m-get.test.yml | 10 - .../m-replace/snippets/m-replace.test.yml | 10 - .../m-update/snippets/m-update.test.yml | 10 - .../m-upsert/snippets/m-upsert.test.yml | 10 - .../replace/snippets/replace.test.yml | 10 - .../search/snippets/search-es.test.yml | 10 - .../search/snippets/search-koncorde.test.yml | 10 - .../snippets/update-by-query-es.test.yml | 21 -- .../update-by-query-koncorde.test.yml | 19 -- .../document/update/snippets/update.test.yml | 10 - .../document/upsert/snippets/upsert.test.yml | 10 - .../validate/snippets/validate.test.yml | 10 - doc/7/controllers/index.md | 2 +- .../index/create/snippets/create.test.yml | 8 - .../index/delete/snippets/delete.test.yml | 11 - .../index/exists/snippets/exists.test.yml | 10 - .../index/list/snippets/list.test.yml | 13 -- .../index/m-delete/snippets/mDelete.test.yml | 13 -- .../index/stats/snippets/stats.test.yml | 10 - .../ms/append/snippets/append.test.yml | 9 - .../ms/bitcount/snippets/bitcount.test.yml | 11 - .../ms/bitop/snippets/bitop.test.yml | 9 - .../ms/bitpos/snippets/bitpos.test.yml | 9 - .../ms/dbsize/snippets/dbsize.test.yml | 9 - .../ms/decr/snippets/decr.test.yml | 9 - .../ms/decrby/snippets/decrby.test.yml | 9 - .../controllers/ms/del/snippets/del.test.yml | 9 - .../ms/exists/snippets/exists.test.yml | 11 - .../ms/expire/snippets/expire.test.yml | 11 - .../ms/expireat/snippets/expireat.test.yml | 11 - .../ms/flushdb/snippets/flushdb.test.yml | 9 - .../ms/geoadd/snippets/geoadd.test.yml | 9 - .../ms/geodist/snippets/geodist.test.yml | 11 - .../ms/geohash/snippets/geohash.test.yml | 9 - .../ms/geopos/snippets/geopos.test.yml | 11 - .../ms/georadius/snippets/georadius.test.yml | 26 --- .../snippets/georadiusbymember.test.yml | 26 --- .../controllers/ms/get/snippets/get.test.yml | 9 - .../ms/getbit/snippets/getbit.test.yml | 11 - .../ms/getrange/snippets/getrange.test.yml | 11 - .../ms/getset/snippets/getset.test.yml | 11 - .../ms/hdel/snippets/hdel.test.yml | 11 - .../ms/hexists/snippets/hexists.test.yml | 11 - .../ms/hget/snippets/hget.test.yml | 9 - .../ms/hgetall/snippets/hgetall.test.yml | 9 - .../ms/hincrby/snippets/hincrby.test.yml | 9 - .../snippets/hincrbyfloat.test.yml | 9 - .../ms/hkeys/snippets/hkeys.test.yml | 9 - .../ms/hlen/snippets/hlen.test.yml | 9 - .../ms/hmget/snippets/hmget.test.yml | 9 - .../ms/hmset/snippets/hmset.test.yml | 9 - .../ms/hscan/snippets/hscan.test.yml | 13 -- .../ms/hset/snippets/hset.test.yml | 9 - .../ms/hsetnx/snippets/hsetnx.test.yml | 12 - .../ms/hstrlen/snippets/hstrlen.test.yml | 9 - .../ms/hvals/snippets/hvals.test.yml | 9 - .../ms/incr/snippets/incr.test.yml | 9 - .../ms/incrby/snippets/incrby.test.yml | 9 - .../incrbyfloat/snippets/incrbyfloat.test.yml | 9 - .../ms/keys/snippets/keys.test.yml | 9 - .../ms/lindex/snippets/lindex.test.yml | 9 - .../ms/linsert/snippets/linsert.test.yml | 9 - .../ms/llen/snippets/llen.test.yml | 9 - .../ms/lpop/snippets/lpop.test.yml | 11 - .../ms/lpush/snippets/lpush.test.yml | 11 - .../ms/lpushx/snippets/lpushx.test.yml | 13 -- .../ms/lrange/snippets/lrange.test.yml | 11 - .../ms/lrem/snippets/lrem.test.yml | 11 - .../ms/lset/snippets/lset.test.yml | 9 - .../ms/ltrim/snippets/ltrim.test.yml | 9 - .../ms/mexecute/snippets/mexecute.test.yml | 7 - .../ms/mget/snippets/mget.test.yml | 9 - .../ms/mset/snippets/mset.test.yml | 11 - .../ms/msetnx/snippets/msetnx.test.yml | 11 - .../ms/object/snippets/object.test.yml | 9 - .../ms/persist/snippets/persist.test.yml | 11 - .../ms/pexpire/snippets/pexpire.test.yml | 11 - .../ms/pexpireat/snippets/pexpireat.test.yml | 11 - .../ms/pfadd/snippets/pfadd.test.yml | 9 - .../ms/pfcount/snippets/pfcount.test.yml | 9 - .../ms/pfmerge/snippets/pfmerge.test.yml | 9 - .../ms/ping/snippets/ping.test.yml | 9 - .../ms/psetex/snippets/psetex.test.yml | 11 - .../ms/pttl/snippets/pttl.test.yml | 9 - .../ms/randomkey/snippets/randomkey.test.yml | 9 - .../ms/rename/snippets/rename.test.yml | 9 - .../ms/renamenx/snippets/renamenx.test.yml | 11 - .../ms/rpop/snippets/rpop.test.yml | 11 - .../ms/rpoplpush/snippets/rpoplpush.test.yml | 11 - .../ms/rpush/snippets/rpush.test.yml | 9 - .../ms/rpushx/snippets/rpushx.test.yml | 11 - .../ms/sadd/snippets/sadd.test.yml | 12 - .../ms/scan/snippets/scan.test.yml | 11 - .../ms/scard/snippets/scard.test.yml | 9 - .../ms/sdiff/snippets/sdiff.test.yml | 9 - .../sdiffstore/snippets/sdiffstore.test.yml | 9 - .../controllers/ms/set/snippets/set.test.yml | 9 - .../ms/setex/snippets/setex.test.yml | 11 - .../ms/setnx/snippets/setnx.test.yml | 12 - .../ms/sinter/snippets/sinter.test.yml | 9 - .../sinterstore/snippets/sinterstore.test.yml | 11 - .../ms/sismember/snippets/sismember.test.yml | 11 - .../ms/smembers/snippets/smembers.test.yml | 9 - .../ms/smove/snippets/smove.test.yml | 11 - .../ms/sort/snippets/sort.test.yml | 15 -- .../ms/spop/snippets/spop.test.yml | 12 - .../srandmember/snippets/srandmember.test.yml | 11 - .../ms/srem/snippets/srem.test.yml | 11 - .../ms/sscan/snippets/sscan.test.yml | 11 - .../ms/strlen/snippets/strlen.test.yml | 9 - .../ms/sunion/snippets/sunion.test.yml | 13 -- .../sunionstore/snippets/sunionstore.test.yml | 13 -- .../ms/time/snippets/time.test.yml | 10 - .../ms/touch/snippets/touch.test.yml | 9 - .../controllers/ms/ttl/snippets/ttl.test.yml | 9 - .../ms/type/snippets/type.test.yml | 12 - .../ms/zadd/snippets/zadd.test.yml | 14 -- .../ms/zcard/snippets/zcard.test.yml | 9 - .../ms/zcount/snippets/zcount.test.yml | 9 - .../ms/zincrby/snippets/zincrby.test.yml | 14 -- .../zinterstore/snippets/zinterstore.test.yml | 14 -- .../ms/zlexcount/snippets/zlexcount.test.yml | 9 - .../ms/zrange/snippets/zrange.test.yml | 10 - .../zrangebylex/snippets/zrangebylex.test.yml | 9 - .../snippets/zrangebyscore.test.yml | 10 - .../ms/zrank/snippets/zrank.test.yml | 11 - .../ms/zrem/snippets/zrem.test.yml | 9 - .../snippets/zremrangebylex.test.yml | 9 - .../snippets/zremrangebyrank.test.yml | 9 - .../snippets/zremrangebyscore.test.yml | 9 - .../ms/zrevrange/snippets/zrevrange.test.yml | 10 - .../snippets/zrevrangebylex.test.yml | 9 - .../snippets/zrevrangebyscore.test.yml | 11 - .../ms/zrevrank/snippets/zrevrank.test.yml | 12 - .../ms/zscan/snippets/zscan.test.yml | 13 -- .../ms/zscore/snippets/zscore.test.yml | 11 - .../zunionstore/snippets/zunionstore.test.yml | 19 -- .../realtime/count/snippets/count.test.yml | 10 - .../publish/snippets/publish.test.yml | 10 - ...ocument-notifications-leave-scope.test.yml | 10 - .../snippets/document-notifications.test.yml | 10 - .../snippets/message-notifications.test.yml | 10 - .../snippets/user-notifications.test.yml | 9 - .../unsubscribe/snippets/unsubscribe.test.yml | 10 - .../snippets/check-rights.test.yml | 7 - .../snippets/create-api-key.test.yml | 16 -- .../snippets/create-credentials.test.yml | 6 - .../snippets/create-first-admin.test.yml | 6 - .../create-or-replace-profile.test.yml | 7 - .../snippets/create-or-replace-role.test.yml | 6 - .../snippets/create-profile.test.yml | 6 - .../snippets/create-restricted-user.test.yml | 6 - .../create-role/snippets/create-role.test.yml | 6 - .../create-user/snippets/create-user.test.yml | 10 - .../snippets/delete-api-key.test.yml | 18 -- .../snippets/delete-credentials.test.yml | 19 -- .../snippets/delete-profile.test.yml | 9 - .../delete-role/snippets/delete-role.test.yml | 15 -- .../delete-user/snippets/delete-user.test.yml | 19 -- .../get-all-credential-fields.test.yml | 4 - .../snippets/get-credential-fields.test.yml | 4 - .../snippets/get-credentials-by-id.test.yml | 18 -- .../snippets/get-credentials.test.yml | 18 -- .../snippets/get-profile-mapping.test.yml | 5 - .../snippets/get-profile-rights.test.yml | 26 --- .../get-profile/snippets/get-profile.test.yml | 27 --- .../snippets/get-role-mapping.test.yml | 5 - .../get-role/snippets/get-role.test.yml | 25 --- .../snippets/get-user-mapping.test.yml | 5 - .../snippets/get-user-rights.test.yml | 20 -- .../snippets/get-user-strategies.test.yml | 20 -- .../get-user/snippets/get-user.test.yml | 20 -- .../snippets/has-credentials.test.yml | 19 -- .../snippets/m-delete-profiles.test.yml | 11 - .../snippets/m-delete-roles.test.yml | 17 -- .../snippets/m-delete-users.test.yml | 19 -- .../snippets/m-get-profiles.test.yml | 15 -- .../m-get-roles/snippets/m-get-roles.test.yml | 21 -- .../m-get-users/snippets/m-get-users.test.yml | 24 -- .../refresh/snippets/refresh.test.yml | 5 - .../snippets/replace-user.test.yml | 19 -- .../search-api-keys-koncorde.test.yml | 14 -- .../snippets/search-profiles.test.yml | 15 -- .../snippets/search-roles.test.yml | 4 - .../snippets/search-users-es.test.yml | 20 -- .../snippets/search-users-koncorde.test.yml | 16 -- .../snippets/update-credentials.test.yml | 18 -- .../snippets/update-profile-mapping.test.yml | 4 - .../snippets/update-profile.test.yml | 24 -- .../snippets/update-role-mapping.test.yml | 4 - .../update-role/snippets/update-role.test.yml | 17 -- .../snippets/update-user-mapping.test.yml | 4 - .../update-user/snippets/update-user.test.yml | 14 -- .../snippets/validate-credentials.test.yml | 18 -- .../snippets/admin-exists.test.yml | 10 - .../snippets/get-all-stats.test.yml | 7 - .../get-config/snippets/get-config.test.yml | 7 - .../snippets/get-last-stats.test.yml | 7 - .../get-stats/snippets/get-stats.test.yml | 7 - .../server/info/snippets/info.test.yml | 7 - .../server/now/snippets/now.test.yml | 7 - .../base-controller/properties/index.md | 11 +- .../base-controller/query/index.md | 31 +-- doc/7/core-classes/index.md | 2 +- .../snippets/add-listener.test.yml | 9 - .../snippets/add-once-listener.test.yml | 9 - .../emit/snippets/emit.test.yml | 9 - .../listeners/snippets/listeners.test.yml | 9 - .../snippets/prepend-listener.test.yml | 11 - .../snippets/prepend-once-listener.test.yml | 12 - .../snippets/remove-all-listeners.test.yml | 9 - .../snippets/remove-listener.test.yml | 9 - .../snippets/authenticate.test.yml | 8 - .../kuzzle/connect/snippets/connect.test.yml | 11 - .../constructor/snippets/constructor.test.yml | 10 - .../disconnect/snippets/disconnect.test.yml | 11 - .../flush-queue/snippets/flush-queue.test.yml | 11 - .../play-queue/snippets/play-queue.test.yml | 11 - .../kuzzle/query/snippets/query.test.yml | 14 -- .../snippets/start-queuing.test.yml | 11 - .../snippets/stop-queuing.test.yml | 11 - .../snippets/use-controller.test.yml | 11 - .../getRoles/snippets/getRoles.test.yml | 12 - .../next/snippets/fromsize.test.yml | 13 -- .../next/snippets/scroll.test.yml | 13 -- .../next/snippets/sortsize.test.yml | 11 - .../getProfiles/snippets/getProfiles.test.yml | 12 - .../snippets/error-handling-async.test.yml | 10 - .../snippets/error-handling.test.yml | 10 - doc/7/essentials/index.md | 2 +- .../node-js/snippets/create.test.yml | 11 - .../node-js/snippets/init.test.yml | 9 - .../node-js/snippets/load-sdk.test.yml | 9 - .../node-js/snippets/prepare-db.test.yml | 9 - .../node-js/snippets/subscribe.test.yml | 11 - .../raw-web/snippets/create.test.yml | 12 - .../raw-web/snippets/load-sdk.test.yml | 10 - .../raw-web/snippets/prepare-db.test.yml | 10 - .../raw-web/snippets/subscribe.test.yml | 12 - doc/7/getting-started/webpack/index.md | 212 ------------------ .../webpack/snippets.disabled/create.js | 33 --- .../webpack/snippets.disabled/create.test.yml | 13 -- .../webpack/snippets.disabled/init-kuzzle.js | 38 ---- .../snippets.disabled/init-kuzzle.test.yml | 10 - .../webpack/snippets.disabled/subscribe.js | 49 ---- .../snippets.disabled/subscribe.test.yml | 14 -- doc/7/protocols/http/constructor/index.md | 59 ----- .../constructor/snippets/constructor.test.yml | 10 - doc/7/protocols/http/index.md | 93 +++++++- doc/7/protocols/http/introduction/index.md | 30 --- doc/7/protocols/http/properties/index.md | 25 --- .../{constructor => }/snippets/constructor.js | 0 doc/7/protocols/index.md | 2 +- .../protocols/websocket/constructor/index.md | 46 ---- .../constructor/snippets/constructor.test.yml | 10 - doc/7/protocols/websocket/index.md | 101 ++++++++- .../protocols/websocket/introduction/index.md | 50 ----- doc/7/protocols/websocket/properties/index.md | 23 -- .../{constructor => }/snippets/constructor.js | 0 .../websocket-cookie-authentication.png | Bin 310 files changed, 228 insertions(+), 3845 deletions(-) delete mode 100644 doc/7/controllers/auth/check-rights/snippets/check-rights.test.yml delete mode 100644 doc/7/controllers/auth/check-token/snippets/check-token.test.yml delete mode 100644 doc/7/controllers/auth/create-api-key/snippets/create-api-key.test.yml delete mode 100644 doc/7/controllers/auth/create-my-credentials/snippets/create-my-credentials.test.yml delete mode 100644 doc/7/controllers/auth/credentials-exist/snippets/credentials-exist.test.yml delete mode 100644 doc/7/controllers/auth/delete-api-key/snippets/delete-api-key.test.yml delete mode 100644 doc/7/controllers/auth/delete-my-credentials/snippets/delete-my-credentials.test.yml delete mode 100644 doc/7/controllers/auth/get-current-user/snippets/get-current-user.test.yml delete mode 100644 doc/7/controllers/auth/get-my-credentials/snippets/get-my-credentials.test.yml delete mode 100644 doc/7/controllers/auth/get-my-rights/snippets/get-my-rights.test.yml delete mode 100644 doc/7/controllers/auth/get-strategies/snippets/get-strategies.test.yml delete mode 100644 doc/7/controllers/auth/login/snippets/login.test.yml delete mode 100644 doc/7/controllers/auth/logout/snippets/logout.test.yml delete mode 100644 doc/7/controllers/auth/refresh-token/snippets/refreshToken.test.yml delete mode 100644 doc/7/controllers/auth/search-api-keys/snippets/search-api-keys-koncorde.test.yml delete mode 100644 doc/7/controllers/auth/update-my-credentials/snippets/update-my-credentials.test.yml delete mode 100644 doc/7/controllers/auth/update-self/snippets/update-self.test.yml delete mode 100644 doc/7/controllers/auth/validate-my-credentials/snippets/validate-my-credentials.test.yml delete mode 100644 doc/7/controllers/bulk/delete-by-query/snippets/delete-by-query.test.yml delete mode 100644 doc/7/controllers/bulk/import/snippets/import.test.yml delete mode 100644 doc/7/controllers/bulk/mWrite/snippets/mWrite.test.yml delete mode 100644 doc/7/controllers/bulk/update-by-query/snippets/update-by-query.test.yml delete mode 100644 doc/7/controllers/bulk/write/snippets/write.test.yml delete mode 100644 doc/7/controllers/collection/create/snippets/create.test.yml delete mode 100644 doc/7/controllers/collection/delete-specifications/snippets/delete-specifications.test.yml delete mode 100644 doc/7/controllers/collection/delete/snippets/delete.test.yml delete mode 100644 doc/7/controllers/collection/exists/snippets/exists.test.yml delete mode 100644 doc/7/controllers/collection/get-mapping/snippets/get-mapping.test.yml delete mode 100644 doc/7/controllers/collection/get-specifications/snippets/get-specifications.test.yml delete mode 100644 doc/7/controllers/collection/list/snippets/list.test.yml delete mode 100644 doc/7/controllers/collection/refresh/snippets/refresh.test.yml delete mode 100644 doc/7/controllers/collection/search-specifications/snippets/search-specifications.test.yml delete mode 100644 doc/7/controllers/collection/truncate/snippets/truncate.test.yml delete mode 100644 doc/7/controllers/collection/update-mapping/snippets/update-mapping.test.yml delete mode 100644 doc/7/controllers/collection/update-specifications/snippets/update-specifications.test.yml delete mode 100644 doc/7/controllers/collection/update/snippets/update.test.yml delete mode 100644 doc/7/controllers/collection/validate-specifications/snippets/validate-specifications.test.yml delete mode 100644 doc/7/controllers/document/count/snippets/count.test.yml delete mode 100644 doc/7/controllers/document/create-or-replace/snippets/create-or-replace.test.yml delete mode 100644 doc/7/controllers/document/create/snippets/create.test.yml delete mode 100644 doc/7/controllers/document/delete-by-query/snippets/delete-by-query-es.test.yml delete mode 100644 doc/7/controllers/document/delete-by-query/snippets/delete-by-query-koncorde.test.yml delete mode 100644 doc/7/controllers/document/delete-fields/snippets/deleteFields.test.yml delete mode 100644 doc/7/controllers/document/delete/snippets/delete.test.yml delete mode 100644 doc/7/controllers/document/exists/snippets/exists.test.yml delete mode 100644 doc/7/controllers/document/get/snippets/get.test.yml delete mode 100644 doc/7/controllers/document/m-create-or-replace/snippets/m-create-or-replace.test.yml delete mode 100644 doc/7/controllers/document/m-create/snippets/m-create.test.yml delete mode 100644 doc/7/controllers/document/m-delete/snippets/m-delete.test.yml delete mode 100644 doc/7/controllers/document/m-get/snippets/m-get.test.yml delete mode 100644 doc/7/controllers/document/m-replace/snippets/m-replace.test.yml delete mode 100644 doc/7/controllers/document/m-update/snippets/m-update.test.yml delete mode 100644 doc/7/controllers/document/m-upsert/snippets/m-upsert.test.yml delete mode 100644 doc/7/controllers/document/replace/snippets/replace.test.yml delete mode 100644 doc/7/controllers/document/search/snippets/search-es.test.yml delete mode 100644 doc/7/controllers/document/search/snippets/search-koncorde.test.yml delete mode 100644 doc/7/controllers/document/update-by-query/snippets/update-by-query-es.test.yml delete mode 100644 doc/7/controllers/document/update-by-query/snippets/update-by-query-koncorde.test.yml delete mode 100644 doc/7/controllers/document/update/snippets/update.test.yml delete mode 100644 doc/7/controllers/document/upsert/snippets/upsert.test.yml delete mode 100644 doc/7/controllers/document/validate/snippets/validate.test.yml delete mode 100644 doc/7/controllers/index/create/snippets/create.test.yml delete mode 100644 doc/7/controllers/index/delete/snippets/delete.test.yml delete mode 100644 doc/7/controllers/index/exists/snippets/exists.test.yml delete mode 100644 doc/7/controllers/index/list/snippets/list.test.yml delete mode 100644 doc/7/controllers/index/m-delete/snippets/mDelete.test.yml delete mode 100644 doc/7/controllers/index/stats/snippets/stats.test.yml delete mode 100644 doc/7/controllers/ms/append/snippets/append.test.yml delete mode 100644 doc/7/controllers/ms/bitcount/snippets/bitcount.test.yml delete mode 100644 doc/7/controllers/ms/bitop/snippets/bitop.test.yml delete mode 100644 doc/7/controllers/ms/bitpos/snippets/bitpos.test.yml delete mode 100644 doc/7/controllers/ms/dbsize/snippets/dbsize.test.yml delete mode 100644 doc/7/controllers/ms/decr/snippets/decr.test.yml delete mode 100644 doc/7/controllers/ms/decrby/snippets/decrby.test.yml delete mode 100644 doc/7/controllers/ms/del/snippets/del.test.yml delete mode 100644 doc/7/controllers/ms/exists/snippets/exists.test.yml delete mode 100644 doc/7/controllers/ms/expire/snippets/expire.test.yml delete mode 100644 doc/7/controllers/ms/expireat/snippets/expireat.test.yml delete mode 100644 doc/7/controllers/ms/flushdb/snippets/flushdb.test.yml delete mode 100644 doc/7/controllers/ms/geoadd/snippets/geoadd.test.yml delete mode 100644 doc/7/controllers/ms/geodist/snippets/geodist.test.yml delete mode 100644 doc/7/controllers/ms/geohash/snippets/geohash.test.yml delete mode 100644 doc/7/controllers/ms/geopos/snippets/geopos.test.yml delete mode 100644 doc/7/controllers/ms/georadius/snippets/georadius.test.yml delete mode 100644 doc/7/controllers/ms/georadiusbymember/snippets/georadiusbymember.test.yml delete mode 100644 doc/7/controllers/ms/get/snippets/get.test.yml delete mode 100644 doc/7/controllers/ms/getbit/snippets/getbit.test.yml delete mode 100644 doc/7/controllers/ms/getrange/snippets/getrange.test.yml delete mode 100644 doc/7/controllers/ms/getset/snippets/getset.test.yml delete mode 100644 doc/7/controllers/ms/hdel/snippets/hdel.test.yml delete mode 100644 doc/7/controllers/ms/hexists/snippets/hexists.test.yml delete mode 100644 doc/7/controllers/ms/hget/snippets/hget.test.yml delete mode 100644 doc/7/controllers/ms/hgetall/snippets/hgetall.test.yml delete mode 100644 doc/7/controllers/ms/hincrby/snippets/hincrby.test.yml delete mode 100644 doc/7/controllers/ms/hincrbyfloat/snippets/hincrbyfloat.test.yml delete mode 100644 doc/7/controllers/ms/hkeys/snippets/hkeys.test.yml delete mode 100644 doc/7/controllers/ms/hlen/snippets/hlen.test.yml delete mode 100644 doc/7/controllers/ms/hmget/snippets/hmget.test.yml delete mode 100644 doc/7/controllers/ms/hmset/snippets/hmset.test.yml delete mode 100644 doc/7/controllers/ms/hscan/snippets/hscan.test.yml delete mode 100644 doc/7/controllers/ms/hset/snippets/hset.test.yml delete mode 100644 doc/7/controllers/ms/hsetnx/snippets/hsetnx.test.yml delete mode 100644 doc/7/controllers/ms/hstrlen/snippets/hstrlen.test.yml delete mode 100644 doc/7/controllers/ms/hvals/snippets/hvals.test.yml delete mode 100644 doc/7/controllers/ms/incr/snippets/incr.test.yml delete mode 100644 doc/7/controllers/ms/incrby/snippets/incrby.test.yml delete mode 100644 doc/7/controllers/ms/incrbyfloat/snippets/incrbyfloat.test.yml delete mode 100644 doc/7/controllers/ms/keys/snippets/keys.test.yml delete mode 100644 doc/7/controllers/ms/lindex/snippets/lindex.test.yml delete mode 100644 doc/7/controllers/ms/linsert/snippets/linsert.test.yml delete mode 100644 doc/7/controllers/ms/llen/snippets/llen.test.yml delete mode 100644 doc/7/controllers/ms/lpop/snippets/lpop.test.yml delete mode 100644 doc/7/controllers/ms/lpush/snippets/lpush.test.yml delete mode 100644 doc/7/controllers/ms/lpushx/snippets/lpushx.test.yml delete mode 100644 doc/7/controllers/ms/lrange/snippets/lrange.test.yml delete mode 100644 doc/7/controllers/ms/lrem/snippets/lrem.test.yml delete mode 100644 doc/7/controllers/ms/lset/snippets/lset.test.yml delete mode 100644 doc/7/controllers/ms/ltrim/snippets/ltrim.test.yml delete mode 100644 doc/7/controllers/ms/mexecute/snippets/mexecute.test.yml delete mode 100644 doc/7/controllers/ms/mget/snippets/mget.test.yml delete mode 100644 doc/7/controllers/ms/mset/snippets/mset.test.yml delete mode 100644 doc/7/controllers/ms/msetnx/snippets/msetnx.test.yml delete mode 100644 doc/7/controllers/ms/object/snippets/object.test.yml delete mode 100644 doc/7/controllers/ms/persist/snippets/persist.test.yml delete mode 100644 doc/7/controllers/ms/pexpire/snippets/pexpire.test.yml delete mode 100644 doc/7/controllers/ms/pexpireat/snippets/pexpireat.test.yml delete mode 100644 doc/7/controllers/ms/pfadd/snippets/pfadd.test.yml delete mode 100644 doc/7/controllers/ms/pfcount/snippets/pfcount.test.yml delete mode 100644 doc/7/controllers/ms/pfmerge/snippets/pfmerge.test.yml delete mode 100644 doc/7/controllers/ms/ping/snippets/ping.test.yml delete mode 100644 doc/7/controllers/ms/psetex/snippets/psetex.test.yml delete mode 100644 doc/7/controllers/ms/pttl/snippets/pttl.test.yml delete mode 100644 doc/7/controllers/ms/randomkey/snippets/randomkey.test.yml delete mode 100644 doc/7/controllers/ms/rename/snippets/rename.test.yml delete mode 100644 doc/7/controllers/ms/renamenx/snippets/renamenx.test.yml delete mode 100644 doc/7/controllers/ms/rpop/snippets/rpop.test.yml delete mode 100644 doc/7/controllers/ms/rpoplpush/snippets/rpoplpush.test.yml delete mode 100644 doc/7/controllers/ms/rpush/snippets/rpush.test.yml delete mode 100644 doc/7/controllers/ms/rpushx/snippets/rpushx.test.yml delete mode 100644 doc/7/controllers/ms/sadd/snippets/sadd.test.yml delete mode 100644 doc/7/controllers/ms/scan/snippets/scan.test.yml delete mode 100644 doc/7/controllers/ms/scard/snippets/scard.test.yml delete mode 100644 doc/7/controllers/ms/sdiff/snippets/sdiff.test.yml delete mode 100644 doc/7/controllers/ms/sdiffstore/snippets/sdiffstore.test.yml delete mode 100644 doc/7/controllers/ms/set/snippets/set.test.yml delete mode 100644 doc/7/controllers/ms/setex/snippets/setex.test.yml delete mode 100644 doc/7/controllers/ms/setnx/snippets/setnx.test.yml delete mode 100644 doc/7/controllers/ms/sinter/snippets/sinter.test.yml delete mode 100644 doc/7/controllers/ms/sinterstore/snippets/sinterstore.test.yml delete mode 100644 doc/7/controllers/ms/sismember/snippets/sismember.test.yml delete mode 100644 doc/7/controllers/ms/smembers/snippets/smembers.test.yml delete mode 100644 doc/7/controllers/ms/smove/snippets/smove.test.yml delete mode 100644 doc/7/controllers/ms/sort/snippets/sort.test.yml delete mode 100644 doc/7/controllers/ms/spop/snippets/spop.test.yml delete mode 100644 doc/7/controllers/ms/srandmember/snippets/srandmember.test.yml delete mode 100644 doc/7/controllers/ms/srem/snippets/srem.test.yml delete mode 100644 doc/7/controllers/ms/sscan/snippets/sscan.test.yml delete mode 100644 doc/7/controllers/ms/strlen/snippets/strlen.test.yml delete mode 100644 doc/7/controllers/ms/sunion/snippets/sunion.test.yml delete mode 100644 doc/7/controllers/ms/sunionstore/snippets/sunionstore.test.yml delete mode 100644 doc/7/controllers/ms/time/snippets/time.test.yml delete mode 100644 doc/7/controllers/ms/touch/snippets/touch.test.yml delete mode 100644 doc/7/controllers/ms/ttl/snippets/ttl.test.yml delete mode 100644 doc/7/controllers/ms/type/snippets/type.test.yml delete mode 100644 doc/7/controllers/ms/zadd/snippets/zadd.test.yml delete mode 100644 doc/7/controllers/ms/zcard/snippets/zcard.test.yml delete mode 100644 doc/7/controllers/ms/zcount/snippets/zcount.test.yml delete mode 100644 doc/7/controllers/ms/zincrby/snippets/zincrby.test.yml delete mode 100644 doc/7/controllers/ms/zinterstore/snippets/zinterstore.test.yml delete mode 100644 doc/7/controllers/ms/zlexcount/snippets/zlexcount.test.yml delete mode 100644 doc/7/controllers/ms/zrange/snippets/zrange.test.yml delete mode 100644 doc/7/controllers/ms/zrangebylex/snippets/zrangebylex.test.yml delete mode 100644 doc/7/controllers/ms/zrangebyscore/snippets/zrangebyscore.test.yml delete mode 100644 doc/7/controllers/ms/zrank/snippets/zrank.test.yml delete mode 100644 doc/7/controllers/ms/zrem/snippets/zrem.test.yml delete mode 100644 doc/7/controllers/ms/zremrangebylex/snippets/zremrangebylex.test.yml delete mode 100644 doc/7/controllers/ms/zremrangebyrank/snippets/zremrangebyrank.test.yml delete mode 100644 doc/7/controllers/ms/zremrangebyscore/snippets/zremrangebyscore.test.yml delete mode 100644 doc/7/controllers/ms/zrevrange/snippets/zrevrange.test.yml delete mode 100644 doc/7/controllers/ms/zrevrangebylex/snippets/zrevrangebylex.test.yml delete mode 100644 doc/7/controllers/ms/zrevrangebyscore/snippets/zrevrangebyscore.test.yml delete mode 100644 doc/7/controllers/ms/zrevrank/snippets/zrevrank.test.yml delete mode 100644 doc/7/controllers/ms/zscan/snippets/zscan.test.yml delete mode 100644 doc/7/controllers/ms/zscore/snippets/zscore.test.yml delete mode 100644 doc/7/controllers/ms/zunionstore/snippets/zunionstore.test.yml delete mode 100644 doc/7/controllers/realtime/count/snippets/count.test.yml delete mode 100644 doc/7/controllers/realtime/publish/snippets/publish.test.yml delete mode 100644 doc/7/controllers/realtime/subscribe/snippets/document-notifications-leave-scope.test.yml delete mode 100644 doc/7/controllers/realtime/subscribe/snippets/document-notifications.test.yml delete mode 100644 doc/7/controllers/realtime/subscribe/snippets/message-notifications.test.yml delete mode 100644 doc/7/controllers/realtime/subscribe/snippets/user-notifications.test.yml delete mode 100644 doc/7/controllers/realtime/unsubscribe/snippets/unsubscribe.test.yml delete mode 100644 doc/7/controllers/security/check-rights/snippets/check-rights.test.yml delete mode 100644 doc/7/controllers/security/create-api-key/snippets/create-api-key.test.yml delete mode 100644 doc/7/controllers/security/create-credentials/snippets/create-credentials.test.yml delete mode 100644 doc/7/controllers/security/create-first-admin/snippets/create-first-admin.test.yml delete mode 100644 doc/7/controllers/security/create-or-replace-profile/snippets/create-or-replace-profile.test.yml delete mode 100644 doc/7/controllers/security/create-or-replace-role/snippets/create-or-replace-role.test.yml delete mode 100644 doc/7/controllers/security/create-profile/snippets/create-profile.test.yml delete mode 100644 doc/7/controllers/security/create-restricted-user/snippets/create-restricted-user.test.yml delete mode 100644 doc/7/controllers/security/create-role/snippets/create-role.test.yml delete mode 100644 doc/7/controllers/security/create-user/snippets/create-user.test.yml delete mode 100644 doc/7/controllers/security/delete-api-key/snippets/delete-api-key.test.yml delete mode 100644 doc/7/controllers/security/delete-credentials/snippets/delete-credentials.test.yml delete mode 100644 doc/7/controllers/security/delete-profile/snippets/delete-profile.test.yml delete mode 100644 doc/7/controllers/security/delete-role/snippets/delete-role.test.yml delete mode 100644 doc/7/controllers/security/delete-user/snippets/delete-user.test.yml delete mode 100644 doc/7/controllers/security/get-all-credential-fields/snippets/get-all-credential-fields.test.yml delete mode 100644 doc/7/controllers/security/get-credential-fields/snippets/get-credential-fields.test.yml delete mode 100644 doc/7/controllers/security/get-credentials-by-id/snippets/get-credentials-by-id.test.yml delete mode 100644 doc/7/controllers/security/get-credentials/snippets/get-credentials.test.yml delete mode 100644 doc/7/controllers/security/get-profile-mapping/snippets/get-profile-mapping.test.yml delete mode 100644 doc/7/controllers/security/get-profile-rights/snippets/get-profile-rights.test.yml delete mode 100644 doc/7/controllers/security/get-profile/snippets/get-profile.test.yml delete mode 100644 doc/7/controllers/security/get-role-mapping/snippets/get-role-mapping.test.yml delete mode 100644 doc/7/controllers/security/get-role/snippets/get-role.test.yml delete mode 100644 doc/7/controllers/security/get-user-mapping/snippets/get-user-mapping.test.yml delete mode 100644 doc/7/controllers/security/get-user-rights/snippets/get-user-rights.test.yml delete mode 100644 doc/7/controllers/security/get-user-strategies/snippets/get-user-strategies.test.yml delete mode 100644 doc/7/controllers/security/get-user/snippets/get-user.test.yml delete mode 100644 doc/7/controllers/security/has-credentials/snippets/has-credentials.test.yml delete mode 100644 doc/7/controllers/security/m-delete-profiles/snippets/m-delete-profiles.test.yml delete mode 100644 doc/7/controllers/security/m-delete-roles/snippets/m-delete-roles.test.yml delete mode 100644 doc/7/controllers/security/m-delete-users/snippets/m-delete-users.test.yml delete mode 100644 doc/7/controllers/security/m-get-profiles/snippets/m-get-profiles.test.yml delete mode 100644 doc/7/controllers/security/m-get-roles/snippets/m-get-roles.test.yml delete mode 100644 doc/7/controllers/security/m-get-users/snippets/m-get-users.test.yml delete mode 100644 doc/7/controllers/security/refresh/snippets/refresh.test.yml delete mode 100644 doc/7/controllers/security/replace-user/snippets/replace-user.test.yml delete mode 100644 doc/7/controllers/security/search-api-keys/snippets/search-api-keys-koncorde.test.yml delete mode 100644 doc/7/controllers/security/search-profiles/snippets/search-profiles.test.yml delete mode 100644 doc/7/controllers/security/search-roles/snippets/search-roles.test.yml delete mode 100644 doc/7/controllers/security/search-users/snippets/search-users-es.test.yml delete mode 100644 doc/7/controllers/security/search-users/snippets/search-users-koncorde.test.yml delete mode 100644 doc/7/controllers/security/update-credentials/snippets/update-credentials.test.yml delete mode 100644 doc/7/controllers/security/update-profile-mapping/snippets/update-profile-mapping.test.yml delete mode 100644 doc/7/controllers/security/update-profile/snippets/update-profile.test.yml delete mode 100644 doc/7/controllers/security/update-role-mapping/snippets/update-role-mapping.test.yml delete mode 100644 doc/7/controllers/security/update-role/snippets/update-role.test.yml delete mode 100644 doc/7/controllers/security/update-user-mapping/snippets/update-user-mapping.test.yml delete mode 100644 doc/7/controllers/security/update-user/snippets/update-user.test.yml delete mode 100644 doc/7/controllers/security/validate-credentials/snippets/validate-credentials.test.yml delete mode 100644 doc/7/controllers/server/admin-exists/snippets/admin-exists.test.yml delete mode 100644 doc/7/controllers/server/get-all-stats/snippets/get-all-stats.test.yml delete mode 100644 doc/7/controllers/server/get-config/snippets/get-config.test.yml delete mode 100644 doc/7/controllers/server/get-last-stats/snippets/get-last-stats.test.yml delete mode 100644 doc/7/controllers/server/get-stats/snippets/get-stats.test.yml delete mode 100644 doc/7/controllers/server/info/snippets/info.test.yml delete mode 100644 doc/7/controllers/server/now/snippets/now.test.yml delete mode 100644 doc/7/core-classes/kuzzle-event-emitter/add-listener/snippets/add-listener.test.yml delete mode 100644 doc/7/core-classes/kuzzle-event-emitter/add-once-listener/snippets/add-once-listener.test.yml delete mode 100644 doc/7/core-classes/kuzzle-event-emitter/emit/snippets/emit.test.yml delete mode 100644 doc/7/core-classes/kuzzle-event-emitter/listeners/snippets/listeners.test.yml delete mode 100644 doc/7/core-classes/kuzzle-event-emitter/prepend-listener/snippets/prepend-listener.test.yml delete mode 100644 doc/7/core-classes/kuzzle-event-emitter/prepend-once-listener/snippets/prepend-once-listener.test.yml delete mode 100644 doc/7/core-classes/kuzzle-event-emitter/remove-all-listener/snippets/remove-all-listeners.test.yml delete mode 100644 doc/7/core-classes/kuzzle-event-emitter/remove-listener/snippets/remove-listener.test.yml delete mode 100644 doc/7/core-classes/kuzzle/authenticate/snippets/authenticate.test.yml delete mode 100644 doc/7/core-classes/kuzzle/connect/snippets/connect.test.yml delete mode 100644 doc/7/core-classes/kuzzle/constructor/snippets/constructor.test.yml delete mode 100644 doc/7/core-classes/kuzzle/disconnect/snippets/disconnect.test.yml delete mode 100644 doc/7/core-classes/kuzzle/flush-queue/snippets/flush-queue.test.yml delete mode 100644 doc/7/core-classes/kuzzle/play-queue/snippets/play-queue.test.yml delete mode 100644 doc/7/core-classes/kuzzle/query/snippets/query.test.yml delete mode 100644 doc/7/core-classes/kuzzle/start-queuing/snippets/start-queuing.test.yml delete mode 100644 doc/7/core-classes/kuzzle/stop-queuing/snippets/stop-queuing.test.yml delete mode 100644 doc/7/core-classes/kuzzle/use-controller/snippets/use-controller.test.yml delete mode 100644 doc/7/core-classes/profile/getRoles/snippets/getRoles.test.yml delete mode 100644 doc/7/core-classes/search-result/next/snippets/fromsize.test.yml delete mode 100644 doc/7/core-classes/search-result/next/snippets/scroll.test.yml delete mode 100644 doc/7/core-classes/search-result/next/snippets/sortsize.test.yml delete mode 100644 doc/7/core-classes/user/getProfiles/snippets/getProfiles.test.yml delete mode 100644 doc/7/essentials/error-handling/snippets/error-handling-async.test.yml delete mode 100644 doc/7/essentials/error-handling/snippets/error-handling.test.yml delete mode 100644 doc/7/getting-started/node-js/snippets/create.test.yml delete mode 100644 doc/7/getting-started/node-js/snippets/init.test.yml delete mode 100644 doc/7/getting-started/node-js/snippets/load-sdk.test.yml delete mode 100644 doc/7/getting-started/node-js/snippets/prepare-db.test.yml delete mode 100644 doc/7/getting-started/node-js/snippets/subscribe.test.yml delete mode 100644 doc/7/getting-started/raw-web/snippets/create.test.yml delete mode 100644 doc/7/getting-started/raw-web/snippets/load-sdk.test.yml delete mode 100644 doc/7/getting-started/raw-web/snippets/prepare-db.test.yml delete mode 100644 doc/7/getting-started/raw-web/snippets/subscribe.test.yml delete mode 100644 doc/7/getting-started/webpack/index.md delete mode 100644 doc/7/getting-started/webpack/snippets.disabled/create.js delete mode 100644 doc/7/getting-started/webpack/snippets.disabled/create.test.yml delete mode 100644 doc/7/getting-started/webpack/snippets.disabled/init-kuzzle.js delete mode 100644 doc/7/getting-started/webpack/snippets.disabled/init-kuzzle.test.yml delete mode 100644 doc/7/getting-started/webpack/snippets.disabled/subscribe.js delete mode 100644 doc/7/getting-started/webpack/snippets.disabled/subscribe.test.yml delete mode 100644 doc/7/protocols/http/constructor/index.md delete mode 100644 doc/7/protocols/http/constructor/snippets/constructor.test.yml delete mode 100644 doc/7/protocols/http/introduction/index.md delete mode 100644 doc/7/protocols/http/properties/index.md rename doc/7/protocols/http/{constructor => }/snippets/constructor.js (100%) delete mode 100644 doc/7/protocols/websocket/constructor/index.md delete mode 100644 doc/7/protocols/websocket/constructor/snippets/constructor.test.yml delete mode 100644 doc/7/protocols/websocket/introduction/index.md delete mode 100644 doc/7/protocols/websocket/properties/index.md rename doc/7/protocols/websocket/{constructor => }/snippets/constructor.js (100%) rename doc/7/protocols/websocket/{introduction => }/websocket-cookie-authentication.png (100%) diff --git a/doc/7/controllers/auth/check-rights/index.md b/doc/7/controllers/auth/check-rights/index.md index 78e62b4c4..4c7ae86f6 100644 --- a/doc/7/controllers/auth/check-rights/index.md +++ b/doc/7/controllers/auth/check-rights/index.md @@ -15,13 +15,13 @@ Checks if the provided API request can be executed by the current logged user. --- ```js -checkRights(requestPayload, [options]) +checkRights(requestPayload, [options]); ``` -| Property | Type | Description | -| ---------------- | ---------------------------- | --------------------------------------------------------------------------------------------------------------------- | -| `requestPayload` |
object
| Contains a [RequestPayload](/core/2/api/payloads/request) -| `options` |
object
| Query options | +| Property | Type | Description | +| ---------------- | ----------------- | --------------------------------------------------------- | +| `requestPayload` |
object
| Contains a [RequestPayload](/core/2/api/payloads/request) | +| `options` |
object
| Query options | ## `requestPayload` @@ -31,13 +31,15 @@ The [RequestPayload](/core/2/api/payloads/request) must contains at least the fo - `action`: API action --- + ### options -| Property | Type
(default) | Description | -| --- | --- | --- | -| `queuable` |
boolean

(`true`) | If `true`, queues the request during downtime, until connected to Kuzzle again | -| [`timeout`](/sdk/7/core-classes/kuzzle/query#timeout) |
number

(`-1`) | Time (in ms) during which a request will still be waited to be resolved. Set it `-1` if you want to wait indefinitely | -| [`triggerEvents`](/sdk/7/core-classes/kuzzle/query#triggerEvents) |
boolean

(`false`)| If set to `true`, will trigger events even if using Embeded SDK. You should always ensure that your events/pipes does not create an infinite loop. | +| Property | Type
(default) | Description | +| ----------------------------------------------------------------- | --------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `queuable` |
boolean

(`true`) | If `true`, queues the request during downtime, until connected to Kuzzle again | +| [`timeout`](/sdk/7/core-classes/kuzzle/query#timeout) |
number

(`-1`) | Time (in ms) during which a request will still be waited to be resolved. Set it `-1` if you want to wait indefinitely | +| [`triggerEvents`](/sdk/7/core-classes/kuzzle/query#triggerEvents) |
boolean

(`false`) | If set to `true`, will trigger events even if using Embeded SDK. You should always ensure that your events/pipes does not create an infinite loop. | + ## Resolves A boolean telling whether the provided request would have been allowed or not. diff --git a/doc/7/controllers/auth/check-rights/snippets/check-rights.test.yml b/doc/7/controllers/auth/check-rights/snippets/check-rights.test.yml deleted file mode 100644 index 5e250d91d..000000000 --- a/doc/7/controllers/auth/check-rights/snippets/check-rights.test.yml +++ /dev/null @@ -1,7 +0,0 @@ -name: auth#checkRights -description: Checks if an API action can be executed by the current user -hooks: - before: curl -X POST kuzzle:7512/users/foo/_create -H "Content-Type:application/json" --data '{"content":{"profileIds":["default"]},"credentials":{"local":{"username":"foo","password":"bar"}}}' - after: curl -X DELETE kuzzle:7512/users/foo -template: default -expected: true \ No newline at end of file diff --git a/doc/7/controllers/auth/check-token/snippets/check-token.test.yml b/doc/7/controllers/auth/check-token/snippets/check-token.test.yml deleted file mode 100644 index 5211c7b29..000000000 --- a/doc/7/controllers/auth/check-token/snippets/check-token.test.yml +++ /dev/null @@ -1,11 +0,0 @@ ---- -name: auth#checkToken -description: Checks a JWT token's validity. -hooks: - before: curl -X POST kuzzle:7512/users/foo/_create -H "Content-Type:application/json" --data '{"content":{"profileIds":["default"]},"credentials":{"local":{"username":"foo","password":"bar"}}}' - after: curl -X DELETE kuzzle:7512/users/foo -template: default -expected: Token is valid - -sdk: js -version: 7 diff --git a/doc/7/controllers/auth/create-api-key/snippets/create-api-key.test.yml b/doc/7/controllers/auth/create-api-key/snippets/create-api-key.test.yml deleted file mode 100644 index a18c6da50..000000000 --- a/doc/7/controllers/auth/create-api-key/snippets/create-api-key.test.yml +++ /dev/null @@ -1,22 +0,0 @@ -name: auth#createApiKey -description: Creates a new API key for the currently logged user. -hooks: - before: > - curl --fail -H "Content-type: application/json" -d '{ - "content": { - "profileIds": ["default"] - }, - "credentials": { - "local": { - "username": "john.doe", - "password": "password" - } - } - }' "kuzzle:7512/users/john.doe/_create?refresh=wait_for" - after: - curl -XDELETE kuzzle:7512/users/john.doe -template: default -expected: - - "description: 'Sigfox API key'" - - "userId: 'john.doe'" - - API key successfully created diff --git a/doc/7/controllers/auth/create-my-credentials/snippets/create-my-credentials.test.yml b/doc/7/controllers/auth/create-my-credentials/snippets/create-my-credentials.test.yml deleted file mode 100644 index 1ad92feb8..000000000 --- a/doc/7/controllers/auth/create-my-credentials/snippets/create-my-credentials.test.yml +++ /dev/null @@ -1,10 +0,0 @@ -name: auth#createMyCredentials -description: Creates the current user's credentials for the specified strategy -hooks: - before: curl -X POST kuzzle:7512/users/foo/_create -H "Content-Type:application/json" --data '{"content":{"profileIds":["default"]},"credentials":{"local":{"username":"foo","password":"bar"}}}' - after: curl -X DELETE kuzzle:7512/users/foo -template: catch -expected: Success - -sdk: js -version: 7 diff --git a/doc/7/controllers/auth/credentials-exist/snippets/credentials-exist.test.yml b/doc/7/controllers/auth/credentials-exist/snippets/credentials-exist.test.yml deleted file mode 100644 index 4a327f498..000000000 --- a/doc/7/controllers/auth/credentials-exist/snippets/credentials-exist.test.yml +++ /dev/null @@ -1,10 +0,0 @@ -name: auth#credentialsExist -description: Checks a JWT token's validity. -hooks: - before: curl -X POST kuzzle:7512/users/foo/_create -H "Content-Type:application/json" --data '{"content":{"profileIds":["default"]},"credentials":{"local":{"username":"foo","password":"bar"}}}' - after: curl -X DELETE kuzzle:7512/users/foo -template: default -expected: Credentials exist - -sdk: js -version: 7 diff --git a/doc/7/controllers/auth/delete-api-key/snippets/delete-api-key.test.yml b/doc/7/controllers/auth/delete-api-key/snippets/delete-api-key.test.yml deleted file mode 100644 index 5506dfdb4..000000000 --- a/doc/7/controllers/auth/delete-api-key/snippets/delete-api-key.test.yml +++ /dev/null @@ -1,20 +0,0 @@ -name: auth#deleteApiKey -description: Deletes an API key for the currently logged user -hooks: - before: > - curl --fail -H "Content-type: application/json" -d '{ - "content": { - "profileIds": ["default"] - }, - "credentials": { - "local": { - "username": "jane.doe", - "password": "password" - } - } - }' "kuzzle:7512/users/jane.doe/_create?refresh=wait_for" - after: - curl -XDELETE kuzzle:7512/users/jane.doe -template: default -expected: - - API key successfully deleted diff --git a/doc/7/controllers/auth/delete-my-credentials/snippets/delete-my-credentials.test.yml b/doc/7/controllers/auth/delete-my-credentials/snippets/delete-my-credentials.test.yml deleted file mode 100644 index 082e9cde7..000000000 --- a/doc/7/controllers/auth/delete-my-credentials/snippets/delete-my-credentials.test.yml +++ /dev/null @@ -1,10 +0,0 @@ -name: auth#deleteMyCredentials -description: Deletes the current user's credentials for the specified strategy -hooks: - before: curl -X POST kuzzle:7512/users/foo/_create -H "Content-Type:application/json" --data '{"content":{"profileIds":["default"]},"credentials":{"local":{"username":"foo","password":"bar"}}}' - after: curl -X DELETE kuzzle:7512/users/foo -template: default -expected: Credentials successfully deleted - -sdk: js -version: 7 diff --git a/doc/7/controllers/auth/get-current-user/snippets/get-current-user.test.yml b/doc/7/controllers/auth/get-current-user/snippets/get-current-user.test.yml deleted file mode 100644 index 1d7d8ffd0..000000000 --- a/doc/7/controllers/auth/get-current-user/snippets/get-current-user.test.yml +++ /dev/null @@ -1,10 +0,0 @@ -name: auth#getCurrentUser -description: Returns the profile object for the user linked to the `json web token` -hooks: - before: curl -X POST kuzzle:7512/users/foo/_create -H "Content-Type:application/json" --data '{"content":{"profileIds":["default"]},"credentials":{"local":{"username":"foo","password":"bar"}}}' - after: curl -X DELETE kuzzle:7512/users/foo -template: default -expected: Success - -sdk: js -version: 7 diff --git a/doc/7/controllers/auth/get-my-credentials/snippets/get-my-credentials.test.yml b/doc/7/controllers/auth/get-my-credentials/snippets/get-my-credentials.test.yml deleted file mode 100644 index f5183886a..000000000 --- a/doc/7/controllers/auth/get-my-credentials/snippets/get-my-credentials.test.yml +++ /dev/null @@ -1,10 +0,0 @@ -name: auth#getMyCredentials -description: Returns the current user's credential information for the specified ``. -hooks: - before: curl -X POST kuzzle:7512/users/foo/_create -H "Content-Type:application/json" --data '{"content":{"profileIds":["default"]},"credentials":{"local":{"username":"foo","password":"bar"}}}' - after: curl -X DELETE kuzzle:7512/users/foo -template: default -expected: Success - -sdk: js -version: 7 diff --git a/doc/7/controllers/auth/get-my-rights/snippets/get-my-rights.test.yml b/doc/7/controllers/auth/get-my-rights/snippets/get-my-rights.test.yml deleted file mode 100644 index d5dc36148..000000000 --- a/doc/7/controllers/auth/get-my-rights/snippets/get-my-rights.test.yml +++ /dev/null @@ -1,10 +0,0 @@ -name: auth#getMyRights -description: Returns the rights for the user linked to the json web token -hooks: - before: curl -X POST kuzzle:7512/users/foo/_create -H "Content-Type:application/json" --data '{"content":{"profileIds":["default"]},"credentials":{"local":{"username":"foo","password":"bar"}}}' - after: curl -X DELETE kuzzle:7512/users/foo -template: default -expected: Success - -sdk: js -version: 7 diff --git a/doc/7/controllers/auth/get-strategies/snippets/get-strategies.test.yml b/doc/7/controllers/auth/get-strategies/snippets/get-strategies.test.yml deleted file mode 100644 index a8e5ff520..000000000 --- a/doc/7/controllers/auth/get-strategies/snippets/get-strategies.test.yml +++ /dev/null @@ -1,10 +0,0 @@ -name: auth#getStrategies -description: Get all authentication strategies registered in Kuzzle -hooks: - before: curl -X POST kuzzle:7512/users/foo/_create -H "Content-Type:application/json" --data '{"content":{"profileIds":["default"]},"credentials":{"local":{"username":"foo","password":"bar"}}}' - after: curl -X DELETE kuzzle:7512/users/foo -template: default -expected: Success - -sdk: js -version: 7 diff --git a/doc/7/controllers/auth/login/snippets/login.test.yml b/doc/7/controllers/auth/login/snippets/login.test.yml deleted file mode 100644 index 971dc2481..000000000 --- a/doc/7/controllers/auth/login/snippets/login.test.yml +++ /dev/null @@ -1,11 +0,0 @@ ---- -name: auth#login -description: Authenticate a user -hooks: - before: curl -X POST kuzzle:7512/users/foo/_create -H "Content-Type:application/json" --data '{"content":{"profileIds":["default"]},"credentials":{"local":{"username":"foo","password":"bar"}}}' - after: curl -X DELETE kuzzle:7512/users/foo -template: default -expected: Success - -sdk: js -version: 7 diff --git a/doc/7/controllers/auth/logout/snippets/logout.test.yml b/doc/7/controllers/auth/logout/snippets/logout.test.yml deleted file mode 100644 index f87ff1fb1..000000000 --- a/doc/7/controllers/auth/logout/snippets/logout.test.yml +++ /dev/null @@ -1,10 +0,0 @@ -name: auth#logout -description: Revokes the user's token & unsubscribe them from registered rooms. -hooks: - before: curl -X POST kuzzle:7512/users/foo/_create -H "Content-Type:application/json" --data '{"content":{"profileIds":["default"]},"credentials":{"local":{"username":"foo","password":"bar"}}}' - after: curl -X DELETE kuzzle:7512/users/foo -template: default -expected: Success - -sdk: js -version: 7 diff --git a/doc/7/controllers/auth/refresh-token/snippets/refreshToken.test.yml b/doc/7/controllers/auth/refresh-token/snippets/refreshToken.test.yml deleted file mode 100644 index 4e746a804..000000000 --- a/doc/7/controllers/auth/refresh-token/snippets/refreshToken.test.yml +++ /dev/null @@ -1,15 +0,0 @@ ---- -name: auth#refreshtoken -description: Refresh a user's token -hooks: - before: curl -X POST kuzzle:7512/users/foo/_create -H "Content-Type:application/json" --data '{"content":{"profileIds":["default"]},"credentials":{"local":{"username":"foo","password":"bar"}}}' - after: curl -X DELETE kuzzle:7512/users/foo -template: default -expected: - - ^.*\..*$ - - ^{ _id: 'foo' - - ^\s*jwt: '.*\..*' - - ^\s*expiresAt: \d+ - - ^\s*ttl: \d+ } -sdk: js -version: 7 diff --git a/doc/7/controllers/auth/search-api-keys/snippets/search-api-keys-koncorde.test.yml b/doc/7/controllers/auth/search-api-keys/snippets/search-api-keys-koncorde.test.yml deleted file mode 100644 index 975127877..000000000 --- a/doc/7/controllers/auth/search-api-keys/snippets/search-api-keys-koncorde.test.yml +++ /dev/null @@ -1,20 +0,0 @@ -name: auth#searchApiKeys-koncorde -description: Searches API keys for the currently logged user. -hooks: - before: > - curl --fail -H "Content-type: application/json" -d '{ - "content": { - "profileIds": ["default"] - }, - "credentials": { - "local": { - "username": "jared.doe", - "password": "password" - } - } - }' "kuzzle:7512/users/jared.doe/_create?refresh=wait_for" - after: - curl -XDELETE kuzzle:7512/users/jared.doe -template: default -expected: - - Found 2 API keys. diff --git a/doc/7/controllers/auth/update-my-credentials/snippets/update-my-credentials.test.yml b/doc/7/controllers/auth/update-my-credentials/snippets/update-my-credentials.test.yml deleted file mode 100644 index b1d6a27ef..000000000 --- a/doc/7/controllers/auth/update-my-credentials/snippets/update-my-credentials.test.yml +++ /dev/null @@ -1,10 +0,0 @@ -name: auth#updateMyCredentials -description: Update the current user's credentials for the specified ``. -hooks: - before: curl -X POST kuzzle:7512/users/foo/_create -H "Content-Type:application/json" --data '{"content":{"profileIds":["default"]},"credentials":{"local":{"username":"foo","password":"bar"}}}' - after: curl -X DELETE kuzzle:7512/users/foo -template: default -expected: Success - -sdk: js -version: 7 diff --git a/doc/7/controllers/auth/update-self/snippets/update-self.test.yml b/doc/7/controllers/auth/update-self/snippets/update-self.test.yml deleted file mode 100644 index ebacfc008..000000000 --- a/doc/7/controllers/auth/update-self/snippets/update-self.test.yml +++ /dev/null @@ -1,10 +0,0 @@ -name: auth#updateSelf -description: Updates the current user object in Kuzzle -hooks: - before: curl -X POST kuzzle:7512/users/foo/_create -H "Content-Type:application/json" --data '{"content":{"profileIds":["default"]},"credentials":{"local":{"username":"foo","password":"bar"}}}' - after: curl -X DELETE kuzzle:7512/users/foo -template: default -expected: Success - -sdk: js -version: 7 diff --git a/doc/7/controllers/auth/validate-my-credentials/snippets/validate-my-credentials.test.yml b/doc/7/controllers/auth/validate-my-credentials/snippets/validate-my-credentials.test.yml deleted file mode 100644 index a20cee546..000000000 --- a/doc/7/controllers/auth/validate-my-credentials/snippets/validate-my-credentials.test.yml +++ /dev/null @@ -1,10 +0,0 @@ -name: auth#validateMyCredentials -description: Validate the current user's credentials for the specified ``. -hooks: - before: curl -X POST kuzzle:7512/users/foo/_create -H "Content-Type:application/json" --data '{"content":{"profileIds":["default"]},"credentials":{"local":{"username":"foo","password":"bar"}}}' - after: curl -X DELETE kuzzle:7512/users/foo -template: default -expected: Credentials are valid - -sdk: js -version: 7 diff --git a/doc/7/controllers/bulk/delete-by-query/snippets/delete-by-query.test.yml b/doc/7/controllers/bulk/delete-by-query/snippets/delete-by-query.test.yml deleted file mode 100644 index 3fa5a70f4..000000000 --- a/doc/7/controllers/bulk/delete-by-query/snippets/delete-by-query.test.yml +++ /dev/null @@ -1,20 +0,0 @@ -name: bulk#deleteByQuery -description: Delete documents matching query -hooks: - before: | - curl -XDELETE kuzzle:7512/nyc-open-data - curl -XPOST kuzzle:7512/nyc-open-data/_create - curl -XPUT kuzzle:7512/nyc-open-data/yellow-taxi - - for i in 1 2 3 4 5; do - curl --fail -H "Content-type: application/json" -d '{"capacity": 4}' kuzzle:7512/nyc-open-data/yellow-taxi/_create - done - - for i in 1 2 3 4 5; do - curl --fail -H "Content-type: application/json" -d '{"capacity": 7}' kuzzle:7512/nyc-open-data/yellow-taxi/_create - done - - curl -XPOST kuzzle:7512/nyc-open-data/yellow-taxi/_refresh - -template: default -expected: Successfully deleted 5 documents diff --git a/doc/7/controllers/bulk/import/snippets/import.test.yml b/doc/7/controllers/bulk/import/snippets/import.test.yml deleted file mode 100644 index 287896d39..000000000 --- a/doc/7/controllers/bulk/import/snippets/import.test.yml +++ /dev/null @@ -1,11 +0,0 @@ ---- -name: bulk#import -description: Bulk imports three documents into Kuzzle -hooks: - before: | - curl -X DELETE kuzzle:7512/nyc-open-data - curl -X POST kuzzle:7512/nyc-open-data/_create - curl -X PUT kuzzle:7512/nyc-open-data/yellow-taxi - after: -template: default -expected: Successfully imported 3 documents diff --git a/doc/7/controllers/bulk/mWrite/snippets/mWrite.test.yml b/doc/7/controllers/bulk/mWrite/snippets/mWrite.test.yml deleted file mode 100644 index 87400739a..000000000 --- a/doc/7/controllers/bulk/mWrite/snippets/mWrite.test.yml +++ /dev/null @@ -1,10 +0,0 @@ ---- -name: bulk#mWrite -description: Creates or replaces multiple documents directly into the storage engine. -hooks: - before: | - curl -X DELETE kuzzle:7512/nyc-open-data - curl -X POST kuzzle:7512/nyc-open-data/_create - curl -X PUT kuzzle:7512/nyc-open-data/yellow-taxi -template: default -expected: Document creator is dahi diff --git a/doc/7/controllers/bulk/update-by-query/snippets/update-by-query.test.yml b/doc/7/controllers/bulk/update-by-query/snippets/update-by-query.test.yml deleted file mode 100644 index 0bc07f2ce..000000000 --- a/doc/7/controllers/bulk/update-by-query/snippets/update-by-query.test.yml +++ /dev/null @@ -1,18 +0,0 @@ -name: bulk#updateByQuery -description: Update documents matching query -hooks: - before: | - curl -XDELETE kuzzle:7512/nyc-open-data - curl -XPOST kuzzle:7512/nyc-open-data/_create - curl -XPUT kuzzle:7512/nyc-open-data/yellow-taxi - for i in 1 2 ; do - curl --fail -H "Content-type: application/json" -d '{"capacity": 4}' kuzzle:7512/nyc-open-data/yellow-taxi/document_$i/_create - done - for i in 1 2 3 4 5; do - curl --fail -H "Content-type: application/json" -d '{"capacity": 7}' kuzzle:7512/nyc-open-data/yellow-taxi/_create - done - curl -XPOST kuzzle:7512/nyc-open-data/yellow-taxi/_refresh - after: - - curl -XDELETE kuzzle:7512/nyc-open-data -template: default -expected: 2 \ No newline at end of file diff --git a/doc/7/controllers/bulk/write/snippets/write.test.yml b/doc/7/controllers/bulk/write/snippets/write.test.yml deleted file mode 100644 index 7a2b4a9ff..000000000 --- a/doc/7/controllers/bulk/write/snippets/write.test.yml +++ /dev/null @@ -1,10 +0,0 @@ ---- -name: bulk#write -description: Creates or replaces a document directly into the storage engine. -hooks: - before: | - curl -X DELETE kuzzle:7512/nyc-open-data - curl -X POST kuzzle:7512/nyc-open-data/_create - curl -X PUT kuzzle:7512/nyc-open-data/yellow-taxi -template: default -expected: Document creator is liia diff --git a/doc/7/controllers/collection/create/snippets/create.test.yml b/doc/7/controllers/collection/create/snippets/create.test.yml deleted file mode 100644 index 64b363db4..000000000 --- a/doc/7/controllers/collection/create/snippets/create.test.yml +++ /dev/null @@ -1,10 +0,0 @@ -name: collection#create -description: Create a new collection -hooks: - before: curl -X POST kuzzle:7512/nyc-open-data/_create - after: -template: default -expected: Success - -sdk: js -version: 7 diff --git a/doc/7/controllers/collection/delete-specifications/snippets/delete-specifications.test.yml b/doc/7/controllers/collection/delete-specifications/snippets/delete-specifications.test.yml deleted file mode 100644 index eedf0893c..000000000 --- a/doc/7/controllers/collection/delete-specifications/snippets/delete-specifications.test.yml +++ /dev/null @@ -1,10 +0,0 @@ -name: collection#deleteSpecifications -description: Delete validation specifications for a collection -hooks: - before: curl -X POST kuzzle:7512/nyc-open-data/_create && curl -X PUT kuzzle:7512/nyc-open-data/yellow-taxi - after: -template: default -expected: Success - -sdk: js -version: 7 diff --git a/doc/7/controllers/collection/delete/snippets/delete.test.yml b/doc/7/controllers/collection/delete/snippets/delete.test.yml deleted file mode 100644 index 69c1d5c18..000000000 --- a/doc/7/controllers/collection/delete/snippets/delete.test.yml +++ /dev/null @@ -1,7 +0,0 @@ -name: collection#delete -description: Delete a collection -hooks: - before: curl -X POST kuzzle:7512/nyc-open-data/_create && curl -X PUT kuzzle:7512/nyc-open-data/yellow-taxi - after: -template: default -expected: Success diff --git a/doc/7/controllers/collection/exists/snippets/exists.test.yml b/doc/7/controllers/collection/exists/snippets/exists.test.yml deleted file mode 100644 index 0314005be..000000000 --- a/doc/7/controllers/collection/exists/snippets/exists.test.yml +++ /dev/null @@ -1,10 +0,0 @@ -name: collection#exists -description: Check if collection exists -hooks: - before: curl -X POST kuzzle:7512/nyc-open-data/_create && curl -X PUT kuzzle:7512/nyc-open-data/green-taxi - after: -template: default -expected: Success - -sdk: js -version: 7 diff --git a/doc/7/controllers/collection/get-mapping/snippets/get-mapping.test.yml b/doc/7/controllers/collection/get-mapping/snippets/get-mapping.test.yml deleted file mode 100644 index 86f9cb039..000000000 --- a/doc/7/controllers/collection/get-mapping/snippets/get-mapping.test.yml +++ /dev/null @@ -1,7 +0,0 @@ -name: collection#getMapping -description: Return collection mapping -hooks: - before: curl -X POST kuzzle:7512/nyc-open-data/_create && curl -X PUT kuzzle:7512/nyc-open-data/yellow-taxi - after: -template: default -expected: "true" diff --git a/doc/7/controllers/collection/get-specifications/snippets/get-specifications.test.yml b/doc/7/controllers/collection/get-specifications/snippets/get-specifications.test.yml deleted file mode 100644 index 85f0d70d8..000000000 --- a/doc/7/controllers/collection/get-specifications/snippets/get-specifications.test.yml +++ /dev/null @@ -1,11 +0,0 @@ -name: collection#getSpecifications -description: Returns the validation specifications -hooks: - before: | - curl -X DELETE kuzzle:7512/nyc-open-data - curl -X POST kuzzle:7512/nyc-open-data/_create - curl -X PUT kuzzle:7512/nyc-open-data/yellow-taxi - curl -X PUT -H "Content-Type: application/json" -d '{ "strict": false, "fields": {"license": {"type": "string"} } }' kuzzle:7512/nyc-open-data/yellow-taxi/_specifications - after: -template: default -expected: 'fields' diff --git a/doc/7/controllers/collection/list/snippets/list.test.yml b/doc/7/controllers/collection/list/snippets/list.test.yml deleted file mode 100644 index 25d434d83..000000000 --- a/doc/7/controllers/collection/list/snippets/list.test.yml +++ /dev/null @@ -1,10 +0,0 @@ -name: collection#list -description: Returns the collection list of an index -hooks: - before: curl -X POST kuzzle:7512/mtp-open-data/_create && curl -X PUT kuzzle:7512/mtp-open-data/pink-taxi && curl -X PUT kuzzle:7512/mtp-open-data/dark-taxi - after: -template: default -expected: Success - -sdk: js -version: 7 diff --git a/doc/7/controllers/collection/refresh/snippets/refresh.test.yml b/doc/7/controllers/collection/refresh/snippets/refresh.test.yml deleted file mode 100644 index 5740abc75..000000000 --- a/doc/7/controllers/collection/refresh/snippets/refresh.test.yml +++ /dev/null @@ -1,10 +0,0 @@ ---- -name: index#refresh -description: Forces an Elasticsearch search index update -hooks: - before: | - curl -X POST kuzzle:7512/nyc-open-data/_create - curl -X PUT kuzzle:7512/nyc-open-data/yellow-taxi - after: -template: default -expected: Refresh successful diff --git a/doc/7/controllers/collection/search-specifications/snippets/search-specifications.test.yml b/doc/7/controllers/collection/search-specifications/snippets/search-specifications.test.yml deleted file mode 100644 index cfa6b06cc..000000000 --- a/doc/7/controllers/collection/search-specifications/snippets/search-specifications.test.yml +++ /dev/null @@ -1,23 +0,0 @@ -name: collection#searchSpecifications -description: Search for specifications -hooks: - before: | - curl -XDELETE kuzzle:7512/nyc-open-data - curl -X POST kuzzle:7512/nyc-open-data/_create - curl -X PUT kuzzle:7512/nyc-open-data/yellow-taxi - curl -X PUT -H "Content-Type: application/json" -d '{ - "nyc-open-data": { - "yellow-taxi": { - "strict": false, - "fields": { - "license": { - "type": "string" - } - } - } - } - }' kuzzle:7512/_specifications?refresh=wait_for -template: default -expected: 'fetched: 1' -sdk: js -version: 7 diff --git a/doc/7/controllers/collection/truncate/snippets/truncate.test.yml b/doc/7/controllers/collection/truncate/snippets/truncate.test.yml deleted file mode 100644 index 0a246a470..000000000 --- a/doc/7/controllers/collection/truncate/snippets/truncate.test.yml +++ /dev/null @@ -1,10 +0,0 @@ -name: collection#truncate -description: Remove all documents from collection -hooks: - before: curl -X POST kuzzle:7512/nyc-open-data/_create && curl -X PUT kuzzle:7512/nyc-open-data/yellow-taxi - after: -template: default -expected: Success - -sdk: js -version: 7 diff --git a/doc/7/controllers/collection/update-mapping/snippets/update-mapping.test.yml b/doc/7/controllers/collection/update-mapping/snippets/update-mapping.test.yml deleted file mode 100644 index 927a13589..000000000 --- a/doc/7/controllers/collection/update-mapping/snippets/update-mapping.test.yml +++ /dev/null @@ -1,10 +0,0 @@ -name: collection#updateMapping -description: Update the collection mapping -hooks: - before: curl -X POST kuzzle:7512/nyc-open-data/_create && curl -X PUT kuzzle:7512/nyc-open-data/yellow-taxi - after: -template: default -expected: Success - -sdk: js -version: 7 diff --git a/doc/7/controllers/collection/update-specifications/snippets/update-specifications.test.yml b/doc/7/controllers/collection/update-specifications/snippets/update-specifications.test.yml deleted file mode 100644 index 237e927df..000000000 --- a/doc/7/controllers/collection/update-specifications/snippets/update-specifications.test.yml +++ /dev/null @@ -1,11 +0,0 @@ -name: collection#updateSpecifications -description: Update the validation specifications -hooks: - before: | - curl -X DELETE kuzzle:7512/nyc-open-data - curl -X POST kuzzle:7512/nyc-open-data/_create - curl -X PUT kuzzle:7512/nyc-open-data/green-taxi - curl -X DELETE kuzzle:7512/nyc-open-data/yellow-taxi/_specifications - after: curl -X DELETE kuzzle:7512/nyc-open-data/yellow-taxi/_specifications -template: default -expected: Success \ No newline at end of file diff --git a/doc/7/controllers/collection/update/snippets/update.test.yml b/doc/7/controllers/collection/update/snippets/update.test.yml deleted file mode 100644 index db5aed5bd..000000000 --- a/doc/7/controllers/collection/update/snippets/update.test.yml +++ /dev/null @@ -1,10 +0,0 @@ -name: collection#update -description: Update the collection mapping -hooks: - before: curl -X POST kuzzle:7512/nyc-open-data/_create && curl -X PUT kuzzle:7512/nyc-open-data/yellow-taxi - after: -template: default -expected: Success - -sdk: js -version: 7 diff --git a/doc/7/controllers/collection/validate-specifications/snippets/validate-specifications.test.yml b/doc/7/controllers/collection/validate-specifications/snippets/validate-specifications.test.yml deleted file mode 100644 index a1ab0d388..000000000 --- a/doc/7/controllers/collection/validate-specifications/snippets/validate-specifications.test.yml +++ /dev/null @@ -1,10 +0,0 @@ -name: collection#validateSpecifications -description: Validate specifications format -hooks: - before: curl -X POST kuzzle:7512/nyc-open-data/_create && curl -X PUT kuzzle:7512/nyc-open-data/green-taxi - after: -template: default -expected: Some errors with provided specifications. - -sdk: js -version: 7 diff --git a/doc/7/controllers/document/count/snippets/count.test.yml b/doc/7/controllers/document/count/snippets/count.test.yml deleted file mode 100644 index c9ad44fae..000000000 --- a/doc/7/controllers/document/count/snippets/count.test.yml +++ /dev/null @@ -1,18 +0,0 @@ ---- -name: document#count -description: Counts documents matching the given query -hooks: - before: | - curl -XDELETE kuzzle:7512/nyc-open-data - curl -XPOST kuzzle:7512/nyc-open-data/_create - curl -XPUT kuzzle:7512/nyc-open-data/yellow-taxi - for i in 1 2 3 4 5; do - curl --fail -H "Content-type: application/json" -d '{"license": "valid"}' kuzzle:7512/nyc-open-data/yellow-taxi/_create - done - for i in 1 2 3 4 5; do - curl --fail -H "Content-type: application/json" -d '{}' kuzzle:7512/nyc-open-data/yellow-taxi/_create - done - curl -XPOST kuzzle:7512/nyc-open-data/yellow-taxi/_refresh - after: -template: default -expected: Found 5 documents matching license:valid diff --git a/doc/7/controllers/document/create-or-replace/snippets/create-or-replace.test.yml b/doc/7/controllers/document/create-or-replace/snippets/create-or-replace.test.yml deleted file mode 100644 index 4c2f3ce0f..000000000 --- a/doc/7/controllers/document/create-or-replace/snippets/create-or-replace.test.yml +++ /dev/null @@ -1,10 +0,0 @@ -name: document#createOrReplace -description: Creates or replaces a document -hooks: - before: | - curl -XDELETE kuzzle:7512/nyc-open-data - curl -XPOST kuzzle:7512/nyc-open-data/_create - curl -XPUT kuzzle:7512/nyc-open-data/yellow-taxi - after: -template: default -expected: "_id: 'some-id'" \ No newline at end of file diff --git a/doc/7/controllers/document/create/snippets/create.test.yml b/doc/7/controllers/document/create/snippets/create.test.yml deleted file mode 100644 index 3bc468701..000000000 --- a/doc/7/controllers/document/create/snippets/create.test.yml +++ /dev/null @@ -1,10 +0,0 @@ -name: document#create -description: Creates a new document -hooks: - before: | - curl -XDELETE kuzzle:7512/nyc-open-data - curl -XPOST kuzzle:7512/nyc-open-data/_create - curl -XPUT kuzzle:7512/nyc-open-data/yellow-taxi - after: -template: default -expected: Success diff --git a/doc/7/controllers/document/delete-by-query/snippets/delete-by-query-es.test.yml b/doc/7/controllers/document/delete-by-query/snippets/delete-by-query-es.test.yml deleted file mode 100644 index 12ec50906..000000000 --- a/doc/7/controllers/document/delete-by-query/snippets/delete-by-query-es.test.yml +++ /dev/null @@ -1,20 +0,0 @@ -name: document#deleteByQuery-es -description: Delete documents matching query -hooks: - before: | - curl -XDELETE kuzzle:7512/nyc-open-data - curl -XPOST kuzzle:7512/nyc-open-data/_create - curl -XPUT kuzzle:7512/nyc-open-data/yellow-taxi - - for i in 1 2 3 4 5; do - curl --fail -H "Content-type: application/json" -d '{"capacity": 4}' kuzzle:7512/nyc-open-data/yellow-taxi/_create - done - - for i in 1 2 3 4 5; do - curl --fail -H "Content-type: application/json" -d '{"capacity": 7}' kuzzle:7512/nyc-open-data/yellow-taxi/_create - done - - curl -XPOST kuzzle:7512/nyc-open-data/yellow-taxi/_refresh - after: -template: default -expected: Successfully deleted 5 documents diff --git a/doc/7/controllers/document/delete-by-query/snippets/delete-by-query-koncorde.test.yml b/doc/7/controllers/document/delete-by-query/snippets/delete-by-query-koncorde.test.yml deleted file mode 100644 index 0531a9e76..000000000 --- a/doc/7/controllers/document/delete-by-query/snippets/delete-by-query-koncorde.test.yml +++ /dev/null @@ -1,20 +0,0 @@ -name: document#deleteByQuery-koncorde -description: Delete documents matching query -hooks: - before: | - curl -XDELETE kuzzle:7512/nyc-open-data - curl -XPOST kuzzle:7512/nyc-open-data/_create - curl -XPUT kuzzle:7512/nyc-open-data/yellow-taxi - - for i in 1 2 3 4 5; do - curl --fail -H "Content-type: application/json" -d '{"capacity": 4}' kuzzle:7512/nyc-open-data/yellow-taxi/_create - done - - for i in 1 2 3 4 5; do - curl --fail -H "Content-type: application/json" -d '{"capacity": 7}' kuzzle:7512/nyc-open-data/yellow-taxi/_create - done - - curl -XPOST kuzzle:7512/nyc-open-data/yellow-taxi/_refresh - after: -template: default -expected: Successfully deleted 5 documents diff --git a/doc/7/controllers/document/delete-fields/snippets/deleteFields.test.yml b/doc/7/controllers/document/delete-fields/snippets/deleteFields.test.yml deleted file mode 100644 index 8c1e11ae2..000000000 --- a/doc/7/controllers/document/delete-fields/snippets/deleteFields.test.yml +++ /dev/null @@ -1,11 +0,0 @@ -name: document#delete -description: Deletes a field from a document in kuzzle -hooks: - before: | - curl -XDELETE kuzzle:7512/nyc-open-data - curl -XPOST kuzzle:7512/nyc-open-data/_create - curl -XPUT kuzzle:7512/nyc-open-data/yellow-taxi - curl --fail -H "Content-type: application/json" -XPUT -d '{"foo": "bar", "bar": "baz"}' kuzzle:7512/nyc-open-data/yellow-taxi/some-id - after: -template: default -expected: {"foo": "bar"} diff --git a/doc/7/controllers/document/delete/snippets/delete.test.yml b/doc/7/controllers/document/delete/snippets/delete.test.yml deleted file mode 100644 index 0ce344bb0..000000000 --- a/doc/7/controllers/document/delete/snippets/delete.test.yml +++ /dev/null @@ -1,11 +0,0 @@ -name: document#delete -description: Deletes a document from kuzzle -hooks: - before: | - curl -XDELETE kuzzle:7512/nyc-open-data - curl -XPOST kuzzle:7512/nyc-open-data/_create - curl -XPUT kuzzle:7512/nyc-open-data/yellow-taxi - curl --fail -H "Content-type: application/json" -XPUT -d '{}' kuzzle:7512/nyc-open-data/yellow-taxi/some-id - after: -template: default -expected: Success diff --git a/doc/7/controllers/document/exists/snippets/exists.test.yml b/doc/7/controllers/document/exists/snippets/exists.test.yml deleted file mode 100644 index 795c97131..000000000 --- a/doc/7/controllers/document/exists/snippets/exists.test.yml +++ /dev/null @@ -1,11 +0,0 @@ -name: document#exists -description: Check if a document exists in kuzzle -hooks: - before: | - curl -XDELETE kuzzle:7512/nyc-open-data - curl -XPOST kuzzle:7512/nyc-open-data/_create - curl -XPUT kuzzle:7512/nyc-open-data/yellow-taxi - curl --fail -H "Content-type: application/json" -XPUT -d '{}' kuzzle:7512/nyc-open-data/yellow-taxi/some-id - after: -template: default -expected: true diff --git a/doc/7/controllers/document/get/snippets/get.test.yml b/doc/7/controllers/document/get/snippets/get.test.yml deleted file mode 100644 index 92fa3c51d..000000000 --- a/doc/7/controllers/document/get/snippets/get.test.yml +++ /dev/null @@ -1,10 +0,0 @@ -name: document#get -description: Get a document from kuzzle -hooks: - before: | - curl -XDELETE kuzzle:7512/nyc-open-data - curl -XPOST kuzzle:7512/nyc-open-data/_create - curl -XPUT kuzzle:7512/nyc-open-data/yellow-taxi - after: -template: default -expected: "_id: 'some-id'" diff --git a/doc/7/controllers/document/m-create-or-replace/snippets/m-create-or-replace.test.yml b/doc/7/controllers/document/m-create-or-replace/snippets/m-create-or-replace.test.yml deleted file mode 100644 index 6ab735345..000000000 --- a/doc/7/controllers/document/m-create-or-replace/snippets/m-create-or-replace.test.yml +++ /dev/null @@ -1,10 +0,0 @@ -name: document#mCreateOrReplace -description: Create or replace documents -hooks: - before: | - curl -XDELETE kuzzle:7512/nyc-open-data - curl -XPOST kuzzle:7512/nyc-open-data/_create - curl -XPUT kuzzle:7512/nyc-open-data/yellow-taxi - after: -template: default -expected: Successfully createOrReplace 2 documents diff --git a/doc/7/controllers/document/m-create/snippets/m-create.test.yml b/doc/7/controllers/document/m-create/snippets/m-create.test.yml deleted file mode 100644 index 596079a9d..000000000 --- a/doc/7/controllers/document/m-create/snippets/m-create.test.yml +++ /dev/null @@ -1,10 +0,0 @@ -name: document#mCreate -description: Create multiple documents in kuzzle -hooks: - before: | - curl -XDELETE kuzzle:7512/nyc-open-data - curl -XPOST kuzzle:7512/nyc-open-data/_create - curl -XPUT kuzzle:7512/nyc-open-data/yellow-taxi - after: -template: default -expected: Successfully created 2 documents \ No newline at end of file diff --git a/doc/7/controllers/document/m-delete/snippets/m-delete.test.yml b/doc/7/controllers/document/m-delete/snippets/m-delete.test.yml deleted file mode 100644 index 5f079323a..000000000 --- a/doc/7/controllers/document/m-delete/snippets/m-delete.test.yml +++ /dev/null @@ -1,10 +0,0 @@ -name: document#mDelete -description: Delete documents -hooks: - before: | - curl -XDELETE kuzzle:7512/nyc-open-data - curl -XPOST kuzzle:7512/nyc-open-data/_create - curl -XPUT kuzzle:7512/nyc-open-data/yellow-taxi - after: -template: default -expected: Successfully deleted 2 documents diff --git a/doc/7/controllers/document/m-get/snippets/m-get.test.yml b/doc/7/controllers/document/m-get/snippets/m-get.test.yml deleted file mode 100644 index da7cf5431..000000000 --- a/doc/7/controllers/document/m-get/snippets/m-get.test.yml +++ /dev/null @@ -1,10 +0,0 @@ -name: document#mGet -description: Get multiple documents -hooks: - before: | - curl -XDELETE kuzzle:7512/nyc-open-data - curl -XPOST kuzzle:7512/nyc-open-data/_create - curl -XPUT kuzzle:7512/nyc-open-data/yellow-taxi - after: -template: default -expected: Successfully get 2 documents \ No newline at end of file diff --git a/doc/7/controllers/document/m-replace/snippets/m-replace.test.yml b/doc/7/controllers/document/m-replace/snippets/m-replace.test.yml deleted file mode 100644 index 53bb7f341..000000000 --- a/doc/7/controllers/document/m-replace/snippets/m-replace.test.yml +++ /dev/null @@ -1,10 +0,0 @@ -name: document#mReplace -description: Replace documents -hooks: - before: | - curl -XDELETE kuzzle:7512/nyc-open-data - curl -XPOST kuzzle:7512/nyc-open-data/_create - curl -XPUT kuzzle:7512/nyc-open-data/yellow-taxi - after: -template: default -expected: Success \ No newline at end of file diff --git a/doc/7/controllers/document/m-update/snippets/m-update.test.yml b/doc/7/controllers/document/m-update/snippets/m-update.test.yml deleted file mode 100644 index c0a0a7543..000000000 --- a/doc/7/controllers/document/m-update/snippets/m-update.test.yml +++ /dev/null @@ -1,10 +0,0 @@ -name: document#mUpdate -description: Update documents -hooks: - before: | - curl -XDELETE kuzzle:7512/nyc-open-data - curl -XPOST kuzzle:7512/nyc-open-data/_create - curl -XPUT kuzzle:7512/nyc-open-data/yellow-taxi - after: -template: default -expected: Success diff --git a/doc/7/controllers/document/m-upsert/snippets/m-upsert.test.yml b/doc/7/controllers/document/m-upsert/snippets/m-upsert.test.yml deleted file mode 100644 index df7b29e7e..000000000 --- a/doc/7/controllers/document/m-upsert/snippets/m-upsert.test.yml +++ /dev/null @@ -1,10 +0,0 @@ -name: document#mUpsert -description: Update documents -hooks: - before: | - curl -XDELETE kuzzle:7512/nyc-open-data - curl -XPOST kuzzle:7512/nyc-open-data/_create - curl -XPUT kuzzle:7512/nyc-open-data/yellow-taxi - after: -template: default -expected: Success diff --git a/doc/7/controllers/document/replace/snippets/replace.test.yml b/doc/7/controllers/document/replace/snippets/replace.test.yml deleted file mode 100644 index 03bc0673d..000000000 --- a/doc/7/controllers/document/replace/snippets/replace.test.yml +++ /dev/null @@ -1,10 +0,0 @@ -name: document#replace -description: Replace a document -hooks: - before: | - curl -XDELETE kuzzle:7512/nyc-open-data - curl -XPOST kuzzle:7512/nyc-open-data/_create - curl -XPUT kuzzle:7512/nyc-open-data/yellow-taxi - after: -template: default -expected: Success diff --git a/doc/7/controllers/document/search/snippets/search-es.test.yml b/doc/7/controllers/document/search/snippets/search-es.test.yml deleted file mode 100644 index 0b64891c4..000000000 --- a/doc/7/controllers/document/search/snippets/search-es.test.yml +++ /dev/null @@ -1,10 +0,0 @@ -name: document#search-with-es -description: Search for documents -hooks: - before: | - curl -XDELETE kuzzle:7512/nyc-open-data - curl -XPOST kuzzle:7512/nyc-open-data/_create - curl -XPUT kuzzle:7512/nyc-open-data/yellow-taxi - after: -template: default -expected: Successfully retrieved 5 documents diff --git a/doc/7/controllers/document/search/snippets/search-koncorde.test.yml b/doc/7/controllers/document/search/snippets/search-koncorde.test.yml deleted file mode 100644 index 6b7db6962..000000000 --- a/doc/7/controllers/document/search/snippets/search-koncorde.test.yml +++ /dev/null @@ -1,10 +0,0 @@ -name: document#search-with-koncorde -description: Search for documents -hooks: - before: | - curl -XDELETE kuzzle:7512/nyc-open-data - curl -XPOST kuzzle:7512/nyc-open-data/_create - curl -XPUT kuzzle:7512/nyc-open-data/yellow-taxi - after: -template: default -expected: Successfully retrieved 5 documents diff --git a/doc/7/controllers/document/update-by-query/snippets/update-by-query-es.test.yml b/doc/7/controllers/document/update-by-query/snippets/update-by-query-es.test.yml deleted file mode 100644 index 2d1a69ff7..000000000 --- a/doc/7/controllers/document/update-by-query/snippets/update-by-query-es.test.yml +++ /dev/null @@ -1,21 +0,0 @@ -name: document#updateByQuery-es -description: Update documents matching query -hooks: - before: | - curl -XDELETE kuzzle:7512/nyc-open-data - curl -XPOST kuzzle:7512/nyc-open-data/_create - curl -XPUT kuzzle:7512/nyc-open-data/yellow-taxi - for i in 1 2 ; do - curl --fail -H "Content-type: application/json" -d '{"capacity": 4}' kuzzle:7512/nyc-open-data/yellow-taxi/document_$i/_create - done - for i in 1 2 3 4 5; do - curl --fail -H "Content-type: application/json" -d '{"capacity": 7}' kuzzle:7512/nyc-open-data/yellow-taxi/_create - done - curl -XPOST kuzzle:7512/nyc-open-data/yellow-taxi/_refresh - after: - - curl -XDELETE kuzzle:7512/nyc-open-data -template: print-result-successes -expected: - - "{ _id: 'document_1', _version: 2, status: 200 }" - - "{ _id: 'document_2', _version: 2, status: 200 }" - \ No newline at end of file diff --git a/doc/7/controllers/document/update-by-query/snippets/update-by-query-koncorde.test.yml b/doc/7/controllers/document/update-by-query/snippets/update-by-query-koncorde.test.yml deleted file mode 100644 index bd4fe1ca4..000000000 --- a/doc/7/controllers/document/update-by-query/snippets/update-by-query-koncorde.test.yml +++ /dev/null @@ -1,19 +0,0 @@ -name: document#updateByQuery-koncorde -description: Update documents matching query -hooks: - before: | - curl -XDELETE kuzzle:7512/nyc-open-data - curl -XPOST kuzzle:7512/nyc-open-data/_create - curl -XPUT kuzzle:7512/nyc-open-data/yellow-taxi - for i in 1 2 ; do - curl --fail -H "Content-type: application/json" -d '{"capacity": 4}' kuzzle:7512/nyc-open-data/yellow-taxi/document_$i/_create - done - for i in 1 2 3 4 5; do - curl --fail -H "Content-type: application/json" -d '{"capacity": 7}' kuzzle:7512/nyc-open-data/yellow-taxi/_create - done - curl -XPOST kuzzle:7512/nyc-open-data/yellow-taxi/_refresh - after: -template: print-result-successes -expected: - - "{ _id: 'document_1', _version: 2, status: 200 }" - - "{ _id: 'document_2', _version: 2, status: 200 }" \ No newline at end of file diff --git a/doc/7/controllers/document/update/snippets/update.test.yml b/doc/7/controllers/document/update/snippets/update.test.yml deleted file mode 100644 index 0a02276e5..000000000 --- a/doc/7/controllers/document/update/snippets/update.test.yml +++ /dev/null @@ -1,10 +0,0 @@ -name: document#update -description: Update a document -hooks: - before: | - curl -XDELETE kuzzle:7512/nyc-open-data - curl -XPOST kuzzle:7512/nyc-open-data/_create - curl -XPUT kuzzle:7512/nyc-open-data/yellow-taxi - after: -template: default -expected: "id: 'some-id'" diff --git a/doc/7/controllers/document/upsert/snippets/upsert.test.yml b/doc/7/controllers/document/upsert/snippets/upsert.test.yml deleted file mode 100644 index 535c3a9a1..000000000 --- a/doc/7/controllers/document/upsert/snippets/upsert.test.yml +++ /dev/null @@ -1,10 +0,0 @@ -name: document#upsert -description: Applies a partial update to an existing document. -hooks: - before: | - curl -XDELETE kuzzle:7512/nyc-open-data - curl -XPOST kuzzle:7512/nyc-open-data/_create - curl -XPUT kuzzle:7512/nyc-open-data/yellow-taxi - after: -template: default -expected: "_id: 'some-id'" \ No newline at end of file diff --git a/doc/7/controllers/document/validate/snippets/validate.test.yml b/doc/7/controllers/document/validate/snippets/validate.test.yml deleted file mode 100644 index 90b956d68..000000000 --- a/doc/7/controllers/document/validate/snippets/validate.test.yml +++ /dev/null @@ -1,10 +0,0 @@ -name: document#validate -description: Validate a document -hooks: - before: | - curl -XDELETE kuzzle:7512/nyc-open-data - curl -XPOST kuzzle:7512/nyc-open-data/_create - curl -XPUT kuzzle:7512/nyc-open-data/yellow-taxi - after: -template: default -expected: Success \ No newline at end of file diff --git a/doc/7/controllers/index.md b/doc/7/controllers/index.md index 60fde6aba..b8e205a11 100644 --- a/doc/7/controllers/index.md +++ b/doc/7/controllers/index.md @@ -1,7 +1,7 @@ --- code: false type: branch -order: 400 +order: 300 title: Controllers description: Javascript SDK v7.x controllers --- diff --git a/doc/7/controllers/index/create/snippets/create.test.yml b/doc/7/controllers/index/create/snippets/create.test.yml deleted file mode 100644 index 9d788fc11..000000000 --- a/doc/7/controllers/index/create/snippets/create.test.yml +++ /dev/null @@ -1,8 +0,0 @@ ---- -name: index#create -description: Creates a new index -hooks: - before: curl -X DELETE kuzzle:7512/nyc-open-data - after: -template: default -expected: "Index created" diff --git a/doc/7/controllers/index/delete/snippets/delete.test.yml b/doc/7/controllers/index/delete/snippets/delete.test.yml deleted file mode 100644 index 2ac5c0f1c..000000000 --- a/doc/7/controllers/index/delete/snippets/delete.test.yml +++ /dev/null @@ -1,11 +0,0 @@ ---- -name: index#delete -description: Delete an index -hooks: - before: curl -X POST kuzzle:7512/nyc-open-data/_create - after: -template: default -expected: Index deleted - -sdk: js -version: 7 diff --git a/doc/7/controllers/index/exists/snippets/exists.test.yml b/doc/7/controllers/index/exists/snippets/exists.test.yml deleted file mode 100644 index 39f3ee63e..000000000 --- a/doc/7/controllers/index/exists/snippets/exists.test.yml +++ /dev/null @@ -1,10 +0,0 @@ ---- -name: index#exists -description: Tests if an index exists -hooks: - before: | - curl -X POST kuzzle:7512/nyc-open-data/_create - curl -XPUT kuzzle:7512/nyc-open-data/yellow-taxi - after: -template: default -expected: Index exists diff --git a/doc/7/controllers/index/list/snippets/list.test.yml b/doc/7/controllers/index/list/snippets/list.test.yml deleted file mode 100644 index 78d4b08a7..000000000 --- a/doc/7/controllers/index/list/snippets/list.test.yml +++ /dev/null @@ -1,13 +0,0 @@ ---- -name: index#list -description: Lists indexes handled by kuzzle -hooks: - before: | - curl -X POST kuzzle:7512/admin/_resetDatabase - curl -X POST kuzzle:7512/nyc-open-data/_create - curl -X POST kuzzle:7512/mtp-open-data/_create - curl -XPUT kuzzle:7512/nyc-open-data/yellow-taxi - curl -XPUT kuzzle:7512/mtp-open-data/yellow-taxi - after: -template: default -expected: Kuzzle contains 2 indexes diff --git a/doc/7/controllers/index/m-delete/snippets/mDelete.test.yml b/doc/7/controllers/index/m-delete/snippets/mDelete.test.yml deleted file mode 100644 index 36dcbeecf..000000000 --- a/doc/7/controllers/index/m-delete/snippets/mDelete.test.yml +++ /dev/null @@ -1,13 +0,0 @@ ---- -name: index#mDelete -description: Delete multiple indexes -hooks: - before: | - curl -X POST kuzzle:7512/nyc-open-data/_create - curl -X POST kuzzle:7512/mtp-open-data/_create - after: -template: default -expected: Successfully deleted 2 indexes - -sdk: js -version: 7 diff --git a/doc/7/controllers/index/stats/snippets/stats.test.yml b/doc/7/controllers/index/stats/snippets/stats.test.yml deleted file mode 100644 index abf725fa9..000000000 --- a/doc/7/controllers/index/stats/snippets/stats.test.yml +++ /dev/null @@ -1,10 +0,0 @@ ---- -name: index#stats -description: Gets detailed storage statistics -hooks: - before: | - curl -X POST kuzzle:7512/nyc-open-data/_create - curl -XPUT kuzzle:7512/nyc-open-data/yellow-taxi - after: curl -X DELETE kuzzle:7512/nyc-open-data -template: catch -expected: ["documentCount":0] diff --git a/doc/7/controllers/ms/append/snippets/append.test.yml b/doc/7/controllers/ms/append/snippets/append.test.yml deleted file mode 100644 index f91d970fc..000000000 --- a/doc/7/controllers/ms/append/snippets/append.test.yml +++ /dev/null @@ -1,9 +0,0 @@ -name: ms#append -description: Appends a value to a key. If the key does not exist, it is created -hooks: - before: curl -X POST kuzzle:7512/ms/_flushdb - after: -template: default -expected: Hello World -sdk: js -version: 7 diff --git a/doc/7/controllers/ms/bitcount/snippets/bitcount.test.yml b/doc/7/controllers/ms/bitcount/snippets/bitcount.test.yml deleted file mode 100644 index 6ef685cde..000000000 --- a/doc/7/controllers/ms/bitcount/snippets/bitcount.test.yml +++ /dev/null @@ -1,11 +0,0 @@ -name: ms#bitcount -description: Counts the number of set bits (population counting) in a string -hooks: - before: curl -X POST kuzzle:7512/ms/_flushdb - after: -template: default -expected: - - 26 - - 4 -sdk: js -version: 7 diff --git a/doc/7/controllers/ms/bitop/snippets/bitop.test.yml b/doc/7/controllers/ms/bitop/snippets/bitop.test.yml deleted file mode 100644 index 0ebafc444..000000000 --- a/doc/7/controllers/ms/bitop/snippets/bitop.test.yml +++ /dev/null @@ -1,9 +0,0 @@ -name: ms#bitop -description: Performs a bitwise operation between multiple keys -hooks: - before: curl -X POST kuzzle:7512/ms/_flushdb - after: -template: default -expected: "`bc`ab" -sdk: js -version: 7 diff --git a/doc/7/controllers/ms/bitpos/snippets/bitpos.test.yml b/doc/7/controllers/ms/bitpos/snippets/bitpos.test.yml deleted file mode 100644 index 2c18a9273..000000000 --- a/doc/7/controllers/ms/bitpos/snippets/bitpos.test.yml +++ /dev/null @@ -1,9 +0,0 @@ -name: ms#bitpos -description: Returns the position of the first bit set to 1 or 0 in a string, or in a substring -hooks: - before: curl -X POST kuzzle:7512/ms/_flushdb - after: -template: default -expected: 23 -sdk: js -version: 7 diff --git a/doc/7/controllers/ms/dbsize/snippets/dbsize.test.yml b/doc/7/controllers/ms/dbsize/snippets/dbsize.test.yml deleted file mode 100644 index 9fa426728..000000000 --- a/doc/7/controllers/ms/dbsize/snippets/dbsize.test.yml +++ /dev/null @@ -1,9 +0,0 @@ -name: ms#dbsize -description: Returns the number of keys in the application database -hooks: - before: curl -X POST kuzzle:7512/ms/_flushdb - after: -template: default -expected: Success -sdk: js -version: 7 diff --git a/doc/7/controllers/ms/decr/snippets/decr.test.yml b/doc/7/controllers/ms/decr/snippets/decr.test.yml deleted file mode 100644 index c26ebd180..000000000 --- a/doc/7/controllers/ms/decr/snippets/decr.test.yml +++ /dev/null @@ -1,9 +0,0 @@ -name: ms#decr -description: Decrements the number stored at `key` by 1 -hooks: - before: curl -X POST kuzzle:7512/ms/_flushdb - after: -template: default -expected: 42 -sdk: js -version: 7 diff --git a/doc/7/controllers/ms/decrby/snippets/decrby.test.yml b/doc/7/controllers/ms/decrby/snippets/decrby.test.yml deleted file mode 100644 index ec212db25..000000000 --- a/doc/7/controllers/ms/decrby/snippets/decrby.test.yml +++ /dev/null @@ -1,9 +0,0 @@ -name: ms#decrby -description: Decrements the number stored at key by a provided integer value -hooks: - before: curl -X POST kuzzle:7512/ms/_flushdb - after: -template: default -expected: 42 -sdk: js -version: 7 diff --git a/doc/7/controllers/ms/del/snippets/del.test.yml b/doc/7/controllers/ms/del/snippets/del.test.yml deleted file mode 100644 index ea769247c..000000000 --- a/doc/7/controllers/ms/del/snippets/del.test.yml +++ /dev/null @@ -1,9 +0,0 @@ -name: ms#del -description: Deletes a list of keys -hooks: - before: curl -X POST kuzzle:7512/ms/_flushdb - after: -template: default -expected: 0 -sdk: js -version: 7 diff --git a/doc/7/controllers/ms/exists/snippets/exists.test.yml b/doc/7/controllers/ms/exists/snippets/exists.test.yml deleted file mode 100644 index 4b3bf9793..000000000 --- a/doc/7/controllers/ms/exists/snippets/exists.test.yml +++ /dev/null @@ -1,11 +0,0 @@ -name: ms#exists -description: Checks if the specified keys exist in the database -hooks: - before: curl -X POST kuzzle:7512/ms/_flushdb - after: -template: default -expected: - - ^0$ - - ^1$ -sdk: js -version: 7 diff --git a/doc/7/controllers/ms/expire/snippets/expire.test.yml b/doc/7/controllers/ms/expire/snippets/expire.test.yml deleted file mode 100644 index d37047170..000000000 --- a/doc/7/controllers/ms/expire/snippets/expire.test.yml +++ /dev/null @@ -1,11 +0,0 @@ -name: ms#expire -description: Sets a timeout (in seconds) on a key -hooks: - before: curl -X POST kuzzle:7512/ms/_flushdb - after: -template: default -expected: - - -1 - - ^[1-9]+ -sdk: js -version: 7 diff --git a/doc/7/controllers/ms/expireat/snippets/expireat.test.yml b/doc/7/controllers/ms/expireat/snippets/expireat.test.yml deleted file mode 100644 index 042b8875f..000000000 --- a/doc/7/controllers/ms/expireat/snippets/expireat.test.yml +++ /dev/null @@ -1,11 +0,0 @@ -name: ms#expireat -description: Sets an expiration timestamp on a key -hooks: - before: curl -X POST kuzzle:7512/ms/_flushdb - after: -template: default -expected: - - ^1$ - - ^0$ -sdk: js -version: 7 diff --git a/doc/7/controllers/ms/flushdb/snippets/flushdb.test.yml b/doc/7/controllers/ms/flushdb/snippets/flushdb.test.yml deleted file mode 100644 index e0cdd82d7..000000000 --- a/doc/7/controllers/ms/flushdb/snippets/flushdb.test.yml +++ /dev/null @@ -1,9 +0,0 @@ -name: ms#flushdb -description: Empties the database dedicated to client applications -hooks: - before: curl -X POST kuzzle:7512/ms/_flushdb - after: -template: default -expected: Success -sdk: js -version: 7 diff --git a/doc/7/controllers/ms/geoadd/snippets/geoadd.test.yml b/doc/7/controllers/ms/geoadd/snippets/geoadd.test.yml deleted file mode 100644 index e9d5cffd4..000000000 --- a/doc/7/controllers/ms/geoadd/snippets/geoadd.test.yml +++ /dev/null @@ -1,9 +0,0 @@ -name: ms#geoadd -description: Adds geospatial points to the specified key -hooks: - before: curl -X POST kuzzle:7512/ms/_flushdb - after: -template: default -expected: 2 -sdk: js -version: 7 diff --git a/doc/7/controllers/ms/geodist/snippets/geodist.test.yml b/doc/7/controllers/ms/geodist/snippets/geodist.test.yml deleted file mode 100644 index 4399eec57..000000000 --- a/doc/7/controllers/ms/geodist/snippets/geodist.test.yml +++ /dev/null @@ -1,11 +0,0 @@ -name: ms#geodist -description: Returns the distance between two geospatial members of a key -hooks: - before: curl -X POST kuzzle:7512/ms/_flushdb - after: -template: default -expected: - - 1367.8521 - - 4487.7038 -sdk: js -version: 7 diff --git a/doc/7/controllers/ms/geohash/snippets/geohash.test.yml b/doc/7/controllers/ms/geohash/snippets/geohash.test.yml deleted file mode 100644 index 8e1a21a46..000000000 --- a/doc/7/controllers/ms/geohash/snippets/geohash.test.yml +++ /dev/null @@ -1,9 +0,0 @@ -name: ms#geohash -description: Converts a key's geopoints into geohashes -hooks: - before: curl -X POST kuzzle:7512/ms/_flushdb - after: -template: default -expected: "[ 'spfb0frz6x0', 'spfb09jv9n0' ]" -sdk: js -version: 7 diff --git a/doc/7/controllers/ms/geopos/snippets/geopos.test.yml b/doc/7/controllers/ms/geopos/snippets/geopos.test.yml deleted file mode 100644 index 16c3f6247..000000000 --- a/doc/7/controllers/ms/geopos/snippets/geopos.test.yml +++ /dev/null @@ -1,11 +0,0 @@ -name: ms#geopos -description: Returns the positions of the provided key's members -hooks: - before: curl -X POST kuzzle:7512/ms/_flushdb - after: -template: default -expected: - - "\\[ 3.910904824733734, 43.607392252329916 ]," - - "\\[ 3.8971075415611267, 43.600221526170145 ]" -sdk: js -version: 7 diff --git a/doc/7/controllers/ms/georadius/snippets/georadius.test.yml b/doc/7/controllers/ms/georadius/snippets/georadius.test.yml deleted file mode 100644 index ca566f463..000000000 --- a/doc/7/controllers/ms/georadius/snippets/georadius.test.yml +++ /dev/null @@ -1,26 +0,0 @@ -name: ms#georadius -description: Returns the members of a given key inside the provided geospatial radius -hooks: - before: curl -X POST kuzzle:7512/ms/_flushdb - after: -template: default -expected: - - "\\[ { name: 'other HQ' }, { name: 'HQ' } ]" - - "\\[" - - "{ name: 'other HQ', distance: 4.9271 }," - - "{ name: 'HQ', distance: 4.596 }" - - "\\]" - - "\\[" - - "{" - - "name: 'HQ'," - - " distance: 4.596," - - " coordinates: \\[ 3.910904824733734, 43.607392252329916 ]" - - "}," - - "{" - - "name: 'other HQ'," - - " distance: 4.9271," - - " coordinates: \\[ 3.8971075415611267, 43.600221526170145 ]" - - "}" - - "\\]" -sdk: js -version: 7 diff --git a/doc/7/controllers/ms/georadiusbymember/snippets/georadiusbymember.test.yml b/doc/7/controllers/ms/georadiusbymember/snippets/georadiusbymember.test.yml deleted file mode 100644 index df41ec610..000000000 --- a/doc/7/controllers/ms/georadiusbymember/snippets/georadiusbymember.test.yml +++ /dev/null @@ -1,26 +0,0 @@ -name: ms#georadiusbymember -description: Returns the members of a given key inside a radius centered around a key's member -hooks: - before: curl -X POST kuzzle:7512/ms/_flushdb - after: -template: default -expected: - - "\\[ { name: '(other |)HQ' }, { name: '(other |)HQ' } ]" - - "\\[" - - "{ name: 'other HQ', distance: 1367.8521 }," - - "{ name: 'HQ', distance: 0 }" - - "\\]" - - "\\[" - - "{" - - "name: 'HQ'," - - " distance: 0," - - " coordinates: \\[ 3.910904824733734, 43.607392252329916 ]" - - "}," - - "{" - - "name: 'other HQ'," - - " distance: 1367.8521," - - " coordinates: \\[ 3.8971075415611267, 43.600221526170145 ]" - - "}" - - "\\]" -sdk: js -version: 7 diff --git a/doc/7/controllers/ms/get/snippets/get.test.yml b/doc/7/controllers/ms/get/snippets/get.test.yml deleted file mode 100644 index 5ed9267b3..000000000 --- a/doc/7/controllers/ms/get/snippets/get.test.yml +++ /dev/null @@ -1,9 +0,0 @@ -name: ms#get -description: Gets the value of a key -hooks: - before: curl -X POST kuzzle:7512/ms/_flushdb - after: -template: default -expected: bar -sdk: js -version: 7 diff --git a/doc/7/controllers/ms/getbit/snippets/getbit.test.yml b/doc/7/controllers/ms/getbit/snippets/getbit.test.yml deleted file mode 100644 index f8b2495de..000000000 --- a/doc/7/controllers/ms/getbit/snippets/getbit.test.yml +++ /dev/null @@ -1,11 +0,0 @@ -name: ms#getbit -description: Returns the bit value at the provided offset -hooks: - before: curl -X POST kuzzle:7512/ms/_flushdb - after: -template: default -expected: - - ^0$ - - ^1$ -sdk: js -version: 7 diff --git a/doc/7/controllers/ms/getrange/snippets/getrange.test.yml b/doc/7/controllers/ms/getrange/snippets/getrange.test.yml deleted file mode 100644 index e7ad84f28..000000000 --- a/doc/7/controllers/ms/getrange/snippets/getrange.test.yml +++ /dev/null @@ -1,11 +0,0 @@ -name: ms#getrange -description: Returns a substring of a key's value -hooks: - before: curl -X POST kuzzle:7512/ms/_flushdb - after: -template: default -expected: - - ^oba$ - - ^bar$ -sdk: js -version: 7 diff --git a/doc/7/controllers/ms/getset/snippets/getset.test.yml b/doc/7/controllers/ms/getset/snippets/getset.test.yml deleted file mode 100644 index 4e177063b..000000000 --- a/doc/7/controllers/ms/getset/snippets/getset.test.yml +++ /dev/null @@ -1,11 +0,0 @@ -name: ms#getset -description: Sets a new value for a key, and returns its previously stored value -hooks: - before: curl -X POST kuzzle:7512/ms/_flushdb - after: -template: default -expected: - - ^bar$ - - ^qux$ -sdk: js -version: 7 diff --git a/doc/7/controllers/ms/hdel/snippets/hdel.test.yml b/doc/7/controllers/ms/hdel/snippets/hdel.test.yml deleted file mode 100644 index 148b4e98b..000000000 --- a/doc/7/controllers/ms/hdel/snippets/hdel.test.yml +++ /dev/null @@ -1,11 +0,0 @@ -name: ms#hdel -description: Removes fields from a hash -hooks: - before: curl -X POST kuzzle:7512/ms/_flushdb - after: -template: default -expected: - - ^2$ - - ^1$ -sdk: js -version: 7 diff --git a/doc/7/controllers/ms/hexists/snippets/hexists.test.yml b/doc/7/controllers/ms/hexists/snippets/hexists.test.yml deleted file mode 100644 index 9472f8dcd..000000000 --- a/doc/7/controllers/ms/hexists/snippets/hexists.test.yml +++ /dev/null @@ -1,11 +0,0 @@ -name: ms#hexists -description: Checks if a field exists in a hash -hooks: - before: curl -X POST kuzzle:7512/ms/_flushdb - after: -template: default -expected: - - ^false$ - - ^true$ -sdk: js -version: 7 diff --git a/doc/7/controllers/ms/hget/snippets/hget.test.yml b/doc/7/controllers/ms/hget/snippets/hget.test.yml deleted file mode 100644 index 836d6ed6b..000000000 --- a/doc/7/controllers/ms/hget/snippets/hget.test.yml +++ /dev/null @@ -1,9 +0,0 @@ -name: ms#hget -description: Returns the field's value of a hash -hooks: - before: curl -X POST kuzzle:7512/ms/_flushdb - after: -template: default -expected: ^bar$ -sdk: js -version: 7 diff --git a/doc/7/controllers/ms/hgetall/snippets/hgetall.test.yml b/doc/7/controllers/ms/hgetall/snippets/hgetall.test.yml deleted file mode 100644 index ddd4ede22..000000000 --- a/doc/7/controllers/ms/hgetall/snippets/hgetall.test.yml +++ /dev/null @@ -1,9 +0,0 @@ -name: ms#hgetall -description: Returns all fields and values of a hash -hooks: - before: curl -X POST kuzzle:7512/ms/_flushdb - after: -template: default -expected: "{ field1: 'val1', field2: 'val2' }" -sdk: js -version: 7 diff --git a/doc/7/controllers/ms/hincrby/snippets/hincrby.test.yml b/doc/7/controllers/ms/hincrby/snippets/hincrby.test.yml deleted file mode 100644 index 67add34a4..000000000 --- a/doc/7/controllers/ms/hincrby/snippets/hincrby.test.yml +++ /dev/null @@ -1,9 +0,0 @@ -name: ms#hincrby -description: Increments the number stored in a hash field by the provided integer value -hooks: - before: curl -X POST kuzzle:7512/ms/_flushdb - after: -template: default -expected: ^42$ -sdk: js -version: 7 diff --git a/doc/7/controllers/ms/hincrbyfloat/snippets/hincrbyfloat.test.yml b/doc/7/controllers/ms/hincrbyfloat/snippets/hincrbyfloat.test.yml deleted file mode 100644 index fb44aa110..000000000 --- a/doc/7/controllers/ms/hincrbyfloat/snippets/hincrbyfloat.test.yml +++ /dev/null @@ -1,9 +0,0 @@ -name: ms#hincrbyfloat -description: Increments the number stored in a hash field by the provided float value -hooks: - before: curl -X POST kuzzle:7512/ms/_flushdb - after: -template: default -expected: ^3.14159$ -sdk: js -version: 7 diff --git a/doc/7/controllers/ms/hkeys/snippets/hkeys.test.yml b/doc/7/controllers/ms/hkeys/snippets/hkeys.test.yml deleted file mode 100644 index a58eb6373..000000000 --- a/doc/7/controllers/ms/hkeys/snippets/hkeys.test.yml +++ /dev/null @@ -1,9 +0,0 @@ -name: ms#hkeys -description: Returns all field names contained in a hash -hooks: - before: curl -X POST kuzzle:7512/ms/_flushdb - after: -template: default -expected: \[ 'never', 'gonna', 'give you up' ] -sdk: js -version: 7 diff --git a/doc/7/controllers/ms/hlen/snippets/hlen.test.yml b/doc/7/controllers/ms/hlen/snippets/hlen.test.yml deleted file mode 100644 index 310269bd1..000000000 --- a/doc/7/controllers/ms/hlen/snippets/hlen.test.yml +++ /dev/null @@ -1,9 +0,0 @@ -name: ms#hlen -description: Returns the number of fields contained in a hash -hooks: - before: curl -X POST kuzzle:7512/ms/_flushdb - after: -template: default -expected: ^3$ -sdk: js -version: 7 diff --git a/doc/7/controllers/ms/hmget/snippets/hmget.test.yml b/doc/7/controllers/ms/hmget/snippets/hmget.test.yml deleted file mode 100644 index 3a9fe86e3..000000000 --- a/doc/7/controllers/ms/hmget/snippets/hmget.test.yml +++ /dev/null @@ -1,9 +0,0 @@ -name: ms#hmget -description: Returns the values of the specified hash's fields -hooks: - before: curl -X POST kuzzle:7512/ms/_flushdb - after: -template: default -expected: \[ 'val3', 'val1' ] -sdk: js -version: 7 diff --git a/doc/7/controllers/ms/hmset/snippets/hmset.test.yml b/doc/7/controllers/ms/hmset/snippets/hmset.test.yml deleted file mode 100644 index db76dc3c6..000000000 --- a/doc/7/controllers/ms/hmset/snippets/hmset.test.yml +++ /dev/null @@ -1,9 +0,0 @@ -name: ms#hmset -description: Sets multiple fields at once in a hash -hooks: - before: curl -X POST kuzzle:7512/ms/_flushdb - after: -template: default -expected: { key1: 'val1', key2: 'val2', key3: 'val3' } -sdk: js -version: 7 diff --git a/doc/7/controllers/ms/hscan/snippets/hscan.test.yml b/doc/7/controllers/ms/hscan/snippets/hscan.test.yml deleted file mode 100644 index 7a4a6350a..000000000 --- a/doc/7/controllers/ms/hscan/snippets/hscan.test.yml +++ /dev/null @@ -1,13 +0,0 @@ -name: ms#hscan -description: Iterates incrementally over fields contained in a hash, using a cursor -hooks: - before: curl -X POST kuzzle:7512/ms/_flushdb - after: -template: default -expected: - - "{" - - "cursor: '0'," - - "values: \\[ 'key1', 'val1', 'key2', 'val2', 'key3', 'val3' ]" - - "}" -sdk: js -version: 7 diff --git a/doc/7/controllers/ms/hset/snippets/hset.test.yml b/doc/7/controllers/ms/hset/snippets/hset.test.yml deleted file mode 100644 index 784c0298c..000000000 --- a/doc/7/controllers/ms/hset/snippets/hset.test.yml +++ /dev/null @@ -1,9 +0,0 @@ -name: ms#hset -description: Sets a field and its value in a hash -hooks: - before: curl -X POST kuzzle:7512/ms/_flushdb - after: -template: default -expected: "{ foo: 'bar' }" -sdk: js -version: 7 diff --git a/doc/7/controllers/ms/hsetnx/snippets/hsetnx.test.yml b/doc/7/controllers/ms/hsetnx/snippets/hsetnx.test.yml deleted file mode 100644 index 098dfd243..000000000 --- a/doc/7/controllers/ms/hsetnx/snippets/hsetnx.test.yml +++ /dev/null @@ -1,12 +0,0 @@ -name: ms#hsetnx -description: Sets a field and its value in a hash, only if the field does not already exist -hooks: - before: curl -X POST kuzzle:7512/ms/_flushdb - after: -template: default -expected: - - ^true$ - - ^false$ - - ^bar$ -sdk: js -version: 7 diff --git a/doc/7/controllers/ms/hstrlen/snippets/hstrlen.test.yml b/doc/7/controllers/ms/hstrlen/snippets/hstrlen.test.yml deleted file mode 100644 index d6bf484e3..000000000 --- a/doc/7/controllers/ms/hstrlen/snippets/hstrlen.test.yml +++ /dev/null @@ -1,9 +0,0 @@ -name: ms#hstrlen -description: Returns the string length of a field's value in a hash -hooks: - before: curl -X POST kuzzle:7512/ms/_flushdb - after: -template: default -expected: ^3$ -sdk: js -version: 7 diff --git a/doc/7/controllers/ms/hvals/snippets/hvals.test.yml b/doc/7/controllers/ms/hvals/snippets/hvals.test.yml deleted file mode 100644 index 1d6bff50d..000000000 --- a/doc/7/controllers/ms/hvals/snippets/hvals.test.yml +++ /dev/null @@ -1,9 +0,0 @@ -name: ms#hvals -description: Returns all values contained in a hash -hooks: - before: curl -X POST kuzzle:7512/ms/_flushdb - after: -template: default -expected: "\\[ 'val1', 'val2', 'val3' ]" -sdk: js -version: 7 diff --git a/doc/7/controllers/ms/incr/snippets/incr.test.yml b/doc/7/controllers/ms/incr/snippets/incr.test.yml deleted file mode 100644 index f9542ffea..000000000 --- a/doc/7/controllers/ms/incr/snippets/incr.test.yml +++ /dev/null @@ -1,9 +0,0 @@ -name: ms#incr -description: Increments the number stored at key by 1 -hooks: - before: curl -X POST kuzzle:7512/ms/_flushdb - after: -template: default -expected: ^42$ -sdk: js -version: 7 diff --git a/doc/7/controllers/ms/incrby/snippets/incrby.test.yml b/doc/7/controllers/ms/incrby/snippets/incrby.test.yml deleted file mode 100644 index 1a80c9c01..000000000 --- a/doc/7/controllers/ms/incrby/snippets/incrby.test.yml +++ /dev/null @@ -1,9 +0,0 @@ -name: ms#incrby -description: Increments the number stored at `key` by the provided integer value -hooks: - before: curl -X POST kuzzle:7512/ms/_flushdb - after: -template: default -expected: ^42$ -sdk: js -version: 7 diff --git a/doc/7/controllers/ms/incrbyfloat/snippets/incrbyfloat.test.yml b/doc/7/controllers/ms/incrbyfloat/snippets/incrbyfloat.test.yml deleted file mode 100644 index 11fb06e70..000000000 --- a/doc/7/controllers/ms/incrbyfloat/snippets/incrbyfloat.test.yml +++ /dev/null @@ -1,9 +0,0 @@ -name: ms#incrbyfloat -description: Increments the number stored at key by the provided float value -hooks: - before: curl -X POST kuzzle:7512/ms/_flushdb - after: -template: default -expected: ^3.14159$ -sdk: js -version: 7 diff --git a/doc/7/controllers/ms/keys/snippets/keys.test.yml b/doc/7/controllers/ms/keys/snippets/keys.test.yml deleted file mode 100644 index 7e810e066..000000000 --- a/doc/7/controllers/ms/keys/snippets/keys.test.yml +++ /dev/null @@ -1,9 +0,0 @@ -name: ms#keys -description: Returns all keys matching the provided pattern -hooks: - before: curl -X POST kuzzle:7512/ms/_flushdb - after: -template: default -expected: "\\[ '(Hello|foo)', '(Hello|foo)' ]" -sdk: js -version: 7 diff --git a/doc/7/controllers/ms/lindex/snippets/lindex.test.yml b/doc/7/controllers/ms/lindex/snippets/lindex.test.yml deleted file mode 100644 index 620d61e93..000000000 --- a/doc/7/controllers/ms/lindex/snippets/lindex.test.yml +++ /dev/null @@ -1,9 +0,0 @@ -name: ms#lindex -description: Returns the element at the provided index in a list -hooks: - before: curl -X POST kuzzle:7512/ms/_flushdb - after: -template: default -expected: ^bar$ -sdk: js -version: 7 diff --git a/doc/7/controllers/ms/linsert/snippets/linsert.test.yml b/doc/7/controllers/ms/linsert/snippets/linsert.test.yml deleted file mode 100644 index d350423cb..000000000 --- a/doc/7/controllers/ms/linsert/snippets/linsert.test.yml +++ /dev/null @@ -1,9 +0,0 @@ -name: ms#linsert -description: Inserts a value in a list, either before or after a pivot value -hooks: - before: curl -X POST kuzzle:7512/ms/_flushdb - after: -template: default -expected: "\\[ 'foo', 'qux', 'bar', 'baz' ]" -sdk: js -version: 7 diff --git a/doc/7/controllers/ms/llen/snippets/llen.test.yml b/doc/7/controllers/ms/llen/snippets/llen.test.yml deleted file mode 100644 index c6c154190..000000000 --- a/doc/7/controllers/ms/llen/snippets/llen.test.yml +++ /dev/null @@ -1,9 +0,0 @@ -name: ms#llen -description: Returns the length of a list -hooks: - before: curl -X POST kuzzle:7512/ms/_flushdb - after: -template: default -expected: ^3$ -sdk: js -version: 7 diff --git a/doc/7/controllers/ms/lpop/snippets/lpop.test.yml b/doc/7/controllers/ms/lpop/snippets/lpop.test.yml deleted file mode 100644 index 6176d2303..000000000 --- a/doc/7/controllers/ms/lpop/snippets/lpop.test.yml +++ /dev/null @@ -1,11 +0,0 @@ -name: ms#lpop -description: Removes and returns the first element of a list -hooks: - before: curl -X POST kuzzle:7512/ms/_flushdb - after: -template: default -expected: - - ^foo$ - - "\\[ 'bar', 'baz' ]" -sdk: js -version: 7 diff --git a/doc/7/controllers/ms/lpush/snippets/lpush.test.yml b/doc/7/controllers/ms/lpush/snippets/lpush.test.yml deleted file mode 100644 index 250b73f75..000000000 --- a/doc/7/controllers/ms/lpush/snippets/lpush.test.yml +++ /dev/null @@ -1,11 +0,0 @@ -name: ms#lpush -description: Prepends the specified values to a list -hooks: - before: curl -X POST kuzzle:7512/ms/_flushdb - after: -template: default -expected: - - ^3$ - - "\\[ 'Hello', 'World', 'foobar' ]" -sdk: js -version: 7 diff --git a/doc/7/controllers/ms/lpushx/snippets/lpushx.test.yml b/doc/7/controllers/ms/lpushx/snippets/lpushx.test.yml deleted file mode 100644 index d18a4feee..000000000 --- a/doc/7/controllers/ms/lpushx/snippets/lpushx.test.yml +++ /dev/null @@ -1,13 +0,0 @@ -name: ms#lpushx -description: Prepends the specified value to an existing list -hooks: - before: curl -X POST kuzzle:7512/ms/_flushdb - after: -template: default -expected: - - ^0$ - - "\\[]" - - ^2$ - - "\\[ 'foo', 'bar' ]" -sdk: js -version: 7 diff --git a/doc/7/controllers/ms/lrange/snippets/lrange.test.yml b/doc/7/controllers/ms/lrange/snippets/lrange.test.yml deleted file mode 100644 index 8be25064d..000000000 --- a/doc/7/controllers/ms/lrange/snippets/lrange.test.yml +++ /dev/null @@ -1,11 +0,0 @@ -name: ms#lrange -description: Returns the list elements between the start and stop positions -hooks: - before: curl -X POST kuzzle:7512/ms/_flushdb - after: -template: default -expected: - - "\\[ 'b', 'c', 'd' ]" - - "\\[ 'd', 'e' ]" -sdk: js -version: 7 diff --git a/doc/7/controllers/ms/lrem/snippets/lrem.test.yml b/doc/7/controllers/ms/lrem/snippets/lrem.test.yml deleted file mode 100644 index d492c7f7b..000000000 --- a/doc/7/controllers/ms/lrem/snippets/lrem.test.yml +++ /dev/null @@ -1,11 +0,0 @@ -name: ms#lrem -description: Removes the first occurences of an element from a list -hooks: - before: curl -X POST kuzzle:7512/ms/_flushdb - after: -template: default -expected: - - ^2$ - - "\\[ 'bar', 'baz', 'foo' ]" -sdk: js -version: 7 diff --git a/doc/7/controllers/ms/lset/snippets/lset.test.yml b/doc/7/controllers/ms/lset/snippets/lset.test.yml deleted file mode 100644 index b6f389998..000000000 --- a/doc/7/controllers/ms/lset/snippets/lset.test.yml +++ /dev/null @@ -1,9 +0,0 @@ -name: ms#lset -description: Sets the list element at index with the provided value -hooks: - before: curl -X POST kuzzle:7512/ms/_flushdb - after: -template: default -expected: "\\[ 'foo', 'bar', 'baz' ]" -sdk: js -version: 7 diff --git a/doc/7/controllers/ms/ltrim/snippets/ltrim.test.yml b/doc/7/controllers/ms/ltrim/snippets/ltrim.test.yml deleted file mode 100644 index 1dde32082..000000000 --- a/doc/7/controllers/ms/ltrim/snippets/ltrim.test.yml +++ /dev/null @@ -1,9 +0,0 @@ -name: ms#ltrim -description: Trims an existing list -hooks: - before: curl -X POST kuzzle:7512/ms/_flushdb - after: -template: default -expected: "\\[ 'd', 'e' ]" -sdk: js -version: 7 diff --git a/doc/7/controllers/ms/mexecute/snippets/mexecute.test.yml b/doc/7/controllers/ms/mexecute/snippets/mexecute.test.yml deleted file mode 100644 index 1ba5492fd..000000000 --- a/doc/7/controllers/ms/mexecute/snippets/mexecute.test.yml +++ /dev/null @@ -1,7 +0,0 @@ -name: ms#mexecute -description: Executes multiple commands in a single step -hooks: - before: curl -X POST kuzzle:7512/ms/_flushdb - after: -template: default -expected: "\\[ \\[ null, 'OK' ], \\[ null, '1' ], \\[ null, 1 ] ]" diff --git a/doc/7/controllers/ms/mget/snippets/mget.test.yml b/doc/7/controllers/ms/mget/snippets/mget.test.yml deleted file mode 100644 index 516621e76..000000000 --- a/doc/7/controllers/ms/mget/snippets/mget.test.yml +++ /dev/null @@ -1,9 +0,0 @@ -name: ms#mget -description: Returns the values of the provided keys -hooks: - before: curl -X POST kuzzle:7512/ms/_flushdb - after: -template: default -expected: "\\[ 'world', 'bar' ]" -sdk: js -version: 7 diff --git a/doc/7/controllers/ms/mset/snippets/mset.test.yml b/doc/7/controllers/ms/mset/snippets/mset.test.yml deleted file mode 100644 index 91d0cac2c..000000000 --- a/doc/7/controllers/ms/mset/snippets/mset.test.yml +++ /dev/null @@ -1,11 +0,0 @@ -name: ms#mset -description: Sets the provided keys to their respective values -hooks: - before: curl -X POST kuzzle:7512/ms/_flushdb - after: -template: default -expected: - - ^0$ - - ^3$ -sdk: js -version: 7 diff --git a/doc/7/controllers/ms/msetnx/snippets/msetnx.test.yml b/doc/7/controllers/ms/msetnx/snippets/msetnx.test.yml deleted file mode 100644 index 72969f01c..000000000 --- a/doc/7/controllers/ms/msetnx/snippets/msetnx.test.yml +++ /dev/null @@ -1,11 +0,0 @@ -name: ms#msetnx -description: Sets the provided keys to their respective values, only if they do not exist -hooks: - before: curl -X POST kuzzle:7512/ms/_flushdb - after: -template: default -expected: - - ^false$ - - ^true$ -sdk: js -version: 7 diff --git a/doc/7/controllers/ms/object/snippets/object.test.yml b/doc/7/controllers/ms/object/snippets/object.test.yml deleted file mode 100644 index c3661b284..000000000 --- a/doc/7/controllers/ms/object/snippets/object.test.yml +++ /dev/null @@ -1,9 +0,0 @@ -name: ms#object -description: Inspects the low-level properties of a key -hooks: - before: curl -X POST kuzzle:7512/ms/_flushdb - after: -template: default -expected: ^hashtable$ -sdk: js -version: 7 diff --git a/doc/7/controllers/ms/persist/snippets/persist.test.yml b/doc/7/controllers/ms/persist/snippets/persist.test.yml deleted file mode 100644 index 9d12c1fb4..000000000 --- a/doc/7/controllers/ms/persist/snippets/persist.test.yml +++ /dev/null @@ -1,11 +0,0 @@ -name: ms#persist -description: Removes the expiration delay or timestamp from a key, making it persistent -hooks: - before: curl -X POST kuzzle:7512/ms/_flushdb - after: -template: default -expected: - - ^[0-9]+$ - - "-1" -sdk: js -version: 7 diff --git a/doc/7/controllers/ms/pexpire/snippets/pexpire.test.yml b/doc/7/controllers/ms/pexpire/snippets/pexpire.test.yml deleted file mode 100644 index 80028bff1..000000000 --- a/doc/7/controllers/ms/pexpire/snippets/pexpire.test.yml +++ /dev/null @@ -1,11 +0,0 @@ -name: ms#pexpire -description: Sets a timeout (in milliseconds) on a key -hooks: - before: curl -X POST kuzzle:7512/ms/_flushdb - after: -template: default -expected: - - ^-1$ - - ^[0-9]{1,2}$ -sdk: js -version: 7 diff --git a/doc/7/controllers/ms/pexpireat/snippets/pexpireat.test.yml b/doc/7/controllers/ms/pexpireat/snippets/pexpireat.test.yml deleted file mode 100644 index 382ca4879..000000000 --- a/doc/7/controllers/ms/pexpireat/snippets/pexpireat.test.yml +++ /dev/null @@ -1,11 +0,0 @@ -name: ms#pexpireat -description: Sets an expiration timestamp on a key -hooks: - before: curl -X POST kuzzle:7512/ms/_flushdb - after: -template: default -expected: - - ^1$ - - ^0$ -sdk: js -version: 7 diff --git a/doc/7/controllers/ms/pfadd/snippets/pfadd.test.yml b/doc/7/controllers/ms/pfadd/snippets/pfadd.test.yml deleted file mode 100644 index 47d72f9de..000000000 --- a/doc/7/controllers/ms/pfadd/snippets/pfadd.test.yml +++ /dev/null @@ -1,9 +0,0 @@ -name: ms#pfadd -description: Adds elements to a HyperLogLog data structure -hooks: - before: curl -X POST kuzzle:7512/ms/_flushdb - after: -template: default -expected: ^4$ -sdk: js -version: 7 diff --git a/doc/7/controllers/ms/pfcount/snippets/pfcount.test.yml b/doc/7/controllers/ms/pfcount/snippets/pfcount.test.yml deleted file mode 100644 index 4f4fa8926..000000000 --- a/doc/7/controllers/ms/pfcount/snippets/pfcount.test.yml +++ /dev/null @@ -1,9 +0,0 @@ -name: ms#pfcount -description: Returns the probabilistic cardinality of a HyperLogLog data structure -hooks: - before: curl -X POST kuzzle:7512/ms/_flushdb - after: -template: default -expected: ^5$ -sdk: js -version: 7 diff --git a/doc/7/controllers/ms/pfmerge/snippets/pfmerge.test.yml b/doc/7/controllers/ms/pfmerge/snippets/pfmerge.test.yml deleted file mode 100644 index 1402c2c86..000000000 --- a/doc/7/controllers/ms/pfmerge/snippets/pfmerge.test.yml +++ /dev/null @@ -1,9 +0,0 @@ -name: ms#pfmerge -description: Merges multiple HyperLogLog data structures -hooks: - before: curl -X POST kuzzle:7512/ms/_flushdb - after: -template: default -expected: ^5$ -sdk: js -version: 7 diff --git a/doc/7/controllers/ms/ping/snippets/ping.test.yml b/doc/7/controllers/ms/ping/snippets/ping.test.yml deleted file mode 100644 index e5e1e2d7a..000000000 --- a/doc/7/controllers/ms/ping/snippets/ping.test.yml +++ /dev/null @@ -1,9 +0,0 @@ -name: ms#ping -description: Pings the memory storage database -hooks: - before: curl -X POST kuzzle:7512/ms/_flushdb - after: -template: default -expected: ^PONG$ -sdk: js -version: 7 diff --git a/doc/7/controllers/ms/psetex/snippets/psetex.test.yml b/doc/7/controllers/ms/psetex/snippets/psetex.test.yml deleted file mode 100644 index 4b237d7e3..000000000 --- a/doc/7/controllers/ms/psetex/snippets/psetex.test.yml +++ /dev/null @@ -1,11 +0,0 @@ -name: ms#psetex -description: Sets a key with the provided value, and an expiration delay expressed in milliseconds -hooks: - before: curl -X POST kuzzle:7512/ms/_flushdb - after: -template: default -expected: - - ^[0-9]{1,2}$ - - ^bar$ -sdk: js -version: 7 diff --git a/doc/7/controllers/ms/pttl/snippets/pttl.test.yml b/doc/7/controllers/ms/pttl/snippets/pttl.test.yml deleted file mode 100644 index a780758d2..000000000 --- a/doc/7/controllers/ms/pttl/snippets/pttl.test.yml +++ /dev/null @@ -1,9 +0,0 @@ -name: ms#pttl -description: Returns the remaining time to live of a key, in milliseconds -hooks: - before: curl -X POST kuzzle:7512/ms/_flushdb - after: -template: default -expected: ^[0-9]+$ -sdk: js -version: 7 diff --git a/doc/7/controllers/ms/randomkey/snippets/randomkey.test.yml b/doc/7/controllers/ms/randomkey/snippets/randomkey.test.yml deleted file mode 100644 index d26e2988d..000000000 --- a/doc/7/controllers/ms/randomkey/snippets/randomkey.test.yml +++ /dev/null @@ -1,9 +0,0 @@ -name: ms#randomkey -description: Returns a key identifier from the memory storage, at random -hooks: - before: curl -X POST kuzzle:7512/ms/_flushdb - after: -template: default -expected: ^(foo|bar|baz)$ -sdk: js -version: 7 diff --git a/doc/7/controllers/ms/rename/snippets/rename.test.yml b/doc/7/controllers/ms/rename/snippets/rename.test.yml deleted file mode 100644 index 939ccdb91..000000000 --- a/doc/7/controllers/ms/rename/snippets/rename.test.yml +++ /dev/null @@ -1,9 +0,0 @@ -name: ms#rename -description: Renames a key -hooks: - before: curl -X POST kuzzle:7512/ms/_flushdb - after: -template: default -expected: ^World$ -sdk: js -version: 7 diff --git a/doc/7/controllers/ms/renamenx/snippets/renamenx.test.yml b/doc/7/controllers/ms/renamenx/snippets/renamenx.test.yml deleted file mode 100644 index 453cfc325..000000000 --- a/doc/7/controllers/ms/renamenx/snippets/renamenx.test.yml +++ /dev/null @@ -1,11 +0,0 @@ -name: ms#renamenx -description: Renames a key, only if the new name is not already used -hooks: - before: curl -X POST kuzzle:7512/ms/_flushdb - after: -template: default -expected: - - ^false$ - - ^true$ -sdk: js -version: 7 diff --git a/doc/7/controllers/ms/rpop/snippets/rpop.test.yml b/doc/7/controllers/ms/rpop/snippets/rpop.test.yml deleted file mode 100644 index 06ea9fa48..000000000 --- a/doc/7/controllers/ms/rpop/snippets/rpop.test.yml +++ /dev/null @@ -1,11 +0,0 @@ -name: ms#rpop -description: Removes the last element of a list and returns it -hooks: - before: curl -X POST kuzzle:7512/ms/_flushdb - after: -template: default -expected: - - ^baz$ - - "\\[ 'foo', 'bar' ]" -sdk: js -version: 7 diff --git a/doc/7/controllers/ms/rpoplpush/snippets/rpoplpush.test.yml b/doc/7/controllers/ms/rpoplpush/snippets/rpoplpush.test.yml deleted file mode 100644 index cc49a9424..000000000 --- a/doc/7/controllers/ms/rpoplpush/snippets/rpoplpush.test.yml +++ /dev/null @@ -1,11 +0,0 @@ -name: ms#rpoplpush -description: Removes the last element of a list, and pushes it back at the start of another list -hooks: - before: curl -X POST kuzzle:7512/ms/_flushdb - after: -template: default -expected: - - ^never$ - - "\\[ 'never', 'gonna', 'give', 'you', 'up' ]" -sdk: js -version: 7 diff --git a/doc/7/controllers/ms/rpush/snippets/rpush.test.yml b/doc/7/controllers/ms/rpush/snippets/rpush.test.yml deleted file mode 100644 index 3a91d2574..000000000 --- a/doc/7/controllers/ms/rpush/snippets/rpush.test.yml +++ /dev/null @@ -1,9 +0,0 @@ -name: ms#rpush -description: Appends values at the end of a list -hooks: - before: curl -X POST kuzzle:7512/ms/_flushdb - after: -template: default -expected: "\\[ 'foo', 'bar', 'baz' ]" -sdk: js -version: 7 diff --git a/doc/7/controllers/ms/rpushx/snippets/rpushx.test.yml b/doc/7/controllers/ms/rpushx/snippets/rpushx.test.yml deleted file mode 100644 index f1acb8892..000000000 --- a/doc/7/controllers/ms/rpushx/snippets/rpushx.test.yml +++ /dev/null @@ -1,11 +0,0 @@ -name: ms#rpushx -description: Appends a value at the end of an existing list -hooks: - before: curl -X POST kuzzle:7512/ms/_flushdb - after: -template: default -expected: - - ^0$ - - ^4$ -sdk: js -version: 7 diff --git a/doc/7/controllers/ms/sadd/snippets/sadd.test.yml b/doc/7/controllers/ms/sadd/snippets/sadd.test.yml deleted file mode 100644 index ae7ed6e91..000000000 --- a/doc/7/controllers/ms/sadd/snippets/sadd.test.yml +++ /dev/null @@ -1,12 +0,0 @@ -name: ms#sadd -description: Adds members to a set of unique values stored at key -hooks: - before: curl -X POST kuzzle:7512/ms/_flushdb - after: -template: default -expected: - - ^2$ - - ^1$ - - "\\[ '(foo|bar|baz)', '(foo|bar|baz)', '(foo|bar|baz)' ]" -sdk: js -version: 7 diff --git a/doc/7/controllers/ms/scan/snippets/scan.test.yml b/doc/7/controllers/ms/scan/snippets/scan.test.yml deleted file mode 100644 index 1a7c641c2..000000000 --- a/doc/7/controllers/ms/scan/snippets/scan.test.yml +++ /dev/null @@ -1,11 +0,0 @@ -name: ms#scan -description: Iterates incrementally over the set of keys in the database using a cursor -hooks: - before: curl -X POST kuzzle:7512/ms/_flushdb - after: -template: default -expected: - - "{ cursor: '0', values: \\[ 'key[123]', 'key[123]', 'key[123]' ] }" - -sdk: js -version: 7 diff --git a/doc/7/controllers/ms/scard/snippets/scard.test.yml b/doc/7/controllers/ms/scard/snippets/scard.test.yml deleted file mode 100644 index df639e612..000000000 --- a/doc/7/controllers/ms/scard/snippets/scard.test.yml +++ /dev/null @@ -1,9 +0,0 @@ -name: ms#scard -description: Returns the number of members stored in a set of unique values -hooks: - before: curl -X POST kuzzle:7512/ms/_flushdb - after: -template: default -expected: ^3$ -sdk: js -version: 7 diff --git a/doc/7/controllers/ms/sdiff/snippets/sdiff.test.yml b/doc/7/controllers/ms/sdiff/snippets/sdiff.test.yml deleted file mode 100644 index 2f8d3d2c7..000000000 --- a/doc/7/controllers/ms/sdiff/snippets/sdiff.test.yml +++ /dev/null @@ -1,9 +0,0 @@ -name: ms#sdiff -description: Returns the difference between a reference set and a list of other sets -hooks: - before: curl -X POST kuzzle:7512/ms/_flushdb - after: -template: default -expected: "\\[ 'baz' ]" -sdk: js -version: 7 diff --git a/doc/7/controllers/ms/sdiffstore/snippets/sdiffstore.test.yml b/doc/7/controllers/ms/sdiffstore/snippets/sdiffstore.test.yml deleted file mode 100644 index 7dfd2def7..000000000 --- a/doc/7/controllers/ms/sdiffstore/snippets/sdiffstore.test.yml +++ /dev/null @@ -1,9 +0,0 @@ -name: ms#sdiffstore -description: Stores the difference between a reference set and a list of other sets in a new key -hooks: - before: curl -X POST kuzzle:7512/ms/_flushdb - after: -template: default -expected: "\\[ 'baz' ]" -sdk: js -version: 7 diff --git a/doc/7/controllers/ms/set/snippets/set.test.yml b/doc/7/controllers/ms/set/snippets/set.test.yml deleted file mode 100644 index c4fa7bb7b..000000000 --- a/doc/7/controllers/ms/set/snippets/set.test.yml +++ /dev/null @@ -1,9 +0,0 @@ -name: ms#set -description: Creates a key holding the provided value, or overwrites it if it already exists -hooks: - before: curl -X POST kuzzle:7512/ms/_flushdb - after: -template: default -expected: ^bar$ -sdk: js -version: 7 diff --git a/doc/7/controllers/ms/setex/snippets/setex.test.yml b/doc/7/controllers/ms/setex/snippets/setex.test.yml deleted file mode 100644 index 2d838b7cd..000000000 --- a/doc/7/controllers/ms/setex/snippets/setex.test.yml +++ /dev/null @@ -1,11 +0,0 @@ -name: ms#setex -description: Sets a value and a time to live (in seconds) on a key -hooks: - before: curl -X POST kuzzle:7512/ms/_flushdb - after: -template: default -expected: - - ^[0-9]{1,2}$ - - ^bar$ -sdk: js -version: 7 diff --git a/doc/7/controllers/ms/setnx/snippets/setnx.test.yml b/doc/7/controllers/ms/setnx/snippets/setnx.test.yml deleted file mode 100644 index 775f67701..000000000 --- a/doc/7/controllers/ms/setnx/snippets/setnx.test.yml +++ /dev/null @@ -1,12 +0,0 @@ -name: ms#setnx -description: Sets a value on a key, only if it does not already exist -hooks: - before: curl -X POST kuzzle:7512/ms/_flushdb - after: -template: default -expected: - - ^true$ - - ^false$ - - ^bar$ -sdk: js -version: 7 diff --git a/doc/7/controllers/ms/sinter/snippets/sinter.test.yml b/doc/7/controllers/ms/sinter/snippets/sinter.test.yml deleted file mode 100644 index a9b41b687..000000000 --- a/doc/7/controllers/ms/sinter/snippets/sinter.test.yml +++ /dev/null @@ -1,9 +0,0 @@ -name: ms#sinter -description: Returns the intersection of the provided sets of unique values -hooks: - before: curl -X POST kuzzle:7512/ms/_flushdb - after: -template: default -expected: "\\[ 'foo' ]" -sdk: js -version: 7 diff --git a/doc/7/controllers/ms/sinterstore/snippets/sinterstore.test.yml b/doc/7/controllers/ms/sinterstore/snippets/sinterstore.test.yml deleted file mode 100644 index 1cb8080fa..000000000 --- a/doc/7/controllers/ms/sinterstore/snippets/sinterstore.test.yml +++ /dev/null @@ -1,11 +0,0 @@ -name: ms#sinterstore -description: Stores the intersection of the provided sets of unique values -hooks: - before: curl -X POST kuzzle:7512/ms/_flushdb - after: -template: default -expected: - - ^1$ - - "\\[ 'foo' ]" -sdk: js -version: 7 diff --git a/doc/7/controllers/ms/sismember/snippets/sismember.test.yml b/doc/7/controllers/ms/sismember/snippets/sismember.test.yml deleted file mode 100644 index a7f98de0e..000000000 --- a/doc/7/controllers/ms/sismember/snippets/sismember.test.yml +++ /dev/null @@ -1,11 +0,0 @@ -name: ms#sismember -description: Checks if a value is a member of a set of unique values. -hooks: - before: curl -X POST kuzzle:7512/ms/_flushdb - after: -template: default -expected: - - ^true$ - - ^false$ -sdk: js -version: 7 diff --git a/doc/7/controllers/ms/smembers/snippets/smembers.test.yml b/doc/7/controllers/ms/smembers/snippets/smembers.test.yml deleted file mode 100644 index af8062666..000000000 --- a/doc/7/controllers/ms/smembers/snippets/smembers.test.yml +++ /dev/null @@ -1,9 +0,0 @@ -name: ms#smembers -description: Returns the members of a set of unique values -hooks: - before: curl -X POST kuzzle:7512/ms/_flushdb - after: -template: default -expected: "\\[ '(foo|bar|baz)', '(foo|bar|baz)', '(foo|bar|baz)' ]" -sdk: js -version: 7 diff --git a/doc/7/controllers/ms/smove/snippets/smove.test.yml b/doc/7/controllers/ms/smove/snippets/smove.test.yml deleted file mode 100644 index 719791149..000000000 --- a/doc/7/controllers/ms/smove/snippets/smove.test.yml +++ /dev/null @@ -1,11 +0,0 @@ -name: ms#smove -description: Moves a member from a set of unique values to another -hooks: - before: curl -X POST kuzzle:7512/ms/_flushdb - after: -template: default -expected: - - "\\[ '(bar|baz)', '(bar|baz)' ]" - - "\\[ '(foo|qux)', '(foo|qux)' ]" -sdk: js -version: 7 diff --git a/doc/7/controllers/ms/sort/snippets/sort.test.yml b/doc/7/controllers/ms/sort/snippets/sort.test.yml deleted file mode 100644 index dafb44336..000000000 --- a/doc/7/controllers/ms/sort/snippets/sort.test.yml +++ /dev/null @@ -1,15 +0,0 @@ -name: ms#sort -description: Sorts and returns elements contained in a list, a set or a sorted set -hooks: - before: curl -X POST kuzzle:7512/ms/_flushdb - after: -template: default -expected: - - "\\[" - - "'7', '6', '5'," - - "'4', '3', '2'," - - "'1'" - - "]" - - "\\[ 'bar', 'baz', 'foo', 'qux' ]" -sdk: js -version: 7 diff --git a/doc/7/controllers/ms/spop/snippets/spop.test.yml b/doc/7/controllers/ms/spop/snippets/spop.test.yml deleted file mode 100644 index 9029e0454..000000000 --- a/doc/7/controllers/ms/spop/snippets/spop.test.yml +++ /dev/null @@ -1,12 +0,0 @@ -name: ms#spop -description: Removes one or more elements at random from a set of unique values -hooks: - before: curl -X POST kuzzle:7512/ms/_flushdb - after: -template: default -expected: - - "^\\[ '[a-f]' ]" - - "^\\[ '[a-f]', '[a-f]', '[a-f]' ]" - - ^2$ -sdk: js -version: 7 diff --git a/doc/7/controllers/ms/srandmember/snippets/srandmember.test.yml b/doc/7/controllers/ms/srandmember/snippets/srandmember.test.yml deleted file mode 100644 index a42071648..000000000 --- a/doc/7/controllers/ms/srandmember/snippets/srandmember.test.yml +++ /dev/null @@ -1,11 +0,0 @@ -name: ms#srandmember -description: Returns one or more members of a set of unique values, at random -hooks: - before: curl -X POST kuzzle:7512/ms/_flushdb - after: -template: default -expected: - - "^\\[ '[a-f]' ]" - - "^\\[ '[a-f]', '[a-f]', '[a-f]' ]" -sdk: js -version: 7 diff --git a/doc/7/controllers/ms/srem/snippets/srem.test.yml b/doc/7/controllers/ms/srem/snippets/srem.test.yml deleted file mode 100644 index 54e15cef8..000000000 --- a/doc/7/controllers/ms/srem/snippets/srem.test.yml +++ /dev/null @@ -1,11 +0,0 @@ -name: ms#srem -description: Removes members from a set of unique values -hooks: - before: curl -X POST kuzzle:7512/ms/_flushdb - after: -template: default -expected: - - ^2$ - - "\\[ 'foo' ]" -sdk: js -version: 7 diff --git a/doc/7/controllers/ms/sscan/snippets/sscan.test.yml b/doc/7/controllers/ms/sscan/snippets/sscan.test.yml deleted file mode 100644 index c1ef31f5e..000000000 --- a/doc/7/controllers/ms/sscan/snippets/sscan.test.yml +++ /dev/null @@ -1,11 +0,0 @@ -name: ms#sscan -description: Iterates incrementally over members contained in a set of unique values -hooks: - before: curl -X POST kuzzle:7512/ms/_flushdb - after: -template: default -expected: - - "{ cursor: '0', values: \\[ 'ba[rz]', 'ba[rz]' ] }" - -sdk: js -version: 7 diff --git a/doc/7/controllers/ms/strlen/snippets/strlen.test.yml b/doc/7/controllers/ms/strlen/snippets/strlen.test.yml deleted file mode 100644 index 80fe579ba..000000000 --- a/doc/7/controllers/ms/strlen/snippets/strlen.test.yml +++ /dev/null @@ -1,9 +0,0 @@ -name: ms#strlen -description: Returns the length of a value -hooks: - before: curl -X POST kuzzle:7512/ms/_flushdb - after: -template: default -expected: ^6$ -sdk: js -version: 7 diff --git a/doc/7/controllers/ms/sunion/snippets/sunion.test.yml b/doc/7/controllers/ms/sunion/snippets/sunion.test.yml deleted file mode 100644 index 3d2e24c42..000000000 --- a/doc/7/controllers/ms/sunion/snippets/sunion.test.yml +++ /dev/null @@ -1,13 +0,0 @@ -name: ms#sunion -description: Returns the union of sets of unique values -hooks: - before: curl -X POST kuzzle:7512/ms/_flushdb - after: -template: default -expected: - - "\\[" - - ('[a-i]', ) - - ('[a-i]', ) - - ('[a-i]', ) -sdk: js -version: 7 diff --git a/doc/7/controllers/ms/sunionstore/snippets/sunionstore.test.yml b/doc/7/controllers/ms/sunionstore/snippets/sunionstore.test.yml deleted file mode 100644 index 109cca56d..000000000 --- a/doc/7/controllers/ms/sunionstore/snippets/sunionstore.test.yml +++ /dev/null @@ -1,13 +0,0 @@ -name: ms#sunionstore -description: Stores the union of multiple sets of unique values -hooks: - before: curl -X POST kuzzle:7512/ms/_flushdb - after: -template: default -expected: - - "\\[" - - ('[a-i]', ) - - ('[a-i]', ) - - ('[a-i]', ) -sdk: js -version: 7 diff --git a/doc/7/controllers/ms/time/snippets/time.test.yml b/doc/7/controllers/ms/time/snippets/time.test.yml deleted file mode 100644 index e8326ef50..000000000 --- a/doc/7/controllers/ms/time/snippets/time.test.yml +++ /dev/null @@ -1,10 +0,0 @@ -name: ms#time -description: Returns the current server time -hooks: - before: curl -X POST kuzzle:7512/ms/_flushdb - after: -template: default -expected: - - "\\[ \\d{10}, \\d+ ]$" -sdk: js -version: 7 diff --git a/doc/7/controllers/ms/touch/snippets/touch.test.yml b/doc/7/controllers/ms/touch/snippets/touch.test.yml deleted file mode 100644 index 14ea27530..000000000 --- a/doc/7/controllers/ms/touch/snippets/touch.test.yml +++ /dev/null @@ -1,9 +0,0 @@ -name: ms#touch -description: Alters the last access time of the provided keys -hooks: - before: curl -X POST kuzzle:7512/ms/_flushdb - after: -template: default -expected: ^2$ -sdk: js -version: 7 diff --git a/doc/7/controllers/ms/ttl/snippets/ttl.test.yml b/doc/7/controllers/ms/ttl/snippets/ttl.test.yml deleted file mode 100644 index 6057d8c32..000000000 --- a/doc/7/controllers/ms/ttl/snippets/ttl.test.yml +++ /dev/null @@ -1,9 +0,0 @@ -name: ms#ttl -description: Returns the remaining time to live of a key, in seconds -hooks: - before: curl -X POST kuzzle:7512/ms/_flushdb - after: -template: default -expected: ^\d{1,2}$ -sdk: js -version: 7 diff --git a/doc/7/controllers/ms/type/snippets/type.test.yml b/doc/7/controllers/ms/type/snippets/type.test.yml deleted file mode 100644 index 1f511cc37..000000000 --- a/doc/7/controllers/ms/type/snippets/type.test.yml +++ /dev/null @@ -1,12 +0,0 @@ -name: ms#type -description: Returns the type of the value held by a key -hooks: - before: curl -X POST kuzzle:7512/ms/_flushdb - after: -template: default -expected: - - ^string$ - - ^list$ - - ^set$ -sdk: js -version: 7 diff --git a/doc/7/controllers/ms/zadd/snippets/zadd.test.yml b/doc/7/controllers/ms/zadd/snippets/zadd.test.yml deleted file mode 100644 index c79fdc308..000000000 --- a/doc/7/controllers/ms/zadd/snippets/zadd.test.yml +++ /dev/null @@ -1,14 +0,0 @@ -name: ms#zadd -description: Adds elements to a sorted set -hooks: - before: curl -X POST kuzzle:7512/ms/_flushdb - after: -template: default -expected: - - "\\[" - - "{ member: 'baz', score: -272.15 }," - - "{ member: 'bar', score: 4 }," - - "{ member: 'foo', score: 42 }" - - "]" -sdk: js -version: 7 diff --git a/doc/7/controllers/ms/zcard/snippets/zcard.test.yml b/doc/7/controllers/ms/zcard/snippets/zcard.test.yml deleted file mode 100644 index 951876910..000000000 --- a/doc/7/controllers/ms/zcard/snippets/zcard.test.yml +++ /dev/null @@ -1,9 +0,0 @@ -name: ms#zcard -description: Returns the number of elements held by a sorted set -hooks: - before: curl -X POST kuzzle:7512/ms/_flushdb - after: -template: default -expected: ^3$ -sdk: js -version: 7 diff --git a/doc/7/controllers/ms/zcount/snippets/zcount.test.yml b/doc/7/controllers/ms/zcount/snippets/zcount.test.yml deleted file mode 100644 index 51c53b598..000000000 --- a/doc/7/controllers/ms/zcount/snippets/zcount.test.yml +++ /dev/null @@ -1,9 +0,0 @@ -name: ms#zcount -description: Counts elements in a sorted set within a score range -hooks: - before: curl -X POST kuzzle:7512/ms/_flushdb - after: -template: default -expected: ^2$ -sdk: js -version: 7 diff --git a/doc/7/controllers/ms/zincrby/snippets/zincrby.test.yml b/doc/7/controllers/ms/zincrby/snippets/zincrby.test.yml deleted file mode 100644 index 85a84bd31..000000000 --- a/doc/7/controllers/ms/zincrby/snippets/zincrby.test.yml +++ /dev/null @@ -1,14 +0,0 @@ -name: ms#zincrby -description: Increments the score of a sorted set member by the provided value -hooks: - before: curl -X POST kuzzle:7512/ms/_flushdb - after: -template: default -expected: - - "\\[" - - "{ member: 'baz', score: -272.15 }," - - "{ member: 'foo', score: 42 }," - - "{ member: 'bar', score: 1337 }" - - "\\]" -sdk: js -version: 7 diff --git a/doc/7/controllers/ms/zinterstore/snippets/zinterstore.test.yml b/doc/7/controllers/ms/zinterstore/snippets/zinterstore.test.yml deleted file mode 100644 index 68b382fa5..000000000 --- a/doc/7/controllers/ms/zinterstore/snippets/zinterstore.test.yml +++ /dev/null @@ -1,14 +0,0 @@ -name: ms#zinterstore -description: Stores the intersection of the provided sorted sets -hooks: - before: curl -X POST kuzzle:7512/ms/_flushdb - after: -template: default -expected: - - "\\[" - - "{ member: 'foo', score: 13 }," - - "{ member: 'baz', score: 27.85\\d* }" - - "]" - - "\\[ { member: 'baz', score: -272.15 }, { member: 'foo', score: -29 } ]" -sdk: js -version: 7 diff --git a/doc/7/controllers/ms/zlexcount/snippets/zlexcount.test.yml b/doc/7/controllers/ms/zlexcount/snippets/zlexcount.test.yml deleted file mode 100644 index 150209bca..000000000 --- a/doc/7/controllers/ms/zlexcount/snippets/zlexcount.test.yml +++ /dev/null @@ -1,9 +0,0 @@ -name: ms#zlexcount -description: Counts elements in a sorted set using lexicographical ordering -hooks: - before: curl -X POST kuzzle:7512/ms/_flushdb - after: -template: default -expected: ^2$ -sdk: js -version: 7 diff --git a/doc/7/controllers/ms/zrange/snippets/zrange.test.yml b/doc/7/controllers/ms/zrange/snippets/zrange.test.yml deleted file mode 100644 index feeeace78..000000000 --- a/doc/7/controllers/ms/zrange/snippets/zrange.test.yml +++ /dev/null @@ -1,10 +0,0 @@ -name: ms#zrange -description: Returns elements depending on their position in the sorted set -hooks: - before: curl -X POST kuzzle:7512/ms/_flushdb - after: -template: default -expected: - - "\\[ { member: 'baz', score: -272.15 }, { member: 'bar', score: 4 } ]" -sdk: js -version: 7 diff --git a/doc/7/controllers/ms/zrangebylex/snippets/zrangebylex.test.yml b/doc/7/controllers/ms/zrangebylex/snippets/zrangebylex.test.yml deleted file mode 100644 index 45d00de04..000000000 --- a/doc/7/controllers/ms/zrangebylex/snippets/zrangebylex.test.yml +++ /dev/null @@ -1,9 +0,0 @@ -name: ms#zrangebylex -description: Returns elements within a provided interval, using lexicographical ordering -hooks: - before: curl -X POST kuzzle:7512/ms/_flushdb - after: -template: default -expected: "\\[ 'bar', 'baz' ]" -sdk: js -version: 7 diff --git a/doc/7/controllers/ms/zrangebyscore/snippets/zrangebyscore.test.yml b/doc/7/controllers/ms/zrangebyscore/snippets/zrangebyscore.test.yml deleted file mode 100644 index 39e30475a..000000000 --- a/doc/7/controllers/ms/zrangebyscore/snippets/zrangebyscore.test.yml +++ /dev/null @@ -1,10 +0,0 @@ -name: ms#zrangebyscore -description: Returns all sorted set elements with a score within a provided range -hooks: - before: curl -X POST kuzzle:7512/ms/_flushdb - after: -template: default -expected: - - "\\[ { member: 'baz', score: -272.15 }, { member: 'bar', score: 4 } ]" -sdk: js -version: 7 diff --git a/doc/7/controllers/ms/zrank/snippets/zrank.test.yml b/doc/7/controllers/ms/zrank/snippets/zrank.test.yml deleted file mode 100644 index 2735f1ffe..000000000 --- a/doc/7/controllers/ms/zrank/snippets/zrank.test.yml +++ /dev/null @@ -1,11 +0,0 @@ -name: ms#zrank -description: Returns the position of an element in a sorted set -hooks: - before: curl -X POST kuzzle:7512/ms/_flushdb - after: -template: default -expected: - - ^2$ - - ^null$ -sdk: js -version: 7 diff --git a/doc/7/controllers/ms/zrem/snippets/zrem.test.yml b/doc/7/controllers/ms/zrem/snippets/zrem.test.yml deleted file mode 100644 index 173bbc82c..000000000 --- a/doc/7/controllers/ms/zrem/snippets/zrem.test.yml +++ /dev/null @@ -1,9 +0,0 @@ -name: ms#zrem -description: Removes members from a sorted set -hooks: - before: curl -X POST kuzzle:7512/ms/_flushdb - after: -template: default -expected: "\\[ { member: 'baz', score: -272.15 } ]" -sdk: js -version: 7 diff --git a/doc/7/controllers/ms/zremrangebylex/snippets/zremrangebylex.test.yml b/doc/7/controllers/ms/zremrangebylex/snippets/zremrangebylex.test.yml deleted file mode 100644 index 17316355c..000000000 --- a/doc/7/controllers/ms/zremrangebylex/snippets/zremrangebylex.test.yml +++ /dev/null @@ -1,9 +0,0 @@ -name: ms#zremrangebylex -description: Removes members within a provided range, using lexicographical ordering -hooks: - before: curl -X POST kuzzle:7512/ms/_flushdb - after: -template: default -expected: "\\[ 'bar' ]" -sdk: js -version: 7 diff --git a/doc/7/controllers/ms/zremrangebyrank/snippets/zremrangebyrank.test.yml b/doc/7/controllers/ms/zremrangebyrank/snippets/zremrangebyrank.test.yml deleted file mode 100644 index 0a81dfb9b..000000000 --- a/doc/7/controllers/ms/zremrangebyrank/snippets/zremrangebyrank.test.yml +++ /dev/null @@ -1,9 +0,0 @@ -name: ms#zremrangebyrank -description: Removes members from a sorted setn by position -hooks: - before: curl -X POST kuzzle:7512/ms/_flushdb - after: -template: default -expected: "\\[ { member: 'baz', score: -272.15 } ]" -sdk: js -version: 7 diff --git a/doc/7/controllers/ms/zremrangebyscore/snippets/zremrangebyscore.test.yml b/doc/7/controllers/ms/zremrangebyscore/snippets/zremrangebyscore.test.yml deleted file mode 100644 index ef951e1b6..000000000 --- a/doc/7/controllers/ms/zremrangebyscore/snippets/zremrangebyscore.test.yml +++ /dev/null @@ -1,9 +0,0 @@ -name: ms#zremrangebyscore -description: Removes members from a sorted set, by score -hooks: - before: curl -X POST kuzzle:7512/ms/_flushdb - after: -template: default -expected: "\\[ { member: 'baz', score: -272.15 } ]" -sdk: js -version: 7 diff --git a/doc/7/controllers/ms/zrevrange/snippets/zrevrange.test.yml b/doc/7/controllers/ms/zrevrange/snippets/zrevrange.test.yml deleted file mode 100644 index f3231dc85..000000000 --- a/doc/7/controllers/ms/zrevrange/snippets/zrevrange.test.yml +++ /dev/null @@ -1,10 +0,0 @@ -name: ms#zrevrange -description: Returns elements depending on their position in the sorted set, in descending order -hooks: - before: curl -X POST kuzzle:7512/ms/_flushdb - after: -template: default -expected: - - "\\[ { member: 'foo', score: 42 }, { member: 'bar', score: 4 } ]" -sdk: js -version: 7 diff --git a/doc/7/controllers/ms/zrevrangebylex/snippets/zrevrangebylex.test.yml b/doc/7/controllers/ms/zrevrangebylex/snippets/zrevrangebylex.test.yml deleted file mode 100644 index 70db0bd81..000000000 --- a/doc/7/controllers/ms/zrevrangebylex/snippets/zrevrangebylex.test.yml +++ /dev/null @@ -1,9 +0,0 @@ -name: ms#zrevrangebylex -description: Returns elements within a provided interval, using lexicographical ordering -hooks: - before: curl -X POST kuzzle:7512/ms/_flushdb - after: -template: default -expected: "\\[ 'baz', 'bar' ]" -sdk: js -version: 7 diff --git a/doc/7/controllers/ms/zrevrangebyscore/snippets/zrevrangebyscore.test.yml b/doc/7/controllers/ms/zrevrangebyscore/snippets/zrevrangebyscore.test.yml deleted file mode 100644 index 07bfd6335..000000000 --- a/doc/7/controllers/ms/zrevrangebyscore/snippets/zrevrangebyscore.test.yml +++ /dev/null @@ -1,11 +0,0 @@ -name: ms#zrevrangebyscore -description: Returns all sorted set elements with a score within a provided range in descending order -hooks: - before: curl -X POST kuzzle:7512/ms/_flushdb - after: -template: default -expected: - - "\\[ { member: 'bar', score: 4 }, { member: 'baz', score: -272.15 } ]" - -sdk: js -version: 7 diff --git a/doc/7/controllers/ms/zrevrank/snippets/zrevrank.test.yml b/doc/7/controllers/ms/zrevrank/snippets/zrevrank.test.yml deleted file mode 100644 index 0d7bd6326..000000000 --- a/doc/7/controllers/ms/zrevrank/snippets/zrevrank.test.yml +++ /dev/null @@ -1,12 +0,0 @@ -name: ms#zrevrank -description: Returns the position of an element in a sorted set, in reverse order -hooks: - before: curl -X POST kuzzle:7512/ms/_flushdb - after: -template: default -expected: - - ^0$ - - ^null$ - -sdk: js -version: 7 diff --git a/doc/7/controllers/ms/zscan/snippets/zscan.test.yml b/doc/7/controllers/ms/zscan/snippets/zscan.test.yml deleted file mode 100644 index 77192f43a..000000000 --- a/doc/7/controllers/ms/zscan/snippets/zscan.test.yml +++ /dev/null @@ -1,13 +0,0 @@ -name: ms#zscan -description: Iterates incrementally over fields contained in a sorted set, using a cursor -hooks: - before: curl -X POST kuzzle:7512/ms/_flushdb - after: -template: default -expected: - - "{" - - "cursor: '0'," - - "values: \\[ 'baz', '-272.1\\d{1,}', 'bar', '4', 'foo', '42' ]" - - "}" -sdk: js -version: 7 diff --git a/doc/7/controllers/ms/zscore/snippets/zscore.test.yml b/doc/7/controllers/ms/zscore/snippets/zscore.test.yml deleted file mode 100644 index da5a531c9..000000000 --- a/doc/7/controllers/ms/zscore/snippets/zscore.test.yml +++ /dev/null @@ -1,11 +0,0 @@ -name: ms#zscore -description: Returns the score of an element in a sorted set -hooks: - before: curl -X POST kuzzle:7512/ms/_flushdb - after: -template: default -expected: - - ^42$ - - ^4$ -sdk: js -version: 7 diff --git a/doc/7/controllers/ms/zunionstore/snippets/zunionstore.test.yml b/doc/7/controllers/ms/zunionstore/snippets/zunionstore.test.yml deleted file mode 100644 index 1dd912dfe..000000000 --- a/doc/7/controllers/ms/zunionstore/snippets/zunionstore.test.yml +++ /dev/null @@ -1,19 +0,0 @@ -name: ms#zunionstore -description: Stores the union of the provided sorted sets -hooks: - before: curl -X POST kuzzle:7512/ms/_flushdb - after: -template: default -expected: - - "\\[" - - "{ member: 'bar', score: 4 }," - - "{ member: 'foo', score: 13 }," - - "{ member: 'baz', score: 300 }" - - "\\]" - - "\\[" - - "{ member: 'foo', score: -29 }," - - "{ member: 'bar', score: 4 }," - - "{ member: 'baz', score: 300 }" - - "]" -sdk: js -version: 7 diff --git a/doc/7/controllers/realtime/count/snippets/count.test.yml b/doc/7/controllers/realtime/count/snippets/count.test.yml deleted file mode 100644 index 4e2e07b52..000000000 --- a/doc/7/controllers/realtime/count/snippets/count.test.yml +++ /dev/null @@ -1,10 +0,0 @@ -name: realtime#count -description: Count subscribers for a subscription room -hooks: - before: - after: -template: default -expected: Currently 1 active subscription - -sdk: js -version: 7 diff --git a/doc/7/controllers/realtime/publish/snippets/publish.test.yml b/doc/7/controllers/realtime/publish/snippets/publish.test.yml deleted file mode 100644 index 303f87900..000000000 --- a/doc/7/controllers/realtime/publish/snippets/publish.test.yml +++ /dev/null @@ -1,10 +0,0 @@ -name: realtime#publish -description: Publish a realtime message -hooks: - before: - after: -template: default -expected: Success - -sdk: js -version: 7 diff --git a/doc/7/controllers/realtime/subscribe/snippets/document-notifications-leave-scope.test.yml b/doc/7/controllers/realtime/subscribe/snippets/document-notifications-leave-scope.test.yml deleted file mode 100644 index 773890e87..000000000 --- a/doc/7/controllers/realtime/subscribe/snippets/document-notifications-leave-scope.test.yml +++ /dev/null @@ -1,10 +0,0 @@ -name: realtime#subscribe-documents-leave-scope -description: Subscribe to documents leaving the scope -hooks: - before: curl -X POST kuzzle:7512/nyc-open-data/_create ; curl -X PUT kuzzle:7512/nyc-open-data/yellow-taxi/ - after: -template: realtime -expected: Document moved out from the scope - -sdk: js -version: 7 diff --git a/doc/7/controllers/realtime/subscribe/snippets/document-notifications.test.yml b/doc/7/controllers/realtime/subscribe/snippets/document-notifications.test.yml deleted file mode 100644 index 2ed2614a4..000000000 --- a/doc/7/controllers/realtime/subscribe/snippets/document-notifications.test.yml +++ /dev/null @@ -1,10 +0,0 @@ -name: realtime#subscribe-documents -description: Simple subscribe to document notifications -hooks: - before: curl -X POST kuzzle:7512/nyc-open-data/_create ; curl -X PUT kuzzle:7512/nyc-open-data/yellow-taxi/ - after: -template: realtime -expected: Document nina vkote enter the scope - -sdk: js -version: 7 diff --git a/doc/7/controllers/realtime/subscribe/snippets/message-notifications.test.yml b/doc/7/controllers/realtime/subscribe/snippets/message-notifications.test.yml deleted file mode 100644 index 678e52fb3..000000000 --- a/doc/7/controllers/realtime/subscribe/snippets/message-notifications.test.yml +++ /dev/null @@ -1,10 +0,0 @@ -name: realtime#subscribe-messages -description: Subscribe to message notifications -hooks: - before: - after: -template: realtime -expected: Message notification received - -sdk: js -version: 7 diff --git a/doc/7/controllers/realtime/subscribe/snippets/user-notifications.test.yml b/doc/7/controllers/realtime/subscribe/snippets/user-notifications.test.yml deleted file mode 100644 index 49606aaca..000000000 --- a/doc/7/controllers/realtime/subscribe/snippets/user-notifications.test.yml +++ /dev/null @@ -1,9 +0,0 @@ -name: realtime#subscribe-users -description: Subscribe to users joining or leaving the room -hooks: - before: curl -X POST kuzzle:7512/nyc-open-data/_create ; curl -X PUT kuzzle:7512/nyc-open-data/yellow-taxi/ - after: -template: realtime -expected: "username: 'nina vkote'" -sdk: js -version: 7 diff --git a/doc/7/controllers/realtime/unsubscribe/snippets/unsubscribe.test.yml b/doc/7/controllers/realtime/unsubscribe/snippets/unsubscribe.test.yml deleted file mode 100644 index 70db043a7..000000000 --- a/doc/7/controllers/realtime/unsubscribe/snippets/unsubscribe.test.yml +++ /dev/null @@ -1,10 +0,0 @@ -name: realtime#unsubscribe -description: Removes a subscription -hooks: - before: - after: -template: default -expected: Success - -sdk: js -version: 7 diff --git a/doc/7/controllers/security/check-rights/snippets/check-rights.test.yml b/doc/7/controllers/security/check-rights/snippets/check-rights.test.yml deleted file mode 100644 index f3f6de555..000000000 --- a/doc/7/controllers/security/check-rights/snippets/check-rights.test.yml +++ /dev/null @@ -1,7 +0,0 @@ -name: security#checkRights -description: Checks if an API action can be executed by a user -hooks: - before: curl -X POST kuzzle:7512/users/foo/_create -H "Content-Type:application/json" --data '{"content":{"profileIds":["default"]},"credentials":{"local":{"username":"foo","password":"bar"}}}' - after: curl -X DELETE kuzzle:7512/users/foo -template: default -expected: true diff --git a/doc/7/controllers/security/create-api-key/snippets/create-api-key.test.yml b/doc/7/controllers/security/create-api-key/snippets/create-api-key.test.yml deleted file mode 100644 index 842b41a39..000000000 --- a/doc/7/controllers/security/create-api-key/snippets/create-api-key.test.yml +++ /dev/null @@ -1,16 +0,0 @@ -name: security#createApiKey -description: Creates a new API key for an user -hooks: - before: > - curl --fail -H "Content-type: application/json" -d '{ - "content": { - "profileIds": ["default"] - } - }' "kuzzle:7512/users/john.doe/_create?refresh=wait_for" - after: - curl -XDELETE kuzzle:7512/users/john.doe -template: default -expected: - - "description: 'Sigfox API key'" - - "userId: 'john.doe'" - - API key successfully created diff --git a/doc/7/controllers/security/create-credentials/snippets/create-credentials.test.yml b/doc/7/controllers/security/create-credentials/snippets/create-credentials.test.yml deleted file mode 100644 index 6680c77c4..000000000 --- a/doc/7/controllers/security/create-credentials/snippets/create-credentials.test.yml +++ /dev/null @@ -1,6 +0,0 @@ -name: security#createCredentials -description: Creates credentials for the specified strategy -hooks: - after: curl -X DELETE kuzzle:7512/users/foo?refresh=wait_for -template: default -expected: Credentials successfully created diff --git a/doc/7/controllers/security/create-first-admin/snippets/create-first-admin.test.yml b/doc/7/controllers/security/create-first-admin/snippets/create-first-admin.test.yml deleted file mode 100644 index ed92521d2..000000000 --- a/doc/7/controllers/security/create-first-admin/snippets/create-first-admin.test.yml +++ /dev/null @@ -1,6 +0,0 @@ -name: security#createFirstAdmin -description: Creates first admin -hooks: - after: curl -X DELETE kuzzle:7512/users/admin?refresh=wait_for -template: default -expected: First admin successfully created diff --git a/doc/7/controllers/security/create-or-replace-profile/snippets/create-or-replace-profile.test.yml b/doc/7/controllers/security/create-or-replace-profile/snippets/create-or-replace-profile.test.yml deleted file mode 100644 index c4bfd5c02..000000000 --- a/doc/7/controllers/security/create-or-replace-profile/snippets/create-or-replace-profile.test.yml +++ /dev/null @@ -1,7 +0,0 @@ -name: security#createOrReplaceProfile -description: Creates or replaces a profile -hooks: - before: curl -XPOST kuzzle:7512/someindex/_create - after: curl -XDELETE kuzzle:7512/profiles/myProfile?refresh=wait_for -template: default -expected: Profile successfully updated diff --git a/doc/7/controllers/security/create-or-replace-role/snippets/create-or-replace-role.test.yml b/doc/7/controllers/security/create-or-replace-role/snippets/create-or-replace-role.test.yml deleted file mode 100644 index a46b8c0dc..000000000 --- a/doc/7/controllers/security/create-or-replace-role/snippets/create-or-replace-role.test.yml +++ /dev/null @@ -1,6 +0,0 @@ -name: security#createOrReplaceRole -description: Creates or replaces role -hooks: - after: curl -XDELETE kuzzle:7512/roles/read-only -template: default -expected: Role successfully updated diff --git a/doc/7/controllers/security/create-profile/snippets/create-profile.test.yml b/doc/7/controllers/security/create-profile/snippets/create-profile.test.yml deleted file mode 100644 index 77cad7466..000000000 --- a/doc/7/controllers/security/create-profile/snippets/create-profile.test.yml +++ /dev/null @@ -1,6 +0,0 @@ -name: security#createProfile -description: Creates a profile -hooks: - after: curl -XDELETE kuzzle:7512/profiles/myProfile?refresh=wait_for -template: default -expected: Profile successfully created diff --git a/doc/7/controllers/security/create-restricted-user/snippets/create-restricted-user.test.yml b/doc/7/controllers/security/create-restricted-user/snippets/create-restricted-user.test.yml deleted file mode 100644 index f0ae1f924..000000000 --- a/doc/7/controllers/security/create-restricted-user/snippets/create-restricted-user.test.yml +++ /dev/null @@ -1,6 +0,0 @@ -name: security#createRestrictedUser -description: creates a restricted user -hooks: - after: curl -XDELETE http://kuzzle:7512/users/jdoe -template: default -expected: User successfully created diff --git a/doc/7/controllers/security/create-role/snippets/create-role.test.yml b/doc/7/controllers/security/create-role/snippets/create-role.test.yml deleted file mode 100644 index fcee0d453..000000000 --- a/doc/7/controllers/security/create-role/snippets/create-role.test.yml +++ /dev/null @@ -1,6 +0,0 @@ -name: security#createRole -description: Creates a role -hooks: - after: curl -XDELETE kuzzle:7512/roles/read-only?refresh=wait_for -template: default -expected: Role successfully created diff --git a/doc/7/controllers/security/create-user/snippets/create-user.test.yml b/doc/7/controllers/security/create-user/snippets/create-user.test.yml deleted file mode 100644 index d335f9348..000000000 --- a/doc/7/controllers/security/create-user/snippets/create-user.test.yml +++ /dev/null @@ -1,10 +0,0 @@ -name: security#createUser -description: creates user -hooks: - after: curl -XDELETE kuzzle:7512/users/jdoe -template: default -expected: - - "User {" - - "_id: 'jdoe'," - - "_source: {" - - "profileIds: \\[ \\'default\\' \\]," diff --git a/doc/7/controllers/security/delete-api-key/snippets/delete-api-key.test.yml b/doc/7/controllers/security/delete-api-key/snippets/delete-api-key.test.yml deleted file mode 100644 index a9ae4bb54..000000000 --- a/doc/7/controllers/security/delete-api-key/snippets/delete-api-key.test.yml +++ /dev/null @@ -1,18 +0,0 @@ -name: security#deleteApiKey -description: Deletes an user API key -hooks: - before: > - curl --fail -H "Content-type: application/json" -d '{ - "content": { - "profileIds": ["default"] - } - }' "kuzzle:7512/users/john.doe/_create?refresh=wait_for" - && - curl -XPOST -H "Content-type: application/json" -d '{ - "description": "Sigfox API key" - }' "kuzzle:7512/users/john.doe/api-keys/_create?_id=fQRa28BsidO6V_wmOcL&refresh=wait_for" - after: - curl -XDELETE kuzzle:7512/users/john.doe -template: default -expected: - - API key successfully deleted diff --git a/doc/7/controllers/security/delete-credentials/snippets/delete-credentials.test.yml b/doc/7/controllers/security/delete-credentials/snippets/delete-credentials.test.yml deleted file mode 100644 index 18b3bbb36..000000000 --- a/doc/7/controllers/security/delete-credentials/snippets/delete-credentials.test.yml +++ /dev/null @@ -1,19 +0,0 @@ -name: security#deleteCredentials -description: deletes credentials -hooks: - before: > - curl --fail -H "Content-type: application/json" -d '{ - "content": { - "profileIds": ["default"] - }, - "credentials": { - "local": { - "username": "jdoe", - "password": "password" - } - } - }' kuzzle:7512/users/john.doe/_create?refresh=wait_for - after: - curl -XDELETE kuzzle:7512/users/john.doe -template: default -expected: Credentials successfully deleted diff --git a/doc/7/controllers/security/delete-profile/snippets/delete-profile.test.yml b/doc/7/controllers/security/delete-profile/snippets/delete-profile.test.yml deleted file mode 100644 index 2d8b92d8e..000000000 --- a/doc/7/controllers/security/delete-profile/snippets/delete-profile.test.yml +++ /dev/null @@ -1,9 +0,0 @@ -name: security#deleteProfile -description: deletes profile -hooks: - before: > - curl --fail -H "Content-type: application/json" -d '{ - "policies": [] - }' kuzzle:7512/profiles/myProfile/_create -template: default -expected: Profile successfully deleted diff --git a/doc/7/controllers/security/delete-role/snippets/delete-role.test.yml b/doc/7/controllers/security/delete-role/snippets/delete-role.test.yml deleted file mode 100644 index b2f06efa2..000000000 --- a/doc/7/controllers/security/delete-role/snippets/delete-role.test.yml +++ /dev/null @@ -1,15 +0,0 @@ -name: security#deleteRole -description: deletes role -hooks: - before: > - curl --fail -H "Content-type: application/json" -d '{ - "controllers": { - "*": { - "actions": { - "*": true - } - } - } - }' kuzzle:7512/roles/myRole/_create -template: default -expected: Role successfully deleted diff --git a/doc/7/controllers/security/delete-user/snippets/delete-user.test.yml b/doc/7/controllers/security/delete-user/snippets/delete-user.test.yml deleted file mode 100644 index 764b04c97..000000000 --- a/doc/7/controllers/security/delete-user/snippets/delete-user.test.yml +++ /dev/null @@ -1,19 +0,0 @@ -name: security#deleteUser -description: Deletes a user -hooks: - before: > - curl --fail -H "Content-type: application/json" -d '{ - "content": { - "profileIds": ["default"] - }, - "credentials": { - "local": { - "username": "jdoe", - "password": "password" - } - } - }' kuzzle:7512/users/john.doe/_create?refresh=wait_for - after: - curl -XDELETE kuzzle:7512/users/john.doe -template: default -expected: User successfully deleted diff --git a/doc/7/controllers/security/get-all-credential-fields/snippets/get-all-credential-fields.test.yml b/doc/7/controllers/security/get-all-credential-fields/snippets/get-all-credential-fields.test.yml deleted file mode 100644 index 6cd8709d5..000000000 --- a/doc/7/controllers/security/get-all-credential-fields/snippets/get-all-credential-fields.test.yml +++ /dev/null @@ -1,4 +0,0 @@ -name: security#getAllCredentialFields -description: get all credential fields -template: default -expected: '{ local: \[ ''username'', ''password'' \] }' diff --git a/doc/7/controllers/security/get-credential-fields/snippets/get-credential-fields.test.yml b/doc/7/controllers/security/get-credential-fields/snippets/get-credential-fields.test.yml deleted file mode 100644 index 4734bada3..000000000 --- a/doc/7/controllers/security/get-credential-fields/snippets/get-credential-fields.test.yml +++ /dev/null @@ -1,4 +0,0 @@ -name: security#getCredentialFields -description: get credential fields -template: default -expected: '^\[ ''username'', ''password'' \]$' diff --git a/doc/7/controllers/security/get-credentials-by-id/snippets/get-credentials-by-id.test.yml b/doc/7/controllers/security/get-credentials-by-id/snippets/get-credentials-by-id.test.yml deleted file mode 100644 index deec2898e..000000000 --- a/doc/7/controllers/security/get-credentials-by-id/snippets/get-credentials-by-id.test.yml +++ /dev/null @@ -1,18 +0,0 @@ -name: security#getCredentialsById -description: get credentials by id -hooks: - before: > - curl --fail -H "Content-type: application/json" -d '{ - "content": { - "profileIds": ["default"] - }, - "credentials": { - "local": { - "username": "jdoe", - "password": "password" - } - } - }' kuzzle:7512/users/john.doe/_create?refresh=wait_for - after: curl -XDELETE kuzzle:7512/users/john.doe -template: default -expected: '^{ username: ''jdoe'', kuid: ''john.doe'' }$' diff --git a/doc/7/controllers/security/get-credentials/snippets/get-credentials.test.yml b/doc/7/controllers/security/get-credentials/snippets/get-credentials.test.yml deleted file mode 100644 index 9da59450a..000000000 --- a/doc/7/controllers/security/get-credentials/snippets/get-credentials.test.yml +++ /dev/null @@ -1,18 +0,0 @@ -name: security#getCredentials -description: get credentials -hooks: - before: > - curl --fail -H "Content-type: application/json" -d '{ - "content": { - "profileIds": ["default"] - }, - "credentials": { - "local": { - "username": "jdoe", - "password": "password" - } - } - }' kuzzle:7512/users/john.doe/_create?refresh=wait_for - after: curl -XDELETE kuzzle:7512/users/john.doe -template: default -expected: '^{ username: ''jdoe'', kuid: ''john.doe'' }$' diff --git a/doc/7/controllers/security/get-profile-mapping/snippets/get-profile-mapping.test.yml b/doc/7/controllers/security/get-profile-mapping/snippets/get-profile-mapping.test.yml deleted file mode 100644 index 0b2f0f360..000000000 --- a/doc/7/controllers/security/get-profile-mapping/snippets/get-profile-mapping.test.yml +++ /dev/null @@ -1,5 +0,0 @@ -name: security#getProfileMapping -description: get profile mapping -template: default -expected: - - "mapping: { policies: { properties: \\[Object\\]" diff --git a/doc/7/controllers/security/get-profile-rights/snippets/get-profile-rights.test.yml b/doc/7/controllers/security/get-profile-rights/snippets/get-profile-rights.test.yml deleted file mode 100644 index fc44fdc09..000000000 --- a/doc/7/controllers/security/get-profile-rights/snippets/get-profile-rights.test.yml +++ /dev/null @@ -1,26 +0,0 @@ -name: security#getProfileRights -description: get profile rights -hooks: - before: > - curl --fail -H "Content-type: application/json" -d '{ - "policies": [ - { - "roleId": "admin", - "restrictedTo": [ - { "index": "someindex" }, - { - "index": "anotherindex", - "collections": [ - "somecollection" - ] - } - ] - }, - { - "roleId": "default" - } - ] - }' kuzzle:7512/profiles/myProfile/_create - after: curl -XDELETE kuzzle:7512/profiles/myProfile -template: default -expected: "^ value: 'allowed'$" diff --git a/doc/7/controllers/security/get-profile/snippets/get-profile.test.yml b/doc/7/controllers/security/get-profile/snippets/get-profile.test.yml deleted file mode 100644 index 9d5635b6d..000000000 --- a/doc/7/controllers/security/get-profile/snippets/get-profile.test.yml +++ /dev/null @@ -1,27 +0,0 @@ -name: security#getProfile -description: get profile -hooks: - before: > - curl --fail -H "Content-type: application/json" -d '{ - "policies": [ - { - "roleId": "admin", - "restrictedTo": [ - { "index": "someindex" }, - { - "index": "anotherindex", - "collections": [ - "somecollection" - ] - } - ] - }, - { - "roleId": "default" - } - ] - }' kuzzle:7512/profiles/myProfile/_create - after: curl -XDELETE kuzzle:7512/profiles/myProfile -template: default -expected: -- "\\[ { roleId: \\'admin\\', restrictedTo: \\[Array\\] }, { roleId: \\'default\\' } \\]" \ No newline at end of file diff --git a/doc/7/controllers/security/get-role-mapping/snippets/get-role-mapping.test.yml b/doc/7/controllers/security/get-role-mapping/snippets/get-role-mapping.test.yml deleted file mode 100644 index 40c5eeb71..000000000 --- a/doc/7/controllers/security/get-role-mapping/snippets/get-role-mapping.test.yml +++ /dev/null @@ -1,5 +0,0 @@ -name: security#getRoleMapping -description: get roles mapping -template: default -expected: - - "mapping: {" diff --git a/doc/7/controllers/security/get-role/snippets/get-role.test.yml b/doc/7/controllers/security/get-role/snippets/get-role.test.yml deleted file mode 100644 index 83eb8c4b0..000000000 --- a/doc/7/controllers/security/get-role/snippets/get-role.test.yml +++ /dev/null @@ -1,25 +0,0 @@ -name: security#getRole -description: get role -hooks: - before: > - curl --fail -H "Content-type: application/json" -d '{ - "controllers": { - "auth": { - "actions": { - "login": true, - "getMyRights": true, - "updateSelf": true - } - }, - "document": { - "actions": { - "get": true, - "search": true - } - } - } - }' kuzzle:7512/roles/myRole/_create - after: curl -XDELETE kuzzle:7512/roles/myRole -template: default -expected: - - "controllers: { auth: { actions: \\[Object\\] }, document: { actions: \\[Object\\] } }" \ No newline at end of file diff --git a/doc/7/controllers/security/get-user-mapping/snippets/get-user-mapping.test.yml b/doc/7/controllers/security/get-user-mapping/snippets/get-user-mapping.test.yml deleted file mode 100644 index 6b1767457..000000000 --- a/doc/7/controllers/security/get-user-mapping/snippets/get-user-mapping.test.yml +++ /dev/null @@ -1,5 +0,0 @@ -name: security#getUserMapping -description: get users mapping -template: default -expected: - - "mapping: {" diff --git a/doc/7/controllers/security/get-user-rights/snippets/get-user-rights.test.yml b/doc/7/controllers/security/get-user-rights/snippets/get-user-rights.test.yml deleted file mode 100644 index 800814e8c..000000000 --- a/doc/7/controllers/security/get-user-rights/snippets/get-user-rights.test.yml +++ /dev/null @@ -1,20 +0,0 @@ -name: security#getUserRights -description: get user rights -hooks: - before: > - curl --fail -H "Content-type: application/json" -d '{ - "content": { - "profileIds": [ "default" ], - "fullName": "John Doe" - }, - "credentials": { - "local": { - "username": "jdoe", - "password": "password" - } - } - }' kuzzle:7512/users/john.doe/_create - after: curl -XDELETE kuzzle:7512/users/john.doe -template: default -expected: - - "value: 'allowed'" diff --git a/doc/7/controllers/security/get-user-strategies/snippets/get-user-strategies.test.yml b/doc/7/controllers/security/get-user-strategies/snippets/get-user-strategies.test.yml deleted file mode 100644 index 8e865a76a..000000000 --- a/doc/7/controllers/security/get-user-strategies/snippets/get-user-strategies.test.yml +++ /dev/null @@ -1,20 +0,0 @@ -name: security#getUserStrategies -description: get user strategies -hooks: - before: > - curl --fail -H "Content-type: application/json" -d '{ - "content": { - "profileIds": [ "default" ], - "fullName": "John Doe" - }, - "credentials": { - "local": { - "username": "jdoe", - "password": "password" - } - } - }' kuzzle:7512/users/john.doe/_create - after: curl -XDELETE kuzzle:7512/users/john.doe -template: catch -expected: - - "[ 'local' ]" diff --git a/doc/7/controllers/security/get-user/snippets/get-user.test.yml b/doc/7/controllers/security/get-user/snippets/get-user.test.yml deleted file mode 100644 index edad9952a..000000000 --- a/doc/7/controllers/security/get-user/snippets/get-user.test.yml +++ /dev/null @@ -1,20 +0,0 @@ -name: security#getUser -description: get user -hooks: - before: > - curl --fail -H "Content-type: application/json" -d '{ - "content": { - "profileIds": [ "default" ], - "fullName": "John Doe" - }, - "credentials": { - "local": { - "username": "jdoe", - "password": "password" - } - } - }' kuzzle:7512/users/john.doe/_create - after: curl -XDELETE kuzzle:7512/users/john.doe -template: default -expected: - - "fullName: 'John Doe'" diff --git a/doc/7/controllers/security/has-credentials/snippets/has-credentials.test.yml b/doc/7/controllers/security/has-credentials/snippets/has-credentials.test.yml deleted file mode 100644 index 8fee898e5..000000000 --- a/doc/7/controllers/security/has-credentials/snippets/has-credentials.test.yml +++ /dev/null @@ -1,19 +0,0 @@ -name: security#hasCredentials -description: has credentials -hooks: - before: > - curl --fail -H "Content-type: application/json" -d '{ - "content": { - "profileIds": [ "default" ], - "fullName": "John Doe" - }, - "credentials": { - "local": { - "username": "jdoe", - "password": "password" - } - } - }' kuzzle:7512/users/john.doe/_create - after: curl -XDELETE kuzzle:7512/users/john.doe -template: default -expected: ^true$ diff --git a/doc/7/controllers/security/m-delete-profiles/snippets/m-delete-profiles.test.yml b/doc/7/controllers/security/m-delete-profiles/snippets/m-delete-profiles.test.yml deleted file mode 100644 index e5aa30556..000000000 --- a/doc/7/controllers/security/m-delete-profiles/snippets/m-delete-profiles.test.yml +++ /dev/null @@ -1,11 +0,0 @@ -name: security#mDeleteProfiles -description: mdelete profiles -hooks: - before: | - for i in 1 2 3 4 5; do - curl --fail -H "Content-type: application/json" -d '{ - "policies": [{ "roleId": "default" }] - }' kuzzle:7512/profiles/profile${i}/_create - done -template: default -expected: '^\[ ''profile\d'', ''profile\d'', ''profile\d'', ''profile\d'', ''profile\d'' \]$' diff --git a/doc/7/controllers/security/m-delete-roles/snippets/m-delete-roles.test.yml b/doc/7/controllers/security/m-delete-roles/snippets/m-delete-roles.test.yml deleted file mode 100644 index e1584334b..000000000 --- a/doc/7/controllers/security/m-delete-roles/snippets/m-delete-roles.test.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: security#mDeleteRoles -description: mdelete roles -hooks: - before: | - for i in 1 2 3 4 5; do - curl --fail -H "Content-type: application/json" -d '{ - "controllers": { - "*": { - "actions": { - "*": true - } - } - } - }' kuzzle:7512/roles/role${i}/_create - done -template: default -expected: '^\[ ''role\d'', ''role\d'', ''role\d'', ''role\d'', ''role\d'' \]$' diff --git a/doc/7/controllers/security/m-delete-users/snippets/m-delete-users.test.yml b/doc/7/controllers/security/m-delete-users/snippets/m-delete-users.test.yml deleted file mode 100644 index 2563308aa..000000000 --- a/doc/7/controllers/security/m-delete-users/snippets/m-delete-users.test.yml +++ /dev/null @@ -1,19 +0,0 @@ -name: security#mDeleteUsers -description: mdelete users -hooks: - before: | - for i in 1 2 3; do - curl --fail -H "Content-type: application/json" -d '{ - "content": { - "profileIds": [ "default" ] - }, - "credentials": { - "local": { - "username": "user'${i}'", - "password": "pass" - } - } - }' kuzzle:7512/users/user${i}/_create - done -template: default -expected: '^\[ ''user\d'', ''user\d'', ''user\d'' \]$' diff --git a/doc/7/controllers/security/m-get-profiles/snippets/m-get-profiles.test.yml b/doc/7/controllers/security/m-get-profiles/snippets/m-get-profiles.test.yml deleted file mode 100644 index 171c26967..000000000 --- a/doc/7/controllers/security/m-get-profiles/snippets/m-get-profiles.test.yml +++ /dev/null @@ -1,15 +0,0 @@ -name: security#mGetProfiles -description: mget profiles -hooks: - before: | - for i in 1 2 3; do - curl --fail -H "Content-type: application/json" -d '{ - "policies": [{"roleId": "default"}] - }' kuzzle:7512/profiles/profile${i}/_create - done - after: | - for i in 1 2 3; do - curl -XDELETE kuzzle:7512/profiles/profile${i} - done -template: default -expected: Successfully retrieved 3 profiles diff --git a/doc/7/controllers/security/m-get-roles/snippets/m-get-roles.test.yml b/doc/7/controllers/security/m-get-roles/snippets/m-get-roles.test.yml deleted file mode 100644 index b1b4cfe89..000000000 --- a/doc/7/controllers/security/m-get-roles/snippets/m-get-roles.test.yml +++ /dev/null @@ -1,21 +0,0 @@ -name: security#mGetRoles -description: mget roles -hooks: - before: | - for i in 1 2 3; do - curl --fail -H "Content-type: application/json" -d '{ - "controllers": { - "*": { - "actions": { - "*": true - } - } - } - }' kuzzle:7512/roles/role${i}/_create - done - after: | - for i in 1 2 3; do - curl -XDELETE kuzzle:7512/roles/role${i} - done -template: default -expected: '.*Role.*_id.*controllers.*' diff --git a/doc/7/controllers/security/m-get-users/snippets/m-get-users.test.yml b/doc/7/controllers/security/m-get-users/snippets/m-get-users.test.yml deleted file mode 100644 index 11bb312df..000000000 --- a/doc/7/controllers/security/m-get-users/snippets/m-get-users.test.yml +++ /dev/null @@ -1,24 +0,0 @@ -name: security#mGetUsers -description: mget users -hooks: - before: | - for i in 1 2 3; do - curl --fail -H "Content-type: application/json" -d '{ - "content": { - "profileIds": ["default"], - "fullname": "user'${i}'" - }, - "credentials": { - "local": { - "username": "user'${i}'", - "password": "bar" - } - } - }' kuzzle:7512/users/user${i}/_create - done - after: | - for i in 1 2 3; do - curl -XDELETE kuzzle:7512/users/user${i} - done -template: default -expected: '.*User.*' diff --git a/doc/7/controllers/security/refresh/snippets/refresh.test.yml b/doc/7/controllers/security/refresh/snippets/refresh.test.yml deleted file mode 100644 index deb50cd40..000000000 --- a/doc/7/controllers/security/refresh/snippets/refresh.test.yml +++ /dev/null @@ -1,5 +0,0 @@ -name: security#refresh -description: Refreshes security collection -hooks: -template: default -expected: Success diff --git a/doc/7/controllers/security/replace-user/snippets/replace-user.test.yml b/doc/7/controllers/security/replace-user/snippets/replace-user.test.yml deleted file mode 100644 index 73893b7f4..000000000 --- a/doc/7/controllers/security/replace-user/snippets/replace-user.test.yml +++ /dev/null @@ -1,19 +0,0 @@ -name: security#replaceUser -description: replace user -hooks: - before: > - curl --fail -H "Content-type: application/json" -d '{ - "content": { - "profileIds": [ "default" ] - }, - "credentials": { - "local": { - "username": "jdoe", - "password": "pass" - } - } - }' kuzzle:7512/users/john.doe/_create - after: curl -XDELETE kuzzle:7512/users/john.doe -template: default -expected: - - "firstName: 'John'" diff --git a/doc/7/controllers/security/search-api-keys/snippets/search-api-keys-koncorde.test.yml b/doc/7/controllers/security/search-api-keys/snippets/search-api-keys-koncorde.test.yml deleted file mode 100644 index 237ea3487..000000000 --- a/doc/7/controllers/security/search-api-keys/snippets/search-api-keys-koncorde.test.yml +++ /dev/null @@ -1,14 +0,0 @@ -name: security#searchApiKeys-koncorde -description: Searches for a user API keys -hooks: - before: > - curl --fail -H "Content-type: application/json" -d '{ - "content": { - "profileIds": ["default"] - } - }' "kuzzle:7512/users/john.doe/_create?refresh=wait_for" - after: - curl -XDELETE kuzzle:7512/users/john.doe -template: default -expected: - - Found 2 API keys. diff --git a/doc/7/controllers/security/search-profiles/snippets/search-profiles.test.yml b/doc/7/controllers/security/search-profiles/snippets/search-profiles.test.yml deleted file mode 100644 index 603a3c08a..000000000 --- a/doc/7/controllers/security/search-profiles/snippets/search-profiles.test.yml +++ /dev/null @@ -1,15 +0,0 @@ -name: security#searchProfiles -description: search profiles -hooks: - before: | - for i in 1 2 3; do - curl --fail -H "Content-type: application/json" -d '{ - "policies": [{ "roleId": "default" }] - }' kuzzle:7512/profiles/profile${i}/_create?refresh=wait_for - done - after: | - for i in 1 2 3; do - curl -XDELETE kuzzle:7512/profiles/profile${i} - done -template: default -expected: ^Successfully retrieved \d+ profiles$ diff --git a/doc/7/controllers/security/search-roles/snippets/search-roles.test.yml b/doc/7/controllers/security/search-roles/snippets/search-roles.test.yml deleted file mode 100644 index 64cb86570..000000000 --- a/doc/7/controllers/security/search-roles/snippets/search-roles.test.yml +++ /dev/null @@ -1,4 +0,0 @@ -name: security#searchRoles -description: search roles -template: default -expected: ^Successfully retrieved 3 roles$ diff --git a/doc/7/controllers/security/search-users/snippets/search-users-es.test.yml b/doc/7/controllers/security/search-users/snippets/search-users-es.test.yml deleted file mode 100644 index 40409df44..000000000 --- a/doc/7/controllers/security/search-users/snippets/search-users-es.test.yml +++ /dev/null @@ -1,20 +0,0 @@ -name: security#searchUsers-es -description: search users -hooks: - before: | - for i in 1 2 3; do - curl --fail -H "Content-type: application/json" -d '{ - "content": { - "profileIds": [ "default" ], - "status": "student" - }, - "credentials": {} - }' kuzzle:7512/users/user${i}/_create?refresh=wait_for - done - after: - - curl -f -XDELETE kuzzle:7512/users/user1 - - curl -f -XDELETE kuzzle:7512/users/user2 - - curl -f -XDELETE kuzzle:7512/users/user3 - -template: default -expected: ^Successfully retrieved 0 users$ diff --git a/doc/7/controllers/security/search-users/snippets/search-users-koncorde.test.yml b/doc/7/controllers/security/search-users/snippets/search-users-koncorde.test.yml deleted file mode 100644 index 599bf257b..000000000 --- a/doc/7/controllers/security/search-users/snippets/search-users-koncorde.test.yml +++ /dev/null @@ -1,16 +0,0 @@ -name: security#searchUsers-koncorde -description: search users -hooks: - before: | - for i in 1 2 3; do - curl --fail -H "Content-type: application/json" -d '{ - "content": { - "profileIds": [ "default" ], - "status": "student" - }, - "credentials": {} - }' kuzzle:7512/users/user${i}/_create?refresh=wait_for - done - after: -template: default -expected: ^Successfully retrieved 0 users$ diff --git a/doc/7/controllers/security/update-credentials/snippets/update-credentials.test.yml b/doc/7/controllers/security/update-credentials/snippets/update-credentials.test.yml deleted file mode 100644 index 42df29f6d..000000000 --- a/doc/7/controllers/security/update-credentials/snippets/update-credentials.test.yml +++ /dev/null @@ -1,18 +0,0 @@ -name: security#updateCredentials -description: update credentials -hooks: - before: > - curl --fail -H "Content-type: application/json" -f -d '{ - "content": { - "profileIds": ["default"] - }, - "credentials": { - "local": { - "username": "jdoe", - "password": "pass" - } - } - }' kuzzle:7512/users/john.doe/_create - after: curl -XDELETE kuzzle:7512/users/john.doe -template: default -expected: '^{ username: ''jdoe'', kuid: ''john.doe'' }$' diff --git a/doc/7/controllers/security/update-profile-mapping/snippets/update-profile-mapping.test.yml b/doc/7/controllers/security/update-profile-mapping/snippets/update-profile-mapping.test.yml deleted file mode 100644 index dfcd39461..000000000 --- a/doc/7/controllers/security/update-profile-mapping/snippets/update-profile-mapping.test.yml +++ /dev/null @@ -1,4 +0,0 @@ -name: security#updateProfileMapping -description: update profile mapping -template: default -expected: 'description: {' diff --git a/doc/7/controllers/security/update-profile/snippets/update-profile.test.yml b/doc/7/controllers/security/update-profile/snippets/update-profile.test.yml deleted file mode 100644 index 725eb3892..000000000 --- a/doc/7/controllers/security/update-profile/snippets/update-profile.test.yml +++ /dev/null @@ -1,24 +0,0 @@ -name: security#updateProfile -description: updates a security profile definition -hooks: - before: - - > - curl --fail -H "Content-type: application/json" -d '{ - "policies": [] - }' kuzzle:7512/profiles/myProfile/_create - - > - curl --fail -H "Content-type: application/json" -d '{ - "controllers": { - "*": { - "actions": { - "*": true - } - } - } - }' kuzzle:7512/roles/privileged/_create - after: - - curl -XDELETE kuzzle:7512/profiles/myProfile?refresh=wait_for - - curl -XDELETE kuzzle:7512/roles/privileged -template: default -expected: - - "{ roleId: 'privileged', restrictedTo: \\[Array\\] }" diff --git a/doc/7/controllers/security/update-role-mapping/snippets/update-role-mapping.test.yml b/doc/7/controllers/security/update-role-mapping/snippets/update-role-mapping.test.yml deleted file mode 100644 index 99acf0be0..000000000 --- a/doc/7/controllers/security/update-role-mapping/snippets/update-role-mapping.test.yml +++ /dev/null @@ -1,4 +0,0 @@ -name: security#updateRoleMapping -description: update role mapping -template: default -expected: 'description:' diff --git a/doc/7/controllers/security/update-role/snippets/update-role.test.yml b/doc/7/controllers/security/update-role/snippets/update-role.test.yml deleted file mode 100644 index 28a68b1a8..000000000 --- a/doc/7/controllers/security/update-role/snippets/update-role.test.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: security#updateRole -description: update role -hooks: - before: > - curl -f -H "Content-type: application/json" -d '{ - "controllers": { - "auth": { - "actions": { - "login": true - } - } - } - }' kuzzle:7512/roles/read-only/_create - after: curl -f -XDELETE kuzzle:7512/roles/read-only -template: default -expected: - - "auth: { actions: \\[Object\\] }," diff --git a/doc/7/controllers/security/update-user-mapping/snippets/update-user-mapping.test.yml b/doc/7/controllers/security/update-user-mapping/snippets/update-user-mapping.test.yml deleted file mode 100644 index e8bf72cc2..000000000 --- a/doc/7/controllers/security/update-user-mapping/snippets/update-user-mapping.test.yml +++ /dev/null @@ -1,4 +0,0 @@ -name: security#updateUserMapping -description: update user mapping -template: default -expected: 'firstName: ' diff --git a/doc/7/controllers/security/update-user/snippets/update-user.test.yml b/doc/7/controllers/security/update-user/snippets/update-user.test.yml deleted file mode 100644 index 9b917cd35..000000000 --- a/doc/7/controllers/security/update-user/snippets/update-user.test.yml +++ /dev/null @@ -1,14 +0,0 @@ -name: security#updateUser -description: update user -hooks: - before: > - curl -f -H "Content-type: application/json" -d '{ - "content": { - "profileIds": ["default"] - }, - "credentials": { } - }' kuzzle:7512/users/john.doe/_create - after: curl -f -XDELETE kuzzle:7512/users/john.doe -template: default -expected: - - "firstName: 'John'" diff --git a/doc/7/controllers/security/validate-credentials/snippets/validate-credentials.test.yml b/doc/7/controllers/security/validate-credentials/snippets/validate-credentials.test.yml deleted file mode 100644 index 5fd0cb927..000000000 --- a/doc/7/controllers/security/validate-credentials/snippets/validate-credentials.test.yml +++ /dev/null @@ -1,18 +0,0 @@ -name: security#validateCredentials -description: validate credentials -hooks: - before: > - curl -f -H "Content-type: application/json" -d '{ - "content": { - "profileIds": ["default"] - }, - "credentials": { - "local": { - "username": "jdoe", - "password": "password" - } - } - }' kuzzle:7512/users/john.doe/_create - after: curl -f -XDELETE kuzzle:7512/users/john.doe -template: default -expected: ^true$ diff --git a/doc/7/controllers/server/admin-exists/snippets/admin-exists.test.yml b/doc/7/controllers/server/admin-exists/snippets/admin-exists.test.yml deleted file mode 100644 index 2502f328f..000000000 --- a/doc/7/controllers/server/admin-exists/snippets/admin-exists.test.yml +++ /dev/null @@ -1,10 +0,0 @@ -name: server#adminExists -description: Checks that an administrator account exists. -hooks: - before: - after: -template: default -expected: ^(Admin exists\?) (true|false)$ - -sdk: js -version: 7 diff --git a/doc/7/controllers/server/get-all-stats/snippets/get-all-stats.test.yml b/doc/7/controllers/server/get-all-stats/snippets/get-all-stats.test.yml deleted file mode 100644 index e154cc024..000000000 --- a/doc/7/controllers/server/get-all-stats/snippets/get-all-stats.test.yml +++ /dev/null @@ -1,7 +0,0 @@ -name: server#getAllStats -description: Gets all stored internal statistic snapshots. -hooks: - before: - after: -template: default -expected: ongoingRequests diff --git a/doc/7/controllers/server/get-config/snippets/get-config.test.yml b/doc/7/controllers/server/get-config/snippets/get-config.test.yml deleted file mode 100644 index 30e2c2dab..000000000 --- a/doc/7/controllers/server/get-config/snippets/get-config.test.yml +++ /dev/null @@ -1,7 +0,0 @@ -name: server#getConfig -description: Returns the current Kuzzle configuration. -hooks: - before: - after: -template: default -expected: '^Kuzzle Server configuration:' \ No newline at end of file diff --git a/doc/7/controllers/server/get-last-stats/snippets/get-last-stats.test.yml b/doc/7/controllers/server/get-last-stats/snippets/get-last-stats.test.yml deleted file mode 100644 index a7318c67e..000000000 --- a/doc/7/controllers/server/get-last-stats/snippets/get-last-stats.test.yml +++ /dev/null @@ -1,7 +0,0 @@ -name: server#getLastStats -description: Gets all stored internal statistic snapshots. -hooks: - before: - after: -template: default -expected: ongoingRequests diff --git a/doc/7/controllers/server/get-stats/snippets/get-stats.test.yml b/doc/7/controllers/server/get-stats/snippets/get-stats.test.yml deleted file mode 100644 index 520756733..000000000 --- a/doc/7/controllers/server/get-stats/snippets/get-stats.test.yml +++ /dev/null @@ -1,7 +0,0 @@ -name: server#getStats -description: Returns statistics snapshots within a provided timestamp range. -hooks: - before: - after: -template: default -expected: hits diff --git a/doc/7/controllers/server/info/snippets/info.test.yml b/doc/7/controllers/server/info/snippets/info.test.yml deleted file mode 100644 index b2717248b..000000000 --- a/doc/7/controllers/server/info/snippets/info.test.yml +++ /dev/null @@ -1,7 +0,0 @@ -name: server##info -description: Retrieves information about Kuzzle plugins and active services. -hooks: - before: - after: -template: default -expected: serverInfo diff --git a/doc/7/controllers/server/now/snippets/now.test.yml b/doc/7/controllers/server/now/snippets/now.test.yml deleted file mode 100644 index efff02676..000000000 --- a/doc/7/controllers/server/now/snippets/now.test.yml +++ /dev/null @@ -1,7 +0,0 @@ -name: server#now -description: Fetch the current server timestamp, in Epoch-millis format. -hooks: - before: - after: -template: default -expected: ^(Epoch-millis timestamp:) [0-9]{13}$ \ No newline at end of file diff --git a/doc/7/core-classes/base-controller/properties/index.md b/doc/7/core-classes/base-controller/properties/index.md index 760d3238b..2c1504839 100644 --- a/doc/7/core-classes/base-controller/properties/index.md +++ b/doc/7/core-classes/base-controller/properties/index.md @@ -9,10 +9,11 @@ description: BaseController Properties -| Property name | Type | Description | -| -------------------- | -------- | --------------------------------------- | -| `name` |
string
| Controller name | -| `kuzzle` | [`Kuzzle`](/sdk/js/7/core-classes/kuzzle/constructor) | Kuzzle SDK instance | +| Property name | Type | Description | +| ------------- | ----------------------------------------------------- | ------------------- | +| `name` |
string
| Controller name | +| `kuzzle` | [`Kuzzle`](/sdk/js/7/core-classes/kuzzle/constructor) | Kuzzle SDK instance | **Note:** - - The `name` property will be injected in the request sent by the [BaseController.query](/sdk/js/7/core-classes/base-controller/query) method if the `controller` property is not set. \ No newline at end of file + +- The `name` property will be injected in the request sent by the [BaseController.query](/sdk/js/7/core-classes/base-controller/query) method if the `controller` property is not set. diff --git a/doc/7/core-classes/base-controller/query/index.md b/doc/7/core-classes/base-controller/query/index.md index 436664c27..53c158c50 100644 --- a/doc/7/core-classes/base-controller/query/index.md +++ b/doc/7/core-classes/base-controller/query/index.md @@ -16,14 +16,14 @@ This method injects the controller name into the the request and forwards it to ## Arguments ```js -query (request, [options]); +query(request, [options]); ```
-| Argument | Type | Description | -| -------------- | --------- | ------------- | -| `request` |
object
| API request | +| Argument | Type | Description | +| --------- | ----------------- | ---------------------- | +| `request` |
object
| API request | | `options` |
object
| Optional query options | ### request @@ -31,27 +31,28 @@ query (request, [options]); All properties necessary for the Kuzzle API can be added in the request object. The following properties are the most common. -| Property | Type | Description | -| -------------- | --------- | ------------- | +| Property | Type | Description | +| ------------ | ----------------- | ---------------------------------------- | | `action` |
string
| Action name (required) | -| `controller` |
string
| Controller name | -| `body` |
object
| Query body for this action | -| `index` |
string
| Index name for this action | -| `collection` |
string
| Collection name for this action | -| `_id` |
string
| id for this action | +| `controller` |
string
| Controller name | +| `body` |
object
| Query body for this action | +| `index` |
string
| Index name for this action | +| `collection` |
string
| Collection name for this action | +| `_id` |
string
| id for this action | | `volatile` |
object
| Additional information to send to Kuzzle | **Note:** - - If the `controller` property is not set, the controller [name property](/sdk/js/7/core-classes/base-controller/properties) will be used + +- If the `controller` property is not set, the controller [name property](/sdk/js/7/core-classes/base-controller/properties) will be used ### options Additional query options -| Property | Type
(default) | Description | -| -------------- | --------- | ------------- | +| Property | Type
(default) | Description | +| ---------- | ------------------------------- | ------------------------------------------------------------------------------ | | `queuable` |
boolean

(`true`) | If `true`, queues the request during downtime, until connected to Kuzzle again | ## Resolves -Resolve to the raw Kuzzle API response. See the [API Documentation](/core/2/api). \ No newline at end of file +Resolve to the raw Kuzzle API response. See the [API Documentation](/core/2/api). diff --git a/doc/7/core-classes/index.md b/doc/7/core-classes/index.md index 71320d100..5bf50a486 100644 --- a/doc/7/core-classes/index.md +++ b/doc/7/core-classes/index.md @@ -1,7 +1,7 @@ --- code: false type: branch -order: 200 +order: 400 title: Core Classes description: Javascript SDK v7.x core classes --- diff --git a/doc/7/core-classes/kuzzle-event-emitter/add-listener/snippets/add-listener.test.yml b/doc/7/core-classes/kuzzle-event-emitter/add-listener/snippets/add-listener.test.yml deleted file mode 100644 index 261fe9cf4..000000000 --- a/doc/7/core-classes/kuzzle-event-emitter/add-listener/snippets/add-listener.test.yml +++ /dev/null @@ -1,9 +0,0 @@ -name: kuzzleEventEmitter#add-listener -description: Adds new listener for the given event -hooks: - before: - after: -template: eventemitter -expected: Caught event "myEvent"! -sdk: js -version: 7 diff --git a/doc/7/core-classes/kuzzle-event-emitter/add-once-listener/snippets/add-once-listener.test.yml b/doc/7/core-classes/kuzzle-event-emitter/add-once-listener/snippets/add-once-listener.test.yml deleted file mode 100644 index 3ca6257d7..000000000 --- a/doc/7/core-classes/kuzzle-event-emitter/add-once-listener/snippets/add-once-listener.test.yml +++ /dev/null @@ -1,9 +0,0 @@ -name: kuzzleEventEmitter#add-once-listener -description: Adds new once listener for the given event -hooks: - before: - after: -template: eventemitter -expected: Caught event "myEvent"! -sdk: js -version: 7 diff --git a/doc/7/core-classes/kuzzle-event-emitter/emit/snippets/emit.test.yml b/doc/7/core-classes/kuzzle-event-emitter/emit/snippets/emit.test.yml deleted file mode 100644 index dc23f9a35..000000000 --- a/doc/7/core-classes/kuzzle-event-emitter/emit/snippets/emit.test.yml +++ /dev/null @@ -1,9 +0,0 @@ -name: kuzzleEventEmitter#emit -description: Emits an event -hooks: - before: - after: -template: eventemitter -expected: Hello World -sdk: js -version: 7 diff --git a/doc/7/core-classes/kuzzle-event-emitter/listeners/snippets/listeners.test.yml b/doc/7/core-classes/kuzzle-event-emitter/listeners/snippets/listeners.test.yml deleted file mode 100644 index 52a527683..000000000 --- a/doc/7/core-classes/kuzzle-event-emitter/listeners/snippets/listeners.test.yml +++ /dev/null @@ -1,9 +0,0 @@ -name: kuzzleEventEmitter#listeners -description: Returns listeners binded to an event -hooks: - before: - after: -template: eventemitter -expected: There are 2 listeners bound to the event "myEvent" -sdk: js -version: 7 diff --git a/doc/7/core-classes/kuzzle-event-emitter/prepend-listener/snippets/prepend-listener.test.yml b/doc/7/core-classes/kuzzle-event-emitter/prepend-listener/snippets/prepend-listener.test.yml deleted file mode 100644 index 9ab3c939a..000000000 --- a/doc/7/core-classes/kuzzle-event-emitter/prepend-listener/snippets/prepend-listener.test.yml +++ /dev/null @@ -1,11 +0,0 @@ -name: kuzzleEventEmitter#prepend-listener -description: Prepends a new listener for the given event -hooks: - before: - after: -template: eventemitter -expected: - - ^listener2$ - - ^listener1$ -sdk: js -version: 7 diff --git a/doc/7/core-classes/kuzzle-event-emitter/prepend-once-listener/snippets/prepend-once-listener.test.yml b/doc/7/core-classes/kuzzle-event-emitter/prepend-once-listener/snippets/prepend-once-listener.test.yml deleted file mode 100644 index 6f31d5c21..000000000 --- a/doc/7/core-classes/kuzzle-event-emitter/prepend-once-listener/snippets/prepend-once-listener.test.yml +++ /dev/null @@ -1,12 +0,0 @@ -name: kuzzleEventEmitter#prepend-once-listener -description: Prepends an once new listener for the given event -hooks: - before: - after: -template: eventemitter -expected: - - ^listener2$ - - ^listener1$ - - ^listener1$ -sdk: js -version: 7 diff --git a/doc/7/core-classes/kuzzle-event-emitter/remove-all-listener/snippets/remove-all-listeners.test.yml b/doc/7/core-classes/kuzzle-event-emitter/remove-all-listener/snippets/remove-all-listeners.test.yml deleted file mode 100644 index e1d5d344c..000000000 --- a/doc/7/core-classes/kuzzle-event-emitter/remove-all-listener/snippets/remove-all-listeners.test.yml +++ /dev/null @@ -1,9 +0,0 @@ -name: kuzzleEventEmitter#remove-all-listeners -description: Removes a listener for the given event -hooks: - before: - after: -template: eventemitter -expected: Successfully removed all listeners -sdk: js -version: 7 diff --git a/doc/7/core-classes/kuzzle-event-emitter/remove-listener/snippets/remove-listener.test.yml b/doc/7/core-classes/kuzzle-event-emitter/remove-listener/snippets/remove-listener.test.yml deleted file mode 100644 index 50d53fcf9..000000000 --- a/doc/7/core-classes/kuzzle-event-emitter/remove-listener/snippets/remove-listener.test.yml +++ /dev/null @@ -1,9 +0,0 @@ -name: kuzzleEventEmitter#remove-listener -description: Removes a listener for the given event -hooks: - before: - after: -template: eventemitter -expected: Successfully removed the listener -sdk: js -version: 7 diff --git a/doc/7/core-classes/kuzzle/authenticate/snippets/authenticate.test.yml b/doc/7/core-classes/kuzzle/authenticate/snippets/authenticate.test.yml deleted file mode 100644 index 0c5300fe7..000000000 --- a/doc/7/core-classes/kuzzle/authenticate/snippets/authenticate.test.yml +++ /dev/null @@ -1,8 +0,0 @@ ---- -name: kuzzle#authenticate -description: Authenticate the SDK -hooks: - before: curl -X POST kuzzle:7512/users/foo/_create -H "Content-Type:application/json" --data '{"content":{"profileIds":["default"]},"credentials":{"local":{"username":"foo","password":"bar"}}}' - after: curl -X DELETE kuzzle:7512/users/foo -template: default -expected: Success diff --git a/doc/7/core-classes/kuzzle/connect/snippets/connect.test.yml b/doc/7/core-classes/kuzzle/connect/snippets/connect.test.yml deleted file mode 100644 index 86edf692a..000000000 --- a/doc/7/core-classes/kuzzle/connect/snippets/connect.test.yml +++ /dev/null @@ -1,11 +0,0 @@ ---- -name: kuzzle#connect -description: Connects the SDK to Kuzzle -hooks: - before: - after: -template: without-connect -expected: Successfully connected - -sdk: js -version: 7 diff --git a/doc/7/core-classes/kuzzle/constructor/snippets/constructor.test.yml b/doc/7/core-classes/kuzzle/constructor/snippets/constructor.test.yml deleted file mode 100644 index 26b345f0b..000000000 --- a/doc/7/core-classes/kuzzle/constructor/snippets/constructor.test.yml +++ /dev/null @@ -1,10 +0,0 @@ ---- -name: kuzzle#constructor -description: Creates a new Kuzzle instance connected to kuzzle -hooks: - before: - after: -template: empty -expected: Success -sdk: js -version: 7 diff --git a/doc/7/core-classes/kuzzle/disconnect/snippets/disconnect.test.yml b/doc/7/core-classes/kuzzle/disconnect/snippets/disconnect.test.yml deleted file mode 100644 index 15f23ad96..000000000 --- a/doc/7/core-classes/kuzzle/disconnect/snippets/disconnect.test.yml +++ /dev/null @@ -1,11 +0,0 @@ ---- -name: kuzzle#disconnect -description: Disconnects the SDK -hooks: - before: - after: -template: without-connect -expected: Successfully disconnected - -sdk: js -version: 7 diff --git a/doc/7/core-classes/kuzzle/flush-queue/snippets/flush-queue.test.yml b/doc/7/core-classes/kuzzle/flush-queue/snippets/flush-queue.test.yml deleted file mode 100644 index ada4a3aef..000000000 --- a/doc/7/core-classes/kuzzle/flush-queue/snippets/flush-queue.test.yml +++ /dev/null @@ -1,11 +0,0 @@ ---- -name: kuzzle#flushQueue -description: Empties the offline request queue -hooks: - before: - after: -template: without-connect -expected: Offline queue flushed - -sdk: js -version: 7 diff --git a/doc/7/core-classes/kuzzle/play-queue/snippets/play-queue.test.yml b/doc/7/core-classes/kuzzle/play-queue/snippets/play-queue.test.yml deleted file mode 100644 index 8a249726b..000000000 --- a/doc/7/core-classes/kuzzle/play-queue/snippets/play-queue.test.yml +++ /dev/null @@ -1,11 +0,0 @@ ---- -name: kuzzle#playQueue -description: Play the requests queued -hooks: - before: - after: -template: without-connect -expected: Start playing offline queue - -sdk: js -version: 7 diff --git a/doc/7/core-classes/kuzzle/query/snippets/query.test.yml b/doc/7/core-classes/kuzzle/query/snippets/query.test.yml deleted file mode 100644 index 490f1e010..000000000 --- a/doc/7/core-classes/kuzzle/query/snippets/query.test.yml +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: kuzzle#query -description: Sends a request to Kuzzle API -hooks: - before: | - curl -X POST kuzzle:7512/nyc-open-data/_create - curl -X PUT kuzzle:7512/nyc-open-data/yellow-taxi - curl -X DELETE kuzzle:7512/nyc-open-data/yellow-taxi/my-custom-document-id - after: -template: default -expected: Document created - -sdk: js -version: 7 diff --git a/doc/7/core-classes/kuzzle/start-queuing/snippets/start-queuing.test.yml b/doc/7/core-classes/kuzzle/start-queuing/snippets/start-queuing.test.yml deleted file mode 100644 index 8eb3cfc20..000000000 --- a/doc/7/core-classes/kuzzle/start-queuing/snippets/start-queuing.test.yml +++ /dev/null @@ -1,11 +0,0 @@ ---- -name: kuzzle#startQueuing -description: Starts the requests queuing -hooks: - before: - after: -template: without-connect -expected: Start queuing requests - -sdk: js -version: 7 diff --git a/doc/7/core-classes/kuzzle/stop-queuing/snippets/stop-queuing.test.yml b/doc/7/core-classes/kuzzle/stop-queuing/snippets/stop-queuing.test.yml deleted file mode 100644 index 63175a19a..000000000 --- a/doc/7/core-classes/kuzzle/stop-queuing/snippets/stop-queuing.test.yml +++ /dev/null @@ -1,11 +0,0 @@ ---- -name: kuzzle#stopQueuing -description: Stops the requests queuing -hooks: - before: - after: -template: without-connect -expected: Stop queuing requests - -sdk: js -version: 7 diff --git a/doc/7/core-classes/kuzzle/use-controller/snippets/use-controller.test.yml b/doc/7/core-classes/kuzzle/use-controller/snippets/use-controller.test.yml deleted file mode 100644 index 976bf68ed..000000000 --- a/doc/7/core-classes/kuzzle/use-controller/snippets/use-controller.test.yml +++ /dev/null @@ -1,11 +0,0 @@ ---- -name: kuzzle#useController -description: Adds a new controller to the SDK -hooks: - before: - after: -template: controller -expected: Success - -sdk: js -version: 7 \ No newline at end of file diff --git a/doc/7/core-classes/profile/getRoles/snippets/getRoles.test.yml b/doc/7/core-classes/profile/getRoles/snippets/getRoles.test.yml deleted file mode 100644 index f7fa219ff..000000000 --- a/doc/7/core-classes/profile/getRoles/snippets/getRoles.test.yml +++ /dev/null @@ -1,12 +0,0 @@ -name: user#getRoles -description: Loads informations about user roles -hooks: - before: | - curl -X DELETE kuzzle:7512/users/foo - curl -X POST kuzzle:7512/users/foo/_create -H "Content-Type:application/json" --data '{"content":{"profileIds":["default"]},"credentials":{"local":{"username":"foo","password":"bar"}}}' - after: -template: default -expected: - - Profile { _id: \'default\' -sdk: js -version: 7 diff --git a/doc/7/core-classes/search-result/next/snippets/fromsize.test.yml b/doc/7/core-classes/search-result/next/snippets/fromsize.test.yml deleted file mode 100644 index 135ad9c56..000000000 --- a/doc/7/core-classes/search-result/next/snippets/fromsize.test.yml +++ /dev/null @@ -1,13 +0,0 @@ -name: searchresult#fromsize -description: Next method with from/size -hooks: - before: | - curl -XDELETE kuzzle:7512/nyc-open-data - curl -XPOST kuzzle:7512/nyc-open-data/_create - curl -XPUT kuzzle:7512/nyc-open-data/yellow-taxi - after: | - curl -XDELETE kuzzle:7512/nyc-open-data -template: default -expected: Successfully retrieved 100 documents -sdk: js -version: 7 diff --git a/doc/7/core-classes/search-result/next/snippets/scroll.test.yml b/doc/7/core-classes/search-result/next/snippets/scroll.test.yml deleted file mode 100644 index 5cfbced3c..000000000 --- a/doc/7/core-classes/search-result/next/snippets/scroll.test.yml +++ /dev/null @@ -1,13 +0,0 @@ -name: searchresult#scroll -description: Next method with scroll -hooks: - before: | - curl -XDELETE kuzzle:7512/nyc-open-data - curl -XPOST kuzzle:7512/nyc-open-data/_create - curl -XPUT kuzzle:7512/nyc-open-data/yellow-taxi - after: | - curl -XDELETE kuzzle:7512/nyc-open-data -template: default -expected: Successfully retrieved 100 documents -sdk: js -version: 7 diff --git a/doc/7/core-classes/search-result/next/snippets/sortsize.test.yml b/doc/7/core-classes/search-result/next/snippets/sortsize.test.yml deleted file mode 100644 index d6c320f00..000000000 --- a/doc/7/core-classes/search-result/next/snippets/sortsize.test.yml +++ /dev/null @@ -1,11 +0,0 @@ -name: searchresult#sortsize -description: Next method with sort/size -hooks: - before: | - curl -XDELETE kuzzle:7512/nyc-open-data - curl -XPOST kuzzle:7512/nyc-open-data/_create - curl -XPUT kuzzle:7512/nyc-open-data/yellow-taxi - after: | - curl -XDELETE kuzzle:7512/nyc-open-data -template: default -expected: Successfully retrieved 100 documents \ No newline at end of file diff --git a/doc/7/core-classes/user/getProfiles/snippets/getProfiles.test.yml b/doc/7/core-classes/user/getProfiles/snippets/getProfiles.test.yml deleted file mode 100644 index c112aff5e..000000000 --- a/doc/7/core-classes/user/getProfiles/snippets/getProfiles.test.yml +++ /dev/null @@ -1,12 +0,0 @@ -name: user#getProfiles -description: Loads informations about user profiles -hooks: - before: | - curl -X DELETE kuzzle:7512/users/foo - curl -X POST kuzzle:7512/users/foo/_create -H "Content-Type:application/json" --data '{"content":{"profileIds":["default"]},"credentials":{"local":{"username":"foo","password":"bar"}}}' - after: -template: default -expected: - - Role { _id: \'default\' -sdk: js -version: 7 diff --git a/doc/7/essentials/error-handling/snippets/error-handling-async.test.yml b/doc/7/essentials/error-handling/snippets/error-handling-async.test.yml deleted file mode 100644 index 9129a8f66..000000000 --- a/doc/7/essentials/error-handling/snippets/error-handling-async.test.yml +++ /dev/null @@ -1,10 +0,0 @@ -name: essentials#errorHandlingAsync -description: How to handle errors with the SDK -hooks: - before: | - curl -X DELETE kuzzle:7512/nyc-open-data - curl -X POST kuzzle:7512/nyc-open-data/_create - curl -X PUT kuzzle:7512/nyc-open-data/yellow-taxi - after: -template: default -expected: Try with another name! diff --git a/doc/7/essentials/error-handling/snippets/error-handling.test.yml b/doc/7/essentials/error-handling/snippets/error-handling.test.yml deleted file mode 100644 index 9caa6eee7..000000000 --- a/doc/7/essentials/error-handling/snippets/error-handling.test.yml +++ /dev/null @@ -1,10 +0,0 @@ -name: essentials#errorHandling -description: How to handle errors with the SDK -hooks: - before: curl -X POST kuzzle:7512/nyc-open-data/_create - after: -template: thencatch -expected: Try with another name! - -sdk: js -version: 7 diff --git a/doc/7/essentials/index.md b/doc/7/essentials/index.md index ef7ceaed5..1af55626f 100644 --- a/doc/7/essentials/index.md +++ b/doc/7/essentials/index.md @@ -1,7 +1,7 @@ --- code: false type: branch -order: 100 +order: 200 title: Essentials description: Javascript SDK v7.x essential notions --- diff --git a/doc/7/getting-started/node-js/snippets/create.test.yml b/doc/7/getting-started/node-js/snippets/create.test.yml deleted file mode 100644 index 9a19851b1..000000000 --- a/doc/7/getting-started/node-js/snippets/create.test.yml +++ /dev/null @@ -1,11 +0,0 @@ -name: gettingstarted#nodejscreate -description: Creates a document -hooks: - before: | - curl -XPOST kuzzle:7512/nyc-open-data/_create - curl -XPUT kuzzle:7512/nyc-open-data/yellow-taxi - after: -template: empty -expected: New document successfully created! -sdk: js -version: 7 diff --git a/doc/7/getting-started/node-js/snippets/init.test.yml b/doc/7/getting-started/node-js/snippets/init.test.yml deleted file mode 100644 index 89ded1ac8..000000000 --- a/doc/7/getting-started/node-js/snippets/init.test.yml +++ /dev/null @@ -1,9 +0,0 @@ -name: gettingstarted#nodejsinit -description: Creates an index and a collection -hooks: - before: curl -X DELETE kuzzle:7512/nyc-open-data - after: -template: empty -expected: nyc-open-data/yellow-taxi ready! -sdk: js -version: 7 diff --git a/doc/7/getting-started/node-js/snippets/load-sdk.test.yml b/doc/7/getting-started/node-js/snippets/load-sdk.test.yml deleted file mode 100644 index ae05c0dd3..000000000 --- a/doc/7/getting-started/node-js/snippets/load-sdk.test.yml +++ /dev/null @@ -1,9 +0,0 @@ -name: gettingstarted#nodejsload -description: Load SDK -hooks: - before: - after: -template: empty -expected: Success -sdk: js -version: 7 diff --git a/doc/7/getting-started/node-js/snippets/prepare-db.test.yml b/doc/7/getting-started/node-js/snippets/prepare-db.test.yml deleted file mode 100644 index c257e2760..000000000 --- a/doc/7/getting-started/node-js/snippets/prepare-db.test.yml +++ /dev/null @@ -1,9 +0,0 @@ -name: gettingstarted#nodejspreparedb -description: Prepare database -hooks: - before: curl -X DELETE kuzzle:7512/nyc-open-data - after: -template: blank -expected: nyc-open-data/yellow-taxi ready! -sdk: js -version: 7 diff --git a/doc/7/getting-started/node-js/snippets/subscribe.test.yml b/doc/7/getting-started/node-js/snippets/subscribe.test.yml deleted file mode 100644 index a34b4d32a..000000000 --- a/doc/7/getting-started/node-js/snippets/subscribe.test.yml +++ /dev/null @@ -1,11 +0,0 @@ -name: gettingstarted#nodejssubscribe -description: Subscribes to document notifications -hooks: - before: | - curl -XPOST kuzzle:7512/nyc-open-data/_create - curl -XPUT kuzzle:7512/nyc-open-data/yellow-taxi - after: -template: empty-realtime -expected: Successfully subscribed to document notifications! -sdk: js -version: 7 diff --git a/doc/7/getting-started/raw-web/snippets/create.test.yml b/doc/7/getting-started/raw-web/snippets/create.test.yml deleted file mode 100644 index 251b041d0..000000000 --- a/doc/7/getting-started/raw-web/snippets/create.test.yml +++ /dev/null @@ -1,12 +0,0 @@ -name: gettingstarted#browservanillacreate -description: Create a document -hooks: - before: | - curl -XPOST kuzzle:7512/nyc-open-data/_create - curl -XPUT kuzzle:7512/nyc-open-data/yellow-taxi - after: -template: default -expected: New document successfully created -sdk: js -version: 7 -runner: web diff --git a/doc/7/getting-started/raw-web/snippets/load-sdk.test.yml b/doc/7/getting-started/raw-web/snippets/load-sdk.test.yml deleted file mode 100644 index 9c6f8c72d..000000000 --- a/doc/7/getting-started/raw-web/snippets/load-sdk.test.yml +++ /dev/null @@ -1,10 +0,0 @@ -name: gettingstarted#browservanillaconnect -description: Connect to Kuzzle -hooks: - before: - after: -template: default -expected: Successfully connected to Kuzzle -sdk: js -version: 7 -runner: web diff --git a/doc/7/getting-started/raw-web/snippets/prepare-db.test.yml b/doc/7/getting-started/raw-web/snippets/prepare-db.test.yml deleted file mode 100644 index 2158c88c1..000000000 --- a/doc/7/getting-started/raw-web/snippets/prepare-db.test.yml +++ /dev/null @@ -1,10 +0,0 @@ -name: gettingstarted#browservanillaprepare -description: Prepare the database -hooks: - before: curl -X DELETE kuzzle:7512/nyc-open-data - after: -template: default -expected: nyc-open-data/yellow-taxi ready -sdk: js -version: 7 -runner: web diff --git a/doc/7/getting-started/raw-web/snippets/subscribe.test.yml b/doc/7/getting-started/raw-web/snippets/subscribe.test.yml deleted file mode 100644 index 944ad12ed..000000000 --- a/doc/7/getting-started/raw-web/snippets/subscribe.test.yml +++ /dev/null @@ -1,12 +0,0 @@ -name: gettingstarted#browservanillasubscribe -description: Subscribe to notifications -hooks: - before: | - curl -XPOST kuzzle:7512/nyc-open-data/_create - curl -XPUT kuzzle:7512/nyc-open-data/yellow-taxi - after: -template: default -expected: Successfully subscribed to document notifications -sdk: js -version: 7 -runner: web diff --git a/doc/7/getting-started/webpack/index.md b/doc/7/getting-started/webpack/index.md deleted file mode 100644 index 5d7b5a444..000000000 --- a/doc/7/getting-started/webpack/index.md +++ /dev/null @@ -1,212 +0,0 @@ ---- -type: page -code: false -title: Webpack -description: Getting started with Kuzzle and Webpack -order: 200 ---- - -# Getting Started with Kuzzle and Webpack - -In this tutorial you will learn how to install, run and use **Kuzzle** with the **Javascript SDK** in the browser using **Webpack**. -We will walk you through creating scripts that can **store** documents in Kuzzle and subscribe to **notifications** for each new document created. - -:::info -Having trouble? Get in touch with us on [Discord](http://join.discord.kuzzle.io)! -::: - -## Running Kuzzle - -Before going through this tutorial, you should have a Kuzzle server running. Please refer to the [Running Kuzzle Tutorial](/core/2/guides/getting-started/run-kuzzle) if you don't have one yet. - -## Fun with the SDK - -It's time to play with the [Kuzzle Javascript SDK](/sdk/js/7). In this section, we will store a document and subscribe to notifications in Kuzzle using the Javascript SDK in your browser. - -Before proceeding, please make sure your system has **Node.js** version 8 or higher ([instructions here](https://nodejs.org/en/download/)) installed. - -## Including the Kuzzle SDK in a Webpack project - -::: info -This section explains how to use the Kuzzle SDK within an existing Webpack project. -If you don't have your project up and running yet and want to learn how to leverage Webpack to build it, please refer to -the [official Webpack Getting Started page](https://webpack.js.org/guides/getting-started). -::: - -In your terminal, go to the root of your front-end project using Webpack and type - -```bash -npm install kuzzle-sdk -``` - -:::info -If you are performing a clean install you might see some `UNMET PEER DEPENDENCY` warnings, these are safe to ignore as they refer to optional dependencies. -::: - -Then, create a `init-kuzzle.js` file and start by adding the code below. This will load the Kuzzle Javascript SDK: - -<<< ./snippets/init-kuzzle.js:1 - -Next, we instantiate a client that will connect to Kuzzle via WebSocket. If Kuzzle is not running on localhost, replace it with the corresponding server name or IP address. - -<<< ./snippets/init-kuzzle.js:2 - -Next we add a listener to be notified in case of a connection error: - -<<< ./snippets/init-kuzzle.js:3 - -Then we have to connect our web app to the Kuzzle server with the `connect()` method. - -```js -const run = async () => { - try { - // Connect to Kuzzle server - await kuzzle.connect(); - // Some more things will go here... - } catch (error) { - console.error(error.message); - } finally { - kuzzle.disconnect(); - } -}; -``` - -Finally, we will create a new index `nyc-open-data` and a new collection -`yellow-taxi` that we will use to store data later on. - -<<< ./snippets/init-kuzzle.js:4 - -Your `kuzzle-init.js` file should now look like this: - -<<< ./snippets/init-kuzzle.js - -This code does the following: - -- loads the `kuzzle-sdk` from its NPM package -- creates an instance of the SDK -- connects it to Kuzzle running on `localhost` with the `WebSocket` protocol -- creates the `nyc-open-data` index -- creates the `yellow-taxi` collection (within the `nyc-open-data` index), -- disconnects from Kuzzle after the collection is created or if an error occurs - -Now, to have your script up and running, require it somewhere in your application -(e.g. your main entry point) and launch it. - -```js -require('../path/to/init-kuzzle.js'); -``` - -Your console should output the following message: - -``` -nyc-open-data/yellow-taxi ready! -``` - -::: success -Congratulations! You are now ready to say Hello to the World! -::: - -::: info -Having trouble? Get in touch with us on [Discord!](http://join.discord.kuzzle.io) We're happy to help. -::: - -## Create your first document - -Create a `create.js` file with following code: - -<<< ./snippets/create.js - -This code does the following: - -- creates a new document in `nyc-open-data` within the `yellow-taxi` index -- logs a success message to the console if everything went fine -- logs an error message if any of the previous actions failed -- disconnects from Kuzzle after the document is created or if an error occurs - -To activate this code, create a button somewhere in your page like the following - -```html - -``` - -Then, associate it to the `create` function by adding this code to your application - -```js -const create = require('../path/to/create.js'); - -// This is the most "vanilla" way to call a function in reaction to a click, -// if you're using a front-end framework like Vuejs, React or jQuery, feel free -// to follow any convenience method it provides for this purpose. -document.querySelector('#create-document-btn').addListener('click', event => { - create(); -}); -``` - -Now, click the button and check your console for a message like the following: - -```bash -New document successfully created! -``` - -::: success -You have now successfully stored your first document into Kuzzle. Click -[here](http://next-console.kuzzle.io) to see how you can use the -[**Kuzzle Admin Console**](http://console.kuzzle.io) to browse your collection and -confirm that your document was saved. -::: - -::: info -Having trouble? Get in touch with us on [Discord!](http://join.discord.kuzzle.io) We're happy to help. -::: - -## Subscribe to realtime document notifications (pub/sub) - -Kuzzle provides pub/sub features that can be used to trigger real-time notifications based on the state of your data (for a deep-dive on notifications check out the [realtime notifications](/sdk/js/7/essentials/realtime-notifications) documentation). - -Let's get started. Create a `subscribe.js` file with following code: - -<<< ./snippets/subscribe.js - -This code does the following: - -- loads the `Kuzzle SDK` from its NPM package -- creates an instance of the SDK -- connects it to Kuzzle running on `localhost` with the `websocket` protocol -- defines a filter for the subscription to be done later (drivers with "B" license) -- defines a callback that will be called whenever a notification is received from Kuzzle (print driver name to console) -- subscribes for notifications on the `yellow-taxi` collection - -You can execute this code in the same page as before or in another page of your app. Whatever option you choose, to -execute the code, you just need to require it in your page - -```js -require('../path/to/subscribe.js'); -``` - -From now on, whenever you click the button we created before, Kuzzle will send a notification to the page containing -the subscription to the `yellow-taxi` collection. In the console corresponding to this page, you should see the following message: - -```bash -New driver Sirkis with id has B license. -``` - -In place of `` you'll see the ID that Kuzzle automatically generated for the document. - -::: success -Congratulations! You have just choreographed your first pub/sub pattern! -::: - -::: info -Having trouble? Get in touch with us on [Discord!](http://join.discord.kuzzle.io) We're happy to help. -::: - -## Where do we go from here? - -Now that you're more familiar with Kuzzle, dive even deeper to learn how to leverage its full capabilities: - -- take a look at the [SDK Reference](/sdk/js/7) -- learn how to use [Koncorde](/core/2/api/koncorde-filters-syntax) to create incredibly fine-grained and blazing-fast subscriptions -- follow our guide to learn how to implement [basic authentication](/core/2/guides/main-concepts/authentication#local-strategy) -- follow our guide to learn how to implement [manage users and setup fine-grained access control](/core/2/guides/main-concepts/permissions) diff --git a/doc/7/getting-started/webpack/snippets.disabled/create.js b/doc/7/getting-started/webpack/snippets.disabled/create.js deleted file mode 100644 index fe66ca6b5..000000000 --- a/doc/7/getting-started/webpack/snippets.disabled/create.js +++ /dev/null @@ -1,33 +0,0 @@ -// load the Kuzzle SDK module -import { Kuzzle, WebSocket } from 'kuzzle-sdk'; - -// instantiate a Kuzzle client -const kuzzle = new Kuzzle(new WebSocket('kuzzle')); - -// add a listener to detect any connection problems -kuzzle.on('networkError', error => { - console.error(`Network Error: ${error}`); -}); - -const doIt = async () => { - try { - // Connect to Kuzzle server - await kuzzle.connect(); - - // Create your document - const driver = { - name: 'Sirkis', - birthday: '1959-06-22', - license: 'B' - }; - - await kuzzle.document.create('nyc-open-data', 'yellow-taxi', driver); - console.log('New document successfully created!'); - } catch (error) { - console.error(error.message); - } finally { - kuzzle.disconnect(); - } -}; - -export default doIt; diff --git a/doc/7/getting-started/webpack/snippets.disabled/create.test.yml b/doc/7/getting-started/webpack/snippets.disabled/create.test.yml deleted file mode 100644 index 4cc80bc5e..000000000 --- a/doc/7/getting-started/webpack/snippets.disabled/create.test.yml +++ /dev/null @@ -1,13 +0,0 @@ -name: gettingstarted#webpackcreate -description: Creates a document -hooks: - before: | - curl -XPOST kuzzle:7512/nyc-open-data/_create - curl -XPUT kuzzle:7512/nyc-open-data/yellow-taxi - after: -template: doIt -expected: New document successfully created! - -runner: webpack -sdk: js -version: 7 diff --git a/doc/7/getting-started/webpack/snippets.disabled/init-kuzzle.js b/doc/7/getting-started/webpack/snippets.disabled/init-kuzzle.js deleted file mode 100644 index da446bc77..000000000 --- a/doc/7/getting-started/webpack/snippets.disabled/init-kuzzle.js +++ /dev/null @@ -1,38 +0,0 @@ -// load the Kuzzle SDK module -/* snippet:start:1 */ -const { Kuzzle, WebSocket } = require("kuzzle-sdk"); -/* snippet:end */ - -// instantiate a Kuzzle client -/* snippet:start:2 */ -const kuzzle = new Kuzzle(new WebSocket("kuzzle")); -/* snippet:end */ - -// add a listener to detect any connection problems -/* snippet:start:3 */ -kuzzle.on("networkError", (error) => { - console.error(`Network Error: ${error}`); -}); -/* snippet:end */ - -/* snippet:start:4 */ -const run = async () => { - try { - // Connect to Kuzzle server - await kuzzle.connect(); - - // Create an index - await kuzzle.index.create("nyc-open-data"); - - // Create a collection - await kuzzle.collection.create("nyc-open-data", "yellow-taxi"); - console.log("nyc-open-data/yellow-taxi ready!"); - } catch (error) { - console.error(error.message); - } finally { - kuzzle.disconnect(); - } -}; -/* snippet:end */ - -run(); diff --git a/doc/7/getting-started/webpack/snippets.disabled/init-kuzzle.test.yml b/doc/7/getting-started/webpack/snippets.disabled/init-kuzzle.test.yml deleted file mode 100644 index 6d2364a01..000000000 --- a/doc/7/getting-started/webpack/snippets.disabled/init-kuzzle.test.yml +++ /dev/null @@ -1,10 +0,0 @@ -name: gettingstarted#webpackinitkuzzle -description: Creates an index and a collection -hooks: - before: curl -X DELETE kuzzle:7512/nyc-open-data - after: -template: empty -expected: nyc-open-data/yellow-taxi ready! -sdk: js -version: 7 -runner: webpack diff --git a/doc/7/getting-started/webpack/snippets.disabled/subscribe.js b/doc/7/getting-started/webpack/snippets.disabled/subscribe.js deleted file mode 100644 index dcee72024..000000000 --- a/doc/7/getting-started/webpack/snippets.disabled/subscribe.js +++ /dev/null @@ -1,49 +0,0 @@ -// load the Kuzzle SDK module -const { Kuzzle, WebSocket } = require("kuzzle-sdk"); - -// instantiate a Kuzzle client -const kuzzle = new Kuzzle(new WebSocket("kuzzle")); - -// add a listener to detect any connection problems -kuzzle.on("networkError", (error) => { - console.error(`Network Error: ${error}`); -}); - -const doIt = async () => { - try { - // Connect to Kuzzle server - await kuzzle.connect(); - - // Define a filter - const filter = { - equals: { license: "B" }, - }; - - // Define a callback - const callback = (notification) => { - if ( - notification.type === "document" && - notification.action === "create" - ) { - const driver = notification.result._source; - const driverId = notification.result._id; - console.log( - `New driver ${driver.name} with id ${driverId} has B license.`, - ); - } - }; - - // Subscribes to document notifications with our filter - await kuzzle.realtime.subscribe( - "nyc-open-data", - "yellow-taxi", - filter, - callback, - ); - console.log("Successfully subscribed to document notifications!"); - } catch (error) { - console.error(error.message); - } -}; - -doIt(); diff --git a/doc/7/getting-started/webpack/snippets.disabled/subscribe.test.yml b/doc/7/getting-started/webpack/snippets.disabled/subscribe.test.yml deleted file mode 100644 index d438214ce..000000000 --- a/doc/7/getting-started/webpack/snippets.disabled/subscribe.test.yml +++ /dev/null @@ -1,14 +0,0 @@ -name: gettingstarted#webpacksubscribe -description: Subscribes to document notifications -hooks: - before: | - curl -XPOST kuzzle:7512/nyc-open-data/_create - curl -XPUT kuzzle:7512/nyc-open-data/yellow-taxi - after: -template: createDocumentAfterSnippet -expected: - - Successfully subscribed to document notifications! - - New driver Sirkis with id -sdk: js -version: 7 -runner: webpack diff --git a/doc/7/protocols/http/constructor/index.md b/doc/7/protocols/http/constructor/index.md deleted file mode 100644 index 18e739997..000000000 --- a/doc/7/protocols/http/constructor/index.md +++ /dev/null @@ -1,59 +0,0 @@ ---- -code: true -type: page -title: constructor -description: Creates a new Http protocol -order: 50 ---- - -# Constructor - -Use this constructor to create a new instance of the `Http` protocol with specific options. - -## Arguments - -```js -Http(host, [options]); -``` - -
- -| Argument | Type | Description | -|-----------|-------------------|------------------------------| -| `host` |
string
| Kuzzle server hostname or IP | -| `options` |
object
| Http connection options | - -### options - -Http protocol connection options. - -| Property | Type
(default) | Description | -|-----------------|----------------------------------|----------------------------------------------------------------------------------------| -| `customRoutes` |
object

(`{}`) | Add custom routes | -| `headers` |
object

(`{}`) | Default headers sent with each HTTP request | -| `port` |
number

(`7512`) | Kuzzle server port | -| `sslConnection` |
boolean

(`false`) | Use SSL to connect to Kuzzle server | -| `ssl` |
boolean

(`false`) | Use SSL to connect to Kuzzle server. Defaults to `true` for ports 443 and 7443. | -| `timeout` |
number

(`0`) | Connection timeout in milliseconds (`0` means no timeout) | - -**Note:** - -`customRoutes` are used to define plugins API routes or to overwrite existing API routes. -They must have the following format: -```js -{ - 'my-plugin/my-controller': { - action: { verb: 'GET', url: '/some/url' }, - action2: { verb: 'GET', url: '/some/url/with/:parameter' } - } -} -``` - - -## Return - -A `Http` protocol instance. - -## Usage - -<<< ./snippets/constructor.js diff --git a/doc/7/protocols/http/constructor/snippets/constructor.test.yml b/doc/7/protocols/http/constructor/snippets/constructor.test.yml deleted file mode 100644 index 35c10071d..000000000 --- a/doc/7/protocols/http/constructor/snippets/constructor.test.yml +++ /dev/null @@ -1,10 +0,0 @@ ---- -name: http#constructor -description: Creates a new Http instance -hooks: - before: - after: -template: empty -expected: Success -sdk: js -version: 7 diff --git a/doc/7/protocols/http/index.md b/doc/7/protocols/http/index.md index 1aff2a5df..10876e427 100644 --- a/doc/7/protocols/http/index.md +++ b/doc/7/protocols/http/index.md @@ -1,9 +1,98 @@ --- code: true -type: branch +type: page title: Http description: Http protocol documentation order: 600 --- - +# Http + +The Http protocol can be used by an instance of the SDK to communicate with your Kuzzle server. + +::: info +This protocol does not allow to use the [real-time notifications](/sdk/js/7/essentials/realtime-notifications). + +If you need real-time features, then you have to use the [WebSocket](/sdk/js/7/protocols/websocket) protocol. +::: + +## About HTTP routing + + + +This protocol needs to build routes from the name of the controller and the action used. These routes are made available by Kuzzle via the [server:publicApi](/core/2/api/controllers/server/public-api) method or the [server:info](/core/2/api/controllers/server/info) method. + + +For confidentiality reasons, it is preferable to expose only the `server:publicApi` route to the anonymous user. +If this route is not available, the SDK will use the static definition of API routes that does not include routes developed in plugins. + +Finally, it is also possible to manually define the routes to the actions of its plugins using the `customRoutes` option with the [Http protocol constructor](/sdk/js/7/protocols/http/constructor). + +# Properties + +| Property name | Type | Description | Get/Set | +| ------------- | ------------------ | --------------------------------------------------------------------- | ------- | +| `connected` |
boolean
| Always returns `true` | Get | +| `host` |
string
| Kuzzle server host | Get | +| `http` |
object
| Returns a list of available routes | Get | +| `routes` |
object
| Returns a list of available routes | Get | +| `port` |
number
| Kuzzle server port | Get | +| `protocol` |
string
| `https` or `http` | Get | +| `ssl` |
boolean
| `true` if ssl is active | Get | +| `timeout` |
number
| Connection timeout in milliseconds | Get/Set | + +**Note:** + +A `timeout` of 0 means that the connection will never timeout. + +# Constructor + +Use this constructor to create a new instance of the `Http` protocol with specific options. + +## Arguments + +```js +Http(host, [options]); +``` + +
+ +| Argument | Type | Description | +| --------- | ----------------- | ---------------------------- | +| `host` |
string
| Kuzzle server hostname or IP | +| `options` |
object
| Http connection options | + +### options + +Http protocol connection options. + +| Property | Type
(default) | Description | +| --------------- | -------------------------------- | --------------------------------------------------------------------------------------- | +| `customRoutes` |
object

(`{}`) | Add custom routes | +| `headers` |
object

(`{}`) | Default headers sent with each HTTP request | +| `port` |
number

(`7512`) | Kuzzle server port | +| `sslConnection` |
boolean

(`false`) | Use SSL to connect to Kuzzle server | +| `ssl` |
boolean

(`false`) | Use SSL to connect to Kuzzle server. Defaults to `true` for ports 443 and 7443. | +| `timeout` |
number

(`0`) | Connection timeout in milliseconds (`0` means no timeout) | + +**Note:** + +`customRoutes` are used to define plugins API routes or to overwrite existing API routes. +They must have the following format: + +```js +{ + 'my-plugin/my-controller': { + action: { verb: 'GET', url: '/some/url' }, + action2: { verb: 'GET', url: '/some/url/with/:parameter' } + } +} +``` + +## Return + +A `Http` protocol instance. + +## Usage + +<<< ./snippets/constructor.js diff --git a/doc/7/protocols/http/introduction/index.md b/doc/7/protocols/http/introduction/index.md deleted file mode 100644 index 7689b8a0b..000000000 --- a/doc/7/protocols/http/introduction/index.md +++ /dev/null @@ -1,30 +0,0 @@ ---- -code: false -type: page -title: Introduction -description: Http protocol implementation -order: 0 ---- - -# Http - -The Http protocol can be used by an instance of the SDK to communicate with your Kuzzle server. - -::: info -This protocol does not allow to use the [real-time notifications](/sdk/js/7/essentials/realtime-notifications). - -If you need real-time features, then you have to use the [WebSocket](/sdk/js/7/protocols/websocket) protocol. -::: - -## About HTTP routing - - - -This protocol needs to build routes from the name of the controller and the action used. These routes are made available by Kuzzle via the [server:publicApi](/core/2/api/controllers/server/public-api) method or the [server:info](/core/2/api/controllers/server/info) method. - - - -For confidentiality reasons, it is preferable to expose only the `server:publicApi` route to the anonymous user. -If this route is not available, the SDK will use the static definition of API routes that does not include routes developed in plugins. - -Finally, it is also possible to manually define the routes to the actions of its plugins using the `customRoutes` option with the [Http protocol constructor](/sdk/js/7/protocols/http/constructor). diff --git a/doc/7/protocols/http/properties/index.md b/doc/7/protocols/http/properties/index.md deleted file mode 100644 index 23584b3ef..000000000 --- a/doc/7/protocols/http/properties/index.md +++ /dev/null @@ -1,25 +0,0 @@ ---- -code: false -type: page -title: Properties -description: Http class properties -order: 10 ---- - - -# Properties - -| Property name | Type | Description | Get/Set | -| -------------------- | -------- | ---------------------| ---------| -| `connected` |
boolean
| Always returns `true` | Get | -| `host` |
string
| Kuzzle server host | Get | -| `http` |
object
| Returns a list of available routes | Get | -| `routes` |
object
| Returns a list of available routes | Get | -| `port` |
number
| Kuzzle server port | Get | -| `protocol` |
string
| `https` or `http` | Get | -| `ssl` |
boolean
| `true` if ssl is active | Get | -| `timeout` |
number
| Connection timeout in milliseconds | Get/Set | - -**Note:** - -A `timeout` of 0 means that the connection will never timeout. diff --git a/doc/7/protocols/http/constructor/snippets/constructor.js b/doc/7/protocols/http/snippets/constructor.js similarity index 100% rename from doc/7/protocols/http/constructor/snippets/constructor.js rename to doc/7/protocols/http/snippets/constructor.js diff --git a/doc/7/protocols/index.md b/doc/7/protocols/index.md index 2e126af8f..1019e83b5 100644 --- a/doc/7/protocols/index.md +++ b/doc/7/protocols/index.md @@ -1,7 +1,7 @@ --- code: false type: branch -order: 300 +order: 100 title: Protocols description: Javascript SDK v7.x protocols --- diff --git a/doc/7/protocols/websocket/constructor/index.md b/doc/7/protocols/websocket/constructor/index.md deleted file mode 100644 index c3f7fcea2..000000000 --- a/doc/7/protocols/websocket/constructor/index.md +++ /dev/null @@ -1,46 +0,0 @@ ---- -code: true -type: page -title: constructor -description: Creates a new WebSocket protocol -order: 50 ---- - -# Constructor - -This constructor creates a new WebSocket connection, using the specified options. - -## Arguments - -```js -WebSocket(host, [options]); -``` - -
- -| Argument | Type | Description | -| --------- | ----------------- | ---------------------------- | -| `host` |
string
| Kuzzle server hostname or IP | -| `options` |
object
| WebSocket connection options | - -### options - -WebSocket protocol connection options. - -| Property | Type
(default) | Description | -| ------------------- | -------------------------------- | -------------------------------------------------------------------------------------------- | -| `autoReconnect` |
boolean

(`true`) | Automatically reconnect to kuzzle after a `disconnected` event | -| `headers` |
object
(`{}`) | Connection custom HTTP headers (e.g. origin, subprotocols, ...)
**(Not supported by browsers)** | -| `pingInterval` |
number

(`2000`) | Number of milliseconds between two pings | -| `port` |
number

(`7512`) | Kuzzle server port | -| `reconnectionDelay` |
number

(`1000`) | Number of milliseconds between reconnection attempts | -| `sslConnection` |
boolean

(`false`) | Use SSL to connect to Kuzzle server | -| `ssl` |
boolean

(`false`) | Use SSL to connect to Kuzzle server. Defaults to `true` for ports 443 and 7443. | - -## Return - -A `WebSocket` protocol instance. - -## Usage - -<<< ./snippets/constructor.js diff --git a/doc/7/protocols/websocket/constructor/snippets/constructor.test.yml b/doc/7/protocols/websocket/constructor/snippets/constructor.test.yml deleted file mode 100644 index 6074dbfa5..000000000 --- a/doc/7/protocols/websocket/constructor/snippets/constructor.test.yml +++ /dev/null @@ -1,10 +0,0 @@ ---- -name: websocket#constructor -description: Creates a new WebSocket instance -hooks: - before: - after: -template: empty -expected: Success -sdk: js -version: 7 diff --git a/doc/7/protocols/websocket/index.md b/doc/7/protocols/websocket/index.md index 87838ce32..1bbf39793 100644 --- a/doc/7/protocols/websocket/index.md +++ b/doc/7/protocols/websocket/index.md @@ -1,9 +1,106 @@ --- code: true -type: branch +type: page title: WebSocket description: WebSocket protocol documentation order: 600 --- - +# WebSocket + +Inherits from: [KuzzleEventEmitter](/sdk/js/7/core-classes/kuzzle-event-emitter) + +The WebSocket protocol can be used by an instance of the SDK to communicate with your Kuzzle server. + +This protocol allows you to use all the features of Kuzzle, including [real-time notifications](/sdk/js/7/essentials/realtime-notifications). + +### Ping / Pong keep-alive + +Though Kuzzle's WebSocket server is fully compliant with the [RFC6455](https://tools.ietf.org/html/rfc6455#section-5.5.2), meaning (among other things) that Kuzzle will respond to PING packets with standard PONG ones, an additional PING request has been added in the protocol's application layer. + +This application-level PING has been especially added for web browsers, which don't allow sending PING packets. This can be troublesome if a web application needs to know if a connection has been severed, or if Kuzzle is configured to be in passive mode (i.e. it won't send PING requests by itself, and will close sockets if they are idle for too long). + +When run in a browser, our Javascript SDK uses that feature for its keep-alive mechanism: a message will periodically be sent to Kuzzle in the form `"{"p":1}"` through websocket. +That message will call a response from Kuzzle in the form `"{"p":2}"` for the SDK to keep the connection alive. + +### Cookie Authentication + +Kuzzle supports cookie authentications, meaning that when using this SDK in a browser, you can ask Kuzzle to return authentication tokens in secure cookies, handled by browsers. This means that, when using that option, browser clients will never have access to said tokens, preventing a few common attacks. +The support for cookie authentication can be enabled, using the [cookieAuth](/sdk/js/7/core-classes/kuzzle/constructor) option at the SDK initialization. + +When you enable the [cookieAuth](/sdk/js/7/core-classes/kuzzle/constructor) option, it changes the way the websocket protocol behaves when you're sending requests that should otherwise return authentication tokens in their response payload. + +When a request susceptible of changing an authentication cookie is about to be sent, the WebSocket Protocol send it using the [HTTP Protocol](/sdk/js/7/protocols/http/introduction) instead, to allow browsers to apply the received cookie. + +If a new cookie is received from Kuzzle that way, the WebSocket connection is automatically renewed. + +::: info +Cookies can only be applied to WebSocket connections during the connection handshake (upgrade from HTTP to WebSocket), and they stay valid as long as the connection is active, and as long as the cookie hasn't expired. +::: + +![websocket cookie authentication](./websocket-cookie-authentication.png) + +Here is a list of controller's actions that are affected by this behavior, when the [cookieAuth](/sdk/js/7/core-classes/kuzzle/constructor) option is enabled: + +- [auth:login](/sdk/js/7/controllers/auth/login) +- [auth:logout](/sdk/js/7/controllers/auth/logout) +- [auth:refreshToken](/sdk/js/7/controllers/auth/refresh-token) + +::: info +The behaviors described above are automatically handled by the SDK, you do not need to implement this yourself. +::: + +# Properties + +| Property name | Type | Description | +| ------------------- | ------------------ | ---------------------------------------------------- | +| `autoReconnect` |
boolean
| Automatically reconnect after a connection loss | +| `connected` |
boolean
| Returns `true` if the socket is open | +| `host` |
string
| Kuzzle server host | +| `pingInterval` |
number
| Number of milliseconds between two pings | +| `port` |
number
| Kuzzle server port | +| `reconnectionDelay` |
number
| Number of milliseconds between reconnection attempts | +| `ssl` |
boolean
| `true` if ssl is active | + +::: info +Updates to `autoReconnect` and `reconnectionDelay` properties will only take effect on the next `connect` call. +::: + +# Constructor + +This constructor creates a new WebSocket connection, using the specified options. + +## Arguments + +```js +WebSocket(host, [options]); +``` + +
+ +| Argument | Type | Description | +| --------- | ----------------- | ---------------------------- | +| `host` |
string
| Kuzzle server hostname or IP | +| `options` |
object
| WebSocket connection options | + +### options + +WebSocket protocol connection options. + +| Property | Type
(default) | Description | +| ------------------- | -------------------------------- | --------------------------------------------------------------------------------------------------- | +| `autoReconnect` |
boolean

(`true`) | Automatically reconnect to kuzzle after a `disconnected` event | +| `headers` |
object
(`{}`) | Connection custom HTTP headers (e.g. origin, subprotocols, ...)
**(Not supported by browsers)** | +| `pingInterval` |
number

(`2000`) | Number of milliseconds between two pings | +| `port` |
number

(`7512`) | Kuzzle server port | +| `reconnectionDelay` |
number

(`1000`) | Number of milliseconds between reconnection attempts | +| `sslConnection` |
boolean

(`false`) | Use SSL to connect to Kuzzle server | +| `ssl` |
boolean

(`false`) | Use SSL to connect to Kuzzle server. Defaults to `true` for ports 443 and 7443. | + +## Return + +A `WebSocket` protocol instance. + +## Usage + +<<< ./snippets/constructor.js diff --git a/doc/7/protocols/websocket/introduction/index.md b/doc/7/protocols/websocket/introduction/index.md deleted file mode 100644 index 9fa15209e..000000000 --- a/doc/7/protocols/websocket/introduction/index.md +++ /dev/null @@ -1,50 +0,0 @@ ---- -code: false -type: page -title: Introduction -description: Websocket protocol implementation -order: 0 ---- - -# WebSocket - -Inherits from: [KuzzleEventEmitter](/sdk/js/7/core-classes/kuzzle-event-emitter) - -The WebSocket protocol can be used by an instance of the SDK to communicate with your Kuzzle server. - -This protocol allows you to use all the features of Kuzzle, including [real-time notifications](/sdk/js/7/essentials/realtime-notifications). - -### Ping / Pong keep-alive - -Though Kuzzle's WebSocket server is fully compliant with the [RFC6455](https://tools.ietf.org/html/rfc6455#section-5.5.2), meaning (among other things) that Kuzzle will respond to PING packets with standard PONG ones, an additional PING request has been added in the protocol's application layer. - -This application-level PING has been especially added for web browsers, which don't allow sending PING packets. This can be troublesome if a web application needs to know if a connection has been severed, or if Kuzzle is configured to be in passive mode (i.e. it won't send PING requests by itself, and will close sockets if they are idle for too long). - -When run in a browser, our Javascript SDK uses that feature for its keep-alive mechanism: a message will periodically be sent to Kuzzle in the form `"{"p":1}"` through websocket. -That message will call a response from Kuzzle in the form `"{"p":2}"` for the SDK to keep the connection alive. - -### Cookie Authentication - -Kuzzle supports cookie authentications, meaning that when using this SDK in a browser, you can ask Kuzzle to return authentication tokens in secure cookies, handled by browsers. This means that, when using that option, browser clients will never have access to said tokens, preventing a few common attacks. -The support for cookie authentication can be enabled, using the [cookieAuth](/sdk/js/7/core-classes/kuzzle/constructor) option at the SDK initialization. - -When you enable the [cookieAuth](/sdk/js/7/core-classes/kuzzle/constructor) option, it changes the way the websocket protocol behaves when you're sending requests that should otherwise return authentication tokens in their response payload. - -When a request susceptible of changing an authentication cookie is about to be sent, the WebSocket Protocol send it using the [HTTP Protocol](/sdk/js/7/protocols/http/introduction) instead, to allow browsers to apply the received cookie. - -If a new cookie is received from Kuzzle that way, the WebSocket connection is automatically renewed. - -::: info -Cookies can only be applied to WebSocket connections during the connection handshake (upgrade from HTTP to WebSocket), and they stay valid as long as the connection is active, and as long as the cookie hasn't expired. -::: - -![websocket cookie authentication](./websocket-cookie-authentication.png) - -Here is a list of controller's actions that are affected by this behavior, when the [cookieAuth](/sdk/js/7/core-classes/kuzzle/constructor) option is enabled: -- [auth:login](/sdk/js/7/controllers/auth/login) -- [auth:logout](/sdk/js/7/controllers/auth/logout) -- [auth:refreshToken](/sdk/js/7/controllers/auth/refresh-token) - -::: info -The behaviors described above are automatically handled by the SDK, you do not need to implement this yourself. -::: \ No newline at end of file diff --git a/doc/7/protocols/websocket/properties/index.md b/doc/7/protocols/websocket/properties/index.md deleted file mode 100644 index f4a49c052..000000000 --- a/doc/7/protocols/websocket/properties/index.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -code: false -type: page -title: Properties -description: Websocket class properties -order: 10 ---- - -# Properties - -| Property name | Type | Description | -| -------------------- | -------- | ---------------------| -| `autoReconnect` |
boolean
| Automatically reconnect after a connection loss | -| `connected` |
boolean
| Returns `true` if the socket is open | -| `host` |
string
| Kuzzle server host | -| `pingInterval` |
number
| Number of milliseconds between two pings | -| `port` |
number
| Kuzzle server port | -| `reconnectionDelay` |
number
| Number of milliseconds between reconnection attempts | -| `ssl` |
boolean
| `true` if ssl is active | - -::: info -Updates to `autoReconnect` and `reconnectionDelay` properties will only take effect on the next `connect` call. -::: \ No newline at end of file diff --git a/doc/7/protocols/websocket/constructor/snippets/constructor.js b/doc/7/protocols/websocket/snippets/constructor.js similarity index 100% rename from doc/7/protocols/websocket/constructor/snippets/constructor.js rename to doc/7/protocols/websocket/snippets/constructor.js diff --git a/doc/7/protocols/websocket/introduction/websocket-cookie-authentication.png b/doc/7/protocols/websocket/websocket-cookie-authentication.png similarity index 100% rename from doc/7/protocols/websocket/introduction/websocket-cookie-authentication.png rename to doc/7/protocols/websocket/websocket-cookie-authentication.png