diff --git a/.circleci/config.yml b/.circleci/config.yml
index 0e5dc94fbb8..6d3917a239d 100644
--- a/.circleci/config.yml
+++ b/.circleci/config.yml
@@ -1,21 +1,15 @@
version: 2.1
parameters:
- check-legacy-node-version:
- type: boolean
- default: false
- legacy-node-version:
- type: string
- default: '18.20'
maintenance-node-version:
type: string
- default: '20.18'
+ default: '20.19'
active-node-version:
type: string
- default: '22.11'
+ default: '22.14'
current-node-version:
type: string
- default: '23.3'
+ default: '24.1'
aliases:
- &restore-cache
@@ -62,61 +56,36 @@ jobs:
docker:
- image: cimg/node:<< parameters.node-version >>
steps:
+ - checkout
+ - *restore-cache
+ - *install-deps
+ - *build-packages
- when:
condition:
- and:
- - equal:
- [
- '<< parameters.node-version >>',
- '<< pipeline.parameters.legacy-node-version >>',
- ]
- - not: << pipeline.parameters.check-legacy-node-version >>
+ equal:
+ [
+ '<< parameters.node-version >>',
+ '<< pipeline.parameters.maintenance-node-version >>',
+ ]
steps:
- run:
- name: Skip
- command: |
- echo Skipping
+ name: Test (coverage)
+ command: npm run test:cov
+ - run:
+ name: Collect coverage
+ command: npm run coverage
+ - store_artifacts:
+ path: coverage
- when:
condition:
- or:
- - not:
- equal:
- [
- '<< parameters.node-version >>',
- '<< pipeline.parameters.legacy-node-version >>',
- ]
- - << pipeline.parameters.check-legacy-node-version >>
+ not:
+ equal:
+ [
+ '<< parameters.node-version >>',
+ '<< pipeline.parameters.maintenance-node-version >>',
+ ]
steps:
- - checkout
- - *restore-cache
- - *install-deps
- - *build-packages
- - when:
- condition:
- equal:
- [
- '<< parameters.node-version >>',
- '<< pipeline.parameters.maintenance-node-version >>',
- ]
- steps:
- - run:
- name: Test (coverage)
- command: npm run test:cov
- - run:
- name: Collect coverage
- command: npm run coverage
- - store_artifacts:
- path: coverage
- - when:
- condition:
- not:
- equal:
- [
- '<< parameters.node-version >>',
- '<< pipeline.parameters.maintenance-node-version >>',
- ]
- steps:
- - *run-unit-tests
+ - *run-unit-tests
lint:
working_directory: ~/nest
@@ -181,7 +150,6 @@ jobs:
name: Build all samples
command: npm run build:samples
-
workflows:
build-and-test:
jobs:
@@ -193,7 +161,6 @@ workflows:
parameters:
node-version:
[
- '<< pipeline.parameters.legacy-node-version >>',
'<< pipeline.parameters.maintenance-node-version >>',
'<< pipeline.parameters.active-node-version >>',
'<< pipeline.parameters.current-node-version >>',
diff --git a/.oxlintrc.json b/.oxlintrc.json
new file mode 100644
index 00000000000..30095a42e4e
--- /dev/null
+++ b/.oxlintrc.json
@@ -0,0 +1,18 @@
+{
+ "$schema": "./node_modules/oxlint/configuration_schema.json",
+ "plugins": ["typescript"],
+ "categories": {
+ "correctness": "error"
+ },
+ "env": {
+ "node": true
+ },
+ "ignorePatterns": ["node_modules", "**/*.js", "**/*.d.ts"],
+ "rules": {
+ "no-unused-vars": "off",
+ "no-unused-expressions": "off",
+ "typescript/no-explicit-any": "off",
+ "typescript/no-non-null-asserted-optional-chain": "warn",
+ "typescript/no-require-imports": "off"
+ }
+}
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 5478e52496a..06873fcbc23 100755
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -116,7 +116,6 @@ We cannot accept code without this.
1. In GitHub, send a pull request to `nestjs:master`.
- If we suggest changes then:
-
- Make the required updates.
- Re-run the Nest test suites to ensure tests are still passing.
- Rebase your branch and force push to your GitHub repository (this will update your Pull Request):
@@ -159,7 +158,7 @@ from the main (upstream) repository:
## Development Setup
-You will need [Node.js](https://nodejs.org) version >= 10.13.0 (except for v13).
+You will need [Node.js](https://nodejs.org) version >= 20.
1. After cloning the repo, run:
@@ -322,8 +321,10 @@ changes to be accepted, the CLA must be signed. It's a quick process, we promise
[commit-message-format]: https://docs.google.com/document/d/1QrDFcIiPjSLDn3EL15IJygNPiHORgU1_OOAqWjiDU5Y/edit#
+
+
[dev-doc]: https://github.com/nestjs/nest/blob/master/docs/DEVELOPER.md
[github]: https://github.com/nestjs/nest
[stackoverflow]: https://stackoverflow.com/questions/tagged/nestjs
diff --git a/eslint.config.mjs b/eslint.config.mjs
deleted file mode 100644
index 194f3e0de22..00000000000
--- a/eslint.config.mjs
+++ /dev/null
@@ -1,55 +0,0 @@
-// @ts-check
-import eslint from '@eslint/js';
-import eslintPluginPrettierRecommended from 'eslint-plugin-prettier/recommended';
-import globals from 'globals';
-import tseslint from 'typescript-eslint';
-
-export default tseslint.config(
- {
- ignores: ['node_modules', '**/node_modules/**', '**/*.js', '**/*.d.ts'],
- },
- eslint.configs.recommended,
- ...tseslint.configs.recommendedTypeChecked,
- eslintPluginPrettierRecommended,
- {
- languageOptions: {
- globals: {
- ...globals.node,
- ...globals.jest,
- },
- ecmaVersion: 5,
- sourceType: 'module',
- parserOptions: {
- projectService: true,
- tsconfigRootDir: import.meta.dirname,
- },
- },
- },
- {
- rules: {
- '@typescript-eslint/no-explicit-any': 'off',
- '@typescript-eslint/no-unsafe-assignment': 'off',
- '@typescript-eslint/no-unsafe-call': 'off',
- '@typescript-eslint/no-unsafe-member-access': 'off',
- '@typescript-eslint/no-unsafe-function-type': 'off',
- '@typescript-eslint/no-unsafe-argument': 'off',
- '@typescript-eslint/no-unsafe-return': 'off',
- '@typescript-eslint/no-unused-expressions': 'off',
- '@typescript-eslint/no-require-imports': 'off',
- '@typescript-eslint/no-unused-vars': 'off',
- '@typescript-eslint/no-non-null-asserted-optional-chain': 'warn',
- '@typescript-eslint/no-misused-promises': [
- 'error',
- {
- checksVoidReturn: false,
- checksConditionals: false,
- },
- ],
- '@typescript-eslint/require-await': 'off',
- '@typescript-eslint/prefer-promise-reject-errors': 'off',
- '@typescript-eslint/no-base-to-string': 'off',
- '@typescript-eslint/unbound-method': 'off',
- '@typescript-eslint/only-throw-error': 'off',
- },
- },
-);
diff --git a/gulpfile.js b/gulpfile.js
deleted file mode 100644
index a0962e1a387..00000000000
--- a/gulpfile.js
+++ /dev/null
@@ -1,16 +0,0 @@
-'use strict';
-/**
- * Load the TypeScript compiler, then load the TypeScript gulpfile which simply loads all
- * the tasks. The tasks are really inside tools/gulp/tasks.
- */
-
-const path = require('path');
-
-const projectDir = __dirname;
-const tsconfigPath = path.join(projectDir, 'tools/gulp/tsconfig.json');
-
-require('ts-node').register({
- project: tsconfigPath
-});
-
-require('./tools/gulp/gulpfile');
\ No newline at end of file
diff --git a/gulpfile.mjs b/gulpfile.mjs
new file mode 100644
index 00000000000..45cc068b5f8
--- /dev/null
+++ b/gulpfile.mjs
@@ -0,0 +1,13 @@
+/**
+ * Load the TypeScript compiler, then load the TypeScript gulpfile which simply loads all
+ * the tasks. The tasks are really inside tools/gulp/tasks.
+ */
+
+import { register } from 'node:module';
+import { pathToFileURL } from 'node:url';
+
+register('ts-node/esm', pathToFileURL('./'), {
+ data: { project: './tools/gulp/tsconfig.json' },
+});
+
+await import('./tools/gulp/gulpfile.ts');
diff --git a/hooks/mocha-init-hook.ts b/hooks/mocha-init-hook.ts
deleted file mode 100644
index 82b14a111af..00000000000
--- a/hooks/mocha-init-hook.ts
+++ /dev/null
@@ -1,7 +0,0 @@
-export const mochaHooks = (): Mocha.RootHookObject => {
- return {
- async beforeAll(this: Mocha.Context) {
- await import('reflect-metadata');
- },
- };
-};
diff --git a/integration/auto-mock/src/bar.service.ts b/integration/auto-mock/src/bar.service.ts
index 5b75933f90d..24b0124ec44 100644
--- a/integration/auto-mock/src/bar.service.ts
+++ b/integration/auto-mock/src/bar.service.ts
@@ -1,5 +1,5 @@
import { Injectable } from '@nestjs/common';
-import { FooService } from './foo.service';
+import { FooService } from './foo.service.js';
@Injectable()
export class BarService {
diff --git a/integration/auto-mock/test/bar.service.spec.ts b/integration/auto-mock/test/bar.service.spec.ts
index c004bbf67fe..a1359799dc6 100644
--- a/integration/auto-mock/test/bar.service.spec.ts
+++ b/integration/auto-mock/test/bar.service.spec.ts
@@ -1,17 +1,11 @@
import { Test } from '@nestjs/testing';
-import * as chai from 'chai';
-import * as chaiAsPromised from 'chai-as-promised';
-import * as sinon from 'sinon';
-import { BarService } from '../src/bar.service';
-import { FooService } from '../src/foo.service';
-
-chai.use(chaiAsPromised);
-const { expect } = chai;
+import { BarService } from '../src/bar.service.js';
+import { FooService } from '../src/foo.service.js';
describe('Auto-Mocking Bar Deps', () => {
let service: BarService;
let fooService: FooService;
- const stub = sinon.stub();
+ const stub = vi.fn();
beforeEach(async () => {
const moduleRef = await Test.createTestingModule({
providers: [BarService],
@@ -23,12 +17,12 @@ describe('Auto-Mocking Bar Deps', () => {
});
it('should be defined', () => {
- expect(service).not.to.be.undefined;
- expect(fooService).not.to.be.undefined;
+ expect(service).not.toBeUndefined();
+ expect(fooService).not.toBeUndefined();
});
it('should call bar.bar', () => {
service.bar();
- expect(stub.called);
+ expect(stub).toHaveBeenCalled();
});
});
@@ -39,23 +33,25 @@ describe('Auto-Mocking with token in factory', () => {
})
.useMocker(token => {
if (token === FooService) {
- return { foo: sinon.stub };
+ return { foo: vi.fn() };
}
})
.compile();
const service = moduleRef.get(BarService);
- const fooServ = moduleRef.get<{ foo: sinon.SinonStub }>(FooService as any);
+ const fooServ = moduleRef.get<{ foo: ReturnType }>(
+ FooService as any,
+ );
service.bar();
- expect(fooServ.foo.called);
+ expect(fooServ.foo).toHaveBeenCalled();
});
it('cannot mock the dependencies', async () => {
const moduleRef = Test.createTestingModule({
providers: [BarService],
}).useMocker(token => {
if (token === FooService.name + 'something that fails the token') {
- return { foo: sinon.stub };
+ return { foo: vi.fn() };
}
}).compile;
- expect(moduleRef()).to.eventually.throw();
+ await expect(moduleRef()).rejects.toThrow();
});
});
diff --git a/integration/auto-mock/tsconfig.json b/integration/auto-mock/tsconfig.json
index 2d3b89de293..34056a28cae 100644
--- a/integration/auto-mock/tsconfig.json
+++ b/integration/auto-mock/tsconfig.json
@@ -1,13 +1,15 @@
{
"compilerOptions": {
+ "types": ["vitest/globals"],
"module": "commonjs",
"declaration": false,
"noImplicitAny": false,
"removeComments": true,
"noLib": false,
+ "esModuleInterop": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
- "target": "ES2021",
+ "target": "ES2023",
"sourceMap": true,
"allowJs": true,
"strictNullChecks": true,
diff --git a/integration/cors/e2e/express.spec.ts b/integration/cors/e2e/express.spec.ts
index 8e268c3166e..da3f738e049 100644
--- a/integration/cors/e2e/express.spec.ts
+++ b/integration/cors/e2e/express.spec.ts
@@ -1,7 +1,7 @@
import { NestExpressApplication } from '@nestjs/platform-express';
import { Test } from '@nestjs/testing';
-import * as request from 'supertest';
-import { AppModule } from '../src/app.module';
+import request from 'supertest';
+import { AppModule } from '../src/app.module.js';
describe('Express Cors', () => {
let app: NestExpressApplication;
@@ -25,7 +25,7 @@ describe('Express Cors', () => {
];
describe('Dynamic config', () => {
describe('enableCors', () => {
- before(async () => {
+ beforeAll(async () => {
const module = await Test.createTestingModule({
imports: [AppModule],
}).compile();
@@ -66,13 +66,13 @@ describe('Express Cors', () => {
.expect('content-length', '0');
});
- after(async () => {
+ afterAll(async () => {
await app.close();
});
});
describe('Application Options', () => {
- before(async () => {
+ beforeAll(async () => {
const module = await Test.createTestingModule({
imports: [AppModule],
}).compile();
@@ -114,14 +114,14 @@ describe('Express Cors', () => {
.expect('content-length', '0');
});
- after(async () => {
+ afterAll(async () => {
await app.close();
});
});
});
describe('Static config', () => {
describe('enableCors', () => {
- before(async () => {
+ beforeAll(async () => {
const module = await Test.createTestingModule({
imports: [AppModule],
}).compile();
@@ -141,14 +141,14 @@ describe('Express Cors', () => {
.expect('access-control-expose-headers', 'foo,bar')
.expect('content-length', '0');
});
- });
- after(async () => {
- await app.close();
+ afterAll(async () => {
+ await app.close();
+ });
});
describe('Application Options', () => {
- before(async () => {
+ beforeAll(async () => {
const module = await Test.createTestingModule({
imports: [AppModule],
}).compile();
@@ -169,7 +169,7 @@ describe('Express Cors', () => {
.expect('content-length', '0');
});
- after(async () => {
+ afterAll(async () => {
await app.close();
});
});
diff --git a/integration/cors/e2e/fastify.spec.ts b/integration/cors/e2e/fastify.spec.ts
index c24bfc6ff39..28d468fcc98 100644
--- a/integration/cors/e2e/fastify.spec.ts
+++ b/integration/cors/e2e/fastify.spec.ts
@@ -3,8 +3,8 @@ import {
NestFastifyApplication,
} from '@nestjs/platform-fastify';
import { Test } from '@nestjs/testing';
-import * as request from 'supertest';
-import { AppModule } from '../src/app.module';
+import request from 'supertest';
+import { AppModule } from '../src/app.module.js';
describe.skip('Fastify Cors', () => {
let app: NestFastifyApplication;
@@ -28,7 +28,7 @@ describe.skip('Fastify Cors', () => {
];
describe('Dynamic config', () => {
describe('enableCors', () => {
- before(async () => {
+ beforeAll(async () => {
const module = await Test.createTestingModule({
imports: [AppModule],
}).compile();
@@ -73,13 +73,13 @@ describe.skip('Fastify Cors', () => {
.expect('content-length', '0');
});
- after(async () => {
+ afterAll(async () => {
await app.close();
});
});
describe('Application Options', () => {
- before(async () => {
+ beforeAll(async () => {
const module = await Test.createTestingModule({
imports: [AppModule],
}).compile();
@@ -124,7 +124,7 @@ describe.skip('Fastify Cors', () => {
.expect('content-length', '0');
});
- after(async () => {
+ afterAll(async () => {
await app.close();
});
});
@@ -132,7 +132,7 @@ describe.skip('Fastify Cors', () => {
describe('Static config', () => {
describe('enableCors', () => {
- before(async () => {
+ beforeAll(async () => {
const module = await Test.createTestingModule({
imports: [AppModule],
}).compile();
@@ -154,14 +154,14 @@ describe.skip('Fastify Cors', () => {
.expect('access-control-expose-headers', 'foo,bar')
.expect('content-length', '0');
});
- });
- after(async () => {
- await app.close();
+ afterAll(async () => {
+ await app.close();
+ });
});
describe('Application Options', () => {
- before(async () => {
+ beforeAll(async () => {
const module = await Test.createTestingModule({
imports: [AppModule],
}).compile();
@@ -184,10 +184,10 @@ describe.skip('Fastify Cors', () => {
.expect('access-control-expose-headers', 'foo,bar')
.expect('content-length', '0');
});
- });
- after(async () => {
- await app.close();
+ afterAll(async () => {
+ await app.close();
+ });
});
});
});
diff --git a/integration/cors/src/app.module.ts b/integration/cors/src/app.module.ts
index 848d4aaa7fe..52bb569b5d1 100644
--- a/integration/cors/src/app.module.ts
+++ b/integration/cors/src/app.module.ts
@@ -1,5 +1,5 @@
import { Module } from '@nestjs/common';
-import { AppController } from './app.controller';
+import { AppController } from './app.controller.js';
@Module({
controllers: [AppController],
diff --git a/integration/cors/tsconfig.json b/integration/cors/tsconfig.json
index 4a0f01e0ec4..aa1164082cc 100644
--- a/integration/cors/tsconfig.json
+++ b/integration/cors/tsconfig.json
@@ -1,13 +1,15 @@
{
"compilerOptions": {
+ "types": ["vitest/globals"],
"module": "commonjs",
"declaration": false,
"noImplicitAny": false,
"removeComments": true,
"noLib": false,
+ "esModuleInterop": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
- "target": "ES2021",
+ "target": "ES2023",
"sourceMap": true,
"allowJs": true,
"strictNullChecks": true,
diff --git a/integration/discovery/e2e/discover-by-meta.spec.ts b/integration/discovery/e2e/discover-by-meta.spec.ts
index 679c7758430..99af0b40822 100644
--- a/integration/discovery/e2e/discover-by-meta.spec.ts
+++ b/integration/discovery/e2e/discover-by-meta.spec.ts
@@ -1,9 +1,8 @@
-import { Test, TestingModule } from '@nestjs/testing';
import { DiscoveryService } from '@nestjs/core';
-import { expect } from 'chai';
-import { AppModule } from '../src/app.module';
-import { WebhooksExplorer } from '../src/webhooks.explorer';
-import { NonAppliedDecorator } from '../src/decorators/non-applied.decorator';
+import { Test, TestingModule } from '@nestjs/testing';
+import { AppModule } from '../src/app.module.js';
+import { NonAppliedDecorator } from '../src/decorators/non-applied.decorator.js';
+import { WebhooksExplorer } from '../src/webhooks.explorer.js';
describe('DiscoveryModule', () => {
let moduleRef: TestingModule;
@@ -14,10 +13,14 @@ describe('DiscoveryModule', () => {
}).compile();
});
+ afterEach(async () => {
+ await moduleRef.close();
+ });
+
it('should discover all providers & handlers with corresponding annotations', async () => {
const webhooksExplorer = moduleRef.get(WebhooksExplorer);
- expect(webhooksExplorer.getWebhooks()).to.be.eql([
+ expect(webhooksExplorer.getWebhooks()).toEqual([
{
handlers: [
{
@@ -45,7 +48,7 @@ describe('DiscoveryModule', () => {
const providers = discoveryService.getProviders({
metadataKey: NonAppliedDecorator.KEY,
});
- expect(providers).to.be.eql([]);
+ expect(providers).toEqual([]);
});
it('should return an empty array if no controllers were found for a given discoverable decorator', () => {
@@ -54,6 +57,6 @@ describe('DiscoveryModule', () => {
const controllers = discoveryService.getControllers({
metadataKey: NonAppliedDecorator.KEY,
});
- expect(controllers).to.be.eql([]);
+ expect(controllers).toEqual([]);
});
});
diff --git a/integration/discovery/src/app.module.ts b/integration/discovery/src/app.module.ts
index c0d93e30c34..ee503ab5d9d 100644
--- a/integration/discovery/src/app.module.ts
+++ b/integration/discovery/src/app.module.ts
@@ -1,7 +1,7 @@
import { Module } from '@nestjs/common';
import { DiscoveryModule } from '@nestjs/core';
-import { MyWebhookModule } from './my-webhook/my-webhook.module';
-import { WebhooksExplorer } from './webhooks.explorer';
+import { MyWebhookModule } from './my-webhook/my-webhook.module.js';
+import { WebhooksExplorer } from './webhooks.explorer.js';
@Module({
imports: [MyWebhookModule, DiscoveryModule],
diff --git a/integration/discovery/src/my-webhook/cleanup.webhook.ts b/integration/discovery/src/my-webhook/cleanup.webhook.ts
index 11364d87c22..a16bc452a10 100644
--- a/integration/discovery/src/my-webhook/cleanup.webhook.ts
+++ b/integration/discovery/src/my-webhook/cleanup.webhook.ts
@@ -1,4 +1,4 @@
-import { Webhook, WebhookHandler } from '../decorators/webhook.decorators';
+import { Webhook, WebhookHandler } from '../decorators/webhook.decorators.js';
@Webhook({ name: 'cleanup' })
export class CleanupWebhook {
diff --git a/integration/discovery/src/my-webhook/flush.webhook.ts b/integration/discovery/src/my-webhook/flush.webhook.ts
index e1db9308786..ba43ae2b447 100644
--- a/integration/discovery/src/my-webhook/flush.webhook.ts
+++ b/integration/discovery/src/my-webhook/flush.webhook.ts
@@ -1,4 +1,4 @@
-import { Webhook, WebhookHandler } from '../decorators/webhook.decorators';
+import { Webhook, WebhookHandler } from '../decorators/webhook.decorators.js';
@Webhook({ name: 'flush' })
export class FlushWebhook {
diff --git a/integration/discovery/src/my-webhook/my-webhook.module.ts b/integration/discovery/src/my-webhook/my-webhook.module.ts
index d868b95d993..af9acd6dd3e 100644
--- a/integration/discovery/src/my-webhook/my-webhook.module.ts
+++ b/integration/discovery/src/my-webhook/my-webhook.module.ts
@@ -1,6 +1,6 @@
import { Module } from '@nestjs/common';
-import { CleanupWebhook } from './cleanup.webhook';
-import { FlushWebhook } from './flush.webhook';
+import { CleanupWebhook } from './cleanup.webhook.js';
+import { FlushWebhook } from './flush.webhook.js';
@Module({ providers: [CleanupWebhook, FlushWebhook] })
export class MyWebhookModule {}
diff --git a/integration/discovery/src/webhooks.explorer.ts b/integration/discovery/src/webhooks.explorer.ts
index d449950a542..a827c7ff20e 100644
--- a/integration/discovery/src/webhooks.explorer.ts
+++ b/integration/discovery/src/webhooks.explorer.ts
@@ -1,6 +1,6 @@
import { Injectable } from '@nestjs/common';
import { DiscoveryService, MetadataScanner } from '@nestjs/core';
-import { Webhook, WebhookHandler } from './decorators/webhook.decorators';
+import { Webhook, WebhookHandler } from './decorators/webhook.decorators.js';
@Injectable()
export class WebhooksExplorer {
diff --git a/integration/discovery/tsconfig.json b/integration/discovery/tsconfig.json
index 4a0f01e0ec4..aa1164082cc 100644
--- a/integration/discovery/tsconfig.json
+++ b/integration/discovery/tsconfig.json
@@ -1,13 +1,15 @@
{
"compilerOptions": {
+ "types": ["vitest/globals"],
"module": "commonjs",
"declaration": false,
"noImplicitAny": false,
"removeComments": true,
"noLib": false,
+ "esModuleInterop": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
- "target": "ES2021",
+ "target": "ES2023",
"sourceMap": true,
"allowJs": true,
"strictNullChecks": true,
diff --git a/integration/graceful-shutdown/e2e/express.spec.ts b/integration/graceful-shutdown/e2e/express.spec.ts
new file mode 100644
index 00000000000..62c84407e40
--- /dev/null
+++ b/integration/graceful-shutdown/e2e/express.spec.ts
@@ -0,0 +1,93 @@
+import { NestFactory } from '@nestjs/core';
+import { ExpressAdapter } from '@nestjs/platform-express';
+import { INestApplication } from '@nestjs/common';
+import * as http from 'http';
+import { AppModule } from '../src/app.module.js';
+
+describe('Graceful Shutdown (Express)', () => {
+ let app: INestApplication;
+
+ afterEach(async () => {
+ if (app) {
+ await app.close();
+ }
+ });
+
+ it('should allow in-flight requests to complete when return503OnClosing is enabled', async () => {
+ app = await NestFactory.create(AppModule, new ExpressAdapter() as any, {
+ return503OnClosing: true,
+ logger: false,
+ });
+ await app.listen(0);
+ const port = app.getHttpServer().address().port;
+
+ const requestPromise = new Promise((resolve, reject) => {
+ http
+ .get(
+ `http://localhost:${port}/slow`,
+ {
+ // Explicitly close connection after response to speed up server shutdown
+ headers: { Connection: 'close' },
+ },
+ res => {
+ let data = '';
+ res.on('data', c => (data += c));
+ res.on('end', () => resolve(data));
+ },
+ )
+ .on('error', reject);
+ });
+
+ // Wait to ensure request is processing
+ await new Promise(r => setTimeout(r, 100));
+
+ const closePromise = app.close();
+
+ // The in-flight request should finish successfully
+ const response = await requestPromise;
+ expect(response).toBe('ok');
+
+ await closePromise;
+ }, 10000);
+
+ it('should return 503 for NEW queued requests on existing connections during shutdown', async () => {
+ app = await NestFactory.create(AppModule, new ExpressAdapter() as any, {
+ return503OnClosing: true,
+ logger: false,
+ });
+ await app.listen(0);
+ const port = app.getHttpServer().address().port;
+
+ // Force 1 socket to ensure queuing/reuse
+ const agent = new http.Agent({ keepAlive: true, maxSockets: 1 });
+
+ // 1. Send Request A (slow) - occupies the socket
+ const req1 = http.get(`http://localhost:${port}/slow`, { agent });
+
+ // 2. Wait so Request A is definitely "in flight"
+ await new Promise(r => setTimeout(r, 100));
+
+ // 3. Trigger Shutdown (don't await yet)
+ const closePromise = app.close();
+
+ // Allow the microtask for prepareClose() to flush (sets isShuttingDown)
+ await new Promise(r => setTimeout(r, 0));
+
+ // 4. Send Request B immediately using the same agent.
+ const statusPromise = new Promise((resolve, reject) => {
+ const req = http.get(`http://localhost:${port}/slow`, { agent }, res => {
+ resolve(res.statusCode || 0);
+ });
+ req.on('error', reject);
+ });
+
+ // 5. Cleanup Request A
+ req1.on('error', () => {});
+
+ const status = await statusPromise;
+ expect(status).toBe(503);
+
+ await closePromise;
+ agent.destroy();
+ }, 10000);
+});
diff --git a/integration/graceful-shutdown/src/app.controller.ts b/integration/graceful-shutdown/src/app.controller.ts
new file mode 100644
index 00000000000..27fa610ea73
--- /dev/null
+++ b/integration/graceful-shutdown/src/app.controller.ts
@@ -0,0 +1,11 @@
+import { Controller, Get } from '@nestjs/common';
+
+@Controller()
+export class AppController {
+ @Get('slow')
+ async slow() {
+ // Simulate work
+ await new Promise(resolve => setTimeout(resolve, 500));
+ return 'ok';
+ }
+}
diff --git a/integration/graceful-shutdown/src/app.module.ts b/integration/graceful-shutdown/src/app.module.ts
new file mode 100644
index 00000000000..52bb569b5d1
--- /dev/null
+++ b/integration/graceful-shutdown/src/app.module.ts
@@ -0,0 +1,7 @@
+import { Module } from '@nestjs/common';
+import { AppController } from './app.controller.js';
+
+@Module({
+ controllers: [AppController],
+})
+export class AppModule {}
diff --git a/integration/graceful-shutdown/tsconfig.json b/integration/graceful-shutdown/tsconfig.json
new file mode 100644
index 00000000000..7d3e3a2d9a9
--- /dev/null
+++ b/integration/graceful-shutdown/tsconfig.json
@@ -0,0 +1,30 @@
+{
+ "compilerOptions": {
+ "types": ["vitest/globals"],
+ "module": "commonjs",
+ "declaration": false,
+ "noImplicitAny": false,
+ "removeComments": true,
+ "noLib": false,
+ "esModuleInterop": true,
+ "emitDecoratorMetadata": true,
+ "experimentalDecorators": true,
+ "target": "ES2023",
+ "sourceMap": true,
+ "allowJs": true,
+ "strictNullChecks": true,
+ "outDir": "./dist",
+ "paths": {
+ "@nestjs/common": ["../../packages/common"],
+ "@nestjs/common/*": ["../../packages/common/*"],
+ "@nestjs/core": ["../../packages/core"],
+ "@nestjs/core/*": ["../../packages/core/*"],
+ "@nestjs/platform-express": ["../../packages/platform-express"],
+ "@nestjs/platform-express/*": ["../../packages/platform-express/*"],
+ "@nestjs/testing": ["../../packages/testing"],
+ "@nestjs/testing/*": ["../../packages/testing/*"]
+ }
+ },
+ "include": ["src/**/*", "e2e/**/*"],
+ "exclude": ["node_modules"]
+}
diff --git a/integration/graphql-code-first/e2e/code-first.spec.ts b/integration/graphql-code-first/e2e/code-first.spec.ts
index 258edd8a90f..18ad0112dd8 100644
--- a/integration/graphql-code-first/e2e/code-first.spec.ts
+++ b/integration/graphql-code-first/e2e/code-first.spec.ts
@@ -1,7 +1,7 @@
import { INestApplication } from '@nestjs/common';
import { Test } from '@nestjs/testing';
-import * as request from 'supertest';
-import { AppModule } from '../src/app.module';
+import request from 'supertest';
+import { AppModule } from '../src/app.module.js';
describe('GraphQL - Code-first', () => {
let app: INestApplication;
diff --git a/integration/graphql-code-first/e2e/guards-filters.spec.ts b/integration/graphql-code-first/e2e/guards-filters.spec.ts
index 4953d771ca8..c4481bab121 100644
--- a/integration/graphql-code-first/e2e/guards-filters.spec.ts
+++ b/integration/graphql-code-first/e2e/guards-filters.spec.ts
@@ -1,7 +1,7 @@
import { INestApplication } from '@nestjs/common';
import { Test } from '@nestjs/testing';
-import * as request from 'supertest';
-import { AppModule } from '../src/app.module';
+import request from 'supertest';
+import { AppModule } from '../src/app.module.js';
describe('GraphQL - Guards', () => {
let app: INestApplication;
diff --git a/integration/graphql-code-first/e2e/pipes.spec.ts b/integration/graphql-code-first/e2e/pipes.spec.ts
index e14e31df183..ad51fd71ae7 100644
--- a/integration/graphql-code-first/e2e/pipes.spec.ts
+++ b/integration/graphql-code-first/e2e/pipes.spec.ts
@@ -1,7 +1,7 @@
import { INestApplication, ValidationPipe } from '@nestjs/common';
import { Test } from '@nestjs/testing';
-import * as request from 'supertest';
-import { AppModule } from '../src/app.module';
+import request from 'supertest';
+import { AppModule } from '../src/app.module.js';
describe('GraphQL Pipes', () => {
let app: INestApplication;
diff --git a/integration/graphql-code-first/src/app.module.ts b/integration/graphql-code-first/src/app.module.ts
index 5da27fa35a2..eddfa249bba 100644
--- a/integration/graphql-code-first/src/app.module.ts
+++ b/integration/graphql-code-first/src/app.module.ts
@@ -2,7 +2,7 @@ import { ApolloDriver, ApolloDriverConfig } from '@nestjs/apollo';
import { Module } from '@nestjs/common';
import { GraphQLModule } from '@nestjs/graphql';
import { join } from 'path';
-import { RecipesModule } from './recipes/recipes.module';
+import { RecipesModule } from './recipes/recipes.module.js';
@Module({
imports: [
diff --git a/integration/graphql-code-first/src/main.ts b/integration/graphql-code-first/src/main.ts
index 4561536fa34..a812539be92 100644
--- a/integration/graphql-code-first/src/main.ts
+++ b/integration/graphql-code-first/src/main.ts
@@ -1,6 +1,6 @@
import { ValidationPipe } from '@nestjs/common';
import { NestFactory } from '@nestjs/core';
-import { AppModule } from './app.module';
+import { AppModule } from './app.module.js';
async function bootstrap() {
const app = await NestFactory.create(AppModule);
diff --git a/integration/graphql-code-first/src/recipes/recipes.module.ts b/integration/graphql-code-first/src/recipes/recipes.module.ts
index efb8dfa837b..77b8eb5af20 100644
--- a/integration/graphql-code-first/src/recipes/recipes.module.ts
+++ b/integration/graphql-code-first/src/recipes/recipes.module.ts
@@ -1,9 +1,9 @@
import { Module } from '@nestjs/common';
import { APP_FILTER } from '@nestjs/core';
-import { UnauthorizedFilter } from '../common/filters/unauthorized.filter';
-import { DateScalar } from '../common/scalars/date.scalar';
-import { RecipesResolver } from './recipes.resolver';
-import { RecipesService } from './recipes.service';
+import { UnauthorizedFilter } from '../common/filters/unauthorized.filter.js';
+import { DateScalar } from '../common/scalars/date.scalar.js';
+import { RecipesResolver } from './recipes.resolver.js';
+import { RecipesService } from './recipes.service.js';
@Module({
providers: [
diff --git a/integration/graphql-code-first/src/recipes/recipes.resolver.ts b/integration/graphql-code-first/src/recipes/recipes.resolver.ts
index a91459c5d72..cf39f923694 100644
--- a/integration/graphql-code-first/src/recipes/recipes.resolver.ts
+++ b/integration/graphql-code-first/src/recipes/recipes.resolver.ts
@@ -1,12 +1,12 @@
import { NotFoundException, UseGuards, UseInterceptors } from '@nestjs/common';
import { Args, Mutation, Query, Resolver, Subscription } from '@nestjs/graphql';
import { PubSub } from 'graphql-subscriptions';
-import { AuthGuard } from '../common/guards/auth.guard';
-import { DataInterceptor } from '../common/interceptors/data.interceptor';
-import { NewRecipeInput } from './dto/new-recipe.input';
-import { RecipesArgs } from './dto/recipes.args';
-import { Recipe } from './models/recipe';
-import { RecipesService } from './recipes.service';
+import { AuthGuard } from '../common/guards/auth.guard.js';
+import { DataInterceptor } from '../common/interceptors/data.interceptor.js';
+import { NewRecipeInput } from './dto/new-recipe.input.js';
+import { RecipesArgs } from './dto/recipes.args.js';
+import { Recipe } from './models/recipe.js';
+import { RecipesService } from './recipes.service.js';
const pubSub = new PubSub();
diff --git a/integration/graphql-code-first/src/recipes/recipes.service.ts b/integration/graphql-code-first/src/recipes/recipes.service.ts
index ba2ab579193..ae4eabed38c 100644
--- a/integration/graphql-code-first/src/recipes/recipes.service.ts
+++ b/integration/graphql-code-first/src/recipes/recipes.service.ts
@@ -1,7 +1,7 @@
import { Injectable } from '@nestjs/common';
-import { NewRecipeInput } from './dto/new-recipe.input';
-import { RecipesArgs } from './dto/recipes.args';
-import { Recipe } from './models/recipe';
+import { NewRecipeInput } from './dto/new-recipe.input.js';
+import { RecipesArgs } from './dto/recipes.args.js';
+import { Recipe } from './models/recipe.js';
@Injectable()
export class RecipesService {
diff --git a/integration/graphql-code-first/tsconfig.json b/integration/graphql-code-first/tsconfig.json
index 4a0f01e0ec4..aa1164082cc 100644
--- a/integration/graphql-code-first/tsconfig.json
+++ b/integration/graphql-code-first/tsconfig.json
@@ -1,13 +1,15 @@
{
"compilerOptions": {
+ "types": ["vitest/globals"],
"module": "commonjs",
"declaration": false,
"noImplicitAny": false,
"removeComments": true,
"noLib": false,
+ "esModuleInterop": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
- "target": "ES2021",
+ "target": "ES2023",
"sourceMap": true,
"allowJs": true,
"strictNullChecks": true,
diff --git a/integration/graphql-schema-first/e2e/graphql-async-class.spec.ts b/integration/graphql-schema-first/e2e/graphql-async-class.spec.ts
index 6ed8d946829..741ea679ef5 100644
--- a/integration/graphql-schema-first/e2e/graphql-async-class.spec.ts
+++ b/integration/graphql-schema-first/e2e/graphql-async-class.spec.ts
@@ -1,7 +1,7 @@
import { INestApplication } from '@nestjs/common';
import { NestFactory } from '@nestjs/core';
-import * as request from 'supertest';
-import { AsyncClassApplicationModule } from '../src/async-options-class.module';
+import request from 'supertest';
+import { AsyncClassApplicationModule } from '../src/async-options-class.module.js';
describe('GraphQL (async class)', () => {
let app: INestApplication;
diff --git a/integration/graphql-schema-first/e2e/graphql-async-existing.spec.ts b/integration/graphql-schema-first/e2e/graphql-async-existing.spec.ts
index 23102984871..8b379f1bff7 100644
--- a/integration/graphql-schema-first/e2e/graphql-async-existing.spec.ts
+++ b/integration/graphql-schema-first/e2e/graphql-async-existing.spec.ts
@@ -1,7 +1,7 @@
import { INestApplication } from '@nestjs/common';
import { NestFactory } from '@nestjs/core';
-import * as request from 'supertest';
-import { AsyncExistingApplicationModule } from '../src/async-options-existing.module';
+import request from 'supertest';
+import { AsyncExistingApplicationModule } from '../src/async-options-existing.module.js';
describe('GraphQL (async existing)', () => {
let app: INestApplication;
diff --git a/integration/graphql-schema-first/e2e/graphql-async.spec.ts b/integration/graphql-schema-first/e2e/graphql-async.spec.ts
index cf2cd47b4c5..cc15515084a 100644
--- a/integration/graphql-schema-first/e2e/graphql-async.spec.ts
+++ b/integration/graphql-schema-first/e2e/graphql-async.spec.ts
@@ -1,7 +1,7 @@
import { INestApplication } from '@nestjs/common';
import { NestFactory } from '@nestjs/core';
-import * as request from 'supertest';
-import { AsyncApplicationModule } from '../src/async-options.module';
+import request from 'supertest';
+import { AsyncApplicationModule } from '../src/async-options.module.js';
describe('GraphQL (async configuration)', () => {
let app: INestApplication;
diff --git a/integration/graphql-schema-first/e2e/graphql-request-scoped.spec.ts b/integration/graphql-schema-first/e2e/graphql-request-scoped.spec.ts
index 125a55c8151..014ae01b755 100644
--- a/integration/graphql-schema-first/e2e/graphql-request-scoped.spec.ts
+++ b/integration/graphql-schema-first/e2e/graphql-request-scoped.spec.ts
@@ -2,11 +2,10 @@ import { ApolloDriver } from '@nestjs/apollo';
import { INestApplication } from '@nestjs/common';
import { GraphQLModule } from '@nestjs/graphql';
import { Test } from '@nestjs/testing';
-import { expect } from 'chai';
import { join } from 'path';
-import * as request from 'supertest';
-import { CatsRequestScopedService } from '../src/cats/cats-request-scoped.service';
-import { CatsModule } from '../src/cats/cats.module';
+import request from 'supertest';
+import { CatsRequestScopedService } from '../src/cats/cats-request-scoped.service.js';
+import { CatsModule } from '../src/cats/cats.module.js';
describe('GraphQL request scoped', () => {
let app: INestApplication;
@@ -17,7 +16,9 @@ describe('GraphQL request scoped', () => {
CatsModule.enableRequestScope(),
GraphQLModule.forRoot({
driver: ApolloDriver,
- typePaths: [join(__dirname, '..', 'src', '**', '*.graphql')],
+ typePaths: [
+ join(import.meta.dirname, '..', 'src', '**', '*.graphql'),
+ ],
}),
],
}).compile();
@@ -53,7 +54,7 @@ describe('GraphQL request scoped', () => {
});
it(`should create resolver for each incoming request`, () => {
- expect(CatsRequestScopedService.COUNTER).to.be.eql(3);
+ expect(CatsRequestScopedService.COUNTER).toEqual(3);
});
afterEach(async () => {
diff --git a/integration/graphql-schema-first/e2e/graphql.spec.ts b/integration/graphql-schema-first/e2e/graphql.spec.ts
index e8ced186f3f..a3f07f1186b 100644
--- a/integration/graphql-schema-first/e2e/graphql.spec.ts
+++ b/integration/graphql-schema-first/e2e/graphql.spec.ts
@@ -1,7 +1,7 @@
import { INestApplication } from '@nestjs/common';
import { Test } from '@nestjs/testing';
-import * as request from 'supertest';
-import { AppModule } from '../src/app.module';
+import request from 'supertest';
+import { AppModule } from '../src/app.module.js';
describe('GraphQL', () => {
let app: INestApplication;
diff --git a/integration/graphql-schema-first/src/app.module.ts b/integration/graphql-schema-first/src/app.module.ts
index 2879cfc9f30..0f9be0cc428 100644
--- a/integration/graphql-schema-first/src/app.module.ts
+++ b/integration/graphql-schema-first/src/app.module.ts
@@ -2,7 +2,7 @@ import { ApolloDriver, ApolloDriverConfig } from '@nestjs/apollo';
import { Module } from '@nestjs/common';
import { GraphQLModule } from '@nestjs/graphql';
import { join } from 'path';
-import { CatsModule } from './cats/cats.module';
+import { CatsModule } from './cats/cats.module.js';
@Module({
imports: [
@@ -10,7 +10,7 @@ import { CatsModule } from './cats/cats.module';
GraphQLModule.forRoot({
driver: ApolloDriver,
includeStacktraceInErrorResponses: true,
- typePaths: [join(__dirname, '**', '*.graphql')],
+ typePaths: [join(import.meta.dirname, '**', '*.graphql')],
}),
],
})
diff --git a/integration/graphql-schema-first/src/async-options-class.module.ts b/integration/graphql-schema-first/src/async-options-class.module.ts
index 5e702348ddf..164abdfceb9 100644
--- a/integration/graphql-schema-first/src/async-options-class.module.ts
+++ b/integration/graphql-schema-first/src/async-options-class.module.ts
@@ -2,12 +2,12 @@ import { ApolloDriver, ApolloDriverConfig } from '@nestjs/apollo';
import { Module } from '@nestjs/common';
import { GqlOptionsFactory, GraphQLModule } from '@nestjs/graphql';
import { join } from 'path';
-import { CatsModule } from './cats/cats.module';
+import { CatsModule } from './cats/cats.module.js';
class ConfigService implements GqlOptionsFactory {
createGqlOptions(): ApolloDriverConfig {
return {
- typePaths: [join(__dirname, '**', '*.graphql')],
+ typePaths: [join(import.meta.dirname, '**', '*.graphql')],
};
}
}
diff --git a/integration/graphql-schema-first/src/async-options-existing.module.ts b/integration/graphql-schema-first/src/async-options-existing.module.ts
index e68b65ada6f..9c6b5363bfc 100644
--- a/integration/graphql-schema-first/src/async-options-existing.module.ts
+++ b/integration/graphql-schema-first/src/async-options-existing.module.ts
@@ -1,9 +1,9 @@
import { ApolloDriver, ApolloDriverConfig } from '@nestjs/apollo';
import { Module } from '@nestjs/common';
import { GraphQLModule } from '@nestjs/graphql';
-import { CatsModule } from './cats/cats.module';
-import { ConfigModule } from './config.module';
-import { ConfigService } from './config.service';
+import { CatsModule } from './cats/cats.module.js';
+import { ConfigModule } from './config.module.js';
+import { ConfigService } from './config.service.js';
@Module({
imports: [
diff --git a/integration/graphql-schema-first/src/async-options.module.ts b/integration/graphql-schema-first/src/async-options.module.ts
index c123cbc97ab..1068c78c687 100644
--- a/integration/graphql-schema-first/src/async-options.module.ts
+++ b/integration/graphql-schema-first/src/async-options.module.ts
@@ -2,7 +2,7 @@ import { ApolloDriver, ApolloDriverConfig } from '@nestjs/apollo';
import { Module } from '@nestjs/common';
import { GraphQLModule } from '@nestjs/graphql';
import { join } from 'path';
-import { CatsModule } from './cats/cats.module';
+import { CatsModule } from './cats/cats.module.js';
@Module({
imports: [
@@ -10,7 +10,7 @@ import { CatsModule } from './cats/cats.module';
GraphQLModule.forRootAsync({
driver: ApolloDriver,
useFactory: async () => ({
- typePaths: [join(__dirname, '**', '*.graphql')],
+ typePaths: [join(import.meta.dirname, '**', '*.graphql')],
}),
}),
],
diff --git a/integration/graphql-schema-first/src/cats/cats-request-scoped.service.ts b/integration/graphql-schema-first/src/cats/cats-request-scoped.service.ts
index ebb88880d4d..1338a78a862 100644
--- a/integration/graphql-schema-first/src/cats/cats-request-scoped.service.ts
+++ b/integration/graphql-schema-first/src/cats/cats-request-scoped.service.ts
@@ -1,5 +1,5 @@
import { Injectable, Scope } from '@nestjs/common';
-import { Cat } from './interfaces/cat.interface';
+import { Cat } from './interfaces/cat.interface.js';
@Injectable({ scope: Scope.REQUEST })
export class CatsRequestScopedService {
diff --git a/integration/graphql-schema-first/src/cats/cats.module.ts b/integration/graphql-schema-first/src/cats/cats.module.ts
index b2fa3f9a974..572fa38c22b 100644
--- a/integration/graphql-schema-first/src/cats/cats.module.ts
+++ b/integration/graphql-schema-first/src/cats/cats.module.ts
@@ -1,7 +1,7 @@
import { DynamicModule, Module, Scope } from '@nestjs/common';
-import { CatsRequestScopedService } from './cats-request-scoped.service';
-import { CatsResolvers } from './cats.resolvers';
-import { CatsService } from './cats.service';
+import { CatsRequestScopedService } from './cats-request-scoped.service.js';
+import { CatsResolvers } from './cats.resolvers.js';
+import { CatsService } from './cats.service.js';
@Module({
providers: [CatsService, CatsResolvers],
diff --git a/integration/graphql-schema-first/src/cats/cats.resolvers.ts b/integration/graphql-schema-first/src/cats/cats.resolvers.ts
index fcc08097aa6..d537f4f4821 100644
--- a/integration/graphql-schema-first/src/cats/cats.resolvers.ts
+++ b/integration/graphql-schema-first/src/cats/cats.resolvers.ts
@@ -1,9 +1,9 @@
import { ParseIntPipe, UseGuards } from '@nestjs/common';
import { Args, Mutation, Query, Resolver, Subscription } from '@nestjs/graphql';
import { PubSub } from 'graphql-subscriptions';
-import { CatsGuard } from './cats.guard';
-import { CatsService } from './cats.service';
-import { Cat } from './interfaces/cat.interface';
+import { CatsGuard } from './cats.guard.js';
+import { CatsService } from './cats.service.js';
+import { Cat } from './interfaces/cat.interface.js';
const pubSub = new PubSub();
diff --git a/integration/graphql-schema-first/src/cats/cats.service.ts b/integration/graphql-schema-first/src/cats/cats.service.ts
index a529301e6b5..397fd1fbc77 100644
--- a/integration/graphql-schema-first/src/cats/cats.service.ts
+++ b/integration/graphql-schema-first/src/cats/cats.service.ts
@@ -1,5 +1,5 @@
import { Injectable } from '@nestjs/common';
-import { Cat } from './interfaces/cat.interface';
+import { Cat } from './interfaces/cat.interface.js';
@Injectable()
export class CatsService {
diff --git a/integration/graphql-schema-first/src/config.module.ts b/integration/graphql-schema-first/src/config.module.ts
index eaa505c8462..bf41826bbf7 100644
--- a/integration/graphql-schema-first/src/config.module.ts
+++ b/integration/graphql-schema-first/src/config.module.ts
@@ -1,5 +1,5 @@
import { Module } from '@nestjs/common';
-import { ConfigService } from './config.service';
+import { ConfigService } from './config.service.js';
@Module({
providers: [ConfigService],
diff --git a/integration/graphql-schema-first/src/config.service.ts b/integration/graphql-schema-first/src/config.service.ts
index 66ed7ee022f..bbdabd115f0 100644
--- a/integration/graphql-schema-first/src/config.service.ts
+++ b/integration/graphql-schema-first/src/config.service.ts
@@ -6,7 +6,7 @@ import { join } from 'path';
export class ConfigService implements GqlOptionsFactory {
createGqlOptions(): GqlModuleOptions {
return {
- typePaths: [join(__dirname, '**', '*.graphql')],
+ typePaths: [join(import.meta.dirname, '**', '*.graphql')],
};
}
}
diff --git a/integration/graphql-schema-first/src/main.ts b/integration/graphql-schema-first/src/main.ts
index 23f3240c271..2061a1ced07 100644
--- a/integration/graphql-schema-first/src/main.ts
+++ b/integration/graphql-schema-first/src/main.ts
@@ -1,5 +1,5 @@
import { NestFactory } from '@nestjs/core';
-import { AppModule } from './app.module';
+import { AppModule } from './app.module.js';
async function bootstrap() {
const app = await NestFactory.create(AppModule);
diff --git a/integration/graphql-schema-first/tsconfig.json b/integration/graphql-schema-first/tsconfig.json
index 4a0f01e0ec4..aa1164082cc 100644
--- a/integration/graphql-schema-first/tsconfig.json
+++ b/integration/graphql-schema-first/tsconfig.json
@@ -1,13 +1,15 @@
{
"compilerOptions": {
+ "types": ["vitest/globals"],
"module": "commonjs",
"declaration": false,
"noImplicitAny": false,
"removeComments": true,
"noLib": false,
+ "esModuleInterop": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
- "target": "ES2021",
+ "target": "ES2023",
"sourceMap": true,
"allowJs": true,
"strictNullChecks": true,
diff --git a/integration/hello-world/e2e/exceptions.spec.ts b/integration/hello-world/e2e/exceptions.spec.ts
index 581964807df..4b50db98219 100644
--- a/integration/hello-world/e2e/exceptions.spec.ts
+++ b/integration/hello-world/e2e/exceptions.spec.ts
@@ -4,10 +4,9 @@ import {
NestFastifyApplication,
} from '@nestjs/platform-fastify';
import { Test } from '@nestjs/testing';
-import { expect } from 'chai';
import { RawServerDefault } from 'fastify';
-import * as request from 'supertest';
-import { ErrorsController } from '../src/errors/errors.controller';
+import request from 'supertest';
+import { ErrorsController } from '../src/errors/errors.controller.js';
describe('Error messages', () => {
let server: RawServerDefault;
@@ -82,14 +81,12 @@ describe('Error messages', () => {
url: '/sync',
})
.then(({ payload, statusCode }) => {
- expect(statusCode).to.equal(HttpStatus.BAD_REQUEST);
- expect(payload).to.equal(
- JSON.stringify({
- statusCode: 400,
- error: 'Bad Request',
- message: 'Integration test',
- }),
- );
+ expect(statusCode).toBe(HttpStatus.BAD_REQUEST);
+ expect(JSON.parse(payload)).toEqual({
+ statusCode: 400,
+ error: 'Bad Request',
+ message: 'Integration test',
+ });
});
});
@@ -97,17 +94,15 @@ describe('Error messages', () => {
return app
.inject({
method: 'GET',
- url: '/sync',
+ url: '/async',
})
.then(({ payload, statusCode }) => {
- expect(statusCode).to.equal(HttpStatus.BAD_REQUEST);
- expect(payload).to.equal(
- JSON.stringify({
- statusCode: 400,
- error: 'Bad Request',
- message: 'Integration test',
- }),
- );
+ expect(statusCode).toBe(HttpStatus.BAD_REQUEST);
+ expect(JSON.parse(payload)).toEqual({
+ statusCode: 400,
+ error: 'Bad Request',
+ message: 'Integration test',
+ });
});
});
@@ -118,13 +113,11 @@ describe('Error messages', () => {
url: '/unexpected-error',
})
.then(({ payload, statusCode }) => {
- expect(statusCode).to.equal(HttpStatus.INTERNAL_SERVER_ERROR);
- expect(payload).to.equal(
- JSON.stringify({
- statusCode: 500,
- message: 'Internal server error',
- }),
- );
+ expect(statusCode).toBe(HttpStatus.INTERNAL_SERVER_ERROR);
+ expect(JSON.parse(payload)).toEqual({
+ statusCode: 500,
+ message: 'Internal server error',
+ });
});
});
diff --git a/integration/hello-world/e2e/exclude-middleware-fastify.spec.ts b/integration/hello-world/e2e/exclude-middleware-fastify.spec.ts
index ab36bdb74ca..27fb5c46cb7 100644
--- a/integration/hello-world/e2e/exclude-middleware-fastify.spec.ts
+++ b/integration/hello-world/e2e/exclude-middleware-fastify.spec.ts
@@ -12,8 +12,8 @@ import {
NestFastifyApplication,
} from '@nestjs/platform-fastify';
import { Test } from '@nestjs/testing';
-import * as request from 'supertest';
-import { AppModule } from '../src/app.module';
+import request from 'supertest';
+import { AppModule } from '../src/app.module.js';
const RETURN_VALUE = 'test';
const MIDDLEWARE_VALUE = 'middleware';
diff --git a/integration/hello-world/e2e/exclude-middleware.spec.ts b/integration/hello-world/e2e/exclude-middleware.spec.ts
index e5f4befc628..9cc466b35e3 100644
--- a/integration/hello-world/e2e/exclude-middleware.spec.ts
+++ b/integration/hello-world/e2e/exclude-middleware.spec.ts
@@ -8,8 +8,8 @@ import {
RequestMethod,
} from '@nestjs/common';
import { Test } from '@nestjs/testing';
-import * as request from 'supertest';
-import { AppModule } from '../src/app.module';
+import request from 'supertest';
+import { AppModule } from '../src/app.module.js';
const RETURN_VALUE = 'test';
const MIDDLEWARE_VALUE = 'middleware';
diff --git a/integration/hello-world/e2e/express-instance.spec.ts b/integration/hello-world/e2e/express-instance.spec.ts
index f035a42704d..f2504de350f 100644
--- a/integration/hello-world/e2e/express-instance.spec.ts
+++ b/integration/hello-world/e2e/express-instance.spec.ts
@@ -1,10 +1,10 @@
import { INestApplication } from '@nestjs/common';
import { ExpressAdapter } from '@nestjs/platform-express';
import { Test } from '@nestjs/testing';
-import * as express from 'express';
-import * as request from 'supertest';
+import express from 'express';
+import request from 'supertest';
import { App } from 'supertest/types';
-import { AppModule } from '../src/app.module';
+import { AppModule } from '../src/app.module.js';
describe('Hello world (express instance)', () => {
let server: App;
diff --git a/integration/hello-world/e2e/express-multiple.spec.ts b/integration/hello-world/e2e/express-multiple.spec.ts
index 1f799d47930..329450c93b3 100644
--- a/integration/hello-world/e2e/express-multiple.spec.ts
+++ b/integration/hello-world/e2e/express-multiple.spec.ts
@@ -1,9 +1,9 @@
import { INestApplication } from '@nestjs/common';
import { ExpressAdapter } from '@nestjs/platform-express';
import { Test } from '@nestjs/testing';
-import * as express from 'express';
-import * as request from 'supertest';
-import { AppModule } from '../src/app.module';
+import express from 'express';
+import request from 'supertest';
+import { AppModule } from '../src/app.module.js';
describe('Hello world (express instance with multiple applications)', () => {
let server;
diff --git a/integration/hello-world/e2e/fastify-adapter.spec.ts b/integration/hello-world/e2e/fastify-adapter.spec.ts
index 73852ba2343..8d2f70c49fd 100644
--- a/integration/hello-world/e2e/fastify-adapter.spec.ts
+++ b/integration/hello-world/e2e/fastify-adapter.spec.ts
@@ -3,8 +3,7 @@ import {
NestFastifyApplication,
} from '@nestjs/platform-fastify';
import { Test } from '@nestjs/testing';
-import { expect } from 'chai';
-import { AppModule } from '../src/app.module';
+import { AppModule } from '../src/app.module.js';
describe('Hello world (fastify adapter)', () => {
let app: NestFastifyApplication;
@@ -26,7 +25,10 @@ describe('Hello world (fastify adapter)', () => {
method: 'GET',
url: '/hello',
})
- .then(({ payload }) => expect(payload).to.be.eql('Hello world!'));
+ .then(({ payload, statusCode }) => {
+ expect(statusCode).toBe(200);
+ expect(payload).toEqual('Hello world!');
+ });
});
it(`/GET (Promise/async)`, () => {
@@ -35,7 +37,10 @@ describe('Hello world (fastify adapter)', () => {
method: 'GET',
url: '/hello/async',
})
- .then(({ payload }) => expect(payload).to.be.eql('Hello world!'));
+ .then(({ payload, statusCode }) => {
+ expect(statusCode).toBe(200);
+ expect(payload).toEqual('Hello world!');
+ });
});
it(`/GET (Observable stream)`, () => {
@@ -44,7 +49,10 @@ describe('Hello world (fastify adapter)', () => {
method: 'GET',
url: '/hello/stream',
})
- .then(({ payload }) => expect(payload).to.be.eql('Hello world!'));
+ .then(({ payload, statusCode }) => {
+ expect(statusCode).toBe(200);
+ expect(payload).toEqual('Hello world!');
+ });
});
it(`/GET { host: ":tenant.example.com" } not matched`, () => {
@@ -54,7 +62,7 @@ describe('Hello world (fastify adapter)', () => {
url: '/host',
})
.then(({ payload }) => {
- expect(JSON.parse(payload)).to.be.eql({
+ expect(JSON.parse(payload)).toEqual({
error: 'Internal Server Error',
message:
'HTTP adapter does not support filtering on host: ":tenant.example.com"',
@@ -70,7 +78,7 @@ describe('Hello world (fastify adapter)', () => {
url: '/host-array',
})
.then(({ payload }) => {
- expect(JSON.parse(payload)).to.be.eql({
+ expect(JSON.parse(payload)).toEqual({
error: 'Internal Server Error',
message:
'HTTP adapter does not support filtering on hosts: [":tenant.example1.com", ":tenant.example2.com"]',
@@ -84,7 +92,10 @@ describe('Hello world (fastify adapter)', () => {
.inject()
.get('/hello')
.end()
- .then(({ payload }) => expect(payload).to.be.eql('Hello world!'));
+ .then(({ payload, statusCode }) => {
+ expect(statusCode).toBe(200);
+ expect(payload).toEqual('Hello world!');
+ });
});
it('/HEAD should respond to with a 200', () => {
@@ -93,7 +104,7 @@ describe('Hello world (fastify adapter)', () => {
method: 'HEAD',
url: '/hello',
})
- .then(({ statusCode }) => expect(statusCode).to.be.eq(200));
+ .then(({ statusCode }) => expect(statusCode).toBe(200));
});
afterEach(async () => {
diff --git a/integration/hello-world/e2e/fastify-middleware-before-init.spec.ts b/integration/hello-world/e2e/fastify-middleware-before-init.spec.ts
index cf22878852e..dd808dae120 100644
--- a/integration/hello-world/e2e/fastify-middleware-before-init.spec.ts
+++ b/integration/hello-world/e2e/fastify-middleware-before-init.spec.ts
@@ -11,7 +11,6 @@ import {
NestFastifyApplication,
} from '@nestjs/platform-fastify';
import { Test } from '@nestjs/testing';
-import { expect } from 'chai';
describe('Middleware before init (FastifyAdapter)', () => {
let app: NestFastifyApplication;
@@ -81,11 +80,11 @@ describe('Middleware before init (FastifyAdapter)', () => {
url: '/test',
})
.then(({ statusCode, payload, headers }) => {
- expect(statusCode).to.equal(200);
- expect(JSON.parse(payload)).to.deep.equal({ data: 'test_data' });
+ expect(statusCode).toBe(200);
+ expect(JSON.parse(payload)).toEqual({ data: 'test_data' });
// Verify both module-level and global middleware were applied
- expect(headers['x-middleware']).to.equal('applied');
- expect(headers['x-global-middleware']).to.equal('applied');
+ expect(headers['x-middleware']).toBe('applied');
+ expect(headers['x-global-middleware']).toBe('applied');
});
});
@@ -123,8 +122,8 @@ describe('Middleware before init (FastifyAdapter)', () => {
url: '/test',
})
.then(({ statusCode, payload }) => {
- expect(statusCode).to.equal(200);
- expect(JSON.parse(payload)).to.deep.equal({ data: 'test_data' });
+ expect(statusCode).toBe(200);
+ expect(JSON.parse(payload)).toEqual({ data: 'test_data' });
});
});
diff --git a/integration/hello-world/e2e/fastify-multiple.spec.ts b/integration/hello-world/e2e/fastify-multiple.spec.ts
index d8dc60b1043..64f8d3eb0c8 100644
--- a/integration/hello-world/e2e/fastify-multiple.spec.ts
+++ b/integration/hello-world/e2e/fastify-multiple.spec.ts
@@ -1,91 +1,4 @@
-/* Temporarily disabled due to various regressions
-
-import { FastifyAdapter, NestFastifyApplication } from '@nestjs/platform-fastify';
-import { Test } from '@nestjs/testing';
-import { expect } from 'chai';
-import { ApplicationModule } from '../src/app.module';
-
-describe('Hello world (fastify adapter with multiple applications)', () => {
- let adapter: FastifyAdapter;
- let apps: NestFastifyApplication[];
-
- beforeEach(async () => {
- const module1 = await Test.createTestingModule({
- imports: [ApplicationModule],
- }).compile();
- const module2 = await Test.createTestingModule({
- imports: [ApplicationModule],
- }).compile();
-
- adapter = new FastifyAdapter();
-
- apps = [
- module1.createNestApplication(adapter),
- module2
- .createNestApplication(adapter, {
- bodyParser: false,
- })
- .setGlobalPrefix('/app2'),
- ];
- await Promise.all(apps.map(app => app.init()));
- });
-
- it(`/GET`, () => {
- return adapter
- .inject({
- method: 'GET',
- url: '/hello',
- })
- .then(({ payload }) => expect(payload).to.be.eql('Hello world!'));
- });
-
- it(`/GET (app2)`, () => {
- return adapter
- .inject({
- method: 'GET',
- url: '/app2/hello',
- })
- .then(({ payload }) => expect(payload).to.be.eql('Hello world!'));
- });
-
- it(`/GET (Promise/async)`, () => {
- return adapter
- .inject({
- method: 'GET',
- url: '/hello/async',
- })
- .then(({ payload }) => expect(payload).to.be.eql('Hello world!'));
- });
-
- it(`/GET (app2 Promise/async)`, () => {
- return adapter
- .inject({
- method: 'GET',
- url: '/app2/hello/async',
- })
- .then(({ payload }) => expect(payload).to.be.eql('Hello world!'));
- });
-
- it(`/GET (Observable stream)`, () => {
- return adapter
- .inject({
- method: 'GET',
- url: '/hello/stream',
- })
- .then(({ payload }) => expect(payload).to.be.eql('Hello world!'));
- });
-
- it(`/GET (app2 Observable stream)`, () => {
- return adapter
- .inject({
- method: 'GET',
- url: '/app2/hello/stream',
- })
- .then(({ payload }) => expect(payload).to.be.eql('Hello world!'));
- });
-
- afterEach(async () => {
- await Promise.all(apps.map(app => app.close()));
- await adapter.close();
- });
-});*/
+// Temporarily disabled due to various regressions
+describe.skip('Hello world (fastify adapter with multiple applications)', () => {
+ it('placeholder', () => {});
+});
diff --git a/integration/hello-world/e2e/force-console.spec.ts b/integration/hello-world/e2e/force-console.spec.ts
index cb6aa733baa..9c6f687fa7b 100644
--- a/integration/hello-world/e2e/force-console.spec.ts
+++ b/integration/hello-world/e2e/force-console.spec.ts
@@ -1,25 +1,23 @@
import { ConsoleLogger, INestApplication } from '@nestjs/common';
import { Test } from '@nestjs/testing';
-import * as request from 'supertest';
-import { AppModule } from '../src/app.module';
-import * as sinon from 'sinon';
-import { expect } from 'chai';
+import request from 'supertest';
+import { AppModule } from '../src/app.module.js';
describe('ForceConsole Option', () => {
let app: INestApplication;
describe('When forceConsole is true', () => {
- let consoleLogSpy: sinon.SinonSpy;
- let consoleErrorSpy: sinon.SinonSpy;
- let processStdoutSpy: sinon.SinonSpy;
- let processStderrSpy: sinon.SinonSpy;
+ let consoleLogSpy: ReturnType;
+ let consoleErrorSpy: ReturnType;
+ let processStdoutSpy: ReturnType;
+ let processStderrSpy: ReturnType;
beforeEach(async () => {
// Spy on console and process methods
- consoleLogSpy = sinon.spy(console, 'log');
- consoleErrorSpy = sinon.spy(console, 'error');
- processStdoutSpy = sinon.spy(process.stdout, 'write');
- processStderrSpy = sinon.spy(process.stderr, 'write');
+ consoleLogSpy = vi.spyOn(console, 'log');
+ consoleErrorSpy = vi.spyOn(console, 'error');
+ processStdoutSpy = vi.spyOn(process.stdout, 'write');
+ processStderrSpy = vi.spyOn(process.stderr, 'write');
const moduleRef = await Test.createTestingModule({
imports: [AppModule],
@@ -34,10 +32,10 @@ describe('ForceConsole Option', () => {
});
afterEach(async () => {
- consoleLogSpy.restore();
- consoleErrorSpy.restore();
- processStdoutSpy.restore();
- processStderrSpy.restore();
+ consoleLogSpy.mockRestore();
+ consoleErrorSpy.mockRestore();
+ processStdoutSpy.mockRestore();
+ processStderrSpy.mockRestore();
await app.close();
});
@@ -46,14 +44,12 @@ describe('ForceConsole Option', () => {
logger.log('Test log message');
// Should use console.log when forceConsole is true
- expect(consoleLogSpy.called).to.be.true;
+ expect(consoleLogSpy).toHaveBeenCalled();
// Verify console.log was called with the message
- const consoleLogCalls = consoleLogSpy
- .getCalls()
- .filter(call =>
- call.args.some(arg => String(arg).includes('Test log message')),
- );
- expect(consoleLogCalls.length).to.be.greaterThan(0);
+ const consoleLogCalls = consoleLogSpy.mock.calls.filter(args =>
+ args.some(arg => String(arg).includes('Test log message')),
+ );
+ expect(consoleLogCalls.length).toBeGreaterThan(0);
});
it('should use console.error instead of process.stderr.write', async () => {
@@ -61,14 +57,12 @@ describe('ForceConsole Option', () => {
logger.error('Test error message');
// Should use console.error when forceConsole is true
- expect(consoleErrorSpy.called).to.be.true;
+ expect(consoleErrorSpy).toHaveBeenCalled();
// Verify console.error was called with the message
- const consoleErrorCalls = consoleErrorSpy
- .getCalls()
- .filter(call =>
- call.args.some(arg => String(arg).includes('Test error message')),
- );
- expect(consoleErrorCalls.length).to.be.greaterThan(0);
+ const consoleErrorCalls = consoleErrorSpy.mock.calls.filter(args =>
+ args.some(arg => String(arg).includes('Test error message')),
+ );
+ expect(consoleErrorCalls.length).toBeGreaterThan(0);
});
it('should handle GET request with forceConsole option enabled', () => {
@@ -77,17 +71,17 @@ describe('ForceConsole Option', () => {
});
describe('When forceConsole is false (default)', () => {
- let consoleLogSpy: sinon.SinonSpy;
- let consoleErrorSpy: sinon.SinonSpy;
- let processStdoutSpy: sinon.SinonSpy;
- let processStderrSpy: sinon.SinonSpy;
+ let consoleLogSpy: ReturnType;
+ let consoleErrorSpy: ReturnType;
+ let processStdoutSpy: ReturnType;
+ let processStderrSpy: ReturnType;
beforeEach(async () => {
// Spy on console and process methods
- consoleLogSpy = sinon.spy(console, 'log');
- consoleErrorSpy = sinon.spy(console, 'error');
- processStdoutSpy = sinon.spy(process.stdout, 'write');
- processStderrSpy = sinon.spy(process.stderr, 'write');
+ consoleLogSpy = vi.spyOn(console, 'log');
+ consoleErrorSpy = vi.spyOn(console, 'error');
+ processStdoutSpy = vi.spyOn(process.stdout, 'write');
+ processStderrSpy = vi.spyOn(process.stderr, 'write');
const moduleRef = await Test.createTestingModule({
imports: [AppModule],
@@ -102,10 +96,10 @@ describe('ForceConsole Option', () => {
});
afterEach(async () => {
- consoleLogSpy.restore();
- consoleErrorSpy.restore();
- processStdoutSpy.restore();
- processStderrSpy.restore();
+ consoleLogSpy.mockRestore();
+ consoleErrorSpy.mockRestore();
+ processStdoutSpy.mockRestore();
+ processStderrSpy.mockRestore();
await app.close();
});
@@ -113,31 +107,31 @@ describe('ForceConsole Option', () => {
const logger = new ConsoleLogger('TestContext');
// Reset spy to ensure clean state
- consoleLogSpy.resetHistory();
+ consoleLogSpy.mockClear();
logger.log('Test log message');
// When forceConsole is false, should not call console.log
- expect(consoleLogSpy.called).to.be.false;
+ expect(consoleLogSpy).not.toHaveBeenCalled();
});
it('should not directly call console.error when forceConsole is false', async () => {
const logger = new ConsoleLogger('TestContext');
// Reset spy to ensure clean state
- consoleErrorSpy.resetHistory();
+ consoleErrorSpy.mockClear();
logger.error('Test error message');
// When forceConsole is false, should not call console.error
- expect(consoleErrorSpy.called).to.be.false;
+ expect(consoleErrorSpy).not.toHaveBeenCalled();
});
});
describe('When forceConsole is set via NestFactory.create', () => {
it('should apply forceConsole to the default logger', async () => {
- const consoleLogSpy = sinon.spy(console, 'log');
- const processStdoutSpy = sinon.spy(process.stdout, 'write');
+ const consoleLogSpy = vi.spyOn(console, 'log');
+ const processStdoutSpy = vi.spyOn(process.stdout, 'write');
const moduleRef = await Test.createTestingModule({
imports: [AppModule],
@@ -153,10 +147,10 @@ describe('ForceConsole Option', () => {
const logger = new ConsoleLogger('AppContext', { forceConsole: true });
logger.log('Application started');
- expect(consoleLogSpy.called).to.be.true;
+ expect(consoleLogSpy).toHaveBeenCalled();
- consoleLogSpy.restore();
- processStdoutSpy.restore();
+ consoleLogSpy.mockRestore();
+ processStdoutSpy.mockRestore();
await testApp.close();
});
});
diff --git a/integration/hello-world/e2e/guards.spec.ts b/integration/hello-world/e2e/guards.spec.ts
index 97082612389..db362ba444d 100644
--- a/integration/hello-world/e2e/guards.spec.ts
+++ b/integration/hello-world/e2e/guards.spec.ts
@@ -5,8 +5,8 @@ import {
} from '@nestjs/common';
import { APP_GUARD } from '@nestjs/core';
import { Test } from '@nestjs/testing';
-import * as request from 'supertest';
-import { AppModule } from '../src/app.module';
+import request from 'supertest';
+import { AppModule } from '../src/app.module.js';
@Injectable()
export class AuthGuard {
@@ -33,10 +33,31 @@ function createTestModule(guard) {
describe('Guards', () => {
let app: INestApplication;
+ afterEach(async () => {
+ await app.close();
+ });
+
it(`should prevent access (unauthorized)`, async () => {
app = (await createTestModule(new AuthGuard())).createNestApplication();
await app.init();
- return request(app.getHttpServer()).get('/hello').expect(401);
+ return request(app.getHttpServer())
+ .get('/hello')
+ .expect(401)
+ .expect(({ body }) => {
+ expect(body.message).toBe('Unauthorized');
+ expect(body.statusCode).toBe(401);
+ });
+ });
+
+ it(`should allow access when guard returns true`, async () => {
+ const allowGuard = { canActivate: () => true };
+ app = (await createTestModule(allowGuard)).createNestApplication();
+
+ await app.init();
+ return request(app.getHttpServer())
+ .get('/hello')
+ .expect(200)
+ .expect('Hello world!');
});
});
diff --git a/integration/hello-world/e2e/hello-world.spec.ts b/integration/hello-world/e2e/hello-world.spec.ts
index e2f3a895f52..c828a49d85e 100644
--- a/integration/hello-world/e2e/hello-world.spec.ts
+++ b/integration/hello-world/e2e/hello-world.spec.ts
@@ -1,7 +1,7 @@
-import * as request from 'supertest';
+import request from 'supertest';
import { Test } from '@nestjs/testing';
import { INestApplication } from '@nestjs/common';
-import { AppModule } from '../src/app.module';
+import { AppModule } from '../src/app.module.js';
describe('Hello world (default adapter)', () => {
let server;
diff --git a/integration/hello-world/e2e/interceptors.spec.ts b/integration/hello-world/e2e/interceptors.spec.ts
index 249eb9312aa..5da20a73ffd 100644
--- a/integration/hello-world/e2e/interceptors.spec.ts
+++ b/integration/hello-world/e2e/interceptors.spec.ts
@@ -9,8 +9,8 @@ import { APP_INTERCEPTOR } from '@nestjs/core';
import { Test } from '@nestjs/testing';
import { of } from 'rxjs';
import { map } from 'rxjs/operators';
-import * as request from 'supertest';
-import { AppModule } from '../src/app.module';
+import request from 'supertest';
+import { AppModule } from '../src/app.module.js';
const RETURN_VALUE = 'test';
diff --git a/integration/hello-world/e2e/local-pipes.spec.ts b/integration/hello-world/e2e/local-pipes.spec.ts
index e982bc4aecc..63cfeed5a05 100644
--- a/integration/hello-world/e2e/local-pipes.spec.ts
+++ b/integration/hello-world/e2e/local-pipes.spec.ts
@@ -1,7 +1,7 @@
import { INestApplication } from '@nestjs/common';
import { Test } from '@nestjs/testing';
-import * as request from 'supertest';
-import { AppModule } from '../src/app.module';
+import request from 'supertest';
+import { AppModule } from '../src/app.module.js';
describe('Hello world (default adapter)', () => {
let server;
diff --git a/integration/hello-world/e2e/middleware-class.spec.ts b/integration/hello-world/e2e/middleware-class.spec.ts
index 49896423608..2905e60d284 100644
--- a/integration/hello-world/e2e/middleware-class.spec.ts
+++ b/integration/hello-world/e2e/middleware-class.spec.ts
@@ -9,8 +9,8 @@ import {
} from '@nestjs/common';
import { Test } from '@nestjs/testing';
import { Response } from 'express';
-import * as request from 'supertest';
-import { AppModule } from '../src/app.module';
+import request from 'supertest';
+import { AppModule } from '../src/app.module.js';
const INCLUDED_VALUE = 'test_included';
const RETURN_VALUE = 'test';
diff --git a/integration/hello-world/e2e/middleware-execute-order.spec.ts b/integration/hello-world/e2e/middleware-execute-order.spec.ts
index 21de0245246..7e660be19b2 100644
--- a/integration/hello-world/e2e/middleware-execute-order.spec.ts
+++ b/integration/hello-world/e2e/middleware-execute-order.spec.ts
@@ -5,7 +5,7 @@ import {
Module,
} from '@nestjs/common';
import { Test } from '@nestjs/testing';
-import * as request from 'supertest';
+import request from 'supertest';
const RETURN_VALUE_A = 'test_A';
const RETURN_VALUE_B = 'test_B';
diff --git a/integration/hello-world/e2e/middleware-fastify.spec.ts b/integration/hello-world/e2e/middleware-fastify.spec.ts
index 457faa2a99b..66d5506df0e 100644
--- a/integration/hello-world/e2e/middleware-fastify.spec.ts
+++ b/integration/hello-world/e2e/middleware-fastify.spec.ts
@@ -15,10 +15,9 @@ import {
NestFastifyApplication,
} from '@nestjs/platform-fastify';
import { Test } from '@nestjs/testing';
-import { expect } from 'chai';
import { FastifyRequest } from 'fastify';
-import * as request from 'supertest';
-import { AppModule } from '../src/app.module';
+import request from 'supertest';
+import { AppModule } from '../src/app.module.js';
describe('Middleware (FastifyAdapter)', () => {
let app: NestFastifyApplication;
@@ -117,7 +116,7 @@ describe('Middleware (FastifyAdapter)', () => {
method: 'GET',
url: '/hello',
})
- .then(({ payload }) => expect(payload).to.be.eql(RETURN_VALUE));
+ .then(({ payload }) => expect(payload).toEqual(RETURN_VALUE));
});
it(`forRoutes(TestController)`, () => {
@@ -126,7 +125,7 @@ describe('Middleware (FastifyAdapter)', () => {
method: 'GET',
url: '/test',
})
- .then(({ payload }) => expect(payload).to.be.eql(SCOPED_VALUE));
+ .then(({ payload }) => expect(payload).toEqual(SCOPED_VALUE));
});
it(`query?test=${QUERY_VALUE} forRoutes(query)`, () => {
@@ -138,7 +137,7 @@ describe('Middleware (FastifyAdapter)', () => {
test: QUERY_VALUE,
},
})
- .then(({ payload }) => expect(payload).to.be.eql(QUERY_VALUE));
+ .then(({ payload }) => expect(payload).toEqual(QUERY_VALUE));
});
it(`${QUERY_VALUE}?test=${QUERY_VALUE} forRoutes(${QUERY_VALUE})`, () => {
@@ -150,7 +149,7 @@ describe('Middleware (FastifyAdapter)', () => {
test: QUERY_VALUE,
},
})
- .then(({ payload }) => expect(payload).to.be.eql(QUERY_VALUE));
+ .then(({ payload }) => expect(payload).toEqual(QUERY_VALUE));
});
it(`forRoutes(tests/*path)`, () => {
@@ -159,7 +158,7 @@ describe('Middleware (FastifyAdapter)', () => {
method: 'GET',
url: '/tests/wildcard_nested',
})
- .then(({ payload }) => expect(payload).to.be.eql(WILDCARD_VALUE));
+ .then(({ payload }) => expect(payload).toEqual(WILDCARD_VALUE));
});
it(`forRoutes(express_style_wildcard/*)`, () => {
@@ -168,7 +167,7 @@ describe('Middleware (FastifyAdapter)', () => {
method: 'GET',
url: '/express_style_wildcard/wildcard_nested',
})
- .then(({ payload }) => expect(payload).to.be.eql(WILDCARD_VALUE));
+ .then(({ payload }) => expect(payload).toEqual(WILDCARD_VALUE));
});
it(`forRoutes(legacy_style_wildcard/*)`, () => {
@@ -177,7 +176,7 @@ describe('Middleware (FastifyAdapter)', () => {
method: 'GET',
url: '/legacy_style_wildcard/wildcard_nested',
})
- .then(({ payload }) => expect(payload).to.be.eql(WILDCARD_VALUE));
+ .then(({ payload }) => expect(payload).toEqual(WILDCARD_VALUE));
});
it(`forRoutes(req/url/)`, () => {
@@ -187,7 +186,7 @@ describe('Middleware (FastifyAdapter)', () => {
method: 'GET',
url: `/req/url${reqUrl}`,
})
- .then(({ payload }) => expect(payload).to.be.eql(REQ_URL_VALUE));
+ .then(({ payload }) => expect(payload).toEqual(REQ_URL_VALUE));
});
it(`GET forRoutes(POST tests/included)`, () => {
@@ -196,7 +195,7 @@ describe('Middleware (FastifyAdapter)', () => {
method: 'GET',
url: '/tests/included',
})
- .then(({ payload }) => expect(payload).to.be.eql(WILDCARD_VALUE));
+ .then(({ payload }) => expect(payload).toEqual(WILDCARD_VALUE));
});
it(`POST forRoutes(POST tests/included)`, () => {
@@ -205,7 +204,7 @@ describe('Middleware (FastifyAdapter)', () => {
method: 'POST',
url: '/tests/included',
})
- .then(({ payload }) => expect(payload).to.be.eql(INCLUDED_VALUE));
+ .then(({ payload }) => expect(payload).toEqual(INCLUDED_VALUE));
});
it(`GET forRoutes(POST /tests/%69ncluded) - ensure middleware is executed correctly with encoded characters`, () => {
@@ -214,7 +213,7 @@ describe('Middleware (FastifyAdapter)', () => {
method: 'POST',
url: '/tests/%69ncluded', // 'i' character is encoded
})
- .then(({ payload }) => expect(payload).to.be.eql(INCLUDED_VALUE));
+ .then(({ payload }) => expect(payload).toEqual(INCLUDED_VALUE));
});
afterEach(async () => {
@@ -329,7 +328,7 @@ describe('Middleware (FastifyAdapter)', () => {
url: '/a/b/c',
})
.then(({ payload }) => {
- expect(payload).to.be.eql(
+ expect(payload).toEqual(
JSON.stringify({
success: true,
actual: 1,
@@ -346,7 +345,7 @@ describe('Middleware (FastifyAdapter)', () => {
url: '/a/b',
})
.then(({ payload }) =>
- expect(payload).to.be.eql(
+ expect(payload).toEqual(
JSON.stringify({
success: true,
actual: 1,
@@ -363,7 +362,7 @@ describe('Middleware (FastifyAdapter)', () => {
url: '/a',
})
.then(({ payload }) =>
- expect(payload).to.be.eql(
+ expect(payload).toEqual(
JSON.stringify({
success: true,
actual: 1,
@@ -380,7 +379,7 @@ describe('Middleware (FastifyAdapter)', () => {
url: '/similar',
})
.then(({ payload }) =>
- expect(payload).to.be.eql(
+ expect(payload).toEqual(
JSON.stringify({
success: true,
actual: 1,
@@ -397,7 +396,7 @@ describe('Middleware (FastifyAdapter)', () => {
url: '/similar/test',
})
.then(({ payload }) =>
- expect(payload).to.be.eql(
+ expect(payload).toEqual(
JSON.stringify({
success: true,
actual: 1,
@@ -414,7 +413,7 @@ describe('Middleware (FastifyAdapter)', () => {
url: '/similar/arbitrary',
})
.then(({ payload }) =>
- expect(payload).to.be.eql(
+ expect(payload).toEqual(
JSON.stringify({
success: true,
actual: 1,
@@ -494,7 +493,7 @@ describe('Middleware (FastifyAdapter)', () => {
url: '/api/pong',
})
.then(({ payload }) =>
- expect(payload).to.be.eql(
+ expect(payload).toEqual(
JSON.stringify({
success: true,
pong: 'pong',
@@ -513,7 +512,7 @@ describe('Middleware (FastifyAdapter)', () => {
url: '/api',
})
.then(({ payload }) =>
- expect(payload).to.be.eql(
+ expect(payload).toEqual(
JSON.stringify({
success: true,
pong: 'pong',
@@ -531,7 +530,7 @@ describe('Middleware (FastifyAdapter)', () => {
url: '/pong',
})
.then(({ payload }) =>
- expect(payload).to.be.eql(
+ expect(payload).toEqual(
JSON.stringify({
success: true,
pong: 'pong',
diff --git a/integration/hello-world/e2e/middleware-run-match-route.ts b/integration/hello-world/e2e/middleware-run-match-route.ts
index c3c8ed3cfae..1e94d19b0bf 100644
--- a/integration/hello-world/e2e/middleware-run-match-route.ts
+++ b/integration/hello-world/e2e/middleware-run-match-route.ts
@@ -7,10 +7,8 @@ import {
NestMiddleware,
Module,
} from '@nestjs/common';
-import { Test } from '../../../packages/testing';
-import * as request from 'supertest';
-import { expect } from 'chai';
-
+import { Test } from '../../../packages/testing.js';
+import request from 'supertest';
/**
* Number of times that the middleware was executed.
*/
diff --git a/integration/hello-world/e2e/middleware-with-versioning.spec.ts b/integration/hello-world/e2e/middleware-with-versioning.spec.ts
index a16645b6859..f5f77616993 100644
--- a/integration/hello-world/e2e/middleware-with-versioning.spec.ts
+++ b/integration/hello-world/e2e/middleware-with-versioning.spec.ts
@@ -6,14 +6,14 @@ import {
Module,
RequestMethod,
Version,
+ VERSION_NEUTRAL,
VersioningOptions,
VersioningType,
- VERSION_NEUTRAL,
} from '@nestjs/common';
-import { CustomVersioningOptions } from '@nestjs/common/interfaces';
+import { CustomVersioningOptions } from '@nestjs/common/interfaces/index.js';
import { Test } from '@nestjs/testing';
-import * as request from 'supertest';
-import { AppModule } from '../src/app.module';
+import request from 'supertest';
+import { AppModule } from '../src/app.module.js';
const RETURN_VALUE = 'test';
const VERSIONED_VALUE = 'test_versioned';
diff --git a/integration/hello-world/e2e/middleware.spec.ts b/integration/hello-world/e2e/middleware.spec.ts
index 6d349d83162..7412de91f23 100644
--- a/integration/hello-world/e2e/middleware.spec.ts
+++ b/integration/hello-world/e2e/middleware.spec.ts
@@ -6,8 +6,8 @@ import {
Module,
} from '@nestjs/common';
import { Test } from '@nestjs/testing';
-import * as request from 'supertest';
-import { AppModule } from '../src/app.module';
+import request from 'supertest';
+import { AppModule } from '../src/app.module.js';
const RETURN_VALUE = 'test';
const SCOPED_VALUE = 'test_scoped';
diff --git a/integration/hello-world/e2e/router-module-middleware.spec.ts b/integration/hello-world/e2e/router-module-middleware.spec.ts
index 52fe55ced5f..ab52b4e5cdd 100644
--- a/integration/hello-world/e2e/router-module-middleware.spec.ts
+++ b/integration/hello-world/e2e/router-module-middleware.spec.ts
@@ -7,8 +7,8 @@ import {
} from '@nestjs/common';
import { RouterModule } from '@nestjs/core';
import { Test } from '@nestjs/testing';
-import * as request from 'supertest';
-import { AppModule } from '../src/app.module';
+import request from 'supertest';
+import { AppModule } from '../src/app.module.js';
const RETURN_VALUE = 'test';
const SCOPED_VALUE = 'test_scoped';
diff --git a/integration/hello-world/e2e/router-module.spec.ts b/integration/hello-world/e2e/router-module.spec.ts
index cc576e261e5..43ffc6451bf 100644
--- a/integration/hello-world/e2e/router-module.spec.ts
+++ b/integration/hello-world/e2e/router-module.spec.ts
@@ -1,7 +1,7 @@
import { Controller, Get, INestApplication, Module } from '@nestjs/common';
import { RouterModule, Routes } from '@nestjs/core';
import { Test } from '@nestjs/testing';
-import * as request from 'supertest';
+import request from 'supertest';
describe('RouterModule', () => {
let app: INestApplication;
@@ -66,7 +66,7 @@ describe('RouterModule', () => {
})
class AppModule {}
- before(async () => {
+ beforeAll(async () => {
const moduleRef = await Test.createTestingModule({
imports: [MainModule, AppModule],
}).compile();
diff --git a/integration/hello-world/e2e/schema-in-pipes.spec.ts b/integration/hello-world/e2e/schema-in-pipes.spec.ts
new file mode 100644
index 00000000000..82db9a835a5
--- /dev/null
+++ b/integration/hello-world/e2e/schema-in-pipes.spec.ts
@@ -0,0 +1,166 @@
+import {
+ ArgumentMetadata,
+ Body,
+ Controller,
+ createParamDecorator,
+ ExecutionContext,
+ Get,
+ INestApplication,
+ Injectable,
+ Module,
+ Param,
+ PipeTransform,
+ Post,
+ Query,
+} from '@nestjs/common';
+import { Test } from '@nestjs/testing';
+import type { StandardSchemaV1 } from '@standard-schema/spec';
+import request from 'supertest';
+
+const testSchema: StandardSchemaV1 = {
+ '~standard': {
+ version: 1,
+ vendor: 'test',
+ validate: (value: unknown) => ({ value }),
+ },
+};
+
+/**
+ * A pipe that captures the ArgumentMetadata it receives,
+ * so the test can verify that `schema` is propagated.
+ */
+@Injectable()
+class SchemaCaptorPipe implements PipeTransform {
+ static lastMetadata: ArgumentMetadata | undefined;
+
+ transform(value: any, metadata: ArgumentMetadata) {
+ SchemaCaptorPipe.lastMetadata = metadata;
+ return value;
+ }
+}
+
+const CustomParam = createParamDecorator(
+ (data: unknown, ctx: ExecutionContext) => {
+ return ctx.switchToHttp().getRequest().query;
+ },
+);
+
+@Controller('schema-test')
+class SchemaTestController {
+ @Post('body')
+ bodyWithSchema(
+ @Body({ schema: testSchema, pipes: [SchemaCaptorPipe] }) body: any,
+ ) {
+ return { received: body };
+ }
+
+ @Get('query')
+ queryWithSchema(
+ @Query({ schema: testSchema, pipes: [SchemaCaptorPipe] }) query: any,
+ ) {
+ return { received: query };
+ }
+
+ @Get('param/:id')
+ paramWithSchema(
+ @Param('id', { schema: testSchema, pipes: [SchemaCaptorPipe] }) id: string,
+ ) {
+ return { received: id };
+ }
+
+ @Get('custom')
+ customWithSchema(
+ @CustomParam({ schema: testSchema, pipes: [SchemaCaptorPipe] }) value: any,
+ ) {
+ return { received: value };
+ }
+
+ @Post('body-property')
+ bodyPropertyWithSchema(
+ @Body('name', { schema: testSchema, pipes: [SchemaCaptorPipe] })
+ name: string,
+ ) {
+ return { received: name };
+ }
+}
+
+@Module({
+ controllers: [SchemaTestController],
+ providers: [SchemaCaptorPipe],
+})
+class SchemaTestModule {}
+
+describe('Schema propagation to pipes', () => {
+ let app: INestApplication;
+ let server: any;
+
+ beforeAll(async () => {
+ const module = await Test.createTestingModule({
+ imports: [SchemaTestModule],
+ }).compile();
+
+ app = module.createNestApplication();
+ server = app.getHttpServer();
+ await app.init();
+ });
+
+ beforeEach(() => {
+ SchemaCaptorPipe.lastMetadata = undefined;
+ });
+
+ afterAll(async () => {
+ await app.close();
+ });
+
+ it('should pass schema to pipe via @Body(options)', async () => {
+ await request(server)
+ .post('/schema-test/body')
+ .send({ name: 'test' })
+ .expect(201);
+
+ expect(SchemaCaptorPipe.lastMetadata).toBeDefined();
+ expect(SchemaCaptorPipe.lastMetadata!.schema).toBe(testSchema);
+ expect(SchemaCaptorPipe.lastMetadata!.type).toBe('body');
+ });
+
+ it('should pass schema to pipe via @Query(options)', async () => {
+ await request(server).get('/schema-test/query?user=john').expect(200);
+
+ expect(SchemaCaptorPipe.lastMetadata).toBeDefined();
+ expect(SchemaCaptorPipe.lastMetadata!.schema).toBe(testSchema);
+ expect(SchemaCaptorPipe.lastMetadata!.type).toBe('query');
+ });
+
+ it('should pass schema to pipe via @Param(property, options)', async () => {
+ await request(server)
+ .get('/schema-test/param/42')
+ .expect(200)
+ .expect({ received: '42' });
+
+ expect(SchemaCaptorPipe.lastMetadata).toBeDefined();
+ expect(SchemaCaptorPipe.lastMetadata!.schema).toBe(testSchema);
+ expect(SchemaCaptorPipe.lastMetadata!.type).toBe('param');
+ expect(SchemaCaptorPipe.lastMetadata!.data).toBe('id');
+ });
+
+ it('should pass schema to pipe via createParamDecorator(options)', async () => {
+ await request(server).get('/schema-test/custom?key=val').expect(200);
+
+ expect(SchemaCaptorPipe.lastMetadata).toBeDefined();
+ expect(SchemaCaptorPipe.lastMetadata!.schema).toBe(testSchema);
+ expect(SchemaCaptorPipe.lastMetadata!.type).toBe('custom');
+ });
+
+ it('should pass schema to pipe via @Body(property, options)', async () => {
+ await request(server)
+ .post('/schema-test/body-property')
+ .send({ name: 'Alice' })
+ .expect(201)
+ .expect({ received: 'Alice' });
+
+ expect(SchemaCaptorPipe.lastMetadata).toBeDefined();
+ expect(SchemaCaptorPipe.lastMetadata!.schema).toBe(testSchema);
+ expect(SchemaCaptorPipe.lastMetadata!.type).toBe('body');
+ expect(SchemaCaptorPipe.lastMetadata!.data).toBe('name');
+ });
+});
diff --git a/integration/hello-world/e2e/standard-schema-serializer.spec.ts b/integration/hello-world/e2e/standard-schema-serializer.spec.ts
new file mode 100644
index 00000000000..d5b51710be1
--- /dev/null
+++ b/integration/hello-world/e2e/standard-schema-serializer.spec.ts
@@ -0,0 +1,316 @@
+import {
+ Controller,
+ Get,
+ INestApplication,
+ Module,
+ SerializeOptions,
+ StandardSchemaSerializerInterceptor,
+ UseInterceptors,
+} from '@nestjs/common';
+import { APP_INTERCEPTOR, Reflector } from '@nestjs/core';
+import { Test } from '@nestjs/testing';
+import type { StandardSchemaV1 } from '@standard-schema/spec';
+import request from 'supertest';
+
+// ─── Test schemas ──────────────────────────────────────────────
+
+/**
+ * Schema that strips out the `password` field (simulating a "safe user" DTO).
+ */
+const safeUserSchema: StandardSchemaV1 = {
+ '~standard': {
+ version: 1,
+ vendor: 'test',
+ validate: (value: unknown) => {
+ const { password, ...safe } = value as Record;
+ return { value: safe };
+ },
+ },
+};
+
+/**
+ * Schema that adds a `serialized: true` flag (useful for asserting the schema ran).
+ */
+const flagSchema: StandardSchemaV1 = {
+ '~standard': {
+ version: 1,
+ vendor: 'test',
+ validate: (value: unknown) => ({
+ value: { ...(value as any), serialized: true },
+ }),
+ },
+};
+
+/**
+ * Schema that always fails — used for the error case.
+ */
+const failingSchema: StandardSchemaV1 = {
+ '~standard': {
+ version: 1,
+ vendor: 'test',
+ validate: () => ({
+ issues: [{ message: 'not allowed' }],
+ }),
+ },
+};
+
+/**
+ * Async schema — validates that the interceptor awaits promises.
+ */
+const asyncSchema: StandardSchemaV1 = {
+ '~standard': {
+ version: 1,
+ vendor: 'test',
+ validate: async (value: unknown) => ({
+ value: { ...(value as any), async: true },
+ }),
+ },
+};
+
+// ─── Controllers ───────────────────────────────────────────────
+
+@Controller('serializer')
+@UseInterceptors(StandardSchemaSerializerInterceptor)
+class SerializerTestController {
+ @Get('user')
+ @SerializeOptions({ schema: safeUserSchema })
+ getUser() {
+ return { id: 1, name: 'Alice', password: 'secret123' };
+ }
+
+ @Get('users')
+ @SerializeOptions({ schema: safeUserSchema })
+ getUsers() {
+ return [
+ { id: 1, name: 'Alice', password: 'pw1' },
+ { id: 2, name: 'Bob', password: 'pw2' },
+ ];
+ }
+
+ @Get('flagged')
+ @SerializeOptions({ schema: flagSchema })
+ getFlagged() {
+ return { id: 1 };
+ }
+
+ @Get('no-schema')
+ getNoSchema() {
+ return { id: 1, secret: 'visible' };
+ }
+
+ @Get('failing')
+ @SerializeOptions({ schema: failingSchema })
+ getFailing() {
+ return { id: 1 };
+ }
+
+ @Get('async')
+ @SerializeOptions({ schema: asyncSchema })
+ getAsync() {
+ return { id: 1 };
+ }
+
+ @Get('primitive')
+ @SerializeOptions({ schema: failingSchema })
+ getPrimitive() {
+ return 'plain string';
+ }
+}
+
+/**
+ * Controller-level schema applied via class decorator — all routes inherit it.
+ */
+@Controller('class-level')
+@UseInterceptors(StandardSchemaSerializerInterceptor)
+@SerializeOptions({ schema: safeUserSchema })
+class ClassLevelSerializerController {
+ @Get('user')
+ getUser() {
+ return { id: 1, name: 'Carol', password: 'secret' };
+ }
+
+ @Get('override')
+ @SerializeOptions({ schema: flagSchema })
+ getOverride() {
+ return { id: 1, name: 'Carol', password: 'secret' };
+ }
+}
+
+/**
+ * Controller demonstrating global interceptor registration with a default schema.
+ */
+@Controller('global')
+class GlobalSerializerController {
+ @Get('default')
+ getDefault() {
+ return { id: 1, name: 'Dave', password: 'global-secret' };
+ }
+
+ @Get('override')
+ @SerializeOptions({ schema: flagSchema })
+ getOverride() {
+ return { id: 1 };
+ }
+}
+
+@Module({
+ controllers: [SerializerTestController, ClassLevelSerializerController],
+})
+class SerializerTestModule {}
+
+@Module({
+ controllers: [GlobalSerializerController],
+ providers: [
+ {
+ provide: APP_INTERCEPTOR,
+ useFactory: (reflector: Reflector) =>
+ new StandardSchemaSerializerInterceptor(reflector, {
+ schema: safeUserSchema,
+ }),
+ inject: [Reflector],
+ },
+ ],
+})
+class GlobalSerializerTestModule {}
+
+// ─── Tests ─────────────────────────────────────────────────────
+
+describe('StandardSchemaSerializerInterceptor (integration)', () => {
+ let app: INestApplication;
+
+ afterEach(async () => {
+ await app.close();
+ });
+
+ describe('handler-level @SerializeOptions', () => {
+ beforeEach(async () => {
+ const module = await Test.createTestingModule({
+ imports: [SerializerTestModule],
+ }).compile();
+
+ app = module.createNestApplication();
+ await app.init();
+ });
+
+ it('should strip fields via schema on a single object', () => {
+ return request(app.getHttpServer())
+ .get('/serializer/user')
+ .expect(200)
+ .expect(({ body }) => {
+ expect(body).toEqual({ id: 1, name: 'Alice' });
+ expect(body).not.toHaveProperty('password');
+ });
+ });
+
+ it('should apply schema to each item in an array response', () => {
+ return request(app.getHttpServer())
+ .get('/serializer/users')
+ .expect(200)
+ .expect(({ body }) => {
+ expect(body).toEqual([
+ { id: 1, name: 'Alice' },
+ { id: 2, name: 'Bob' },
+ ]);
+ body.forEach((item: any) =>
+ expect(item).not.toHaveProperty('password'),
+ );
+ });
+ });
+
+ it('should augment response through the schema', () => {
+ return request(app.getHttpServer())
+ .get('/serializer/flagged')
+ .expect(200)
+ .expect({ id: 1, serialized: true });
+ });
+
+ it('should return response unchanged when no schema is set', () => {
+ return request(app.getHttpServer())
+ .get('/serializer/no-schema')
+ .expect(200)
+ .expect({ id: 1, secret: 'visible' });
+ });
+
+ it('should return 500 when schema validation fails', () => {
+ return request(app.getHttpServer())
+ .get('/serializer/failing')
+ .expect(500);
+ });
+
+ it('should handle async schemas', () => {
+ return request(app.getHttpServer())
+ .get('/serializer/async')
+ .expect(200)
+ .expect({ id: 1, async: true });
+ });
+
+ it('should pass primitive values through even when a schema is set', () => {
+ return request(app.getHttpServer())
+ .get('/serializer/primitive')
+ .expect(200)
+ .expect(({ text }) => {
+ expect(text).toBe('plain string');
+ });
+ });
+ });
+
+ describe('class-level @SerializeOptions', () => {
+ beforeEach(async () => {
+ const module = await Test.createTestingModule({
+ imports: [SerializerTestModule],
+ }).compile();
+
+ app = module.createNestApplication();
+ await app.init();
+ });
+
+ it('should apply class-level schema to all routes', () => {
+ return request(app.getHttpServer())
+ .get('/class-level/user')
+ .expect(200)
+ .expect(({ body }) => {
+ expect(body).toEqual({ id: 1, name: 'Carol' });
+ expect(body).not.toHaveProperty('password');
+ });
+ });
+
+ it('should allow handler-level schema to override class-level', () => {
+ return request(app.getHttpServer())
+ .get('/class-level/override')
+ .expect(200)
+ .expect(({ body }) => {
+ // flagSchema adds `serialized: true` but does NOT strip password
+ expect(body).toHaveProperty('serialized', true);
+ expect(body).toHaveProperty('password', 'secret');
+ });
+ });
+ });
+
+ describe('global interceptor with default schema', () => {
+ beforeEach(async () => {
+ const module = await Test.createTestingModule({
+ imports: [GlobalSerializerTestModule],
+ }).compile();
+
+ app = module.createNestApplication();
+ await app.init();
+ });
+
+ it('should apply the default schema globally', () => {
+ return request(app.getHttpServer())
+ .get('/global/default')
+ .expect(200)
+ .expect(({ body }) => {
+ expect(body).toEqual({ id: 1, name: 'Dave' });
+ expect(body).not.toHaveProperty('password');
+ });
+ });
+
+ it('should let @SerializeOptions override the global default', () => {
+ return request(app.getHttpServer())
+ .get('/global/override')
+ .expect(200)
+ .expect({ id: 1, serialized: true });
+ });
+ });
+});
diff --git a/integration/hello-world/src/app.module.ts b/integration/hello-world/src/app.module.ts
index b34bf1cfe84..023aa35fb92 100644
--- a/integration/hello-world/src/app.module.ts
+++ b/integration/hello-world/src/app.module.ts
@@ -1,7 +1,7 @@
import { Module } from '@nestjs/common';
-import { HelloModule } from './hello/hello.module';
-import { HostArrayModule } from './host-array/host-array.module';
-import { HostModule } from './host/host.module';
+import { HelloModule } from './hello/hello.module.js';
+import { HostArrayModule } from './host-array/host-array.module.js';
+import { HostModule } from './host/host.module.js';
@Module({
imports: [HelloModule, HostModule, HostArrayModule],
diff --git a/integration/hello-world/src/hello/hello.controller.ts b/integration/hello-world/src/hello/hello.controller.ts
index be715e1471b..5db2d29d460 100644
--- a/integration/hello-world/src/hello/hello.controller.ts
+++ b/integration/hello-world/src/hello/hello.controller.ts
@@ -1,7 +1,7 @@
import { Controller, Get, Header, Param } from '@nestjs/common';
import { Observable, of } from 'rxjs';
-import { HelloService } from './hello.service';
-import { UserByIdPipe } from './users/user-by-id.pipe';
+import { HelloService } from './hello.service.js';
+import { UserByIdPipe } from './users/user-by-id.pipe.js';
@Controller('hello')
export class HelloController {
diff --git a/integration/hello-world/src/hello/hello.module.ts b/integration/hello-world/src/hello/hello.module.ts
index b831a931577..fe28640f84f 100644
--- a/integration/hello-world/src/hello/hello.module.ts
+++ b/integration/hello-world/src/hello/hello.module.ts
@@ -1,7 +1,7 @@
import { Module } from '@nestjs/common';
-import { HelloController } from './hello.controller';
-import { HelloService } from './hello.service';
-import { UsersService } from './users/users.service';
+import { HelloController } from './hello.controller.js';
+import { HelloService } from './hello.service.js';
+import { UsersService } from './users/users.service.js';
@Module({
controllers: [HelloController],
diff --git a/integration/hello-world/src/hello/users/user-by-id.pipe.ts b/integration/hello-world/src/hello/users/user-by-id.pipe.ts
index f4405205ffc..31f7e27e895 100644
--- a/integration/hello-world/src/hello/users/user-by-id.pipe.ts
+++ b/integration/hello-world/src/hello/users/user-by-id.pipe.ts
@@ -1,5 +1,5 @@
import { PipeTransform, Injectable, ArgumentMetadata } from '@nestjs/common';
-import { UsersService } from './users.service';
+import { UsersService } from './users.service.js';
@Injectable()
export class UserByIdPipe implements PipeTransform {
diff --git a/integration/hello-world/src/host-array/host-array.controller.ts b/integration/hello-world/src/host-array/host-array.controller.ts
index 8f6456bef18..6c8a24e3847 100644
--- a/integration/hello-world/src/host-array/host-array.controller.ts
+++ b/integration/hello-world/src/host-array/host-array.controller.ts
@@ -1,7 +1,7 @@
import { Controller, Get, Header, HostParam, Param } from '@nestjs/common';
import { Observable, of } from 'rxjs';
-import { HostArrayService } from './host-array.service';
-import { UserByIdPipe } from './users/user-by-id.pipe';
+import { HostArrayService } from './host-array.service.js';
+import { UserByIdPipe } from './users/user-by-id.pipe.js';
@Controller({
path: 'host-array',
diff --git a/integration/hello-world/src/host-array/host-array.module.ts b/integration/hello-world/src/host-array/host-array.module.ts
index b5f7f77d43d..d13bb3a2336 100644
--- a/integration/hello-world/src/host-array/host-array.module.ts
+++ b/integration/hello-world/src/host-array/host-array.module.ts
@@ -1,7 +1,7 @@
import { Module } from '@nestjs/common';
-import { HostArrayController } from './host-array.controller';
-import { HostArrayService } from './host-array.service';
-import { UsersService } from './users/users.service';
+import { HostArrayController } from './host-array.controller.js';
+import { HostArrayService } from './host-array.service.js';
+import { UsersService } from './users/users.service.js';
@Module({
controllers: [HostArrayController],
diff --git a/integration/hello-world/src/host-array/users/user-by-id.pipe.ts b/integration/hello-world/src/host-array/users/user-by-id.pipe.ts
index f4405205ffc..31f7e27e895 100644
--- a/integration/hello-world/src/host-array/users/user-by-id.pipe.ts
+++ b/integration/hello-world/src/host-array/users/user-by-id.pipe.ts
@@ -1,5 +1,5 @@
import { PipeTransform, Injectable, ArgumentMetadata } from '@nestjs/common';
-import { UsersService } from './users.service';
+import { UsersService } from './users.service.js';
@Injectable()
export class UserByIdPipe implements PipeTransform {
diff --git a/integration/hello-world/src/host/host.controller.ts b/integration/hello-world/src/host/host.controller.ts
index 8501d59eb87..61f72c474b1 100644
--- a/integration/hello-world/src/host/host.controller.ts
+++ b/integration/hello-world/src/host/host.controller.ts
@@ -1,7 +1,7 @@
import { Controller, Get, Header, HostParam, Param } from '@nestjs/common';
import { Observable, of } from 'rxjs';
-import { HostService } from './host.service';
-import { UserByIdPipe } from './users/user-by-id.pipe';
+import { HostService } from './host.service.js';
+import { UserByIdPipe } from './users/user-by-id.pipe.js';
@Controller({
path: 'host',
diff --git a/integration/hello-world/src/host/host.module.ts b/integration/hello-world/src/host/host.module.ts
index 6d7a733033e..e5c2e49c47c 100644
--- a/integration/hello-world/src/host/host.module.ts
+++ b/integration/hello-world/src/host/host.module.ts
@@ -1,7 +1,7 @@
import { Module } from '@nestjs/common';
-import { HostController } from './host.controller';
-import { HostService } from './host.service';
-import { UsersService } from './users/users.service';
+import { HostController } from './host.controller.js';
+import { HostService } from './host.service.js';
+import { UsersService } from './users/users.service.js';
@Module({
controllers: [HostController],
diff --git a/integration/hello-world/src/host/users/user-by-id.pipe.ts b/integration/hello-world/src/host/users/user-by-id.pipe.ts
index f4405205ffc..31f7e27e895 100644
--- a/integration/hello-world/src/host/users/user-by-id.pipe.ts
+++ b/integration/hello-world/src/host/users/user-by-id.pipe.ts
@@ -1,5 +1,5 @@
import { PipeTransform, Injectable, ArgumentMetadata } from '@nestjs/common';
-import { UsersService } from './users.service';
+import { UsersService } from './users.service.js';
@Injectable()
export class UserByIdPipe implements PipeTransform {
diff --git a/integration/hello-world/tsconfig.json b/integration/hello-world/tsconfig.json
index 4a0f01e0ec4..aa1164082cc 100644
--- a/integration/hello-world/tsconfig.json
+++ b/integration/hello-world/tsconfig.json
@@ -1,13 +1,15 @@
{
"compilerOptions": {
+ "types": ["vitest/globals"],
"module": "commonjs",
"declaration": false,
"noImplicitAny": false,
"removeComments": true,
"noLib": false,
+ "esModuleInterop": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
- "target": "ES2021",
+ "target": "ES2023",
"sourceMap": true,
"allowJs": true,
"strictNullChecks": true,
diff --git a/integration/hooks/e2e/before-app-shutdown.spec.ts b/integration/hooks/e2e/before-app-shutdown.spec.ts
index 152c5efd491..e5c294f8502 100644
--- a/integration/hooks/e2e/before-app-shutdown.spec.ts
+++ b/integration/hooks/e2e/before-app-shutdown.spec.ts
@@ -1,11 +1,8 @@
import { BeforeApplicationShutdown, Injectable, Module } from '@nestjs/common';
import { Test } from '@nestjs/testing';
-import { expect } from 'chai';
-import * as Sinon from 'sinon';
-
@Injectable()
class TestInjectable implements BeforeApplicationShutdown {
- beforeApplicationShutdown = Sinon.spy();
+ beforeApplicationShutdown = vi.fn();
}
describe('BeforeApplicationShutdown', () => {
@@ -17,13 +14,13 @@ describe('BeforeApplicationShutdown', () => {
const app = module.createNestApplication();
await app.close();
const instance = module.get(TestInjectable);
- expect(instance.beforeApplicationShutdown.called).to.be.true;
+ expect(instance.beforeApplicationShutdown).toHaveBeenCalled();
});
it('should sort modules by distance (topological sort) - DESC order', async () => {
@Injectable()
class BB implements BeforeApplicationShutdown {
- beforeApplicationShutdown = Sinon.spy();
+ beforeApplicationShutdown = vi.fn();
}
@Module({
@@ -35,7 +32,7 @@ describe('BeforeApplicationShutdown', () => {
@Injectable()
class AA implements BeforeApplicationShutdown {
constructor(private bb: BB) {}
- beforeApplicationShutdown = Sinon.spy();
+ beforeApplicationShutdown = vi.fn();
}
@Module({
imports: [B],
@@ -53,9 +50,54 @@ describe('BeforeApplicationShutdown', () => {
const aa = module.get(AA);
const bb = module.get(BB);
- Sinon.assert.callOrder(
- aa.beforeApplicationShutdown,
- bb.beforeApplicationShutdown,
+ expect(
+ aa.beforeApplicationShutdown.mock.invocationCallOrder[0],
+ ).toBeLessThan(bb.beforeApplicationShutdown.mock.invocationCallOrder[0]);
+ });
+
+ it('should sort components within a single module by injection hierarchy - ASC order', async () => {
+ @Injectable()
+ class A implements BeforeApplicationShutdown {
+ beforeApplicationShutdown = vi.fn();
+ }
+
+ @Injectable()
+ class AHost implements BeforeApplicationShutdown {
+ constructor(private a: A) {}
+ beforeApplicationShutdown = vi.fn();
+ }
+
+ @Injectable()
+ class Composition implements BeforeApplicationShutdown {
+ constructor(
+ private a: A,
+ private host: AHost,
+ ) {}
+ beforeApplicationShutdown = vi.fn();
+ }
+
+ @Module({
+ providers: [AHost, A, Composition],
+ })
+ class AModule {}
+
+ const module = await Test.createTestingModule({
+ imports: [AModule],
+ }).compile();
+
+ const app = module.createNestApplication();
+ await app.init();
+ await app.close();
+
+ const child = module.get(A);
+ const parent = module.get(AHost);
+ const composition = module.get(Composition);
+
+ expect(composition.beforeApplicationShutdown).toHaveBeenCalledBefore(
+ parent.beforeApplicationShutdown,
+ );
+ expect(parent.beforeApplicationShutdown).toHaveBeenCalledBefore(
+ child.beforeApplicationShutdown,
);
});
});
diff --git a/integration/hooks/e2e/enable-shutdown-hook.spec.ts b/integration/hooks/e2e/enable-shutdown-hook.spec.ts
index 115692e2c0a..ddec2308ceb 100644
--- a/integration/hooks/e2e/enable-shutdown-hook.spec.ts
+++ b/integration/hooks/e2e/enable-shutdown-hook.spec.ts
@@ -1,81 +1,81 @@
-import { expect } from 'chai';
import { spawnSync } from 'child_process';
import { join } from 'path';
-describe('enableShutdownHooks', () => {
- const workspaceRoot = join(__dirname, '../../..');
- const localPackageResolver = join(
- workspaceRoot,
- 'integration/_support/register-local-packages.ts',
- );
- const entrypoint = join(__dirname, '../src/enable-shutdown-hooks-main.ts');
+const nodeCmd = process.execPath;
- const runScript = (...args: string[]) =>
- spawnSync(
- process.execPath,
- [
- '-r',
- 'ts-node/register/transpile-only',
- '-r',
- localPackageResolver,
- entrypoint,
- ...args,
- ],
- {
- cwd: workspaceRoot,
- env: {
- ...process.env,
- TS_NODE_PROJECT: join(
- workspaceRoot,
- 'integration/hooks/tsconfig.json',
- ),
- },
- },
- );
+function spawnTsNode(...args: string[]) {
+ return spawnSync(nodeCmd, ['--import', 'jiti/register', ...args]);
+}
- it('should call the correct hooks if any shutdown signal gets invoked', done => {
- const result = runScript('SIGHUP');
- const calls = result.stdout
- .toString()
- .split('\n')
- .map((call: string) => call.trim());
- expect(calls[0]).to.equal('beforeApplicationShutdown SIGHUP');
- expect(calls[1]).to.equal('onApplicationShutdown SIGHUP');
- done();
- }).timeout(10000);
+describe('enableShutdownHooks', () => {
+ it('should call the correct hooks if any shutdown signal gets invoked', () =>
+ new Promise(done => {
+ const result = spawnTsNode(
+ join(import.meta.dirname, '../src/enable-shutdown-hooks-main.ts'),
+ 'SIGHUP',
+ );
+ const calls = result.stdout
+ .toString()
+ .split('\n')
+ .map((call: string) => call.trim());
+ expect(calls[0]).toBe('beforeApplicationShutdown SIGHUP');
+ expect(calls[1]).toBe('onApplicationShutdown SIGHUP');
+ done();
+ }));
- it('should call the correct hooks if a specific shutdown signal gets invoked', done => {
- const result = runScript('SIGINT', 'SIGINT');
- const calls = result.stdout
- .toString()
- .split('\n')
- .map((call: string) => call.trim());
- expect(calls[0]).to.equal('beforeApplicationShutdown SIGINT');
- expect(calls[1]).to.equal('onApplicationShutdown SIGINT');
- done();
- }).timeout(10000);
+ it('should call the correct hooks if a specific shutdown signal gets invoked', () =>
+ new Promise(done => {
+ const result = spawnTsNode(
+ join(import.meta.dirname, '../src/enable-shutdown-hooks-main.ts'),
+ 'SIGINT',
+ 'SIGINT',
+ );
+ const calls = result.stdout
+ .toString()
+ .split('\n')
+ .map((call: string) => call.trim());
+ expect(calls[0]).toBe('beforeApplicationShutdown SIGINT');
+ expect(calls[1]).toBe('onApplicationShutdown SIGINT');
+ done();
+ }));
- it('should ignore system signals which are not specified', done => {
- const result = runScript('SIGINT', 'SIGHUP');
- expect(result.stdout.toString().trim()).to.be.eq('');
- done();
- }).timeout(10000);
+ it('should ignore system signals which are not specified', () =>
+ new Promise(done => {
+ const result = spawnTsNode(
+ join(import.meta.dirname, '../src/enable-shutdown-hooks-main.ts'),
+ 'SIGINT',
+ 'SIGHUP',
+ );
+ expect(result.stdout.toString().trim()).toBe('');
+ done();
+ }));
- it('should ignore system signals if "enableShutdownHooks" was not called', done => {
- const result = runScript('SIGINT', 'NONE');
- expect(result.stdout.toString().trim()).to.be.eq('');
- done();
- }).timeout(10000);
+ it('should ignore system signals if "enableShutdownHooks" was not called', () =>
+ new Promise(done => {
+ const result = spawnTsNode(
+ join(import.meta.dirname, '../src/enable-shutdown-hooks-main.ts'),
+ 'SIGINT',
+ 'NONE',
+ );
+ expect(result.stdout.toString().trim()).toBe('');
+ done();
+ }));
- it('should call the correct hooks with useProcessExit option', done => {
- const result = runScript('SIGHUP', 'SIGHUP', 'graceful');
- const calls = result.stdout
- .toString()
- .split('\n')
- .map((call: string) => call.trim());
- expect(calls[0]).to.equal('beforeApplicationShutdown SIGHUP');
- expect(calls[1]).to.equal('onApplicationShutdown SIGHUP');
- expect(result.status).to.equal(0);
- done();
- }).timeout(10000);
+ it('should call the correct hooks with useProcessExit option', () =>
+ new Promise(done => {
+ const result = spawnTsNode(
+ join(import.meta.dirname, '../src/enable-shutdown-hooks-main.ts'),
+ 'SIGHUP',
+ 'SIGHUP',
+ 'graceful',
+ );
+ const calls = result.stdout
+ .toString()
+ .split('\n')
+ .map((call: string) => call.trim());
+ expect(calls[0]).toBe('beforeApplicationShutdown SIGHUP');
+ expect(calls[1]).toBe('onApplicationShutdown SIGHUP');
+ expect(result.status).toBe(0);
+ done();
+ }));
});
diff --git a/integration/hooks/e2e/lifecycle-hook-order.spec.ts b/integration/hooks/e2e/lifecycle-hook-order.spec.ts
index e5b5a68af10..955e98071f4 100644
--- a/integration/hooks/e2e/lifecycle-hook-order.spec.ts
+++ b/integration/hooks/e2e/lifecycle-hook-order.spec.ts
@@ -1,13 +1,12 @@
-import { Test } from '@nestjs/testing';
-import * as Sinon from 'sinon';
import {
+ BeforeApplicationShutdown,
Injectable,
OnApplicationBootstrap,
OnApplicationShutdown,
OnModuleDestroy,
OnModuleInit,
- BeforeApplicationShutdown,
} from '@nestjs/common';
+import { Test } from '@nestjs/testing';
@Injectable()
class TestInjectable
@@ -18,11 +17,11 @@ class TestInjectable
OnApplicationShutdown,
BeforeApplicationShutdown
{
- onApplicationBootstrap = Sinon.spy();
- beforeApplicationShutdown = Sinon.spy();
- onApplicationShutdown = Sinon.spy();
- onModuleDestroy = Sinon.spy();
- onModuleInit = Sinon.spy();
+ onApplicationBootstrap = vi.fn();
+ beforeApplicationShutdown = vi.fn();
+ onApplicationShutdown = vi.fn();
+ onModuleDestroy = vi.fn();
+ onModuleInit = vi.fn();
}
describe('Lifecycle Hook Order', () => {
@@ -36,12 +35,17 @@ describe('Lifecycle Hook Order', () => {
await app.close();
const instance = module.get(TestInjectable);
- Sinon.assert.callOrder(
+ const order = [
instance.onModuleInit,
instance.onApplicationBootstrap,
instance.onModuleDestroy,
instance.beforeApplicationShutdown,
instance.onApplicationShutdown,
- );
+ ];
+ for (let i = 0; i < order.length - 1; i++) {
+ expect(order[i].mock.invocationCallOrder[0]).toBeLessThan(
+ order[i + 1].mock.invocationCallOrder[0],
+ );
+ }
});
});
diff --git a/integration/hooks/e2e/on-app-boostrap.spec.ts b/integration/hooks/e2e/on-app-boostrap.spec.ts
index a5aa6a25355..79acea4c7c3 100644
--- a/integration/hooks/e2e/on-app-boostrap.spec.ts
+++ b/integration/hooks/e2e/on-app-boostrap.spec.ts
@@ -1,11 +1,8 @@
import { Injectable, Module, OnApplicationBootstrap } from '@nestjs/common';
import { Test } from '@nestjs/testing';
-import { expect } from 'chai';
-import * as Sinon from 'sinon';
-
@Injectable()
class TestInjectable implements OnApplicationBootstrap {
- onApplicationBootstrap = Sinon.spy();
+ onApplicationBootstrap = vi.fn();
}
describe('OnApplicationBootstrap', () => {
@@ -17,7 +14,8 @@ describe('OnApplicationBootstrap', () => {
const app = module.createNestApplication();
await app.init();
const instance = module.get(TestInjectable);
- expect(instance.onApplicationBootstrap.called).to.be.true;
+ expect(instance.onApplicationBootstrap).toHaveBeenCalled();
+ await app.close();
});
it('should not throw an error when onApplicationBootstrap is null', async () => {
@@ -28,7 +26,8 @@ describe('OnApplicationBootstrap', () => {
}).compile();
const app = module.createNestApplication();
- await app.init().then(obj => expect(obj).to.not.be.undefined);
+ await app.init().then(obj => expect(obj).not.toBeUndefined());
+ await app.close();
});
it('should not throw an error when onApplicationBootstrap is undefined', async () => {
@@ -39,7 +38,8 @@ describe('OnApplicationBootstrap', () => {
}).compile();
const app = module.createNestApplication();
- await app.init().then(obj => expect(obj).to.not.be.undefined);
+ await app.init().then(obj => expect(obj).not.toBeUndefined());
+ await app.close();
});
it('should sort modules by distance (topological sort) - DESC order', async () => {
@@ -80,6 +80,53 @@ describe('OnApplicationBootstrap', () => {
await app.init();
const instance = module.get(AA);
- expect(instance.field).to.equal('b-field_a-field');
+ expect(instance.field).toBe('b-field_a-field');
+ await app.close();
+ });
+
+ it('should sort components within a single module by injection hierarchy - DESC order', async () => {
+ @Injectable()
+ class A implements OnApplicationBootstrap {
+ onApplicationBootstrap = vi.fn();
+ }
+
+ @Injectable()
+ class AHost implements OnApplicationBootstrap {
+ constructor(private a: A) {}
+ onApplicationBootstrap = vi.fn();
+ }
+
+ @Injectable()
+ class Composition implements OnApplicationBootstrap {
+ constructor(
+ private a: A,
+ private host: AHost,
+ ) {}
+ onApplicationBootstrap = vi.fn();
+ }
+
+ @Module({
+ providers: [AHost, A, Composition],
+ })
+ class AModule {}
+
+ const module = await Test.createTestingModule({
+ imports: [AModule],
+ }).compile();
+
+ const app = module.createNestApplication();
+ await app.init();
+ await app.close();
+
+ const child = module.get(A);
+ const parent = module.get(AHost);
+ const composition = module.get(Composition);
+
+ expect(child.onApplicationBootstrap).toHaveBeenCalledBefore(
+ parent.onApplicationBootstrap,
+ );
+ expect(parent.onApplicationBootstrap).toHaveBeenCalledBefore(
+ composition.onApplicationBootstrap,
+ );
});
});
diff --git a/integration/hooks/e2e/on-app-shutdown.spec.ts b/integration/hooks/e2e/on-app-shutdown.spec.ts
index 67518878cbd..0b81a81a9a8 100644
--- a/integration/hooks/e2e/on-app-shutdown.spec.ts
+++ b/integration/hooks/e2e/on-app-shutdown.spec.ts
@@ -1,11 +1,8 @@
import { Injectable, Module, OnApplicationShutdown } from '@nestjs/common';
import { Test } from '@nestjs/testing';
-import { expect } from 'chai';
-import * as Sinon from 'sinon';
-
@Injectable()
class TestInjectable implements OnApplicationShutdown {
- onApplicationShutdown = Sinon.spy();
+ onApplicationShutdown = vi.fn();
}
describe('OnApplicationShutdown', () => {
@@ -17,13 +14,13 @@ describe('OnApplicationShutdown', () => {
const app = module.createNestApplication();
await app.close();
const instance = module.get(TestInjectable);
- expect(instance.onApplicationShutdown.called).to.be.true;
+ expect(instance.onApplicationShutdown).toHaveBeenCalled();
});
it('should sort modules by distance (topological sort) - DESC order', async () => {
@Injectable()
class BB implements OnApplicationShutdown {
- onApplicationShutdown = Sinon.spy();
+ onApplicationShutdown = vi.fn();
}
@Module({
@@ -35,7 +32,7 @@ describe('OnApplicationShutdown', () => {
@Injectable()
class AA implements OnApplicationShutdown {
constructor(private bb: BB) {}
- onApplicationShutdown = Sinon.spy();
+ onApplicationShutdown = vi.fn();
}
@Module({
imports: [B],
@@ -53,6 +50,54 @@ describe('OnApplicationShutdown', () => {
const aa = module.get(AA);
const bb = module.get(BB);
- Sinon.assert.callOrder(aa.onApplicationShutdown, bb.onApplicationShutdown);
+ expect(aa.onApplicationShutdown.mock.invocationCallOrder[0]).toBeLessThan(
+ bb.onApplicationShutdown.mock.invocationCallOrder[0],
+ );
+ });
+
+ it('should sort components within a single module by injection hierarchy - ASC order', async () => {
+ @Injectable()
+ class A implements OnApplicationShutdown {
+ onApplicationShutdown = vi.fn();
+ }
+
+ @Injectable()
+ class AHost implements OnApplicationShutdown {
+ constructor(private a: A) {}
+ onApplicationShutdown = vi.fn();
+ }
+
+ @Injectable()
+ class Composition implements OnApplicationShutdown {
+ constructor(
+ private a: A,
+ private host: AHost,
+ ) {}
+ onApplicationShutdown = vi.fn();
+ }
+
+ @Module({
+ providers: [AHost, A, Composition],
+ })
+ class AModule {}
+
+ const module = await Test.createTestingModule({
+ imports: [AModule],
+ }).compile();
+
+ const app = module.createNestApplication();
+ await app.init();
+ await app.close();
+
+ const child = module.get(A);
+ const parent = module.get(AHost);
+ const composition = module.get(Composition);
+
+ expect(composition.onApplicationShutdown).toHaveBeenCalledBefore(
+ parent.onApplicationShutdown,
+ );
+ expect(parent.onApplicationShutdown).toHaveBeenCalledBefore(
+ child.onApplicationShutdown,
+ );
});
});
diff --git a/integration/hooks/e2e/on-module-destroy.spec.ts b/integration/hooks/e2e/on-module-destroy.spec.ts
index 52468cebea6..2d855d821e0 100644
--- a/integration/hooks/e2e/on-module-destroy.spec.ts
+++ b/integration/hooks/e2e/on-module-destroy.spec.ts
@@ -1,11 +1,8 @@
import { Injectable, Module, OnModuleDestroy } from '@nestjs/common';
import { Test } from '@nestjs/testing';
-import { expect } from 'chai';
-import * as Sinon from 'sinon';
-
@Injectable()
class TestInjectable implements OnModuleDestroy {
- onModuleDestroy = Sinon.spy();
+ onModuleDestroy = vi.fn();
}
describe('OnModuleDestroy', () => {
@@ -17,7 +14,7 @@ describe('OnModuleDestroy', () => {
const app = module.createNestApplication();
await app.close();
const instance = module.get(TestInjectable);
- expect(instance.onModuleDestroy.called).to.be.true;
+ expect(instance.onModuleDestroy).toHaveBeenCalled();
});
it('should not throw an error when onModuleDestroy is null', async () => {
@@ -26,7 +23,8 @@ describe('OnModuleDestroy', () => {
}).compile();
const app = module.createNestApplication();
- await app.init().then(obj => expect(obj).to.not.be.undefined);
+ await app.init().then(obj => expect(obj).not.toBeUndefined());
+ await app.close();
});
it('should not throw an error when onModuleDestroy is undefined', async () => {
@@ -37,13 +35,14 @@ describe('OnModuleDestroy', () => {
}).compile();
const app = module.createNestApplication();
- await app.init().then(obj => expect(obj).to.not.be.undefined);
+ await app.init().then(obj => expect(obj).not.toBeUndefined());
+ await app.close();
});
it('should sort modules by distance (topological sort) - DESC order', async () => {
@Injectable()
class BB implements OnModuleDestroy {
- onModuleDestroy = Sinon.spy();
+ onModuleDestroy = vi.fn();
}
@Module({
@@ -55,7 +54,7 @@ describe('OnModuleDestroy', () => {
@Injectable()
class AA implements OnModuleDestroy {
constructor(private bb: BB) {}
- onModuleDestroy = Sinon.spy();
+ onModuleDestroy = vi.fn();
}
@Module({
@@ -74,6 +73,53 @@ describe('OnModuleDestroy', () => {
const aa = module.get(AA);
const bb = module.get(BB);
- Sinon.assert.callOrder(aa.onModuleDestroy, bb.onModuleDestroy);
+ expect(aa.onModuleDestroy.mock.invocationCallOrder[0]).toBeLessThan(
+ bb.onModuleDestroy.mock.invocationCallOrder[0],
+ );
+ });
+
+ it('should sort components within a single module by injection hierarchy - ASC order', async () => {
+ @Injectable()
+ class A implements OnModuleDestroy {
+ onModuleDestroy = vi.fn();
+ }
+
+ @Injectable()
+ class AHost implements OnModuleDestroy {
+ constructor(private a: A) {}
+ onModuleDestroy = vi.fn();
+ }
+
+ @Injectable()
+ class Composition implements OnModuleDestroy {
+ constructor(
+ private a: A,
+ private host: AHost,
+ ) {}
+ onModuleDestroy = vi.fn();
+ }
+
+ @Module({
+ providers: [AHost, A, Composition],
+ })
+ class AModule {}
+
+ const module = await Test.createTestingModule({
+ imports: [AModule],
+ }).compile();
+
+ const app = module.createNestApplication();
+ await app.init();
+ await app.close();
+
+ const child = module.get(A);
+ const parent = module.get(AHost);
+ const composition = module.get(Composition);
+ expect(composition.onModuleDestroy).toHaveBeenCalledBefore(
+ parent.onModuleDestroy,
+ );
+ expect(parent.onModuleDestroy).toHaveBeenCalledBefore(
+ child.onModuleDestroy,
+ );
});
});
diff --git a/integration/hooks/e2e/on-module-init.spec.ts b/integration/hooks/e2e/on-module-init.spec.ts
index d35a22d6987..69dcd925373 100644
--- a/integration/hooks/e2e/on-module-init.spec.ts
+++ b/integration/hooks/e2e/on-module-init.spec.ts
@@ -1,11 +1,8 @@
import { Injectable, Module, OnModuleInit } from '@nestjs/common';
import { Test } from '@nestjs/testing';
-import { expect } from 'chai';
-import * as Sinon from 'sinon';
-
@Injectable()
class TestInjectable implements OnModuleInit {
- onModuleInit = Sinon.spy();
+ onModuleInit = vi.fn();
}
describe('OnModuleInit', () => {
@@ -17,7 +14,8 @@ describe('OnModuleInit', () => {
const app = module.createNestApplication();
await app.init();
const instance = module.get(TestInjectable);
- expect(instance.onModuleInit.called).to.be.true;
+ expect(instance.onModuleInit).toHaveBeenCalled();
+ await app.close();
});
it('should not throw an error when onModuleInit is null', async () => {
@@ -26,7 +24,8 @@ describe('OnModuleInit', () => {
}).compile();
const app = module.createNestApplication();
- await app.init().then(obj => expect(obj).to.not.be.undefined);
+ await app.init().then(obj => expect(obj).not.toBeUndefined());
+ await app.close();
});
it('should not throw an error when onModuleInit is undefined', async () => {
@@ -35,7 +34,8 @@ describe('OnModuleInit', () => {
}).compile();
const app = module.createNestApplication();
- await app.init().then(obj => expect(obj).to.not.be.undefined);
+ await app.init().then(obj => expect(obj).not.toBeUndefined());
+ await app.close();
});
it('should sort modules by distance (topological sort) - DESC order', async () => {
@@ -109,6 +109,52 @@ describe('OnModuleInit', () => {
await app.init();
const instance = module.get(AA);
- expect(instance.field).to.equal('c-field_b-field_a-field');
+ expect(instance.field).toBe('c-field_b-field_a-field');
+ await app.close();
+ });
+
+ it('should sort components within a single module by injection hierarchy - DESC order', async () => {
+ @Injectable()
+ class A implements OnModuleInit {
+ onModuleInit = vi.fn();
+ }
+
+ @Injectable()
+ class AHost implements OnModuleInit {
+ constructor(private a: A) {}
+ onModuleInit = vi.fn();
+ }
+
+ @Injectable()
+ class Composition implements OnModuleInit {
+ constructor(
+ private a: A,
+ private host: AHost,
+ ) {}
+ onModuleInit = vi.fn();
+ }
+
+ @Module({
+ providers: [AHost, A, Composition],
+ })
+ class AModule {}
+
+ const module = await Test.createTestingModule({
+ imports: [AModule],
+ }).compile();
+
+ const app = module.createNestApplication();
+ await app.init();
+ await app.close();
+
+ const child = module.get(A);
+ const parent = module.get(AHost);
+ const composition = module.get(Composition);
+ expect(child.onModuleInit.mock.invocationCallOrder[0]).toBeLessThan(
+ parent.onModuleInit.mock.invocationCallOrder[0],
+ );
+ expect(parent.onModuleInit.mock.invocationCallOrder[0]).toBeLessThan(
+ composition.onModuleInit.mock.invocationCallOrder[0],
+ );
});
});
diff --git a/integration/hooks/tsconfig.json b/integration/hooks/tsconfig.json
index 4a0f01e0ec4..aa1164082cc 100644
--- a/integration/hooks/tsconfig.json
+++ b/integration/hooks/tsconfig.json
@@ -1,13 +1,15 @@
{
"compilerOptions": {
+ "types": ["vitest/globals"],
"module": "commonjs",
"declaration": false,
"noImplicitAny": false,
"removeComments": true,
"noLib": false,
+ "esModuleInterop": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
- "target": "ES2021",
+ "target": "ES2023",
"sourceMap": true,
"allowJs": true,
"strictNullChecks": true,
diff --git a/integration/injector/e2e/circular-custom-providers.spec.ts b/integration/injector/e2e/circular-custom-providers.spec.ts
index b05a95ea365..6e31227867e 100644
--- a/integration/injector/e2e/circular-custom-providers.spec.ts
+++ b/integration/injector/e2e/circular-custom-providers.spec.ts
@@ -1,5 +1,4 @@
import { Test } from '@nestjs/testing';
-import { expect } from 'chai';
import { Controller, Injectable, Module } from '@nestjs/common';
@@ -29,35 +28,23 @@ export class AppModule {}
describe('Circular custom providers', () => {
it('should throw an exception (useClass + regular provider)', async () => {
- try {
- const builder = Test.createTestingModule({
- imports: [AppModule],
- });
- await builder.compile();
-
- expect(true).to.be.eql(false);
- } catch (err) {
- expect(err.message).to.be.eql(
- 'A circular dependency has been detected inside "A". Please, make sure that each side of a bidirectional relationships are decorated with "forwardRef()". Note that circular relationships between custom providers (e.g., factories) are not supported since functions cannot be called more than once.',
- );
- }
+ const builder = Test.createTestingModule({
+ imports: [AppModule],
+ });
+ await expect(builder.compile()).rejects.toThrow(
+ 'A circular dependency has been detected inside "A". Please, make sure that each side of a bidirectional relationships are decorated with "forwardRef()". Note that circular relationships between custom providers (e.g., factories) are not supported since functions cannot be called more than once.',
+ );
});
it('should throw an exception (2 factories)', async () => {
- try {
- const builder = Test.createTestingModule({
- providers: [
- { provide: 'ABC', useFactory: () => ({}), inject: ['DEF'] },
- { provide: 'DEF', useFactory: () => ({}), inject: ['ABC'] },
- ],
- });
- await builder.compile();
-
- expect(true).to.be.eql(false);
- } catch (err) {
- expect(err.message).to.be.eql(
- 'A circular dependency has been detected inside "ABC". Please, make sure that each side of a bidirectional relationships are decorated with "forwardRef()". Note that circular relationships between custom providers (e.g., factories) are not supported since functions cannot be called more than once.',
- );
- }
+ const builder = Test.createTestingModule({
+ providers: [
+ { provide: 'ABC', useFactory: () => ({}), inject: ['DEF'] },
+ { provide: 'DEF', useFactory: () => ({}), inject: ['ABC'] },
+ ],
+ });
+ await expect(builder.compile()).rejects.toThrow(
+ 'A circular dependency has been detected inside "ABC"',
+ );
});
});
diff --git a/integration/injector/e2e/circular-modules.spec.ts b/integration/injector/e2e/circular-modules.spec.ts
index 653a0b98a9d..1f8c0f86625 100644
--- a/integration/injector/e2e/circular-modules.spec.ts
+++ b/integration/injector/e2e/circular-modules.spec.ts
@@ -1,9 +1,8 @@
import { Test } from '@nestjs/testing';
-import { expect } from 'chai';
-import { CircularModule } from '../src/circular-modules/circular.module';
-import { CircularService } from '../src/circular-modules/circular.service';
-import { InputModule } from '../src/circular-modules/input.module';
-import { InputService } from '../src/circular-modules/input.service';
+import { CircularModule } from '../src/circular-modules/circular.module.js';
+import { CircularService } from '../src/circular-modules/circular.service.js';
+import { InputModule } from '../src/circular-modules/input.module.js';
+import { InputService } from '../src/circular-modules/input.service.js';
describe('Circular dependency (modules)', () => {
it('should resolve circular dependency between providers', async () => {
@@ -14,7 +13,7 @@ describe('Circular dependency (modules)', () => {
const inputService = testingModule.get(InputService);
const circularService = testingModule.get(CircularService);
- expect(inputService.service).to.be.eql(circularService);
- expect(circularService.service).to.be.eql(inputService);
+ expect(inputService.service).toEqual(circularService);
+ expect(circularService.service).toEqual(inputService);
});
});
diff --git a/integration/injector/e2e/circular-property-injection.spec.ts b/integration/injector/e2e/circular-property-injection.spec.ts
index 23997c941d0..f9ec6884c1a 100644
--- a/integration/injector/e2e/circular-property-injection.spec.ts
+++ b/integration/injector/e2e/circular-property-injection.spec.ts
@@ -1,9 +1,8 @@
import { Test } from '@nestjs/testing';
-import { expect } from 'chai';
-import { CircularPropertiesModule } from '../src/circular-properties/circular-properties.module';
-import { CircularService } from '../src/circular-properties/circular.service';
-import { InputPropertiesModule } from '../src/circular-properties/input-properties.module';
-import { InputService } from '../src/circular-properties/input.service';
+import { CircularPropertiesModule } from '../src/circular-properties/circular-properties.module.js';
+import { CircularService } from '../src/circular-properties/circular.service.js';
+import { InputPropertiesModule } from '../src/circular-properties/input-properties.module.js';
+import { InputService } from '../src/circular-properties/input.service.js';
describe('Circular properties dependency (modules)', () => {
it('should resolve circular dependency between providers', async () => {
@@ -14,7 +13,7 @@ describe('Circular properties dependency (modules)', () => {
const inputService = testingModule.get(InputService);
const circularService = testingModule.get(CircularService);
- expect(inputService.service).to.be.eql(circularService);
- expect(circularService.service).to.be.eql(inputService);
+ expect(inputService.service).toEqual(circularService);
+ expect(circularService.service).toEqual(inputService);
});
});
diff --git a/integration/injector/e2e/circular-structure-dynamic-modules.spec.ts b/integration/injector/e2e/circular-structure-dynamic-modules.spec.ts
index 5042fed2c27..c5300f8ff81 100644
--- a/integration/injector/e2e/circular-structure-dynamic-modules.spec.ts
+++ b/integration/injector/e2e/circular-structure-dynamic-modules.spec.ts
@@ -1,7 +1,6 @@
-import { expect } from 'chai';
import { Test } from '@nestjs/testing';
-import { CircularModule } from '../src/circular-structure-dynamic-module/circular.module';
-import { InputService } from '../src/circular-structure-dynamic-module/input.service';
+import { CircularModule } from '../src/circular-structure-dynamic-module/circular.module.js';
+import { InputService } from '../src/circular-structure-dynamic-module/input.service.js';
describe('Circular structure for dynamic modules', () => {
it('should resolve circular structure with dynamic modules', async () => {
@@ -11,6 +10,6 @@ describe('Circular structure for dynamic modules', () => {
const testingModule = await builder.compile();
const inputService = testingModule.get(InputService);
- expect(inputService).to.be.instanceof(InputService);
+ expect(inputService).toBeInstanceOf(InputService);
});
});
diff --git a/integration/injector/e2e/circular.spec.ts b/integration/injector/e2e/circular.spec.ts
index 2ca646cc895..258b5d68da5 100644
--- a/integration/injector/e2e/circular.spec.ts
+++ b/integration/injector/e2e/circular.spec.ts
@@ -1,8 +1,7 @@
import { Test } from '@nestjs/testing';
-import { expect } from 'chai';
-import { CircularModule } from '../src/circular/circular.module';
-import { CircularService } from '../src/circular/circular.service';
-import { InputService } from '../src/circular/input.service';
+import { CircularModule } from '../src/circular/circular.module.js';
+import { CircularService } from '../src/circular/circular.service.js';
+import { InputService } from '../src/circular/input.service.js';
describe('Circular dependency', () => {
it('should resolve circular dependency between providers', async () => {
@@ -13,7 +12,7 @@ describe('Circular dependency', () => {
const inputService = testingModule.get(InputService);
const circularService = testingModule.get(CircularService);
- expect(inputService.service).to.be.eql(circularService);
- expect(circularService.service).to.be.eql(inputService);
+ expect(inputService.service).toEqual(circularService);
+ expect(circularService.service).toEqual(inputService);
});
});
diff --git a/integration/injector/e2e/core-injectables.spec.ts b/integration/injector/e2e/core-injectables.spec.ts
index ab0b10e59e8..33e7a3eb0b2 100644
--- a/integration/injector/e2e/core-injectables.spec.ts
+++ b/integration/injector/e2e/core-injectables.spec.ts
@@ -1,7 +1,6 @@
-import { Test, TestingModule } from '@nestjs/testing';
-import { expect } from 'chai';
-import { CoreInjectablesModule } from '../src/core-injectables/core-injectables.module';
import { ApplicationConfig, ModuleRef } from '@nestjs/core';
+import { Test, TestingModule } from '@nestjs/testing';
+import { CoreInjectablesModule } from '../src/core-injectables/core-injectables.module.js';
describe('Core Injectables', () => {
let testingModule: TestingModule;
@@ -13,26 +12,30 @@ describe('Core Injectables', () => {
testingModule = await builder.compile();
});
+ afterEach(async () => {
+ await testingModule.close();
+ });
+
it('should provide ApplicationConfig as core injectable', () => {
const applicationConfig =
testingModule.get(ApplicationConfig);
applicationConfig.setGlobalPrefix('/api');
- expect(applicationConfig).to.not.be.undefined;
- expect(applicationConfig.getGlobalPrefix()).to.be.eq('/api');
+ expect(applicationConfig).not.toBeUndefined();
+ expect(applicationConfig.getGlobalPrefix()).toBe('/api');
});
it('should provide ModuleRef as core injectable', () => {
const moduleRef = testingModule.get(ModuleRef);
- expect(moduleRef).to.not.be.undefined;
+ expect(moduleRef).not.toBeUndefined();
});
it('should provide the current Module as provider', () => {
const module = testingModule.get(
CoreInjectablesModule,
);
- expect(module).to.not.be.undefined;
- expect(module.constructor.name).to.be.eq('CoreInjectablesModule');
+ expect(module).not.toBeUndefined();
+ expect(module.constructor.name).toBe('CoreInjectablesModule');
});
});
diff --git a/integration/injector/e2e/default-values.spec.ts b/integration/injector/e2e/default-values.spec.ts
index fc8da7db35a..17b1ee95ee3 100644
--- a/integration/injector/e2e/default-values.spec.ts
+++ b/integration/injector/e2e/default-values.spec.ts
@@ -1,7 +1,6 @@
import { Test } from '@nestjs/testing';
-import { expect } from 'chai';
-import { DefaultsModule } from '../src/defaults/defaults.module';
-import { DefaultsService } from '../src/defaults/defaults.service';
+import { DefaultsModule } from '../src/defaults/defaults.module.js';
+import { DefaultsService } from '../src/defaults/defaults.service.js';
describe('Injector', () => {
describe('when optional', () => {
@@ -10,7 +9,7 @@ describe('Injector', () => {
imports: [DefaultsModule],
});
const app = await builder.compile();
- expect(app.get(DefaultsService).coreService.default).to.be.true;
+ expect(app.get(DefaultsService).coreService.default).toBe(true);
});
});
});
diff --git a/integration/injector/e2e/inherited-optional.spec.ts b/integration/injector/e2e/inherited-optional.spec.ts
new file mode 100644
index 00000000000..fe6ab8a47ae
--- /dev/null
+++ b/integration/injector/e2e/inherited-optional.spec.ts
@@ -0,0 +1,58 @@
+import { Injectable, mixin, Module, Optional } from '@nestjs/common';
+import { UnknownDependenciesException } from '@nestjs/core/errors/exceptions/unknown-dependencies.exception.js';
+import { Test } from '@nestjs/testing';
+
+@Injectable()
+class NeededService {
+ exec() {
+ return 'exec';
+ }
+}
+
+@Module({
+ providers: [NeededService],
+ exports: [NeededService],
+})
+class NeededModule {}
+
+const Foo = () => {
+ class FooMixin {
+ constructor(@Optional() option: any) {}
+ }
+ return mixin(FooMixin);
+};
+
+@Injectable()
+class FooService extends Foo() {
+ constructor(private readonly neededService: NeededService) {
+ super();
+ }
+
+ doSomething() {
+ return this.neededService.exec();
+ }
+}
+
+@Module({
+ imports: [],
+ providers: [FooService],
+ exports: [FooService],
+})
+class FooModule {}
+
+describe('Inherited optional dependency', () => {
+ /**
+ * You can see details on this issue here: https://github.com/nestjs/nest/issues/2581
+ */
+ describe('when the parent has an @Optional() parameter', () => {
+ it('should throw an UnknownDependenciesException due to the missing dependency', async () => {
+ const module = Test.createTestingModule({
+ imports: [NeededModule, FooModule],
+ });
+
+ await expect(module.compile()).rejects.toBeInstanceOf(
+ UnknownDependenciesException,
+ );
+ });
+ });
+});
diff --git a/integration/injector/e2e/injector.spec.ts b/integration/injector/e2e/injector.spec.ts
index acd72121024..de685887e12 100644
--- a/integration/injector/e2e/injector.spec.ts
+++ b/integration/injector/e2e/injector.spec.ts
@@ -1,27 +1,23 @@
import { Global, Inject, Injectable, Module, Scope } from '@nestjs/common';
import type { Type } from '@nestjs/common';
-import { RuntimeException } from '@nestjs/core/errors/exceptions/runtime.exception';
-import { UnknownDependenciesException } from '@nestjs/core/errors/exceptions/unknown-dependencies.exception';
-import { UnknownExportException } from '@nestjs/core/errors/exceptions/unknown-export.exception';
+import { RuntimeException } from '@nestjs/core/errors/exceptions/runtime.exception.js';
+import { UnknownDependenciesException } from '@nestjs/core/errors/exceptions/unknown-dependencies.exception.js';
+import { UnknownExportException } from '@nestjs/core/errors/exceptions/unknown-export.exception.js';
import { NestFactory } from '@nestjs/core';
import { Test } from '@nestjs/testing';
-import { expect } from 'chai';
-import * as chai from 'chai';
-import * as chaiAsPromised from 'chai-as-promised';
import {
DYNAMIC_TOKEN,
DYNAMIC_VALUE,
NestDynamicModule,
-} from '../src/dynamic/dynamic.module';
-import { ExportsModule } from '../src/exports/exports.module';
-import { InjectModule } from '../src/inject/inject.module';
-import { InjectSameNameModule } from '../src/inject/inject-same-name.module';
+} from '../src/dynamic/dynamic.module.js';
+import { ExportsModule } from '../src/exports/exports.module.js';
+import { InjectSameNameModule } from '../src/inject/inject-same-name.module.js';
+import { InjectModule } from '../src/inject/inject.module.js';
import {
- SelfInjectionProviderModule,
- SelfInjectionProviderCustomTokenModule,
SelfInjectionForwardProviderModule,
-} from '../src/self-injection/self-injection-provider.module';
-chai.use(chaiAsPromised);
+ SelfInjectionProviderCustomTokenModule,
+ SelfInjectionProviderModule,
+} from '../src/self-injection/self-injection-provider.module.js';
describe('Injector', () => {
describe('when the same provider class is declared in multiple modules', () => {
@@ -211,14 +207,12 @@ describe('Injector', () => {
describe('when "providers" and "exports" properties are inconsistent', () => {
it(`should fail with "UnknownExportException"`, async () => {
- try {
- const builder = Test.createTestingModule({
- imports: [ExportsModule],
- });
- await builder.compile();
- } catch (err) {
- expect(err).to.be.instanceof(UnknownExportException);
- }
+ const builder = Test.createTestingModule({
+ imports: [ExportsModule],
+ });
+ await expect(builder.compile()).rejects.toBeInstanceOf(
+ UnknownExportException,
+ );
});
});
@@ -228,20 +222,16 @@ describe('Injector', () => {
imports: [InjectSameNameModule],
});
- await expect(builder.compile()).to.eventually.be.fulfilled;
+ await expect(builder.compile()).resolves.toBeDefined();
});
});
describe('when Nest cannot resolve dependencies', () => {
it(`should fail with "RuntimeException"`, async () => {
- try {
- const builder = Test.createTestingModule({
- imports: [InjectModule],
- });
- await builder.compile();
- } catch (err) {
- expect(err).to.be.instanceof(RuntimeException);
- }
+ const builder = Test.createTestingModule({
+ imports: [InjectModule],
+ });
+ await expect(builder.compile()).rejects.toBeInstanceOf(RuntimeException);
});
describe('due to self-injection providers', () => {
@@ -250,9 +240,7 @@ describe('Injector', () => {
imports: [SelfInjectionProviderModule],
});
- await expect(
- builder.compile(),
- ).to.eventually.be.rejected.and.be.an.instanceOf(
+ await expect(builder.compile()).rejects.toBeInstanceOf(
UnknownDependenciesException,
);
});
@@ -261,9 +249,7 @@ describe('Injector', () => {
imports: [SelfInjectionForwardProviderModule],
});
- await expect(
- builder.compile(),
- ).to.eventually.be.rejected.and.be.an.instanceOf(
+ await expect(builder.compile()).rejects.toBeInstanceOf(
UnknownDependenciesException,
);
});
@@ -272,9 +258,7 @@ describe('Injector', () => {
imports: [SelfInjectionProviderCustomTokenModule],
});
- await expect(
- builder.compile(),
- ).to.eventually.be.rejected.and.be.an.instanceOf(
+ await expect(builder.compile()).rejects.toBeInstanceOf(
UnknownDependenciesException,
);
});
@@ -287,7 +271,7 @@ describe('Injector', () => {
imports: [NestDynamicModule.byObject()],
});
const app = await builder.compile();
- expect(app.get(DYNAMIC_TOKEN)).to.be.eql(DYNAMIC_VALUE);
+ expect(app.get(DYNAMIC_TOKEN)).toEqual(DYNAMIC_VALUE);
});
it(`should return provider via token (exported by token)`, async () => {
@@ -295,7 +279,7 @@ describe('Injector', () => {
imports: [NestDynamicModule.byName()],
});
const app = await builder.compile();
- expect(app.get(DYNAMIC_TOKEN)).to.be.eql(DYNAMIC_VALUE);
+ expect(app.get(DYNAMIC_TOKEN)).toEqual(DYNAMIC_VALUE);
});
});
});
diff --git a/integration/injector/e2e/introspection.spec.ts b/integration/injector/e2e/introspection.spec.ts
index 6a24c6ddc7a..21265f6ea00 100644
--- a/integration/injector/e2e/introspection.spec.ts
+++ b/integration/injector/e2e/introspection.spec.ts
@@ -1,10 +1,9 @@
import { Scope } from '@nestjs/common';
import { ModuleRef } from '@nestjs/core';
import { Test, TestingModule } from '@nestjs/testing';
-import { expect } from 'chai';
-import { ScopedModule, STATIC_FACTORY } from '../src/scoped/scoped.module';
-import { ScopedService } from '../src/scoped/scoped.service';
-import { TransientService } from '../src/scoped/transient.service';
+import { ScopedModule, STATIC_FACTORY } from '../src/scoped/scoped.module.js';
+import { ScopedService } from '../src/scoped/scoped.service.js';
+import { TransientService } from '../src/scoped/transient.service.js';
describe('Providers introspection', () => {
let testingModule: TestingModule;
@@ -17,18 +16,22 @@ describe('Providers introspection', () => {
moduleRef = testingModule.get(ModuleRef);
});
+ afterEach(async () => {
+ await testingModule.close();
+ });
+
it('should properly introspect a transient provider', async () => {
const introspectionResult = moduleRef.introspect(TransientService);
- expect(introspectionResult.scope).to.be.equal(Scope.TRANSIENT);
+ expect(introspectionResult.scope).toBe(Scope.TRANSIENT);
});
it('should properly introspect a singleton provider', async () => {
const introspectionResult = moduleRef.introspect(STATIC_FACTORY);
- expect(introspectionResult.scope).to.be.equal(Scope.DEFAULT);
+ expect(introspectionResult.scope).toBe(Scope.DEFAULT);
});
it('should properly introspect a request-scoped provider', async () => {
const introspectionResult = moduleRef.introspect(ScopedService);
- expect(introspectionResult.scope).to.be.equal(Scope.REQUEST);
+ expect(introspectionResult.scope).toBe(Scope.REQUEST);
});
});
diff --git a/integration/injector/e2e/many-global-modules.spec.ts b/integration/injector/e2e/many-global-modules.spec.ts
index 60118ca6e63..e4c70ba1030 100644
--- a/integration/injector/e2e/many-global-modules.spec.ts
+++ b/integration/injector/e2e/many-global-modules.spec.ts
@@ -1,6 +1,4 @@
import { Test } from '@nestjs/testing';
-import { expect } from 'chai';
-import * as sinon from 'sinon';
import { Global, Inject, Injectable, Module, Scope } from '@nestjs/common';
@Global()
@@ -64,11 +62,11 @@ export class Dependant {
) {}
public checkDependencies() {
- expect(this.transientProvider).to.be.instanceOf(TransientProvider);
- expect(this.foreignTransientProvider).to.be.instanceOf(
+ expect(this.transientProvider).toBeInstanceOf(TransientProvider);
+ expect(this.foreignTransientProvider).toBeInstanceOf(
ForeignTransientProvider,
);
- expect(this.requestProvider).to.be.instanceOf(RequestProvider);
+ expect(this.requestProvider).toBeInstanceOf(RequestProvider);
}
}
@@ -149,9 +147,9 @@ describe('Many global modules', () => {
const moduleRef = await moduleBuilder.compile();
const dependant = await moduleRef.resolve(Dependant);
- const checkDependenciesSpy = sinon.spy(dependant, 'checkDependencies');
+ const checkDependenciesSpy = vi.spyOn(dependant, 'checkDependencies');
dependant.checkDependencies();
- expect(checkDependenciesSpy.called).to.be.true;
+ expect(checkDependenciesSpy).toHaveBeenCalled();
});
});
diff --git a/integration/injector/e2e/multiple-providers.spec.ts b/integration/injector/e2e/multiple-providers.spec.ts
index 0f5c906fdc8..c5782cd595a 100644
--- a/integration/injector/e2e/multiple-providers.spec.ts
+++ b/integration/injector/e2e/multiple-providers.spec.ts
@@ -1,6 +1,5 @@
import { Test } from '@nestjs/testing';
-import { expect } from 'chai';
-import { MultipleProvidersModule } from '../src/multiple-providers/multiple-providers.module';
+import { MultipleProvidersModule } from '../src/multiple-providers/multiple-providers.module.js';
describe('Multiple providers under the same token ("each" feature)', () => {
describe('get()', () => {
@@ -20,7 +19,7 @@ describe('Multiple providers under the same token ("each" feature)', () => {
// @ts-expect-error: make sure "multiProviderInstances" is string[] not string
multiProviderInstances.charAt;
- expect(multiProviderInstances).to.be.eql(['A', 'B', 'C']);
+ expect(multiProviderInstances).toEqual(['A', 'B', 'C']);
});
});
describe('resolve()', () => {
@@ -41,7 +40,7 @@ describe('Multiple providers under the same token ("each" feature)', () => {
// @ts-expect-error: make sure "multiProviderInstances" is string[] not string
multiProviderInstances.charAt;
- expect(multiProviderInstances).to.be.eql(['A', 'B', 'C']);
+ expect(multiProviderInstances).toEqual(['A', 'B', 'C']);
});
it('should return an array of default-scoped providers', async () => {
@@ -61,7 +60,7 @@ describe('Multiple providers under the same token ("each" feature)', () => {
// @ts-expect-error: make sure "multiProviderInstances" is string[] not string
multiProviderInstances.charAt;
- expect(multiProviderInstances).to.be.eql(['A', 'B', 'C']);
+ expect(multiProviderInstances).toEqual(['A', 'B', 'C']);
});
});
});
diff --git a/integration/injector/e2e/optional-factory-provider-dep.spec.ts b/integration/injector/e2e/optional-factory-provider-dep.spec.ts
index acd361f73d0..1dff3f18336 100644
--- a/integration/injector/e2e/optional-factory-provider-dep.spec.ts
+++ b/integration/injector/e2e/optional-factory-provider-dep.spec.ts
@@ -1,7 +1,6 @@
import { Scope } from '@nestjs/common';
-import { UnknownDependenciesException } from '@nestjs/core/errors/exceptions/unknown-dependencies.exception';
+import { UnknownDependenciesException } from '@nestjs/core/errors/exceptions/unknown-dependencies.exception.js';
import { Test } from '@nestjs/testing';
-import { expect } from 'chai';
describe('Optional factory provider deps', () => {
describe('when dependency is optional', () => {
@@ -20,7 +19,7 @@ describe('Optional factory provider deps', () => {
}).compile();
const factoryProvider = moduleRef.get('FACTORY');
- expect(factoryProvider).to.equal('OPTIONAL_DEP_VALUE');
+ expect(factoryProvider).toBe('OPTIONAL_DEP_VALUE');
});
});
describe('otherwise', () => {
@@ -37,7 +36,7 @@ describe('Optional factory provider deps', () => {
}).compile();
const factoryProvider = moduleRef.get('FACTORY');
- expect(factoryProvider).to.equal(defaultValue);
+ expect(factoryProvider).toBe(defaultValue);
});
it('"undefined" should be injected into the factory function (scoped provider)', async () => {
const MY_PROVIDER = 'MY_PROVIDER';
@@ -70,7 +69,7 @@ describe('Optional factory provider deps', () => {
],
}).compile();
- expect(await module.resolve(MY_PROVIDER)).to.deep.equal({
+ expect(await module.resolve(MY_PROVIDER)).toEqual({
first: undefined,
second: 'second',
});
@@ -80,56 +79,44 @@ describe('Optional factory provider deps', () => {
describe('otherwise', () => {
describe('and dependency is not registered', () => {
it('should error out', async () => {
- try {
- const builder = Test.createTestingModule({
- providers: [
- {
- provide: 'FACTORY',
- useFactory: () => 'RETURNED_VALUE',
- inject: ['MISSING_DEP'],
- },
- ],
- });
- await builder.compile();
- } catch (err) {
- expect(err).to.be.instanceOf(UnknownDependenciesException);
- }
- });
- });
- });
- describe('and dependency is registered but it cannot be instantiated', () => {
- it('should error out', async () => {
- try {
const builder = Test.createTestingModule({
providers: [
- {
- provide: 'POSSIBLY_MISSING_DEP',
- useFactory: () => null,
- inject: ['MISSING_DEP'],
- },
{
provide: 'FACTORY',
useFactory: () => 'RETURNED_VALUE',
- inject: [{ token: 'POSSIBLY_MISSING_DEP', optional: false }],
+ inject: ['MISSING_DEP'],
},
],
});
- await builder.compile();
- } catch (err) {
- expect(err).to.be.instanceOf(UnknownDependenciesException);
- expect(err.message).to
- .equal(`Nest can't resolve dependencies of the POSSIBLY_MISSING_DEP (?). Please make sure that the argument "MISSING_DEP" at index [0] is available in the RootTestModule module.
-
-Potential solutions:
-- Is RootTestModule a valid NestJS module?
-- If "MISSING_DEP" is a provider, is it part of the current RootTestModule?
-- If "MISSING_DEP" is exported from a separate @Module, is that module imported within RootTestModule?
- @Module({
- imports: [ /* the Module containing "MISSING_DEP" */ ]
- })
-
-For more common dependency resolution issues, see: https://docs.nestjs.com/faq/common-errors`);
- }
+ await expect(builder.compile()).rejects.toBeInstanceOf(
+ UnknownDependenciesException,
+ );
+ });
+ });
+ });
+ describe('and dependency is registered but it cannot be instantiated', () => {
+ it('should error out', async () => {
+ const builder = Test.createTestingModule({
+ providers: [
+ {
+ provide: 'POSSIBLY_MISSING_DEP',
+ useFactory: () => null,
+ inject: ['MISSING_DEP'],
+ },
+ {
+ provide: 'FACTORY',
+ useFactory: () => 'RETURNED_VALUE',
+ inject: [{ token: 'POSSIBLY_MISSING_DEP', optional: false }],
+ },
+ ],
+ });
+ await expect(builder.compile()).rejects.toSatisfy((err: any) => {
+ expect(err).toBeInstanceOf(UnknownDependenciesException);
+ expect(err.message).toContain(
+ `Nest can't resolve dependencies of the POSSIBLY_MISSING_DEP (?)`,
+ );
+ return true;
+ });
});
});
});
diff --git a/integration/injector/e2e/parallel-request-scoped-resolution.spec.ts b/integration/injector/e2e/parallel-request-scoped-resolution.spec.ts
index 8c50e9adcb2..309b0ac346c 100644
--- a/integration/injector/e2e/parallel-request-scoped-resolution.spec.ts
+++ b/integration/injector/e2e/parallel-request-scoped-resolution.spec.ts
@@ -8,7 +8,6 @@ import {
} from '@nestjs/common';
import { REQUEST, createContextId } from '@nestjs/core';
import { Test, TestingModule } from '@nestjs/testing';
-import { expect } from 'chai';
describe('Parallel request-scoped resolution', () => {
const ASYNC_REQUEST_SCOPED = 'ASYNC_REQUEST_SCOPED';
@@ -153,8 +152,7 @@ describe('Parallel request-scoped resolution', () => {
}).compile();
});
- it('should isolate request-scoped factory providers across overlapping context resolutions', async function () {
- this.timeout(20000);
+ it('should isolate request-scoped factory providers across overlapping context resolutions', async () => {
const contexts = prepareContexts(testingModule, OVERLAP_REQUEST_COUNT);
const payloads = await Promise.all(
@@ -166,14 +164,13 @@ describe('Parallel request-scoped resolution', () => {
),
);
- expect(payloads).to.deep.equal(
+ expect(payloads).toEqual(
contexts.map(({ request }) => ({ requestId: request.requestId })),
);
- expect(new Set(payloads).size).to.equal(contexts.length);
- });
+ expect(new Set(payloads).size).toBe(contexts.length);
+ }, 20000);
- it('should bubble singleton providers to request scope during overlapping context resolutions', async function () {
- this.timeout(20000);
+ it('should bubble singleton providers to request scope during overlapping context resolutions', async () => {
const contexts = prepareContexts(testingModule, OVERLAP_REQUEST_COUNT);
const providers = await Promise.all(
@@ -182,17 +179,16 @@ describe('Parallel request-scoped resolution', () => {
),
);
- expect(new Set(providers).size).to.equal(contexts.length);
- expect(providers.map(provider => provider.payload)).to.deep.equal(
+ expect(new Set(providers).size).toBe(contexts.length);
+ expect(providers.map(provider => provider.payload)).toEqual(
contexts.map(({ request }) => ({ requestId: request.requestId })),
);
expect(
providers.map(provider => provider.requestReader.request.requestId),
- ).to.deep.equal(contexts.map(({ request }) => request.requestId));
- });
+ ).toEqual(contexts.map(({ request }) => request.requestId));
+ }, 20000);
- it('should reuse a request-scoped factory provider for overlapping resolutions in the same context', async function () {
- this.timeout(20000);
+ it('should reuse a request-scoped factory provider for overlapping resolutions in the same context', async () => {
const [{ contextId, request }] = prepareContexts(testingModule, 1);
const providers = await Promise.all(
@@ -204,12 +200,11 @@ describe('Parallel request-scoped resolution', () => {
),
);
- expect(new Set(providers).size).to.equal(1);
- expect(providers[0]).to.deep.equal({ requestId: request.requestId });
- });
+ expect(new Set(providers).size).toBe(1);
+ expect(providers[0]).toEqual({ requestId: request.requestId });
+ }, 20000);
- it('should reuse a bubbled provider for overlapping resolutions in the same context', async function () {
- this.timeout(20000);
+ it('should reuse a bubbled provider for overlapping resolutions in the same context', async () => {
const [{ contextId, request }] = prepareContexts(testingModule, 1);
const providers = await Promise.all(
@@ -218,15 +213,14 @@ describe('Parallel request-scoped resolution', () => {
),
);
- expect(new Set(providers).size).to.equal(1);
- expect(providers[0].payload).to.deep.equal({
+ expect(new Set(providers).size).toBe(1);
+ expect(providers[0].payload).toEqual({
requestId: request.requestId,
});
- expect(providers[0].requestReader.request).to.equal(request);
- });
+ expect(providers[0].requestReader.request).toBe(request);
+ }, 20000);
- it('should isolate request-scoped controllers during overlapping context resolutions', async function () {
- this.timeout(20000);
+ it('should isolate request-scoped controllers during overlapping context resolutions', async () => {
const contexts = prepareContexts(testingModule, OVERLAP_REQUEST_COUNT);
const controllers = await Promise.all(
@@ -235,12 +229,12 @@ describe('Parallel request-scoped resolution', () => {
),
);
- expect(new Set(controllers).size).to.equal(contexts.length);
- expect(controllers.map(controller => controller.payload)).to.deep.equal(
+ expect(new Set(controllers).size).toBe(contexts.length);
+ expect(controllers.map(controller => controller.payload)).toEqual(
contexts.map(({ request }) => ({ requestId: request.requestId })),
);
expect(
controllers.map(controller => controller.requestReader.request.requestId),
- ).to.deep.equal(contexts.map(({ request }) => request.requestId));
- });
+ ).toEqual(contexts.map(({ request }) => request.requestId));
+ }, 20000);
});
diff --git a/integration/injector/e2e/property-injection.spec.ts b/integration/injector/e2e/property-injection.spec.ts
index 7d4582f4ce1..edf00669c10 100644
--- a/integration/injector/e2e/property-injection.spec.ts
+++ b/integration/injector/e2e/property-injection.spec.ts
@@ -1,9 +1,8 @@
+import { UnknownDependenciesException } from '@nestjs/core/errors/exceptions/unknown-dependencies.exception.js';
import { Test } from '@nestjs/testing';
-import { expect } from 'chai';
-import { DependencyService } from '../src/properties/dependency.service';
-import { PropertiesModule } from '../src/properties/properties.module';
-import { PropertiesService } from '../src/properties/properties.service';
-import { UnknownDependenciesException } from '@nestjs/core/errors/exceptions/unknown-dependencies.exception';
+import { DependencyService } from '../src/properties/dependency.service.js';
+import { PropertiesModule } from '../src/properties/properties.module.js';
+import { PropertiesService } from '../src/properties/properties.service.js';
describe('Injector', () => {
it('should resolve property-based dependencies', async () => {
@@ -13,32 +12,25 @@ describe('Injector', () => {
const app = await builder.compile();
const dependency = app.get(DependencyService);
- expect(app.get(PropertiesService).service).to.be.eql(dependency);
- expect(app.get(PropertiesService).token).to.be.true;
- expect(app.get(PropertiesService).symbolToken).to.be.true;
+ expect(app.get(PropertiesService).service).toEqual(dependency);
+ expect(app.get(PropertiesService).token).toBe(true);
+ expect(app.get(PropertiesService).symbolToken).toBe(true);
});
it('should throw UnknownDependenciesException when dependency is not met', async () => {
- let exception;
-
- try {
- const builder = Test.createTestingModule({
- providers: [
- DependencyService,
- PropertiesService,
- {
- provide: 'token',
- useValue: true,
- },
- // symbol token is missing here
- ],
- });
- const app = await builder.compile();
- app.get(DependencyService);
- } catch (e) {
- exception = e;
- }
-
- expect(exception).to.be.instanceOf(UnknownDependenciesException);
+ const builder = Test.createTestingModule({
+ providers: [
+ DependencyService,
+ PropertiesService,
+ {
+ provide: 'token',
+ useValue: true,
+ },
+ // symbol token is missing here
+ ],
+ });
+ await expect(builder.compile()).rejects.toBeInstanceOf(
+ UnknownDependenciesException,
+ );
});
});
diff --git a/integration/injector/e2e/request-scope-bubbling.spec.ts b/integration/injector/e2e/request-scope-bubbling.spec.ts
index ae0378d9886..55f4b5ddc54 100644
--- a/integration/injector/e2e/request-scope-bubbling.spec.ts
+++ b/integration/injector/e2e/request-scope-bubbling.spec.ts
@@ -1,7 +1,6 @@
import { Injectable, Scope, Module } from '@nestjs/common';
import { Test, TestingModule } from '@nestjs/testing';
import { ContextIdFactory, REQUEST } from '@nestjs/core';
-import { expect } from 'chai';
describe('Request Scope Bubbling', () => {
// 1. Define the "Poison" (Request Scoped Service)
@@ -39,10 +38,10 @@ describe('Request Scope Bubbling', () => {
// 6. Assertions (The "Moment of Truth")
// The Child IDs should be different (Proof of Request Scope)
- expect(parent1.child.id).to.not.equal(parent2.child.id);
+ expect(parent1.child.id).not.toBe(parent2.child.id);
// The Parent instances should ALSO be different (Proof of Bubbling)
// If Parent was a true Singleton, these would be equal.
- expect(parent1).to.not.equal(parent2);
+ expect(parent1).not.toBe(parent2);
});
});
diff --git a/integration/injector/e2e/request-scoped-factory-provider.spec.ts b/integration/injector/e2e/request-scoped-factory-provider.spec.ts
index 73b8880b38a..8e65b99b036 100644
--- a/integration/injector/e2e/request-scoped-factory-provider.spec.ts
+++ b/integration/injector/e2e/request-scoped-factory-provider.spec.ts
@@ -16,7 +16,6 @@ import {
} from '@nestjs/platform-fastify';
import type { FastifyRequest } from 'fastify';
import { Test } from '@nestjs/testing';
-import { expect } from 'chai';
describe('Request-scoped factory provider', () => {
const REQUEST_SCOPED_FACTORY = 'REQUEST_SCOPED_FACTORY';
@@ -193,8 +192,7 @@ describe('Request-scoped factory provider', () => {
await app.close();
});
- it('should resolve all injected dependencies across overlapping requests', async function () {
- this.timeout(20000);
+ it('should resolve all injected dependencies across overlapping requests', async () => {
const responses = await Promise.all(
Array.from({ length: REQUEST_COUNT }, (_, index) =>
app.inject({
@@ -222,14 +220,14 @@ describe('Request-scoped factory provider', () => {
return [];
});
- expect(failures).to.deep.equal([]);
+ expect(failures).toEqual([]);
const payloads = responses.map(response => JSON.parse(response.body));
- expect(payloads).to.deep.equal(
+ expect(payloads).toEqual(
Array.from({ length: REQUEST_COUNT }, (_, index) => ({
actorId: `actor-${index}`,
tenantId: `tenant-${index}`,
})),
);
- });
+ }, 20000);
});
diff --git a/integration/injector/e2e/scoped-instances.spec.ts b/integration/injector/e2e/scoped-instances.spec.ts
index b67c9acf597..330511c67f6 100644
--- a/integration/injector/e2e/scoped-instances.spec.ts
+++ b/integration/injector/e2e/scoped-instances.spec.ts
@@ -1,17 +1,16 @@
import { createContextId } from '@nestjs/core';
-import { InvalidClassScopeException } from '@nestjs/core/errors/exceptions/invalid-class-scope.exception';
+import { InvalidClassScopeException } from '@nestjs/core/errors/exceptions/invalid-class-scope.exception.js';
import { Test, TestingModule } from '@nestjs/testing';
-import { expect } from 'chai';
-import { ScopedController } from '../src/scoped/scoped.controller';
+import { ScopedController } from '../src/scoped/scoped.controller.js';
import {
REQUEST_SCOPED_FACTORY,
ScopedModule,
STATIC_FACTORY,
TRANSIENT_SCOPED_FACTORY,
-} from '../src/scoped/scoped.module';
-import { ScopedService } from '../src/scoped/scoped.service';
-import { TransientService } from '../src/scoped/transient.service';
-import { Transient3Service } from '../src/scoped/transient3.service';
+} from '../src/scoped/scoped.module.js';
+import { ScopedService } from '../src/scoped/scoped.service.js';
+import { TransientService } from '../src/scoped/transient.service.js';
+import { Transient3Service } from '../src/scoped/transient3.service.js';
describe('Scoped Instances', () => {
const OVERLAP_REQUEST_COUNT = 1000;
@@ -23,6 +22,10 @@ describe('Scoped Instances', () => {
}).compile();
});
+ afterEach(async () => {
+ await testingModule.close();
+ });
+
it('should dynamically resolve transient provider', async () => {
const contextId = createContextId();
const transient1 = await testingModule.resolve(TransientService, contextId);
@@ -31,10 +34,10 @@ describe('Scoped Instances', () => {
TRANSIENT_SCOPED_FACTORY,
);
- expect(transient1).to.be.instanceOf(TransientService);
- expect(transient2).to.be.instanceOf(TransientService);
- expect(transient1).to.be.equal(transient2);
- expect(transientFactory).to.be.true;
+ expect(transient1).toBeInstanceOf(TransientService);
+ expect(transient2).toBeInstanceOf(TransientService);
+ expect(transient1).toBe(transient2);
+ expect(transientFactory).toBe(true);
});
it('should dynamically resolve nested transient provider', async () => {
@@ -48,8 +51,8 @@ describe('Scoped Instances', () => {
contextId,
);
- expect(transientTwoDepthLevel.svc.logger).to.not.be.undefined;
- expect(transientThreeDepthLevel.svc.svc.logger).to.not.be.undefined;
+ expect(transientTwoDepthLevel.svc.logger).not.toBeUndefined();
+ expect(transientThreeDepthLevel.svc.svc.logger).not.toBeUndefined();
});
it('should dynamically resolve request-scoped provider', async () => {
@@ -63,15 +66,14 @@ describe('Scoped Instances', () => {
const request3 = await testingModule.resolve(ScopedService, ctxId);
const requestFactory = await testingModule.resolve(REQUEST_SCOPED_FACTORY);
- expect(request1).to.be.instanceOf(ScopedService);
- expect(request2).to.be.instanceOf(ScopedService);
- expect(request3).to.not.be.equal(request2);
- expect(requestFactory).to.be.true;
- expect(request3.request).to.be.equal(requestProvider);
+ expect(request1).toBeInstanceOf(ScopedService);
+ expect(request2).toBeInstanceOf(ScopedService);
+ expect(request3).not.toBe(request2);
+ expect(requestFactory).toBe(true);
+ expect(request3.request).toBe(requestProvider);
});
- it('should isolate request-scoped providers across parallel context resolutions', async function () {
- this.timeout(20000);
+ it('should isolate request-scoped providers across parallel context resolutions', async () => {
const contexts = Array.from(
{ length: OVERLAP_REQUEST_COUNT },
(_, index) => {
@@ -89,14 +91,13 @@ describe('Scoped Instances', () => {
),
);
- expect(new Set(providers).size).to.equal(contexts.length);
- expect(providers.map(provider => provider.request)).to.deep.equal(
+ expect(new Set(providers).size).toBe(contexts.length);
+ expect(providers.map(provider => provider.request)).toEqual(
contexts.map(({ requestProvider }) => requestProvider),
);
- });
+ }, 20000);
- it('should reuse request-scoped providers for parallel resolutions in the same context', async function () {
- this.timeout(20000);
+ it('should reuse request-scoped providers for parallel resolutions in the same context', async () => {
const contextId = createContextId();
const requestProvider = { host: 'shared-host' };
@@ -108,22 +109,21 @@ describe('Scoped Instances', () => {
),
);
- expect(new Set(providers).size).to.equal(1);
- expect(providers[0].request).to.equal(requestProvider);
- });
+ expect(new Set(providers).size).toBe(1);
+ expect(providers[0].request).toBe(requestProvider);
+ }, 20000);
it('should dynamically resolve request-scoped controller', async () => {
const request1 = await testingModule.resolve(ScopedController);
const request2 = await testingModule.resolve(ScopedController);
const request3 = await testingModule.resolve(ScopedController, { id: 1 });
- expect(request1).to.be.instanceOf(ScopedController);
- expect(request2).to.be.instanceOf(ScopedController);
- expect(request3).to.not.be.equal(request2);
+ expect(request1).toBeInstanceOf(ScopedController);
+ expect(request2).toBeInstanceOf(ScopedController);
+ expect(request3).not.toBe(request2);
});
- it('should isolate request-scoped controllers across parallel context resolutions', async function () {
- this.timeout(20000);
+ it('should isolate request-scoped controllers across parallel context resolutions', async () => {
const contexts = Array.from({ length: OVERLAP_REQUEST_COUNT }, () =>
createContextId(),
);
@@ -134,22 +134,17 @@ describe('Scoped Instances', () => {
),
);
- expect(new Set(controllers).size).to.equal(contexts.length);
- });
+ expect(new Set(controllers).size).toBe(contexts.length);
+ }, 20000);
it('should throw an exception when "get()" method is used for scoped providers', () => {
- try {
- testingModule.get(ScopedController);
- } catch (err) {
- expect(err).to.be.instanceOf(InvalidClassScopeException);
- }
+ expect(() => testingModule.get(ScopedController)).toThrow(
+ InvalidClassScopeException,
+ );
});
- it('should throw an exception when "resolve()" method is used for static providers', async () => {
- try {
- await testingModule.resolve(STATIC_FACTORY);
- } catch (err) {
- expect(err).to.be.instanceOf(InvalidClassScopeException);
- }
+ it('should resolve static providers via "resolve()" method', async () => {
+ const result = await testingModule.resolve(STATIC_FACTORY);
+ expect(result).toBe(true);
});
});
diff --git a/integration/injector/src/app.module.ts b/integration/injector/src/app.module.ts
index 881a3758f51..81687ddc84a 100644
--- a/integration/injector/src/app.module.ts
+++ b/integration/injector/src/app.module.ts
@@ -1,5 +1,5 @@
import { Module } from '@nestjs/common';
-import { ExportsModule } from './exports/exports.module';
+import { ExportsModule } from './exports/exports.module.js';
@Module({
imports: [ExportsModule],
diff --git a/integration/injector/src/circular-modules/circular.module.ts b/integration/injector/src/circular-modules/circular.module.ts
index bb6afb42a38..6eac28bfd3b 100644
--- a/integration/injector/src/circular-modules/circular.module.ts
+++ b/integration/injector/src/circular-modules/circular.module.ts
@@ -1,6 +1,6 @@
import { Module, forwardRef } from '@nestjs/common';
-import { CircularService } from './circular.service';
-import { InputModule } from './input.module';
+import { CircularService } from './circular.service.js';
+import { InputModule } from './input.module.js';
@Module({
imports: [forwardRef(() => InputModule)],
diff --git a/integration/injector/src/circular-modules/circular.service.ts b/integration/injector/src/circular-modules/circular.service.ts
index 546d63e6eab..c4dda4019dc 100644
--- a/integration/injector/src/circular-modules/circular.service.ts
+++ b/integration/injector/src/circular-modules/circular.service.ts
@@ -1,10 +1,14 @@
-import { Injectable, forwardRef, Inject } from '@nestjs/common';
-import { InputService } from './input.service';
+import { forwardRef, Inject, Injectable } from '@nestjs/common';
+
+// Use a lazy reference to avoid ESM circular-import TDZ issues
+// with emitDecoratorMetadata.
+let InputServiceRef: any;
+void import('./input.service.js').then(m => (InputServiceRef = m.InputService));
@Injectable()
export class CircularService {
constructor(
- @Inject(forwardRef(() => InputService))
- public readonly service: InputService,
+ @Inject(forwardRef(() => InputServiceRef))
+ public readonly service: any,
) {}
}
diff --git a/integration/injector/src/circular-modules/input.module.ts b/integration/injector/src/circular-modules/input.module.ts
index c76dcaa85ec..3766b298767 100644
--- a/integration/injector/src/circular-modules/input.module.ts
+++ b/integration/injector/src/circular-modules/input.module.ts
@@ -1,6 +1,6 @@
import { Module, forwardRef } from '@nestjs/common';
-import { CircularModule } from './circular.module';
-import { InputService } from './input.service';
+import { CircularModule } from './circular.module.js';
+import { InputService } from './input.service.js';
@Module({
imports: [forwardRef(() => CircularModule)],
diff --git a/integration/injector/src/circular-modules/input.service.ts b/integration/injector/src/circular-modules/input.service.ts
index 342e8bf0d0f..344f438eff4 100644
--- a/integration/injector/src/circular-modules/input.service.ts
+++ b/integration/injector/src/circular-modules/input.service.ts
@@ -1,10 +1,17 @@
-import { Injectable, Inject, forwardRef } from '@nestjs/common';
-import { CircularService } from './circular.service';
+import { Inject, Injectable, forwardRef } from '@nestjs/common';
+
+// Use a lazy reference to avoid ESM circular-import TDZ issues
+// with emitDecoratorMetadata. The class is imported asynchronously
+// and cached for forwardRef resolution.
+let CircularServiceRef: any;
+void import('./circular.service.js').then(
+ m => (CircularServiceRef = m.CircularService),
+);
@Injectable()
export class InputService {
constructor(
- @Inject(forwardRef(() => CircularService))
- public readonly service: CircularService,
+ @Inject(forwardRef(() => CircularServiceRef))
+ public readonly service: any,
) {}
}
diff --git a/integration/injector/src/circular-properties/circular-properties.module.ts b/integration/injector/src/circular-properties/circular-properties.module.ts
index 6af6be61a99..84b58362a22 100644
--- a/integration/injector/src/circular-properties/circular-properties.module.ts
+++ b/integration/injector/src/circular-properties/circular-properties.module.ts
@@ -1,6 +1,6 @@
import { forwardRef, Module } from '@nestjs/common';
-import { CircularService } from './circular.service';
-import { InputPropertiesModule } from './input-properties.module';
+import { CircularService } from './circular.service.js';
+import { InputPropertiesModule } from './input-properties.module.js';
@Module({
imports: [forwardRef(() => InputPropertiesModule)],
diff --git a/integration/injector/src/circular-properties/circular.service.ts b/integration/injector/src/circular-properties/circular.service.ts
index 6baa26e7860..f27cb71a280 100644
--- a/integration/injector/src/circular-properties/circular.service.ts
+++ b/integration/injector/src/circular-properties/circular.service.ts
@@ -1,8 +1,12 @@
import { forwardRef, Inject, Injectable } from '@nestjs/common';
-import { InputService } from './input.service';
+
+// Lazy reference to avoid ESM circular-import TDZ issues
+// with emitDecoratorMetadata.
+let InputServiceRef: any;
+void import('./input.service.js').then(m => (InputServiceRef = m.InputService));
@Injectable()
export class CircularService {
- @Inject(forwardRef(() => InputService))
- public readonly service: InputService;
+ @Inject(forwardRef(() => InputServiceRef))
+ public readonly service: any;
}
diff --git a/integration/injector/src/circular-properties/input-properties.module.ts b/integration/injector/src/circular-properties/input-properties.module.ts
index e2662ed0df7..821d1935d48 100644
--- a/integration/injector/src/circular-properties/input-properties.module.ts
+++ b/integration/injector/src/circular-properties/input-properties.module.ts
@@ -1,6 +1,6 @@
import { forwardRef, Module } from '@nestjs/common';
-import { CircularPropertiesModule } from './circular-properties.module';
-import { InputService } from './input.service';
+import { CircularPropertiesModule } from './circular-properties.module.js';
+import { InputService } from './input.service.js';
@Module({
imports: [forwardRef(() => CircularPropertiesModule)],
diff --git a/integration/injector/src/circular-properties/input.service.ts b/integration/injector/src/circular-properties/input.service.ts
index 225b7e7ddcf..d44f72716fe 100644
--- a/integration/injector/src/circular-properties/input.service.ts
+++ b/integration/injector/src/circular-properties/input.service.ts
@@ -1,8 +1,14 @@
import { forwardRef, Inject, Injectable } from '@nestjs/common';
-import { CircularService } from './circular.service';
+
+// Lazy reference to avoid ESM circular-import TDZ issues
+// with emitDecoratorMetadata.
+let CircularServiceRef: any;
+void import('./circular.service.js').then(
+ m => (CircularServiceRef = m.CircularService),
+);
@Injectable()
export class InputService {
- @Inject(forwardRef(() => CircularService))
- public readonly service: CircularService;
+ @Inject(forwardRef(() => CircularServiceRef))
+ public readonly service: any;
}
diff --git a/integration/injector/src/circular-structure-dynamic-module/circular.module.ts b/integration/injector/src/circular-structure-dynamic-module/circular.module.ts
index 6172fb2c5be..0dc6de4c581 100644
--- a/integration/injector/src/circular-structure-dynamic-module/circular.module.ts
+++ b/integration/injector/src/circular-structure-dynamic-module/circular.module.ts
@@ -1,5 +1,5 @@
import { DynamicModule } from '@nestjs/common';
-import { InputService } from './input.service';
+import { InputService } from './input.service.js';
export class CircularModule {
static forRoot(): DynamicModule {
diff --git a/integration/injector/src/circular/circular.module.ts b/integration/injector/src/circular/circular.module.ts
index b0f1cf4510c..460887479a8 100644
--- a/integration/injector/src/circular/circular.module.ts
+++ b/integration/injector/src/circular/circular.module.ts
@@ -1,6 +1,6 @@
import { Module } from '@nestjs/common';
-import { CircularService } from './circular.service';
-import { InputService } from './input.service';
+import { CircularService } from './circular.service.js';
+import { InputService } from './input.service.js';
@Module({
providers: [CircularService, InputService],
diff --git a/integration/injector/src/circular/circular.service.ts b/integration/injector/src/circular/circular.service.ts
index 546d63e6eab..883eda44c7a 100644
--- a/integration/injector/src/circular/circular.service.ts
+++ b/integration/injector/src/circular/circular.service.ts
@@ -1,10 +1,14 @@
-import { Injectable, forwardRef, Inject } from '@nestjs/common';
-import { InputService } from './input.service';
+import { forwardRef, Inject, Injectable } from '@nestjs/common';
+
+// Lazy reference to avoid ESM circular-import TDZ issues
+// with emitDecoratorMetadata.
+let InputServiceRef: any;
+void import('./input.service.js').then(m => (InputServiceRef = m.InputService));
@Injectable()
export class CircularService {
constructor(
- @Inject(forwardRef(() => InputService))
- public readonly service: InputService,
+ @Inject(forwardRef(() => InputServiceRef))
+ public readonly service: any,
) {}
}
diff --git a/integration/injector/src/circular/input.service.ts b/integration/injector/src/circular/input.service.ts
index 342e8bf0d0f..8a4c8251684 100644
--- a/integration/injector/src/circular/input.service.ts
+++ b/integration/injector/src/circular/input.service.ts
@@ -1,10 +1,16 @@
-import { Injectable, Inject, forwardRef } from '@nestjs/common';
-import { CircularService } from './circular.service';
+import { Inject, Injectable, forwardRef } from '@nestjs/common';
+
+// Lazy reference to avoid ESM circular-import TDZ issues
+// with emitDecoratorMetadata.
+let CircularServiceRef: any;
+void import('./circular.service.js').then(
+ m => (CircularServiceRef = m.CircularService),
+);
@Injectable()
export class InputService {
constructor(
- @Inject(forwardRef(() => CircularService))
- public readonly service: CircularService,
+ @Inject(forwardRef(() => CircularServiceRef))
+ public readonly service: any,
) {}
}
diff --git a/integration/injector/src/defaults/defaults.module.ts b/integration/injector/src/defaults/defaults.module.ts
index f8a7ddb9f59..504561615a1 100644
--- a/integration/injector/src/defaults/defaults.module.ts
+++ b/integration/injector/src/defaults/defaults.module.ts
@@ -1,5 +1,5 @@
import { Module } from '@nestjs/common';
-import { DefaultsService } from './defaults.service';
+import { DefaultsService } from './defaults.service.js';
@Module({
providers: [DefaultsService],
diff --git a/integration/injector/src/defaults/defaults.service.ts b/integration/injector/src/defaults/defaults.service.ts
index edc4790f1b1..6a9a51fd587 100644
--- a/integration/injector/src/defaults/defaults.service.ts
+++ b/integration/injector/src/defaults/defaults.service.ts
@@ -1,5 +1,5 @@
import { Inject, Injectable, Optional } from '@nestjs/common';
-import { CoreService } from './core.service';
+import { CoreService } from './core.service.js';
@Injectable()
export class DefaultsService {
diff --git a/integration/injector/src/exports/exports.module.ts b/integration/injector/src/exports/exports.module.ts
index 00190030b4e..7757fee7ec0 100644
--- a/integration/injector/src/exports/exports.module.ts
+++ b/integration/injector/src/exports/exports.module.ts
@@ -1,5 +1,5 @@
import { Module } from '@nestjs/common';
-import { ExportsService } from './exports.service';
+import { ExportsService } from './exports.service.js';
@Module({
exports: [ExportsService],
diff --git a/integration/injector/src/inject/inject.module.ts b/integration/injector/src/inject/inject.module.ts
index aee4f6c11cb..07578c82b16 100644
--- a/integration/injector/src/inject/inject.module.ts
+++ b/integration/injector/src/inject/inject.module.ts
@@ -1,5 +1,5 @@
import { Module } from '@nestjs/common';
-import { InjectService } from './inject.service';
+import { InjectService } from './inject.service.js';
@Module({
providers: [InjectService],
diff --git a/integration/injector/src/inject/inject.service.ts b/integration/injector/src/inject/inject.service.ts
index 36dc8b4ed4d..b2d37d5a395 100644
--- a/integration/injector/src/inject/inject.service.ts
+++ b/integration/injector/src/inject/inject.service.ts
@@ -1,5 +1,5 @@
import { Injectable } from '@nestjs/common';
-import { CoreService } from './core.service';
+import { CoreService } from './core.service.js';
@Injectable()
export class InjectService {
diff --git a/integration/injector/src/multiple-providers/multiple-providers.module.ts b/integration/injector/src/multiple-providers/multiple-providers.module.ts
index 1bb2345eeec..73a9f113d3d 100644
--- a/integration/injector/src/multiple-providers/multiple-providers.module.ts
+++ b/integration/injector/src/multiple-providers/multiple-providers.module.ts
@@ -1,7 +1,7 @@
import { Module } from '@nestjs/common';
-import { AModule } from './a.module';
-import { BModule } from './b.module';
-import { CModule } from './c.module';
+import { AModule } from './a.module.js';
+import { BModule } from './b.module.js';
+import { CModule } from './c.module.js';
@Module({
imports: [AModule, BModule, CModule],
diff --git a/integration/injector/src/properties/properties.module.ts b/integration/injector/src/properties/properties.module.ts
index b2ad36ff3b4..a9ab6d24105 100644
--- a/integration/injector/src/properties/properties.module.ts
+++ b/integration/injector/src/properties/properties.module.ts
@@ -1,6 +1,6 @@
import { Module } from '@nestjs/common';
-import { DependencyService } from './dependency.service';
-import { PropertiesService, SYMBOL_TOKEN } from './properties.service';
+import { DependencyService } from './dependency.service.js';
+import { PropertiesService, SYMBOL_TOKEN } from './properties.service.js';
@Module({
providers: [
diff --git a/integration/injector/src/properties/properties.service.ts b/integration/injector/src/properties/properties.service.ts
index cd450752440..4211b828647 100644
--- a/integration/injector/src/properties/properties.service.ts
+++ b/integration/injector/src/properties/properties.service.ts
@@ -1,5 +1,5 @@
import { Inject, Injectable } from '@nestjs/common';
-import { DependencyService } from './dependency.service';
+import { DependencyService } from './dependency.service.js';
export const SYMBOL_TOKEN = Symbol('token');
diff --git a/integration/injector/src/scoped/scoped.module.ts b/integration/injector/src/scoped/scoped.module.ts
index 0b2e0bb9270..9e2dc7e6633 100644
--- a/integration/injector/src/scoped/scoped.module.ts
+++ b/integration/injector/src/scoped/scoped.module.ts
@@ -1,9 +1,9 @@
import { Module, Scope } from '@nestjs/common';
-import { ScopedController } from './scoped.controller';
-import { ScopedService } from './scoped.service';
-import { TransientService } from './transient.service';
-import { Transient2Service } from './transient2.service';
-import { Transient3Service } from './transient3.service';
+import { ScopedController } from './scoped.controller.js';
+import { ScopedService } from './scoped.service.js';
+import { TransientService } from './transient.service.js';
+import { Transient2Service } from './transient2.service.js';
+import { Transient3Service } from './transient3.service.js';
export const STATIC_FACTORY = 'STATIC_FACTORY';
export const REQUEST_SCOPED_FACTORY = 'REQUEST_SCOPED_FACTORY';
diff --git a/integration/injector/src/scoped/transient.service.ts b/integration/injector/src/scoped/transient.service.ts
index db496f8c427..e61ab3a03cd 100644
--- a/integration/injector/src/scoped/transient.service.ts
+++ b/integration/injector/src/scoped/transient.service.ts
@@ -1,5 +1,5 @@
import { Injectable, Scope } from '@nestjs/common';
-import { Transient2Service } from './transient2.service';
+import { Transient2Service } from './transient2.service.js';
@Injectable({ scope: Scope.TRANSIENT })
export class TransientService {
diff --git a/integration/injector/src/scoped/transient3.service.ts b/integration/injector/src/scoped/transient3.service.ts
index fa11ba9c2aa..2b51ae604f8 100644
--- a/integration/injector/src/scoped/transient3.service.ts
+++ b/integration/injector/src/scoped/transient3.service.ts
@@ -1,5 +1,5 @@
import { Injectable, Scope } from '@nestjs/common';
-import { TransientService } from './transient.service';
+import { TransientService } from './transient.service.js';
@Injectable({ scope: Scope.TRANSIENT })
export class Transient3Service {
diff --git a/integration/injector/tsconfig.json b/integration/injector/tsconfig.json
index 4a0f01e0ec4..aa1164082cc 100644
--- a/integration/injector/tsconfig.json
+++ b/integration/injector/tsconfig.json
@@ -1,13 +1,15 @@
{
"compilerOptions": {
+ "types": ["vitest/globals"],
"module": "commonjs",
"declaration": false,
"noImplicitAny": false,
"removeComments": true,
"noLib": false,
+ "esModuleInterop": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
- "target": "ES2021",
+ "target": "ES2023",
"sourceMap": true,
"allowJs": true,
"strictNullChecks": true,
diff --git a/integration/inspector/e2e/fixtures/post-init-graph.json b/integration/inspector/e2e/fixtures/post-init-graph.json
index a61259a3565..3b12d3f3b4f 100644
--- a/integration/inspector/e2e/fixtures/post-init-graph.json
+++ b/integration/inspector/e2e/fixtures/post-init-graph.json
@@ -2516,68 +2516,6 @@
}
},
"entrypoints": {
- "1131051184": [
- {
- "type": "websocket",
- "methodName": "create",
- "className": "ChatGateway",
- "classNodeId": "1131051184",
- "metadata": {
- "port": 0,
- "key": "createChat",
- "message": "createChat"
- },
- "id": "1131051184_create"
- },
- {
- "type": "websocket",
- "methodName": "findAll",
- "className": "ChatGateway",
- "classNodeId": "1131051184",
- "metadata": {
- "port": 0,
- "key": "findAllChat",
- "message": "findAllChat"
- },
- "id": "1131051184_findAll"
- },
- {
- "type": "websocket",
- "methodName": "findOne",
- "className": "ChatGateway",
- "classNodeId": "1131051184",
- "metadata": {
- "port": 0,
- "key": "findOneChat",
- "message": "findOneChat"
- },
- "id": "1131051184_findOne"
- },
- {
- "type": "websocket",
- "methodName": "update",
- "className": "ChatGateway",
- "classNodeId": "1131051184",
- "metadata": {
- "port": 0,
- "key": "updateChat",
- "message": "updateChat"
- },
- "id": "1131051184_update"
- },
- {
- "type": "websocket",
- "methodName": "remove",
- "className": "ChatGateway",
- "classNodeId": "1131051184",
- "metadata": {
- "port": 0,
- "key": "removeChat",
- "message": "removeChat"
- },
- "id": "1131051184_remove"
- }
- ],
"1472486160": [
{
"type": "http-endpoint",
diff --git a/integration/inspector/e2e/graph-inspector.spec.ts b/integration/inspector/e2e/graph-inspector.spec.ts
index 9c02de6902c..7cfc489d25b 100644
--- a/integration/inspector/e2e/graph-inspector.spec.ts
+++ b/integration/inspector/e2e/graph-inspector.spec.ts
@@ -1,21 +1,21 @@
import { ValidationPipe } from '@nestjs/common';
-import { Injector } from '@nestjs/core/injector/injector';
-import { SerializedGraph } from '@nestjs/core/inspector/serialized-graph';
+import { Injector } from '@nestjs/core/injector/injector.js';
+import { SerializedGraph } from '@nestjs/core/inspector/serialized-graph.js';
import { MicroserviceOptions, Transport } from '@nestjs/microservices';
import { Test, TestingModule } from '@nestjs/testing';
-import { expect } from 'chai';
import { readFileSync } from 'fs';
import { join } from 'path';
-import * as sinon from 'sinon';
-import { AppModule } from '../src/app.module';
-import { HttpExceptionFilter } from '../src/common/filters/http-exception.filter';
-import { TimeoutInterceptor } from '../src/common/interceptors/timeout.interceptor';
+import { AppModule } from '../src/app.module.js';
+import { HttpExceptionFilter } from '../src/common/filters/http-exception.filter.js';
+import { TimeoutInterceptor } from '../src/common/interceptors/timeout.interceptor.js';
describe('Graph inspector', () => {
let testingModule: TestingModule;
- before(async () => {
- sinon.stub(Injector.prototype as any, 'getNowTimestamp').callsFake(() => 0);
+ beforeAll(async () => {
+ vi.spyOn(Injector.prototype as any, 'getNowTimestamp').mockImplementation(
+ () => 0,
+ );
testingModule = await Test.createTestingModule({
imports: [AppModule],
@@ -27,16 +27,16 @@ describe('Graph inspector', () => {
// Update snapshot:
// writeFileSync(
- // join(__dirname, 'fixtures', 'pre-init-graph.json'),
+ // join(import.meta.dirname, 'fixtures', 'pre-init-graph.json'),
// graph.toString(),
// );
const snapshot = readFileSync(
- join(__dirname, 'fixtures', 'pre-init-graph.json'),
+ join(import.meta.dirname, 'fixtures', 'pre-init-graph.json'),
'utf-8',
);
- expect(JSON.parse(graph.toString())).to.deep.equal(JSON.parse(snapshot));
+ expect(JSON.parse(graph.toString())).toEqual(JSON.parse(snapshot));
});
it('should generate a post-initialization graph and match snapshot', async () => {
@@ -55,15 +55,15 @@ describe('Graph inspector', () => {
// Update snapshot:
// writeFileSync(
- // join(__dirname, 'fixtures', 'post-init-graph.json'),
+ // join(import.meta.dirname, 'fixtures', 'post-init-graph.json'),
// graph.toString(),
// );
const snapshot = readFileSync(
- join(__dirname, 'fixtures', 'post-init-graph.json'),
+ join(import.meta.dirname, 'fixtures', 'post-init-graph.json'),
'utf-8',
);
- expect(graph.toString()).to.equal(snapshot);
+ expect(graph.toString()).toBe(snapshot);
});
});
diff --git a/integration/inspector/src/app.module.ts b/integration/inspector/src/app.module.ts
index 1d395b9bf45..8d07f9f7133 100644
--- a/integration/inspector/src/app.module.ts
+++ b/integration/inspector/src/app.module.ts
@@ -1,19 +1,19 @@
import { Module, Scope } from '@nestjs/common';
-import { AppV1Controller } from './app-v1.controller';
-import { AppV2Controller } from './app-v2.controller';
-import { CatsModule } from './cats/cats.module';
-import { ChatModule } from './chat/chat.module';
-import { HelloModule as CircularHelloModule } from './circular-hello/hello.module';
-import { HelloService } from './circular-hello/hello.service';
-import { InputModule } from './circular-modules/input.module';
-import { CoreModule } from './core/core.module';
-import { DatabaseModule } from './database/database.module';
-import { DogsModule } from './dogs/dogs.module';
-import { DurableModule } from './durable/durable.module';
-import { ExternalSvcModule } from './external-svc/external-svc.module';
-import { PropertiesModule } from './properties/properties.module';
-import { RequestChainModule } from './request-chain/request-chain.module';
-import { UsersModule } from './users/users.module';
+import { AppV1Controller } from './app-v1.controller.js';
+import { AppV2Controller } from './app-v2.controller.js';
+import { CatsModule } from './cats/cats.module.js';
+import { ChatModule } from './chat/chat.module.js';
+import { HelloModule as CircularHelloModule } from './circular-hello/hello.module.js';
+import { HelloService } from './circular-hello/hello.service.js';
+import { InputModule } from './circular-modules/input.module.js';
+import { CoreModule } from './core/core.module.js';
+import { DatabaseModule } from './database/database.module.js';
+import { DogsModule } from './dogs/dogs.module.js';
+import { DurableModule } from './durable/durable.module.js';
+import { ExternalSvcModule } from './external-svc/external-svc.module.js';
+import { PropertiesModule } from './properties/properties.module.js';
+import { RequestChainModule } from './request-chain/request-chain.module.js';
+import { UsersModule } from './users/users.module.js';
class Meta {
static COUNTER = 0;
diff --git a/integration/inspector/src/cats/cats.controller.ts b/integration/inspector/src/cats/cats.controller.ts
index b9f929a21e0..2e1b27c0970 100644
--- a/integration/inspector/src/cats/cats.controller.ts
+++ b/integration/inspector/src/cats/cats.controller.ts
@@ -1,9 +1,9 @@
import { Body, Controller, Get, Param, Post, UseGuards } from '@nestjs/common';
-import { RolesGuard } from '../common/guards/roles.guard';
-import { ParseIntPipe } from '../common/pipes/parse-int.pipe';
-import { CatsService } from './cats.service';
-import { CreateCatDto } from './dto/create-cat.dto';
-import { Cat } from './interfaces/cat.interface';
+import { RolesGuard } from '../common/guards/roles.guard.js';
+import { ParseIntPipe } from '../common/pipes/parse-int.pipe.js';
+import { CatsService } from './cats.service.js';
+import { CreateCatDto } from './dto/create-cat.dto.js';
+import { Cat } from './interfaces/cat.interface.js';
@UseGuards(RolesGuard)
@Controller('cats')
diff --git a/integration/inspector/src/cats/cats.module.ts b/integration/inspector/src/cats/cats.module.ts
index f3291c7d11e..14b21cd9f14 100644
--- a/integration/inspector/src/cats/cats.module.ts
+++ b/integration/inspector/src/cats/cats.module.ts
@@ -1,6 +1,6 @@
import { Module } from '@nestjs/common';
-import { CatsController } from './cats.controller';
-import { CatsService } from './cats.service';
+import { CatsController } from './cats.controller.js';
+import { CatsService } from './cats.service.js';
@Module({
controllers: [CatsController],
diff --git a/integration/inspector/src/cats/cats.service.ts b/integration/inspector/src/cats/cats.service.ts
index 2619cd7176d..dc5f51e15ec 100644
--- a/integration/inspector/src/cats/cats.service.ts
+++ b/integration/inspector/src/cats/cats.service.ts
@@ -1,5 +1,5 @@
import { Injectable } from '@nestjs/common';
-import { Cat } from './interfaces/cat.interface';
+import { Cat } from './interfaces/cat.interface.js';
@Injectable()
export class CatsService {
diff --git a/integration/inspector/src/chat/chat.gateway.ts b/integration/inspector/src/chat/chat.gateway.ts
index 75e6c7c28d3..cdbd5315579 100644
--- a/integration/inspector/src/chat/chat.gateway.ts
+++ b/integration/inspector/src/chat/chat.gateway.ts
@@ -3,9 +3,9 @@ import {
SubscribeMessage,
MessageBody,
} from '@nestjs/websockets';
-import { ChatService } from './chat.service';
-import { CreateChatDto } from './dto/create-chat.dto';
-import { UpdateChatDto } from './dto/update-chat.dto';
+import { ChatService } from './chat.service.js';
+import { CreateChatDto } from './dto/create-chat.dto.js';
+import { UpdateChatDto } from './dto/update-chat.dto.js';
@WebSocketGateway()
export class ChatGateway {
diff --git a/integration/inspector/src/chat/chat.module.ts b/integration/inspector/src/chat/chat.module.ts
index d3ad301f587..4a267e1923b 100644
--- a/integration/inspector/src/chat/chat.module.ts
+++ b/integration/inspector/src/chat/chat.module.ts
@@ -1,6 +1,6 @@
import { Module } from '@nestjs/common';
-import { ChatService } from './chat.service';
-import { ChatGateway } from './chat.gateway';
+import { ChatService } from './chat.service.js';
+import { ChatGateway } from './chat.gateway.js';
@Module({
providers: [ChatGateway, ChatService],
diff --git a/integration/inspector/src/chat/chat.service.ts b/integration/inspector/src/chat/chat.service.ts
index 1fa0676de00..711f6f7ce32 100644
--- a/integration/inspector/src/chat/chat.service.ts
+++ b/integration/inspector/src/chat/chat.service.ts
@@ -1,6 +1,6 @@
import { Injectable } from '@nestjs/common';
-import { CreateChatDto } from './dto/create-chat.dto';
-import { UpdateChatDto } from './dto/update-chat.dto';
+import { CreateChatDto } from './dto/create-chat.dto.js';
+import { UpdateChatDto } from './dto/update-chat.dto.js';
@Injectable()
export class ChatService {
diff --git a/integration/inspector/src/chat/dto/update-chat.dto.ts b/integration/inspector/src/chat/dto/update-chat.dto.ts
index 0a372f66617..6fd98b4c594 100644
--- a/integration/inspector/src/chat/dto/update-chat.dto.ts
+++ b/integration/inspector/src/chat/dto/update-chat.dto.ts
@@ -1,5 +1,5 @@
import { PartialType } from '@nestjs/mapped-types';
-import { CreateChatDto } from './create-chat.dto';
+import { CreateChatDto } from './create-chat.dto.js';
export class UpdateChatDto extends PartialType(CreateChatDto) {
id: number;
diff --git a/integration/inspector/src/circular-hello/hello.controller.ts b/integration/inspector/src/circular-hello/hello.controller.ts
index 5b4af7bf215..94d20f26cf3 100644
--- a/integration/inspector/src/circular-hello/hello.controller.ts
+++ b/integration/inspector/src/circular-hello/hello.controller.ts
@@ -5,11 +5,11 @@ import {
UseGuards,
UseInterceptors,
} from '@nestjs/common';
-import { Guard } from './guards/request-scoped.guard';
-import { HelloService } from './hello.service';
-import { Interceptor } from './interceptors/logging.interceptor';
-import { UserByIdPipe } from './users/user-by-id.pipe';
-import { UsersService } from './users/users.service';
+import { Guard } from './guards/request-scoped.guard.js';
+import { HelloService } from './hello.service.js';
+import { Interceptor } from './interceptors/logging.interceptor.js';
+import { UserByIdPipe } from './users/user-by-id.pipe.js';
+import { UsersService } from './users/users.service.js';
@Controller('hello')
export class HelloController {
diff --git a/integration/inspector/src/circular-hello/hello.module.ts b/integration/inspector/src/circular-hello/hello.module.ts
index 1a0d0bbfd7c..c0dc1995c66 100644
--- a/integration/inspector/src/circular-hello/hello.module.ts
+++ b/integration/inspector/src/circular-hello/hello.module.ts
@@ -1,7 +1,7 @@
import { DynamicModule, Inject, Module, Provider } from '@nestjs/common';
-import { HelloController } from './hello.controller';
-import { HelloService } from './hello.service';
-import { UsersService } from './users/users.service';
+import { HelloController } from './hello.controller.js';
+import { HelloService } from './hello.service.js';
+import { UsersService } from './users/users.service.js';
@Module({
controllers: [HelloController],
diff --git a/integration/inspector/src/circular-hello/users/user-by-id.pipe.ts b/integration/inspector/src/circular-hello/users/user-by-id.pipe.ts
index 2b81cb6fbb5..b63f924559f 100644
--- a/integration/inspector/src/circular-hello/users/user-by-id.pipe.ts
+++ b/integration/inspector/src/circular-hello/users/user-by-id.pipe.ts
@@ -1,5 +1,5 @@
import { ArgumentMetadata, Injectable, PipeTransform } from '@nestjs/common';
-import { UsersService } from './users.service';
+import { UsersService } from './users.service.js';
@Injectable()
export class UserByIdPipe implements PipeTransform {
diff --git a/integration/inspector/src/circular-modules/circular.module.ts b/integration/inspector/src/circular-modules/circular.module.ts
index bb6afb42a38..6eac28bfd3b 100644
--- a/integration/inspector/src/circular-modules/circular.module.ts
+++ b/integration/inspector/src/circular-modules/circular.module.ts
@@ -1,6 +1,6 @@
import { Module, forwardRef } from '@nestjs/common';
-import { CircularService } from './circular.service';
-import { InputModule } from './input.module';
+import { CircularService } from './circular.service.js';
+import { InputModule } from './input.module.js';
@Module({
imports: [forwardRef(() => InputModule)],
diff --git a/integration/inspector/src/circular-modules/circular.service.ts b/integration/inspector/src/circular-modules/circular.service.ts
index 546d63e6eab..4aee1a2bf40 100644
--- a/integration/inspector/src/circular-modules/circular.service.ts
+++ b/integration/inspector/src/circular-modules/circular.service.ts
@@ -1,5 +1,5 @@
import { Injectable, forwardRef, Inject } from '@nestjs/common';
-import { InputService } from './input.service';
+import { InputService } from './input.service.js';
@Injectable()
export class CircularService {
diff --git a/integration/inspector/src/circular-modules/input.module.ts b/integration/inspector/src/circular-modules/input.module.ts
index c76dcaa85ec..3766b298767 100644
--- a/integration/inspector/src/circular-modules/input.module.ts
+++ b/integration/inspector/src/circular-modules/input.module.ts
@@ -1,6 +1,6 @@
import { Module, forwardRef } from '@nestjs/common';
-import { CircularModule } from './circular.module';
-import { InputService } from './input.service';
+import { CircularModule } from './circular.module.js';
+import { InputService } from './input.service.js';
@Module({
imports: [forwardRef(() => CircularModule)],
diff --git a/integration/inspector/src/circular-modules/input.service.ts b/integration/inspector/src/circular-modules/input.service.ts
index 342e8bf0d0f..56dc82c99dc 100644
--- a/integration/inspector/src/circular-modules/input.service.ts
+++ b/integration/inspector/src/circular-modules/input.service.ts
@@ -1,5 +1,5 @@
import { Injectable, Inject, forwardRef } from '@nestjs/common';
-import { CircularService } from './circular.service';
+import { CircularService } from './circular.service.js';
@Injectable()
export class InputService {
diff --git a/integration/inspector/src/core/core.module.ts b/integration/inspector/src/core/core.module.ts
index 5bc1990b1c0..c489ebacf49 100644
--- a/integration/inspector/src/core/core.module.ts
+++ b/integration/inspector/src/core/core.module.ts
@@ -1,9 +1,9 @@
import { MiddlewareConsumer, Module, NestModule } from '@nestjs/common';
import { APP_INTERCEPTOR } from '@nestjs/core';
-import { CatsController } from '../cats/cats.controller';
-import { LoggerMiddleware } from '../common/middleware/logger.middleware';
-import { LoggingInterceptor } from './interceptors/logging.interceptor';
-import { TransformInterceptor } from './interceptors/transform.interceptor';
+import { CatsController } from '../cats/cats.controller.js';
+import { LoggerMiddleware } from '../common/middleware/logger.middleware.js';
+import { LoggingInterceptor } from './interceptors/logging.interceptor.js';
+import { TransformInterceptor } from './interceptors/transform.interceptor.js';
@Module({
providers: [
diff --git a/integration/inspector/src/database/database.controller.ts b/integration/inspector/src/database/database.controller.ts
index 629762ae0b7..c474a78396e 100644
--- a/integration/inspector/src/database/database.controller.ts
+++ b/integration/inspector/src/database/database.controller.ts
@@ -7,9 +7,9 @@ import {
Param,
Delete,
} from '@nestjs/common';
-import { DatabaseService } from './database.service';
-import { CreateDatabaseDto } from './dto/create-database.dto';
-import { UpdateDatabaseDto } from './dto/update-database.dto';
+import { DatabaseService } from './database.service.js';
+import { CreateDatabaseDto } from './dto/create-database.dto.js';
+import { UpdateDatabaseDto } from './dto/update-database.dto.js';
@Controller('database')
export class DatabaseController {
diff --git a/integration/inspector/src/database/database.module.ts b/integration/inspector/src/database/database.module.ts
index 2f37f674b74..6d45e0900d0 100644
--- a/integration/inspector/src/database/database.module.ts
+++ b/integration/inspector/src/database/database.module.ts
@@ -1,6 +1,6 @@
import { Module } from '@nestjs/common';
-import { DatabaseService } from './database.service';
-import { DatabaseController } from './database.controller';
+import { DatabaseService } from './database.service.js';
+import { DatabaseController } from './database.controller.js';
@Module({
controllers: [DatabaseController],
diff --git a/integration/inspector/src/database/database.service.ts b/integration/inspector/src/database/database.service.ts
index 84566789511..e55638f1814 100644
--- a/integration/inspector/src/database/database.service.ts
+++ b/integration/inspector/src/database/database.service.ts
@@ -1,6 +1,6 @@
import { Injectable } from '@nestjs/common';
-import { CreateDatabaseDto } from './dto/create-database.dto';
-import { UpdateDatabaseDto } from './dto/update-database.dto';
+import { CreateDatabaseDto } from './dto/create-database.dto.js';
+import { UpdateDatabaseDto } from './dto/update-database.dto.js';
@Injectable()
export class DatabaseService {
diff --git a/integration/inspector/src/database/dto/update-database.dto.ts b/integration/inspector/src/database/dto/update-database.dto.ts
index 5cc66666510..01350102d55 100644
--- a/integration/inspector/src/database/dto/update-database.dto.ts
+++ b/integration/inspector/src/database/dto/update-database.dto.ts
@@ -1,4 +1,4 @@
import { PartialType } from '@nestjs/mapped-types';
-import { CreateDatabaseDto } from './create-database.dto';
+import { CreateDatabaseDto } from './create-database.dto.js';
export class UpdateDatabaseDto extends PartialType(CreateDatabaseDto) {}
diff --git a/integration/inspector/src/defaults/defaults.module.ts b/integration/inspector/src/defaults/defaults.module.ts
index f8a7ddb9f59..504561615a1 100644
--- a/integration/inspector/src/defaults/defaults.module.ts
+++ b/integration/inspector/src/defaults/defaults.module.ts
@@ -1,5 +1,5 @@
import { Module } from '@nestjs/common';
-import { DefaultsService } from './defaults.service';
+import { DefaultsService } from './defaults.service.js';
@Module({
providers: [DefaultsService],
diff --git a/integration/inspector/src/defaults/defaults.service.ts b/integration/inspector/src/defaults/defaults.service.ts
index edc4790f1b1..6a9a51fd587 100644
--- a/integration/inspector/src/defaults/defaults.service.ts
+++ b/integration/inspector/src/defaults/defaults.service.ts
@@ -1,5 +1,5 @@
import { Inject, Injectable, Optional } from '@nestjs/common';
-import { CoreService } from './core.service';
+import { CoreService } from './core.service.js';
@Injectable()
export class DefaultsService {
diff --git a/integration/inspector/src/dogs/dogs.controller.ts b/integration/inspector/src/dogs/dogs.controller.ts
index 8d5ab7d8ab9..79f2244469c 100644
--- a/integration/inspector/src/dogs/dogs.controller.ts
+++ b/integration/inspector/src/dogs/dogs.controller.ts
@@ -7,9 +7,9 @@ import {
Param,
Delete,
} from '@nestjs/common';
-import { DogsService } from './dogs.service';
-import { CreateDogDto } from './dto/create-dog.dto';
-import { UpdateDogDto } from './dto/update-dog.dto';
+import { DogsService } from './dogs.service.js';
+import { CreateDogDto } from './dto/create-dog.dto.js';
+import { UpdateDogDto } from './dto/update-dog.dto.js';
@Controller('dogs')
export class DogsController {
diff --git a/integration/inspector/src/dogs/dogs.module.ts b/integration/inspector/src/dogs/dogs.module.ts
index 3385a39e303..c1da22cc2bd 100644
--- a/integration/inspector/src/dogs/dogs.module.ts
+++ b/integration/inspector/src/dogs/dogs.module.ts
@@ -1,6 +1,6 @@
import { Module } from '@nestjs/common';
-import { DogsService } from './dogs.service';
-import { DogsController } from './dogs.controller';
+import { DogsService } from './dogs.service.js';
+import { DogsController } from './dogs.controller.js';
@Module({
controllers: [DogsController],
diff --git a/integration/inspector/src/dogs/dogs.service.ts b/integration/inspector/src/dogs/dogs.service.ts
index f1f2d93474c..3993bc49f5a 100644
--- a/integration/inspector/src/dogs/dogs.service.ts
+++ b/integration/inspector/src/dogs/dogs.service.ts
@@ -1,6 +1,6 @@
import { Injectable } from '@nestjs/common';
-import { CreateDogDto } from './dto/create-dog.dto';
-import { UpdateDogDto } from './dto/update-dog.dto';
+import { CreateDogDto } from './dto/create-dog.dto.js';
+import { UpdateDogDto } from './dto/update-dog.dto.js';
@Injectable()
export class DogsService {
diff --git a/integration/inspector/src/dogs/dto/update-dog.dto.ts b/integration/inspector/src/dogs/dto/update-dog.dto.ts
index 15d4939c8c4..fbd24ed0ab8 100644
--- a/integration/inspector/src/dogs/dto/update-dog.dto.ts
+++ b/integration/inspector/src/dogs/dto/update-dog.dto.ts
@@ -1,4 +1,4 @@
import { PartialType } from '@nestjs/mapped-types';
-import { CreateDogDto } from './create-dog.dto';
+import { CreateDogDto } from './create-dog.dto.js';
export class UpdateDogDto extends PartialType(CreateDogDto) {}
diff --git a/integration/inspector/src/durable/durable.controller.ts b/integration/inspector/src/durable/durable.controller.ts
index be51ad2dfea..7a59f6905e3 100644
--- a/integration/inspector/src/durable/durable.controller.ts
+++ b/integration/inspector/src/durable/durable.controller.ts
@@ -1,5 +1,5 @@
import { Controller, Get } from '@nestjs/common';
-import { DurableService } from './durable.service';
+import { DurableService } from './durable.service.js';
@Controller('durable')
export class DurableController {
diff --git a/integration/inspector/src/durable/durable.module.ts b/integration/inspector/src/durable/durable.module.ts
index ed312900f28..a7939600c52 100644
--- a/integration/inspector/src/durable/durable.module.ts
+++ b/integration/inspector/src/durable/durable.module.ts
@@ -1,6 +1,6 @@
import { Module } from '@nestjs/common';
-import { DurableController } from './durable.controller';
-import { DurableService } from './durable.service';
+import { DurableController } from './durable.controller.js';
+import { DurableService } from './durable.service.js';
@Module({
controllers: [DurableController],
diff --git a/integration/inspector/src/external-svc/dto/update-external-svc.dto.ts b/integration/inspector/src/external-svc/dto/update-external-svc.dto.ts
index 95be362d9ec..de5938cc5a2 100644
--- a/integration/inspector/src/external-svc/dto/update-external-svc.dto.ts
+++ b/integration/inspector/src/external-svc/dto/update-external-svc.dto.ts
@@ -1,5 +1,5 @@
import { PartialType } from '@nestjs/mapped-types';
-import { CreateExternalSvcDto } from './create-external-svc.dto';
+import { CreateExternalSvcDto } from './create-external-svc.dto.js';
export class UpdateExternalSvcDto extends PartialType(CreateExternalSvcDto) {
id: number;
diff --git a/integration/inspector/src/external-svc/external-svc.controller.ts b/integration/inspector/src/external-svc/external-svc.controller.ts
index e1e9e224748..58fda87a696 100644
--- a/integration/inspector/src/external-svc/external-svc.controller.ts
+++ b/integration/inspector/src/external-svc/external-svc.controller.ts
@@ -1,8 +1,8 @@
import { Controller } from '@nestjs/common';
import { MessagePattern, Payload } from '@nestjs/microservices';
-import { CreateExternalSvcDto } from './dto/create-external-svc.dto';
-import { UpdateExternalSvcDto } from './dto/update-external-svc.dto';
-import { ExternalSvcService } from './external-svc.service';
+import { CreateExternalSvcDto } from './dto/create-external-svc.dto.js';
+import { UpdateExternalSvcDto } from './dto/update-external-svc.dto.js';
+import { ExternalSvcService } from './external-svc.service.js';
@Controller()
export class ExternalSvcController {
diff --git a/integration/inspector/src/external-svc/external-svc.module.ts b/integration/inspector/src/external-svc/external-svc.module.ts
index f4b57fc02c3..4ea43e85c7f 100644
--- a/integration/inspector/src/external-svc/external-svc.module.ts
+++ b/integration/inspector/src/external-svc/external-svc.module.ts
@@ -1,6 +1,6 @@
import { Module } from '@nestjs/common';
-import { ExternalSvcService } from './external-svc.service';
-import { ExternalSvcController } from './external-svc.controller';
+import { ExternalSvcService } from './external-svc.service.js';
+import { ExternalSvcController } from './external-svc.controller.js';
@Module({
controllers: [ExternalSvcController],
diff --git a/integration/inspector/src/external-svc/external-svc.service.ts b/integration/inspector/src/external-svc/external-svc.service.ts
index 9620630c2fd..b8b48567d8a 100644
--- a/integration/inspector/src/external-svc/external-svc.service.ts
+++ b/integration/inspector/src/external-svc/external-svc.service.ts
@@ -1,6 +1,6 @@
import { Injectable } from '@nestjs/common';
-import { CreateExternalSvcDto } from './dto/create-external-svc.dto';
-import { UpdateExternalSvcDto } from './dto/update-external-svc.dto';
+import { CreateExternalSvcDto } from './dto/create-external-svc.dto.js';
+import { UpdateExternalSvcDto } from './dto/update-external-svc.dto.js';
@Injectable()
export class ExternalSvcService {
diff --git a/integration/inspector/src/properties/properties.module.ts b/integration/inspector/src/properties/properties.module.ts
index b2ad36ff3b4..a9ab6d24105 100644
--- a/integration/inspector/src/properties/properties.module.ts
+++ b/integration/inspector/src/properties/properties.module.ts
@@ -1,6 +1,6 @@
import { Module } from '@nestjs/common';
-import { DependencyService } from './dependency.service';
-import { PropertiesService, SYMBOL_TOKEN } from './properties.service';
+import { DependencyService } from './dependency.service.js';
+import { PropertiesService, SYMBOL_TOKEN } from './properties.service.js';
@Module({
providers: [
diff --git a/integration/inspector/src/properties/properties.service.ts b/integration/inspector/src/properties/properties.service.ts
index cd450752440..4211b828647 100644
--- a/integration/inspector/src/properties/properties.service.ts
+++ b/integration/inspector/src/properties/properties.service.ts
@@ -1,5 +1,5 @@
import { Inject, Injectable } from '@nestjs/common';
-import { DependencyService } from './dependency.service';
+import { DependencyService } from './dependency.service.js';
export const SYMBOL_TOKEN = Symbol('token');
diff --git a/integration/inspector/src/request-chain/helper/helper.module.ts b/integration/inspector/src/request-chain/helper/helper.module.ts
index 1c154ea44cb..fa31021e32d 100644
--- a/integration/inspector/src/request-chain/helper/helper.module.ts
+++ b/integration/inspector/src/request-chain/helper/helper.module.ts
@@ -1,5 +1,5 @@
import { Module } from '@nestjs/common';
-import { HelperService } from './helper.service';
+import { HelperService } from './helper.service.js';
@Module({
providers: [HelperService],
diff --git a/integration/inspector/src/request-chain/interceptors/logging.interceptor.ts b/integration/inspector/src/request-chain/interceptors/logging.interceptor.ts
index 008a6999373..17c83c7e82d 100644
--- a/integration/inspector/src/request-chain/interceptors/logging.interceptor.ts
+++ b/integration/inspector/src/request-chain/interceptors/logging.interceptor.ts
@@ -5,7 +5,7 @@ import {
NestInterceptor,
} from '@nestjs/common';
import { Observable } from 'rxjs';
-import { HelperService } from '../helper/helper.service';
+import { HelperService } from '../helper/helper.service.js';
@Injectable()
export class LoggingInterceptor implements NestInterceptor {
diff --git a/integration/inspector/src/request-chain/request-chain.controller.ts b/integration/inspector/src/request-chain/request-chain.controller.ts
index 03813352ddb..f6b22f1caef 100644
--- a/integration/inspector/src/request-chain/request-chain.controller.ts
+++ b/integration/inspector/src/request-chain/request-chain.controller.ts
@@ -1,6 +1,6 @@
import { Controller, Get, UseInterceptors } from '@nestjs/common';
-import { LoggingInterceptor } from './interceptors/logging.interceptor';
-import { RequestChainService } from './request-chain.service';
+import { LoggingInterceptor } from './interceptors/logging.interceptor.js';
+import { RequestChainService } from './request-chain.service.js';
@Controller('hello')
export class RequestChainController {
diff --git a/integration/inspector/src/request-chain/request-chain.module.ts b/integration/inspector/src/request-chain/request-chain.module.ts
index eba8f451d9f..e5478eef781 100644
--- a/integration/inspector/src/request-chain/request-chain.module.ts
+++ b/integration/inspector/src/request-chain/request-chain.module.ts
@@ -1,7 +1,7 @@
import { Module } from '@nestjs/common';
-import { HelperModule } from './helper/helper.module';
-import { RequestChainController } from './request-chain.controller';
-import { RequestChainService } from './request-chain.service';
+import { HelperModule } from './helper/helper.module.js';
+import { RequestChainController } from './request-chain.controller.js';
+import { RequestChainService } from './request-chain.service.js';
@Module({
imports: [HelperModule],
diff --git a/integration/inspector/src/request-chain/request-chain.service.ts b/integration/inspector/src/request-chain/request-chain.service.ts
index c8c00068d3f..bf526aa498f 100644
--- a/integration/inspector/src/request-chain/request-chain.service.ts
+++ b/integration/inspector/src/request-chain/request-chain.service.ts
@@ -1,5 +1,5 @@
import { Injectable } from '@nestjs/common';
-import { HelperService } from './helper/helper.service';
+import { HelperService } from './helper/helper.service.js';
@Injectable()
export class RequestChainService {
diff --git a/integration/inspector/src/users/dto/update-user.dto.ts b/integration/inspector/src/users/dto/update-user.dto.ts
index dfd37fb1edb..912cdc528b4 100644
--- a/integration/inspector/src/users/dto/update-user.dto.ts
+++ b/integration/inspector/src/users/dto/update-user.dto.ts
@@ -1,4 +1,4 @@
import { PartialType } from '@nestjs/mapped-types';
-import { CreateUserDto } from './create-user.dto';
+import { CreateUserDto } from './create-user.dto.js';
export class UpdateUserDto extends PartialType(CreateUserDto) {}
diff --git a/integration/inspector/src/users/users.controller.ts b/integration/inspector/src/users/users.controller.ts
index d5db3a65e56..435e5438ee7 100644
--- a/integration/inspector/src/users/users.controller.ts
+++ b/integration/inspector/src/users/users.controller.ts
@@ -7,9 +7,9 @@ import {
Param,
Delete,
} from '@nestjs/common';
-import { UsersService } from './users.service';
-import { CreateUserDto } from './dto/create-user.dto';
-import { UpdateUserDto } from './dto/update-user.dto';
+import { UsersService } from './users.service.js';
+import { CreateUserDto } from './dto/create-user.dto.js';
+import { UpdateUserDto } from './dto/update-user.dto.js';
@Controller('users')
export class UsersController {
diff --git a/integration/inspector/src/users/users.module.ts b/integration/inspector/src/users/users.module.ts
index ecca17ad64b..f7b0c0f955c 100644
--- a/integration/inspector/src/users/users.module.ts
+++ b/integration/inspector/src/users/users.module.ts
@@ -1,6 +1,6 @@
import { Module } from '@nestjs/common';
-import { UsersService } from './users.service';
-import { UsersController } from './users.controller';
+import { UsersService } from './users.service.js';
+import { UsersController } from './users.controller.js';
@Module({
controllers: [UsersController],
diff --git a/integration/inspector/src/users/users.service.ts b/integration/inspector/src/users/users.service.ts
index 0a55903da13..a27a61a12e9 100644
--- a/integration/inspector/src/users/users.service.ts
+++ b/integration/inspector/src/users/users.service.ts
@@ -1,6 +1,6 @@
import { Injectable } from '@nestjs/common';
-import { CreateUserDto } from './dto/create-user.dto';
-import { UpdateUserDto } from './dto/update-user.dto';
+import { CreateUserDto } from './dto/create-user.dto.js';
+import { UpdateUserDto } from './dto/update-user.dto.js';
@Injectable()
export class UsersService {
diff --git a/integration/inspector/tsconfig.json b/integration/inspector/tsconfig.json
index 4a0f01e0ec4..aa1164082cc 100644
--- a/integration/inspector/tsconfig.json
+++ b/integration/inspector/tsconfig.json
@@ -1,13 +1,15 @@
{
"compilerOptions": {
+ "types": ["vitest/globals"],
"module": "commonjs",
"declaration": false,
"noImplicitAny": false,
"removeComments": true,
"noLib": false,
+ "esModuleInterop": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
- "target": "ES2021",
+ "target": "ES2023",
"sourceMap": true,
"allowJs": true,
"strictNullChecks": true,
diff --git a/integration/lazy-modules/e2e/lazy-import-global-modules.spec.ts b/integration/lazy-modules/e2e/lazy-import-global-modules.spec.ts
index 7bb41fb4e54..b23e5ccb9df 100644
--- a/integration/lazy-modules/e2e/lazy-import-global-modules.spec.ts
+++ b/integration/lazy-modules/e2e/lazy-import-global-modules.spec.ts
@@ -1,10 +1,6 @@
import { INestApplication } from '@nestjs/common';
import { Test } from '@nestjs/testing';
-import * as chai from 'chai';
-import { expect } from 'chai';
-import { AppModule } from '../src/app.module';
-import chaiAsPromised = require('chai-as-promised');
-chai.use(chaiAsPromised);
+import { AppModule } from '../src/app.module.js';
describe('Lazy imports', () => {
let app: INestApplication;
@@ -18,7 +14,7 @@ describe('Lazy imports', () => {
});
it(`should allow imports of global modules`, async () => {
- await expect(app.init()).to.eventually.be.fulfilled;
+ await expect(app.init()).resolves.toBeDefined();
});
afterEach(async () => {
diff --git a/integration/lazy-modules/e2e/lazy-import-request-providers.spec.ts b/integration/lazy-modules/e2e/lazy-import-request-providers.spec.ts
index a437cf7413a..a79e24ee0c9 100644
--- a/integration/lazy-modules/e2e/lazy-import-request-providers.spec.ts
+++ b/integration/lazy-modules/e2e/lazy-import-request-providers.spec.ts
@@ -1,8 +1,7 @@
import { INestApplication } from '@nestjs/common';
import { Test } from '@nestjs/testing';
-import { expect } from 'chai';
-import * as request from 'supertest';
-import { LazyController } from '../src/lazy.controller';
+import request from 'supertest';
+import { LazyController } from '../src/lazy.controller.js';
describe('Lazy Requested Scoped providers', () => {
let app: INestApplication;
@@ -19,12 +18,16 @@ describe('Lazy Requested Scoped providers', () => {
it('should not recreate dependencies for default scope', async () => {
const resultOne = await request(app.getHttpServer()).get('/lazy/request');
- expect(resultOne.text).to.be.equal('Hi! Counter is 1');
- expect(resultOne.statusCode).to.be.equal(200);
+ expect(resultOne.text).toBe('Hi! Counter is 1');
+ expect(resultOne.statusCode).toBe(200);
const resultTwo = await request(app.getHttpServer()).get('/lazy/request');
- expect(resultTwo.text).to.be.equal('Hi! Counter is 2');
- expect(resultTwo.statusCode).to.be.equal(200);
+ expect(resultTwo.text).toBe('Hi! Counter is 2');
+ expect(resultTwo.statusCode).toBe(200);
+ });
+
+ afterEach(async () => {
+ await app.close();
});
});
diff --git a/integration/lazy-modules/e2e/lazy-import-transient-providers.spec.ts b/integration/lazy-modules/e2e/lazy-import-transient-providers.spec.ts
index ce34a3347a6..2dd7bd137b4 100644
--- a/integration/lazy-modules/e2e/lazy-import-transient-providers.spec.ts
+++ b/integration/lazy-modules/e2e/lazy-import-transient-providers.spec.ts
@@ -1,10 +1,7 @@
import { INestApplication } from '@nestjs/common';
import { Test } from '@nestjs/testing';
-import { TransientLazyModule } from '../src/transient.module';
-import { LazyController } from '../src/lazy.controller';
-import * as chai from 'chai';
-import { expect } from 'chai';
-import * as request from 'supertest';
+import request from 'supertest';
+import { LazyController } from '../src/lazy.controller.js';
describe('Lazy Transient providers', () => {
let app: INestApplication;
@@ -23,10 +20,14 @@ describe('Lazy Transient providers', () => {
const resultTwo = await request(app.getHttpServer()).get('/lazy/transient');
- expect(resultOne.text).to.be.equal('Hi! Counter is 1');
- expect(resultOne.statusCode).to.be.equal(200);
+ expect(resultOne.text).toBe('Hi! Counter is 1');
+ expect(resultOne.statusCode).toBe(200);
- expect(resultTwo.text).to.be.equal('Hi! Counter is 2');
- expect(resultTwo.statusCode).to.be.equal(200);
+ expect(resultTwo.text).toBe('Hi! Counter is 2');
+ expect(resultTwo.statusCode).toBe(200);
+ });
+
+ afterEach(async () => {
+ await app.close();
});
});
diff --git a/integration/lazy-modules/src/app.module.ts b/integration/lazy-modules/src/app.module.ts
index 65d38dadcc9..53def0bb2eb 100644
--- a/integration/lazy-modules/src/app.module.ts
+++ b/integration/lazy-modules/src/app.module.ts
@@ -1,8 +1,8 @@
import { Module } from '@nestjs/common';
import { LazyModuleLoader } from '@nestjs/core';
-import { EagerModule } from './eager.module';
-import { GlobalModule } from './global.module';
-import { LazyModule } from './lazy.module';
+import { EagerModule } from './eager.module.js';
+import { GlobalModule } from './global.module.js';
+import { LazyModule } from './lazy.module.js';
@Module({
imports: [GlobalModule, EagerModule],
diff --git a/integration/lazy-modules/src/eager.module.ts b/integration/lazy-modules/src/eager.module.ts
index b71af8e79bc..98892ca627a 100644
--- a/integration/lazy-modules/src/eager.module.ts
+++ b/integration/lazy-modules/src/eager.module.ts
@@ -1,5 +1,5 @@
-import { Injectable, Module } from '@nestjs/common';
-import { GlobalService } from './global.module';
+import { Module, Injectable } from '@nestjs/common';
+import { GlobalService } from './global.module.js';
@Injectable()
export class EagerService {
diff --git a/integration/lazy-modules/src/lazy.controller.ts b/integration/lazy-modules/src/lazy.controller.ts
index 45ab41bcf49..d70fb2a9c85 100644
--- a/integration/lazy-modules/src/lazy.controller.ts
+++ b/integration/lazy-modules/src/lazy.controller.ts
@@ -7,20 +7,20 @@ export class LazyController {
@Get('transient')
async exec() {
- const { TransientLazyModule } = await import('./transient.module');
+ const { TransientLazyModule } = await import('./transient.module.js');
const moduleRef = await this.lazyLoadModule.load(() => TransientLazyModule);
- const { TransientService } = await import('./transient.service');
+ const { TransientService } = await import('./transient.service.js');
const _service = await moduleRef.resolve(TransientService);
return _service.eager();
}
@Get('request')
async execRequestScope() {
- const { RequestLazyModule } = await import('./request.module');
+ const { RequestLazyModule } = await import('./request.module.js');
const moduleRef = await this.lazyLoadModule.load(() => RequestLazyModule);
- const { RequestService } = await import('./request.service');
+ const { RequestService } = await import('./request.service.js');
const _service = await moduleRef.resolve(RequestService);
return _service.eager();
diff --git a/integration/lazy-modules/src/lazy.module.ts b/integration/lazy-modules/src/lazy.module.ts
index 69c056435e1..631b926a12e 100644
--- a/integration/lazy-modules/src/lazy.module.ts
+++ b/integration/lazy-modules/src/lazy.module.ts
@@ -1,5 +1,5 @@
import { Module, Injectable } from '@nestjs/common';
-import { GlobalService } from './global.module';
+import { GlobalService } from './global.module.js';
@Injectable()
export class LazyService {
diff --git a/integration/lazy-modules/src/main.ts b/integration/lazy-modules/src/main.ts
index 23f3240c271..2061a1ced07 100644
--- a/integration/lazy-modules/src/main.ts
+++ b/integration/lazy-modules/src/main.ts
@@ -1,5 +1,5 @@
import { NestFactory } from '@nestjs/core';
-import { AppModule } from './app.module';
+import { AppModule } from './app.module.js';
async function bootstrap() {
const app = await NestFactory.create(AppModule);
diff --git a/integration/lazy-modules/src/request.module.ts b/integration/lazy-modules/src/request.module.ts
index 8cd549fced3..fae44cb8af9 100644
--- a/integration/lazy-modules/src/request.module.ts
+++ b/integration/lazy-modules/src/request.module.ts
@@ -1,7 +1,7 @@
import { Module } from '@nestjs/common';
-import { EagerService } from './eager.module';
-import { GlobalService } from './global.module';
-import { RequestService } from './request.service';
+import { EagerService } from './eager.module.js';
+import { GlobalService } from './global.module.js';
+import { RequestService } from './request.service.js';
@Module({
imports: [],
diff --git a/integration/lazy-modules/src/request.service.ts b/integration/lazy-modules/src/request.service.ts
index 846b542c8cd..61bd018575d 100644
--- a/integration/lazy-modules/src/request.service.ts
+++ b/integration/lazy-modules/src/request.service.ts
@@ -1,5 +1,5 @@
import { Injectable, Scope } from '@nestjs/common';
-import { EagerService } from './eager.module';
+import { EagerService } from './eager.module.js';
@Injectable({ scope: Scope.REQUEST })
export class RequestService {
diff --git a/integration/lazy-modules/src/transient.module.ts b/integration/lazy-modules/src/transient.module.ts
index b76a686fec9..c0d509ce002 100644
--- a/integration/lazy-modules/src/transient.module.ts
+++ b/integration/lazy-modules/src/transient.module.ts
@@ -1,7 +1,7 @@
import { Module } from '@nestjs/common';
-import { GlobalService } from './global.module';
-import { EagerService } from './eager.module';
-import { TransientService } from './transient.service';
+import { GlobalService } from './global.module.js';
+import { EagerService } from './eager.module.js';
+import { TransientService } from './transient.service.js';
@Module({
imports: [],
diff --git a/integration/lazy-modules/src/transient.service.ts b/integration/lazy-modules/src/transient.service.ts
index fca76322860..e8585006ba8 100644
--- a/integration/lazy-modules/src/transient.service.ts
+++ b/integration/lazy-modules/src/transient.service.ts
@@ -1,5 +1,5 @@
import { Injectable, Scope } from '@nestjs/common';
-import { EagerService } from './eager.module';
+import { EagerService } from './eager.module.js';
@Injectable({ scope: Scope.TRANSIENT })
export class TransientService {
diff --git a/integration/lazy-modules/tsconfig.json b/integration/lazy-modules/tsconfig.json
index 4a0f01e0ec4..aa1164082cc 100644
--- a/integration/lazy-modules/tsconfig.json
+++ b/integration/lazy-modules/tsconfig.json
@@ -1,13 +1,15 @@
{
"compilerOptions": {
+ "types": ["vitest/globals"],
"module": "commonjs",
"declaration": false,
"noImplicitAny": false,
"removeComments": true,
"noLib": false,
+ "esModuleInterop": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
- "target": "ES2021",
+ "target": "ES2023",
"sourceMap": true,
"allowJs": true,
"strictNullChecks": true,
diff --git a/integration/microservices/e2e/binary-redis.spec.ts b/integration/microservices/e2e/binary-redis.spec.ts
index 558acd16247..ba8dc95ba76 100644
--- a/integration/microservices/e2e/binary-redis.spec.ts
+++ b/integration/microservices/e2e/binary-redis.spec.ts
@@ -7,7 +7,6 @@ import {
Transport,
} from '@nestjs/microservices';
import { Test } from '@nestjs/testing';
-import { expect } from 'chai';
import { lastValueFrom } from 'rxjs';
import Redis from 'ioredis';
@@ -86,8 +85,8 @@ describe('REDIS transport', () => {
it('should return a raw binary payload', async () => {
const data = await lastValueFrom(client.send('binary', 'data'));
- expect(Buffer.isBuffer(data)).to.be.true;
- expect(data).to.deep.equal(Buffer.from('data-replied'));
+ expect(Buffer.isBuffer(data)).toBe(true);
+ expect(data).toEqual(Buffer.from('data-replied'));
});
it('should route concurrent raw binary replies to the matching request', async () => {
@@ -95,16 +94,16 @@ describe('REDIS transport', () => {
lastValueFrom(client.send('binary', 'slow')),
lastValueFrom(client.send('binary', 'fast')),
]);
- expect(Buffer.isBuffer(slowResponse)).to.be.true;
- expect(Buffer.isBuffer(fastResponse)).to.be.true;
- expect(slowResponse).to.deep.equal(Buffer.from('slow-replied'));
- expect(fastResponse).to.deep.equal(Buffer.from('fast-replied'));
+ expect(Buffer.isBuffer(slowResponse)).toBe(true);
+ expect(Buffer.isBuffer(fastResponse)).toBe(true);
+ expect(slowResponse).toEqual(Buffer.from('slow-replied'));
+ expect(fastResponse).toEqual(Buffer.from('fast-replied'));
});
it('should preserve non-utf8 bytes in the raw binary payload', async () => {
const data = await lastValueFrom(client.send('binary', 'bytes'));
- expect(Buffer.isBuffer(data)).to.be.true;
- expect(data).to.deep.equal(Buffer.from([0, 1, 2, 3, 255]));
+ expect(Buffer.isBuffer(data)).toBe(true);
+ expect(data).toEqual(Buffer.from([0, 1, 2, 3, 255]));
});
afterEach(async () => {
diff --git a/integration/microservices/e2e/broadcast-mqtt.spec.ts b/integration/microservices/e2e/broadcast-mqtt.spec.ts
index 641bf442ae3..08e7f5a0b8e 100644
--- a/integration/microservices/e2e/broadcast-mqtt.spec.ts
+++ b/integration/microservices/e2e/broadcast-mqtt.spec.ts
@@ -1,8 +1,8 @@
import { INestApplication } from '@nestjs/common';
import { MicroserviceOptions, Transport } from '@nestjs/microservices';
import { Test } from '@nestjs/testing';
-import * as request from 'supertest';
-import { MqttBroadcastController } from '../src/mqtt/mqtt-broadcast.controller';
+import request from 'supertest';
+import { MqttBroadcastController } from '../src/mqtt/mqtt-broadcast.controller.js';
describe('MQTT transport', () => {
let server;
diff --git a/integration/microservices/e2e/broadcast-nats.spec.ts b/integration/microservices/e2e/broadcast-nats.spec.ts
index b8cf69b50ec..24c7c25dec5 100644
--- a/integration/microservices/e2e/broadcast-nats.spec.ts
+++ b/integration/microservices/e2e/broadcast-nats.spec.ts
@@ -1,8 +1,8 @@
import { INestApplication } from '@nestjs/common';
import { MicroserviceOptions, Transport } from '@nestjs/microservices';
import { Test } from '@nestjs/testing';
-import * as request from 'supertest';
-import { NatsBroadcastController } from '../src/nats/nats-broadcast.controller';
+import request from 'supertest';
+import { NatsBroadcastController } from '../src/nats/nats-broadcast.controller.js';
describe('NATS transport', () => {
let server;
diff --git a/integration/microservices/e2e/broadcast-redis.spec.ts b/integration/microservices/e2e/broadcast-redis.spec.ts
index 1cf8690ef41..dab143ad715 100644
--- a/integration/microservices/e2e/broadcast-redis.spec.ts
+++ b/integration/microservices/e2e/broadcast-redis.spec.ts
@@ -1,8 +1,8 @@
import { INestApplication } from '@nestjs/common';
import { MicroserviceOptions, Transport } from '@nestjs/microservices';
import { Test } from '@nestjs/testing';
-import * as request from 'supertest';
-import { RedisBroadcastController } from '../src/redis/redis-broadcast.controller';
+import request from 'supertest';
+import { RedisBroadcastController } from '../src/redis/redis-broadcast.controller.js';
describe('REDIS transport', () => {
let server;
diff --git a/integration/microservices/e2e/concurrent-kafka.spec.ts b/integration/microservices/e2e/concurrent-kafka.spec.ts
index 11dd0dbb733..e3fdc037267 100644
--- a/integration/microservices/e2e/concurrent-kafka.spec.ts
+++ b/integration/microservices/e2e/concurrent-kafka.spec.ts
@@ -2,10 +2,10 @@ import { INestApplication, Logger } from '@nestjs/common';
import { MicroserviceOptions, Transport } from '@nestjs/microservices';
import { Test } from '@nestjs/testing';
import { Admin, ITopicMetadata, Kafka } from 'kafkajs';
-import * as request from 'supertest';
+import request from 'supertest';
import * as util from 'util';
-import { KafkaConcurrentController } from '../src/kafka-concurrent/kafka-concurrent.controller';
-import { KafkaConcurrentMessagesController } from '../src/kafka-concurrent/kafka-concurrent.messages.controller';
+import { KafkaConcurrentController } from '../src/kafka-concurrent/kafka-concurrent.controller.js';
+import { KafkaConcurrentMessagesController } from '../src/kafka-concurrent/kafka-concurrent.messages.controller.js';
describe.skip('Kafka concurrent', function () {
const numbersOfServers = 3;
@@ -20,8 +20,6 @@ describe.skip('Kafka concurrent', function () {
const logger = new Logger('concurrent-kafka.spec.ts');
// set timeout to be longer (especially for the after hook)
- this.timeout(30000);
-
const startServer = async () => {
const module = await Test.createTestingModule({
controllers: [
@@ -162,7 +160,7 @@ describe.skip('Kafka concurrent', function () {
});
}),
);
- }).timeout(30000);
+ });
it(`Concurrent messages without forcing a rebalance.`, async () => {
// wait a second before notifying the servers to respond
@@ -280,7 +278,7 @@ describe.skip('Kafka concurrent', function () {
);
});
- after(`Stopping Kafka app`, async () => {
+ afterAll(async () => {
// close all concurrently
return Promise.all(
apps.map(async app => {
diff --git a/integration/microservices/e2e/disconnected-client.spec.ts b/integration/microservices/e2e/disconnected-client.spec.ts
index 706c2e05918..e61d34389ac 100644
--- a/integration/microservices/e2e/disconnected-client.spec.ts
+++ b/integration/microservices/e2e/disconnected-client.spec.ts
@@ -1,9 +1,9 @@
import { INestApplication } from '@nestjs/common';
import { Transport } from '@nestjs/microservices';
import { Test } from '@nestjs/testing';
-import * as request from 'supertest';
+import request from 'supertest';
import { App } from 'supertest/types';
-import { DisconnectedClientController } from '../src/disconnected.controller';
+import { DisconnectedClientController } from '../src/disconnected.controller.js';
describe('Disconnected client', () => {
let server: App;
diff --git a/integration/microservices/e2e/fanout-exchange-rmq.spec.ts b/integration/microservices/e2e/fanout-exchange-rmq.spec.ts
index 66b70178b4c..3cd5f967bfb 100644
--- a/integration/microservices/e2e/fanout-exchange-rmq.spec.ts
+++ b/integration/microservices/e2e/fanout-exchange-rmq.spec.ts
@@ -1,9 +1,9 @@
import { INestApplication, INestMicroservice } from '@nestjs/common';
import { MicroserviceOptions, Transport } from '@nestjs/microservices';
import { Test } from '@nestjs/testing';
-import * as request from 'supertest';
-import { RMQFanoutExchangeProducerController } from '../src/rmq/fanout-exchange-producer-rmq.controller';
-import { RMQFanoutExchangeConsumerController } from '../src/rmq/fanout-exchange-consumer-rmq.controller';
+import request from 'supertest';
+import { RMQFanoutExchangeProducerController } from '../src/rmq/fanout-exchange-producer-rmq.controller.js';
+import { RMQFanoutExchangeConsumerController } from '../src/rmq/fanout-exchange-consumer-rmq.controller.js';
describe('RabbitMQ transport (Fanout Exchange)', () => {
let server: any;
diff --git a/integration/microservices/e2e/math-grpc.spec.ts b/integration/microservices/e2e/math-grpc.spec.ts
index d951c56462a..fde6726e4f3 100644
--- a/integration/microservices/e2e/math-grpc.spec.ts
+++ b/integration/microservices/e2e/math-grpc.spec.ts
@@ -1,24 +1,23 @@
import * as GRPC from '@grpc/grpc-js';
import * as ProtoLoader from '@grpc/proto-loader';
import { INestApplication } from '@nestjs/common';
-import { MicroserviceOptions, Transport } from '@nestjs/microservices';
+import {
+ GrpcExceptionFilter,
+ MicroserviceOptions,
+ Transport,
+} from '@nestjs/microservices';
import { Test } from '@nestjs/testing';
import { fail } from 'assert';
-import { expect, use } from 'chai';
-import * as chaiAsPromised from 'chai-as-promised';
import { join } from 'path';
-import * as sinon from 'sinon';
-import * as request from 'supertest';
-import { GrpcController } from '../src/grpc/grpc.controller';
-
-use(chaiAsPromised);
+import request from 'supertest';
+import { GrpcController } from '../src/grpc/grpc.controller.js';
describe('GRPC transport', () => {
let server;
let app: INestApplication;
let client: any;
- before(async () => {
+ beforeAll(async () => {
const module = await Test.createTestingModule({
controllers: [GrpcController],
}).compile();
@@ -26,23 +25,27 @@ describe('GRPC transport', () => {
app = module.createNestApplication();
server = app.getHttpAdapter().getInstance();
- app.connectMicroservice({
- transport: Transport.GRPC,
- options: {
- package: ['math', 'math2'],
- protoPath: [
- join(__dirname, '../src/grpc/math.proto'),
- join(__dirname, '../src/grpc/math2.proto'),
- ],
+ app.useGlobalFilters(new GrpcExceptionFilter());
+ app.connectMicroservice(
+ {
+ transport: Transport.GRPC,
+ options: {
+ package: ['math', 'math2'],
+ protoPath: [
+ join(import.meta.dirname, '../src/grpc/math.proto'),
+ join(import.meta.dirname, '../src/grpc/math2.proto'),
+ ],
+ },
},
- });
+ { inheritAppConfig: true },
+ );
// Start gRPC microservice
await app.startAllMicroservices();
await app.init();
// Load proto-buffers for test gRPC dispatch
const proto = ProtoLoader.loadSync(
- join(__dirname, '../src/grpc/math.proto'),
+ join(import.meta.dirname, '../src/grpc/math.proto'),
) as any;
// Create Raw gRPC client object
const protoGRPC = GRPC.loadPackageDefinition(proto) as any;
@@ -77,6 +80,22 @@ describe('GRPC transport', () => {
.expect('true');
});
+ it('GRPC maps GrpcException to gRPC status code', async () => {
+ const call = new Promise((resolve, reject) => {
+ client.alreadyExists({}, (err: any) => {
+ if (err) {
+ reject(err);
+ return;
+ }
+ resolve();
+ });
+ });
+
+ await expect(call).rejects.toThrow(
+ '6 ALREADY_EXISTS: email already exists',
+ );
+ });
+
it(`GRPC Sending and Receiving HTTP POST (multiple proto)`, async () => {
await request(server)
.post('/multi/sum')
@@ -93,7 +112,7 @@ describe('GRPC transport', () => {
const callHandler = client.SumStream();
callHandler.on('data', (msg: number) => {
- expect(msg).to.eql({ result: 15 });
+ expect(msg).toEqual({ result: 15 });
callHandler.cancel();
});
@@ -115,7 +134,7 @@ describe('GRPC transport', () => {
const callHandler = client.SumStreamPass();
callHandler.on('data', (msg: number) => {
- expect(msg).to.eql({ result: 15 });
+ expect(msg).toEqual({ result: 15 });
callHandler.cancel();
});
@@ -133,15 +152,13 @@ describe('GRPC transport', () => {
});
});
- it(`GRPC with backpressure control`, async function () {
+ it(`GRPC with backpressure control`, async () => {
// This test hit the gRPC server with 1000 messages, but the server
// has to process large (> 1MB) messages, so it will definitely hit
// issues where writing to the stream needs to be paused until a drain
// event. Prior to this test, a bug existed where the server would
// send the incorrect number of messages due to improper backpressure
// handling that wrote messages more than once.
- this.timeout(30000);
-
const largeMessages = client.streamLargeMessages();
// [0, 1, 2, ..., 999]
const expectedIds = Array.from({ length: 1000 }, (_, n) => n);
@@ -151,16 +168,16 @@ describe('GRPC transport', () => {
receivedIds.push(msg.id);
});
- expect(receivedIds).to.deep.equal(expectedIds);
- });
+ expect(receivedIds).toEqual(expectedIds);
+ }, 30000);
describe('streaming calls that error', () => {
// We want to assert that the application does not crash when an error is encountered with an unhandledRejection
// the best way to do that is to listen for the unhandledRejection event and fail the test if it is called
- let processSpy: sinon.SinonSpy;
+ let processSpy: ReturnType;
beforeEach(() => {
- processSpy = sinon.spy();
+ processSpy = vi.fn();
process.on('unhandledRejection', processSpy);
});
@@ -189,16 +206,16 @@ describe('GRPC transport', () => {
});
});
- await expect(call).to.eventually.be.rejectedWith(
+ await expect(call).rejects.toThrow(
'3 INVALID_ARGUMENT: dividing by 0 is not possible',
);
// if this fails the application has crashed
- expect(processSpy.called).to.be.false;
+ expect(processSpy).not.toHaveBeenCalled();
});
});
- after(async () => {
+ afterAll(async () => {
await app.close();
});
});
diff --git a/integration/microservices/e2e/mqtt-record-builder.spec.ts b/integration/microservices/e2e/mqtt-record-builder.spec.ts
index 94d57d5bef6..3ebd93f4dbd 100644
--- a/integration/microservices/e2e/mqtt-record-builder.spec.ts
+++ b/integration/microservices/e2e/mqtt-record-builder.spec.ts
@@ -1,8 +1,8 @@
import { INestApplication } from '@nestjs/common';
import { MicroserviceOptions, Transport } from '@nestjs/microservices';
import { Test } from '@nestjs/testing';
-import * as request from 'supertest';
-import { MqttController } from '../src/mqtt/mqtt.controller';
+import request from 'supertest';
+import { MqttController } from '../src/mqtt/mqtt.controller.js';
describe('MQTT transport', () => {
let server;
diff --git a/integration/microservices/e2e/orders-grpc.spec.ts b/integration/microservices/e2e/orders-grpc.spec.ts
index e34864f91e2..daf6e43f082 100644
--- a/integration/microservices/e2e/orders-grpc.spec.ts
+++ b/integration/microservices/e2e/orders-grpc.spec.ts
@@ -5,18 +5,17 @@ import { MicroserviceOptions, Transport } from '@nestjs/microservices';
import { ExpressAdapter } from '@nestjs/platform-express';
import { Test } from '@nestjs/testing';
import { fail } from 'assert';
-import { expect } from 'chai';
-import * as express from 'express';
+import express from 'express';
import { join } from 'path';
-import * as request from 'supertest';
-import { AdvancedGrpcController } from '../src/grpc-advanced/advanced.grpc.controller';
+import request from 'supertest';
+import { AdvancedGrpcController } from '../src/grpc-advanced/advanced.grpc.controller.js';
describe('Advanced GRPC transport', () => {
let server;
let app: INestApplication;
let client: any;
- before(async () => {
+ beforeAll(async () => {
const module = await Test.createTestingModule({
controllers: [AdvancedGrpcController],
}).compile();
@@ -33,7 +32,9 @@ describe('Advanced GRPC transport', () => {
package: 'proto_example',
protoPath: 'root.proto',
loader: {
- includeDirs: [join(__dirname, '../src/grpc-advanced/proto')],
+ includeDirs: [
+ join(import.meta.dirname, '../src/grpc-advanced/proto'),
+ ],
keepCase: true,
},
},
@@ -43,7 +44,7 @@ describe('Advanced GRPC transport', () => {
await app.init();
// Load proto-buffers for test gRPC dispatch
const proto = ProtoLoader.loadSync('root.proto', {
- includeDirs: [join(__dirname, '../src/grpc-advanced/proto')],
+ includeDirs: [join(import.meta.dirname, '../src/grpc-advanced/proto')],
}) as any;
// Create Raw gRPC client object
const protoGRPC = GRPC.loadPackageDefinition(proto) as any;
@@ -93,8 +94,8 @@ describe('Advanced GRPC transport', () => {
},
(err, result) => {
// Compare results
- expect(err).to.be.null;
- expect(result).to.eql({
+ expect(err).toBeNull();
+ expect(result).toEqual({
id: 1,
itemTypes: [1],
shipmentType: {
@@ -115,12 +116,12 @@ describe('Advanced GRPC transport', () => {
// Get Set-Cookie from Metadata
callHandler.on('metadata', (metadata: GRPC.Metadata) => {
- expect(metadata.get('Set-Cookie')[0]).to.eq('test_cookie=abcd');
+ expect(metadata.get('Set-Cookie')[0]).toBe('test_cookie=abcd');
});
callHandler.on('data', (msg: number) => {
// Do deep comparison (to.eql)
- expect(msg).to.eql({
+ expect(msg).toEqual({
id: 1,
itemTypes: [1],
shipmentType: {
@@ -152,7 +153,7 @@ describe('Advanced GRPC transport', () => {
callHandler.on('data', (msg: number) => {
// Do deep comparison (to.eql)
- expect(msg).to.eql({
+ expect(msg).toEqual({
id: 1,
itemTypes: [1],
shipmentType: {
@@ -184,7 +185,7 @@ describe('Advanced GRPC transport', () => {
if (err) {
throw err;
}
- expect(res).to.eql({
+ expect(res).toEqual({
id: 1,
itemTypes: [1],
shipmentType: {
@@ -208,7 +209,7 @@ describe('Advanced GRPC transport', () => {
if (err) {
throw err;
}
- expect(res).to.eql({
+ expect(res).toEqual({
id: 1,
itemTypes: [1],
shipmentType: {
diff --git a/integration/microservices/e2e/sum-kafka.spec.ts b/integration/microservices/e2e/sum-kafka.spec.ts
index 945210f87e8..9613021d71d 100644
--- a/integration/microservices/e2e/sum-kafka.spec.ts
+++ b/integration/microservices/e2e/sum-kafka.spec.ts
@@ -1,13 +1,12 @@
import { INestApplication } from '@nestjs/common';
import { MicroserviceOptions, Transport } from '@nestjs/microservices';
import { Test } from '@nestjs/testing';
-import { expect } from 'chai';
-import * as request from 'supertest';
-import { BusinessDto } from '../src/kafka/dtos/business.dto';
-import { UserDto } from '../src/kafka/dtos/user.dto';
-import { UserEntity } from '../src/kafka/entities/user.entity';
-import { KafkaController } from '../src/kafka/kafka.controller';
-import { KafkaMessagesController } from '../src/kafka/kafka.messages.controller';
+import request from 'supertest';
+import { BusinessDto } from '../src/kafka/dtos/business.dto.js';
+import { UserDto } from '../src/kafka/dtos/user.dto.js';
+import { UserEntity } from '../src/kafka/entities/user.entity.js';
+import { KafkaController } from '../src/kafka/kafka.controller.js';
+import { KafkaMessagesController } from '../src/kafka/kafka.messages.controller.js';
/**
* Skip this flaky test in CI/CD pipeline as it frequently
@@ -18,10 +17,7 @@ describe.skip('Kafka transport', function () {
let app: INestApplication;
// set timeout to be longer (especially for the after hook)
- this.timeout(50000);
- this.retries(10);
-
- before(`Start Kafka app`, async function () {
+ beforeAll(async () => {
const module = await Test.createTestingModule({
controllers: [KafkaController, KafkaMessagesController],
}).compile();
@@ -90,18 +86,27 @@ describe.skip('Kafka transport', function () {
.expect(200, '15');
});
- it(`/POST (async event notification)`, done => {
- void request(server)
- .post('/notify')
- .send()
- .end(() => {
- setTimeout(() => {
- expect(KafkaController.IS_NOTIFIED).to.be.true;
- done();
- }, 1000);
- });
+ it(`/POST (sync sum regexp message pattern)`, () => {
+ return request(server)
+ .post('/mathSumSyncRegex')
+ .send([1, 2, 3, 4, 5])
+ .expect(200)
+ .expect(200, '15');
});
+ it(`/POST (async event notification)`, () =>
+ new Promise(done => {
+ void request(server)
+ .post('/notify')
+ .send()
+ .end(() => {
+ setTimeout(() => {
+ expect(KafkaController.IS_NOTIFIED).toBe(true);
+ done();
+ }, 1000);
+ });
+ }));
+
const userDto: UserDto = {
email: 'enriquebenavidesm@gmail.com',
name: 'Ben',
@@ -132,7 +137,7 @@ describe.skip('Kafka transport', function () {
await Promise.all(promises);
});
- after(`Stopping Kafka app`, async () => {
+ afterAll(async () => {
await app.close();
});
});
diff --git a/integration/microservices/e2e/sum-mqtt.spec.ts b/integration/microservices/e2e/sum-mqtt.spec.ts
index d1a457bcd41..525d5036d15 100644
--- a/integration/microservices/e2e/sum-mqtt.spec.ts
+++ b/integration/microservices/e2e/sum-mqtt.spec.ts
@@ -1,9 +1,8 @@
import { INestApplication } from '@nestjs/common';
import { MicroserviceOptions, Transport } from '@nestjs/microservices';
import { Test } from '@nestjs/testing';
-import { expect } from 'chai';
-import * as request from 'supertest';
-import { MqttController } from '../src/mqtt/mqtt.controller';
+import request from 'supertest';
+import { MqttController } from '../src/mqtt/mqtt.controller.js';
describe('MQTT transport', () => {
let server;
@@ -47,7 +46,7 @@ describe('MQTT transport', () => {
.post('/?command=streamSum')
.send([1, 2, 3, 4, 5])
.expect(200, '15');
- }).timeout(5000);
+ });
it(`/POST (concurrent)`, function () {
return request(server)
@@ -65,38 +64,40 @@ describe('MQTT transport', () => {
Array.from({ length: 10 }, (v, k) => k + 91),
])
.expect(200, 'true');
- }).timeout(5000);
+ });
it(`/POST (streaming)`, () => {
return request(server)
.post('/stream')
.send([1, 2, 3, 4, 5])
.expect(200, '15');
- }).timeout(5000);
-
- it(`/POST (event notification)`, done => {
- void request(server)
- .post('/notify')
- .send([1, 2, 3, 4, 5])
- .end(() => {
- setTimeout(() => {
- expect(MqttController.IS_NOTIFIED).to.be.true;
- done();
- }, 1000);
- });
});
- it(`/POST (wildcard EVENT #)`, done => {
- void request(server)
- .post('/wildcard-event')
- .send([1, 2, 3, 4, 5])
- .end(() => {
- setTimeout(() => {
- expect(MqttController.IS_WILDCARD_EVENT_RECEIVED).to.be.true;
- done();
- }, 1000);
- });
- });
+ it(`/POST (event notification)`, () =>
+ new Promise(done => {
+ void request(server)
+ .post('/notify')
+ .send([1, 2, 3, 4, 5])
+ .end(() => {
+ setTimeout(() => {
+ expect(MqttController.IS_NOTIFIED).toBe(true);
+ done();
+ }, 1000);
+ });
+ }));
+
+ it(`/POST (wildcard EVENT #)`, () =>
+ new Promise(done => {
+ void request(server)
+ .post('/wildcard-event')
+ .send([1, 2, 3, 4, 5])
+ .end(() => {
+ setTimeout(() => {
+ expect(MqttController.IS_WILDCARD_EVENT_RECEIVED).toBe(true);
+ done();
+ }, 1000);
+ });
+ }));
it(`/POST (wildcard MESSAGE #)`, () => {
return request(server)
@@ -105,17 +106,18 @@ describe('MQTT transport', () => {
.expect(201, '15');
});
- it(`/POST (wildcard EVENT +)`, done => {
- void request(server)
- .post('/wildcard-event2')
- .send([1, 2, 3, 4, 5])
- .end(() => {
- setTimeout(() => {
- expect(MqttController.IS_WILDCARD2_EVENT_RECEIVED).to.be.true;
- done();
- }, 1000);
- });
- });
+ it(`/POST (wildcard EVENT +)`, () =>
+ new Promise(done => {
+ void request(server)
+ .post('/wildcard-event2')
+ .send([1, 2, 3, 4, 5])
+ .end(() => {
+ setTimeout(() => {
+ expect(MqttController.IS_WILDCARD2_EVENT_RECEIVED).toBe(true);
+ done();
+ }, 1000);
+ });
+ }));
it(`/POST (wildcard MESSAGE +)`, () => {
return request(server)
@@ -124,17 +126,18 @@ describe('MQTT transport', () => {
.expect(201, '15');
});
- it(`/POST (shared wildcard EVENT #)`, done => {
- void request(server)
- .post('/shared-wildcard-event')
- .send([1, 2, 3, 4, 5])
- .end(() => {
- setTimeout(() => {
- expect(MqttController.IS_SHARED_WILDCARD_EVENT_RECEIVED).to.be.true;
- done();
- }, 1000);
- });
- });
+ it(`/POST (shared wildcard EVENT #)`, () =>
+ new Promise(done => {
+ void request(server)
+ .post('/shared-wildcard-event')
+ .send([1, 2, 3, 4, 5])
+ .end(() => {
+ setTimeout(() => {
+ expect(MqttController.IS_SHARED_WILDCARD_EVENT_RECEIVED).toBe(true);
+ done();
+ }, 1000);
+ });
+ }));
it(`/POST (shared wildcard MESSAGE #)`, () => {
return request(server)
@@ -143,17 +146,20 @@ describe('MQTT transport', () => {
.expect(201, '15');
});
- it(`/POST (shared wildcard EVENT +)`, done => {
- void request(server)
- .post('/shared-wildcard-event2')
- .send([1, 2, 3, 4, 5])
- .end(() => {
- setTimeout(() => {
- expect(MqttController.IS_SHARED_WILDCARD2_EVENT_RECEIVED).to.be.true;
- done();
- }, 1000);
- });
- });
+ it(`/POST (shared wildcard EVENT +)`, () =>
+ new Promise(done => {
+ void request(server)
+ .post('/shared-wildcard-event2')
+ .send([1, 2, 3, 4, 5])
+ .end(() => {
+ setTimeout(() => {
+ expect(MqttController.IS_SHARED_WILDCARD2_EVENT_RECEIVED).toBe(
+ true,
+ );
+ done();
+ }, 1000);
+ });
+ }));
it(`/POST (shared wildcard MESSAGE +)`, () => {
return request(server)
diff --git a/integration/microservices/e2e/sum-nats.spec.ts b/integration/microservices/e2e/sum-nats.spec.ts
index 99c8548edf1..939430d6773 100644
--- a/integration/microservices/e2e/sum-nats.spec.ts
+++ b/integration/microservices/e2e/sum-nats.spec.ts
@@ -1,10 +1,9 @@
import { INestApplication } from '@nestjs/common';
import { MicroserviceOptions, Transport } from '@nestjs/microservices';
import { Test } from '@nestjs/testing';
-import { expect } from 'chai';
-import * as request from 'supertest';
-import { NatsController } from '../src/nats/nats.controller';
-import { NatsService } from '../src/nats/nats.service';
+import request from 'supertest';
+import { NatsController } from '../src/nats/nats.controller.js';
+import { NatsService } from '../src/nats/nats.service.js';
describe('NATS transport', () => {
let server;
@@ -83,18 +82,19 @@ describe('NATS transport', () => {
});
});
- it(`/POST (event notification)`, done => {
- void request(server)
- .post('/notify')
- .send([1, 2, 3, 4, 5])
- .end(() => {
- setTimeout(() => {
- expect(NatsController.IS_NOTIFIED).to.be.true;
- expect(NatsController.IS_NOTIFIED2).to.be.true;
- done();
- }, 1000);
- });
- });
+ it(`/POST (event notification)`, () =>
+ new Promise(done => {
+ void request(server)
+ .post('/notify')
+ .send([1, 2, 3, 4, 5])
+ .end(() => {
+ setTimeout(() => {
+ expect(NatsController.IS_NOTIFIED).toBe(true);
+ expect(NatsController.IS_NOTIFIED2).toBe(true);
+ done();
+ }, 1000);
+ });
+ }));
it(`/POST (sending headers with "RecordBuilder")`, () => {
const payload = { items: [1, 2, 3] };
diff --git a/integration/microservices/e2e/sum-redis.spec.ts b/integration/microservices/e2e/sum-redis.spec.ts
index 246c2e2709d..201cc8f8e89 100644
--- a/integration/microservices/e2e/sum-redis.spec.ts
+++ b/integration/microservices/e2e/sum-redis.spec.ts
@@ -1,9 +1,8 @@
import { INestApplication } from '@nestjs/common';
import { MicroserviceOptions, Transport } from '@nestjs/microservices';
import { Test } from '@nestjs/testing';
-import { expect } from 'chai';
-import * as request from 'supertest';
-import { RedisController } from '../src/redis/redis.controller';
+import request from 'supertest';
+import { RedisController } from '../src/redis/redis.controller.js';
describe('REDIS transport', () => {
let server;
@@ -51,8 +50,6 @@ describe('REDIS transport', () => {
});
it(`/POST (concurrent)`, function () {
- this.retries(10);
-
return request(server)
.post('/concurrent')
.send([
@@ -68,7 +65,7 @@ describe('REDIS transport', () => {
Array.from({ length: 10 }, (v, k) => k + 91),
])
.expect(200, 'true');
- }).timeout(5000);
+ });
it(`/POST (streaming)`, () => {
return request(server)
@@ -77,17 +74,18 @@ describe('REDIS transport', () => {
.expect(200, '15');
});
- it(`/POST (event notification)`, done => {
- void request(server)
- .post('/notify')
- .send([1, 2, 3, 4, 5])
- .end(() => {
- setTimeout(() => {
- expect(RedisController.IS_NOTIFIED).to.be.true;
- done();
- }, 1000);
- });
- });
+ it(`/POST (event notification)`, () =>
+ new Promise(done => {
+ void request(server)
+ .post('/notify')
+ .send([1, 2, 3, 4, 5])
+ .end(() => {
+ setTimeout(() => {
+ expect(RedisController.IS_NOTIFIED).toBe(true);
+ done();
+ }, 1000);
+ });
+ }));
afterEach(async () => {
await app.close();
diff --git a/integration/microservices/e2e/sum-rmq.spec.ts b/integration/microservices/e2e/sum-rmq.spec.ts
index c3533e68894..ff9ebdf7385 100644
--- a/integration/microservices/e2e/sum-rmq.spec.ts
+++ b/integration/microservices/e2e/sum-rmq.spec.ts
@@ -1,9 +1,8 @@
import { INestApplication } from '@nestjs/common';
import { MicroserviceOptions, Transport } from '@nestjs/microservices';
import { Test } from '@nestjs/testing';
-import { expect } from 'chai';
-import * as request from 'supertest';
-import { RMQController } from '../src/rmq/rmq.controller';
+import request from 'supertest';
+import { RMQController } from '../src/rmq/rmq.controller.js';
describe('RabbitMQ transport', () => {
let server;
@@ -82,20 +81,21 @@ describe('RabbitMQ transport', () => {
.post('/multiple-urls')
.send([1, 2, 3, 4, 5])
.expect(200, '15');
- }).timeout(10000);
-
- it(`/POST (event notification)`, done => {
- void request(server)
- .post('/notify')
- .send([1, 2, 3, 4, 5])
- .end(() => {
- setTimeout(() => {
- expect(RMQController.IS_NOTIFIED).to.be.true;
- done();
- }, 1000);
- });
});
+ it(`/POST (event notification)`, () =>
+ new Promise(done => {
+ void request(server)
+ .post('/notify')
+ .send([1, 2, 3, 4, 5])
+ .end(() => {
+ setTimeout(() => {
+ expect(RMQController.IS_NOTIFIED).toBe(true);
+ done();
+ }, 1000);
+ });
+ }));
+
it(`/POST (sending options with "RecordBuilder")`, () => {
const payload = { items: [1, 2, 3] };
return request(server)
diff --git a/integration/microservices/e2e/sum-rpc-async.spec.ts b/integration/microservices/e2e/sum-rpc-async.spec.ts
index f6ead5b2485..998b8b3976c 100644
--- a/integration/microservices/e2e/sum-rpc-async.spec.ts
+++ b/integration/microservices/e2e/sum-rpc-async.spec.ts
@@ -15,7 +15,6 @@ import {
TcpOptions,
Transport,
} from '@nestjs/microservices';
-import { expect } from 'chai';
let port: number;
@@ -80,17 +79,18 @@ describe('RPC Async transport', () => {
client = app.get('RPC_CLIENT', { strict: false });
});
- it(`/POST`, done => {
- let retData = 0;
- client.send({ cmd: 'sum' }, [1, 2, 3, 4, 5]).subscribe({
- next: val => (retData += val),
- error: done,
- complete: () => {
- expect(retData).to.eq(15);
- done();
- },
- });
- });
+ it(`/POST`, () =>
+ new Promise(done => {
+ let retData = 0;
+ client.send({ cmd: 'sum' }, [1, 2, 3, 4, 5]).subscribe({
+ next: val => (retData += val),
+ error: done,
+ complete: () => {
+ expect(retData).toBe(15);
+ done();
+ },
+ });
+ }));
afterEach(async () => {
await app.close();
diff --git a/integration/microservices/e2e/sum-rpc-tls.spec.ts b/integration/microservices/e2e/sum-rpc-tls.spec.ts
index 91c31626d00..f8179cd020e 100644
--- a/integration/microservices/e2e/sum-rpc-tls.spec.ts
+++ b/integration/microservices/e2e/sum-rpc-tls.spec.ts
@@ -1,12 +1,11 @@
import { INestApplication } from '@nestjs/common';
import { Transport } from '@nestjs/microservices';
import { Test } from '@nestjs/testing';
-import { expect } from 'chai';
import * as fs from 'fs';
import * as path from 'path';
-import * as request from 'supertest';
-import { AppController } from '../src/tcp-tls/app.controller';
-import { ApplicationModule } from '../src/tcp-tls/app.module';
+import request from 'supertest';
+import { AppController } from '../src/tcp-tls/app.controller.js';
+import { ApplicationModule } from '../src/tcp-tls/app.module.js';
describe('RPC TLS transport', () => {
let server;
@@ -14,13 +13,19 @@ describe('RPC TLS transport', () => {
let key: string;
let cert: string;
- before(() => {
+ beforeAll(() => {
// Generate a self-signed key pair
key = fs
- .readFileSync(path.join(__dirname, '../src/tcp-tls/privkey.pem'), 'utf8')
+ .readFileSync(
+ path.join(import.meta.dirname, '../src/tcp-tls/privkey.pem'),
+ 'utf8',
+ )
.toString();
cert = fs
- .readFileSync(path.join(__dirname, '../src/tcp-tls/ca.cert.pem'), 'utf8')
+ .readFileSync(
+ path.join(import.meta.dirname, '../src/tcp-tls/ca.cert.pem'),
+ 'utf8',
+ )
.toString();
});
@@ -108,17 +113,18 @@ describe('RPC TLS transport', () => {
return request(server).post('/?command=test').expect(500);
});
- it(`/POST (event notification)`, done => {
- void request(server)
- .post('/notify')
- .send([1, 2, 3, 4, 5])
- .end(() => {
- setTimeout(() => {
- expect(AppController.IS_NOTIFIED).to.be.true;
- done();
- }, 1000);
- });
- });
+ it(`/POST (event notification)`, () =>
+ new Promise(done => {
+ void request(server)
+ .post('/notify')
+ .send([1, 2, 3, 4, 5])
+ .end(() => {
+ setTimeout(() => {
+ expect(AppController.IS_NOTIFIED).toBe(true);
+ done();
+ }, 1000);
+ });
+ }));
it('/POST (custom client)', () => {
return request(server)
diff --git a/integration/microservices/e2e/sum-rpc.spec.ts b/integration/microservices/e2e/sum-rpc.spec.ts
index 8e98fdceb4f..a39ed6d7377 100644
--- a/integration/microservices/e2e/sum-rpc.spec.ts
+++ b/integration/microservices/e2e/sum-rpc.spec.ts
@@ -1,10 +1,9 @@
import { INestApplication } from '@nestjs/common';
import { MicroserviceOptions, Transport } from '@nestjs/microservices';
import { Test } from '@nestjs/testing';
-import { expect } from 'chai';
-import * as request from 'supertest';
-import { AppController } from '../src/app.controller';
-import { AppModule } from '../src/app.module';
+import request from 'supertest';
+import { AppController } from '../src/app.controller.js';
+import { AppModule } from '../src/app.module.js';
describe('RPC transport', () => {
let server;
@@ -93,17 +92,18 @@ describe('RPC transport', () => {
return request(server).post('/?command=test').expect(500);
});
- it(`/POST (event notification)`, done => {
- void request(server)
- .post('/notify')
- .send([1, 2, 3, 4, 5])
- .end(() => {
- setTimeout(() => {
- expect(AppController.IS_NOTIFIED).to.be.true;
- done();
- }, 1000);
- });
- });
+ it(`/POST (event notification)`, () =>
+ new Promise(done => {
+ void request(server)
+ .post('/notify')
+ .send([1, 2, 3, 4, 5])
+ .end(() => {
+ setTimeout(() => {
+ expect(AppController.IS_NOTIFIED).toBe(true);
+ done();
+ }, 1000);
+ });
+ }));
it('/POST (custom client)', () => {
return request(server)
diff --git a/integration/microservices/e2e/tcp-json-socket-pipeline.spec.ts b/integration/microservices/e2e/tcp-json-socket-pipeline.spec.ts
index 11ff79eea65..9e6105ecbb3 100644
--- a/integration/microservices/e2e/tcp-json-socket-pipeline.spec.ts
+++ b/integration/microservices/e2e/tcp-json-socket-pipeline.spec.ts
@@ -12,7 +12,6 @@ import {
Transport,
} from '@nestjs/microservices';
import { Test } from '@nestjs/testing';
-import { expect } from 'chai';
import * as net from 'net';
@Controller()
@@ -80,9 +79,7 @@ describe('TCP pipelined frames – stack-overflow regression (CVE fix)', () => {
await app.close();
});
- it('server remains responsive after receiving a 12_000-frame pipelined burst', async function () {
- // NestJS bootstrap + processing 12_000 frames needs more than the 2 s default.
- this.timeout(15_000);
+ it('server remains responsive after receiving a 12_000-frame pipelined burst', async () => {
/**
* Each `2#{}` frame is a valid JsonSocket event frame (payload `{}`, length
* 2 characters). The server treats it as a fire-and-forget event (no `id`
@@ -102,7 +99,7 @@ describe('TCP pipelined frames – stack-overflow regression (CVE fix)', () => {
id: 'integration-test-ping',
});
- expect(pingFrame).to.equal(`${pingPayload.length}#${pingPayload}`);
+ expect(pingFrame).toBe(`${pingPayload.length}#${pingPayload}`);
await new Promise((resolve, reject) => {
let rawBuf = '';
@@ -140,11 +137,8 @@ describe('TCP pipelined frames – stack-overflow regression (CVE fix)', () => {
if (pong) {
clearTimeout(timeout);
try {
- expect(pong['response']).to.equal(
- 'pong',
- 'Expected pong response payload',
- );
- expect(pong['err']).to.be.undefined;
+ expect(pong['response']).toBe('pong');
+ expect(pong['err']).toBeUndefined();
done();
} catch (e) {
done(e as Error);
@@ -161,5 +155,5 @@ describe('TCP pipelined frames – stack-overflow regression (CVE fix)', () => {
socket.write(combined);
});
});
- });
+ }, 15_000);
});
diff --git a/integration/microservices/e2e/topic-exchange-rmq.spec.ts b/integration/microservices/e2e/topic-exchange-rmq.spec.ts
index 67738850192..5ec03597d1d 100644
--- a/integration/microservices/e2e/topic-exchange-rmq.spec.ts
+++ b/integration/microservices/e2e/topic-exchange-rmq.spec.ts
@@ -1,8 +1,8 @@
import { INestApplication } from '@nestjs/common';
import { MicroserviceOptions, Transport } from '@nestjs/microservices';
import { Test } from '@nestjs/testing';
-import * as request from 'supertest';
-import { RMQTopicExchangeController } from '../src/rmq/topic-exchange-rmq.controller';
+import request from 'supertest';
+import { RMQTopicExchangeController } from '../src/rmq/topic-exchange-rmq.controller.js';
describe('RabbitMQ transport (Topic Exchange - wildcards)', () => {
let server: any;
diff --git a/integration/microservices/src/app.module.ts b/integration/microservices/src/app.module.ts
index dacf646e45e..3100e7f28f4 100644
--- a/integration/microservices/src/app.module.ts
+++ b/integration/microservices/src/app.module.ts
@@ -1,5 +1,5 @@
import { Module, Injectable } from '@nestjs/common';
-import { AppController } from './app.controller';
+import { AppController } from './app.controller.js';
import {
ClientsModule,
Transport,
diff --git a/integration/microservices/src/disconnected.controller.ts b/integration/microservices/src/disconnected.controller.ts
index fed84ce6f55..ebf8005631f 100644
--- a/integration/microservices/src/disconnected.controller.ts
+++ b/integration/microservices/src/disconnected.controller.ts
@@ -26,7 +26,8 @@ export class DisconnectedClientController {
code === 'CONN_ERR' ||
code === 'ENOTFOUND' ||
code === 'CONNECTION_REFUSED' ||
- error.message.includes('Connection is closed.')
+ error.message.includes('Connection is closed.') ||
+ error.message.includes('connection refused')
? new RequestTimeoutException('ECONNREFUSED')
: new InternalServerErrorException(),
);
diff --git a/integration/microservices/src/grpc-advanced/advanced.grpc.controller.ts b/integration/microservices/src/grpc-advanced/advanced.grpc.controller.ts
index e4aa0234b3f..98e760e678f 100644
--- a/integration/microservices/src/grpc-advanced/advanced.grpc.controller.ts
+++ b/integration/microservices/src/grpc-advanced/advanced.grpc.controller.ts
@@ -23,7 +23,7 @@ export class AdvancedGrpcController {
package: 'proto_example.orders',
protoPath: 'root.proto',
loader: {
- includeDirs: [join(__dirname, './proto')],
+ includeDirs: [join(import.meta.dirname, './proto')],
keepCase: true,
},
},
diff --git a/integration/microservices/src/grpc/grpc.controller.ts b/integration/microservices/src/grpc/grpc.controller.ts
index 8d435f18b36..68b568ff873 100644
--- a/integration/microservices/src/grpc/grpc.controller.ts
+++ b/integration/microservices/src/grpc/grpc.controller.ts
@@ -3,6 +3,7 @@ import {
Client,
ClientGrpc,
ClientGrpcProxy,
+ GrpcAlreadyExistsException,
GrpcMethod,
GrpcStreamCall,
GrpcStreamMethod,
@@ -24,7 +25,7 @@ export class GrpcController {
constructor() {
this.customClient = new ErrorHandlingProxy({
package: 'math',
- protoPath: join(__dirname, 'math.proto'),
+ protoPath: join(import.meta.dirname, 'math.proto'),
});
}
@@ -32,7 +33,7 @@ export class GrpcController {
transport: Transport.GRPC,
options: {
package: 'math',
- protoPath: join(__dirname, 'math.proto'),
+ protoPath: join(import.meta.dirname, 'math.proto'),
},
})
client: ClientGrpc;
@@ -42,8 +43,8 @@ export class GrpcController {
options: {
package: ['math', 'math2'],
protoPath: [
- join(__dirname, 'math.proto'),
- join(__dirname, 'math2.proto'),
+ join(import.meta.dirname, 'math.proto'),
+ join(import.meta.dirname, 'math2.proto'),
],
},
})
@@ -107,6 +108,11 @@ export class GrpcController {
};
}
+ @GrpcMethod('Math')
+ async alreadyExists(): Promise {
+ throw new GrpcAlreadyExistsException('email already exists');
+ }
+
// contrived example meant to show when an error is encountered, like dividing by zero, the
// application does not crash and the error is returned appropriately to the client
@GrpcMethod('Math', 'StreamDivide')
diff --git a/integration/microservices/src/grpc/math.proto b/integration/microservices/src/grpc/math.proto
index a40a842cb86..43be00726ce 100644
--- a/integration/microservices/src/grpc/math.proto
+++ b/integration/microservices/src/grpc/math.proto
@@ -7,6 +7,7 @@ service Math {
rpc SumStream(stream RequestSum) returns(stream SumResult);
rpc SumStreamPass(stream RequestSum) returns(stream SumResult);
rpc Divide (RequestDivide) returns (DivideResult);
+ rpc AlreadyExists (Empty) returns (Empty);
rpc StreamLargeMessages(Empty) returns (stream BackpressureData);
/* Given a series of dividend and divisor, stream back the division results for each */
rpc StreamDivide (StreamDivideRequest) returns (stream StreamDivideResponse);
diff --git a/integration/microservices/src/kafka-concurrent/kafka-concurrent.controller.ts b/integration/microservices/src/kafka-concurrent/kafka-concurrent.controller.ts
index 4816b4f13b2..dd2476b6443 100644
--- a/integration/microservices/src/kafka-concurrent/kafka-concurrent.controller.ts
+++ b/integration/microservices/src/kafka-concurrent/kafka-concurrent.controller.ts
@@ -10,7 +10,7 @@ import {
import { Client, ClientKafka, Transport } from '@nestjs/microservices';
import { PartitionerArgs } from 'kafkajs';
import { Observable } from 'rxjs';
-import { SumDto } from './dto/sum.dto';
+import { SumDto } from './dto/sum.dto.js';
/**
* The following function explicitly sends messages to the key representing the partition.
diff --git a/integration/microservices/src/kafka/dtos/business.dto.ts b/integration/microservices/src/kafka/dtos/business.dto.ts
index 15f82a83788..55130dfb1e4 100644
--- a/integration/microservices/src/kafka/dtos/business.dto.ts
+++ b/integration/microservices/src/kafka/dtos/business.dto.ts
@@ -1,4 +1,4 @@
-import { UserEntity } from '../entities/user.entity';
+import { UserEntity } from '../entities/user.entity.js';
export class BusinessDto {
name: string;
diff --git a/integration/microservices/src/kafka/entities/business.entity.ts b/integration/microservices/src/kafka/entities/business.entity.ts
index 5e8feaea114..f96f71787c7 100644
--- a/integration/microservices/src/kafka/entities/business.entity.ts
+++ b/integration/microservices/src/kafka/entities/business.entity.ts
@@ -1,5 +1,5 @@
-import { UserEntity } from './user.entity';
-import { BusinessDto } from '../dtos/business.dto';
+import { UserEntity } from './user.entity.js';
+import { BusinessDto } from '../dtos/business.dto.js';
export class BusinessEntity {
constructor(business: BusinessDto) {
diff --git a/integration/microservices/src/kafka/entities/user.entity.ts b/integration/microservices/src/kafka/entities/user.entity.ts
index 6ad630980f0..16277050d45 100644
--- a/integration/microservices/src/kafka/entities/user.entity.ts
+++ b/integration/microservices/src/kafka/entities/user.entity.ts
@@ -1,4 +1,4 @@
-import { UserDto } from '../dtos/user.dto';
+import { UserDto } from '../dtos/user.dto.js';
export class UserEntity {
constructor(user: UserDto) {
diff --git a/integration/microservices/src/kafka/kafka.controller.ts b/integration/microservices/src/kafka/kafka.controller.ts
index 0db49ebcd67..2ed30fea3be 100644
--- a/integration/microservices/src/kafka/kafka.controller.ts
+++ b/integration/microservices/src/kafka/kafka.controller.ts
@@ -9,8 +9,8 @@ import {
} from '@nestjs/common';
import { Client, ClientKafka, Transport } from '@nestjs/microservices';
import { lastValueFrom, Observable } from 'rxjs';
-import { BusinessDto } from './dtos/business.dto';
-import { UserDto } from './dtos/user.dto';
+import { BusinessDto } from './dtos/business.dto.js';
+import { UserDto } from './dtos/user.dto.js';
@Controller()
export class KafkaController implements OnModuleInit, OnModuleDestroy {
@@ -36,6 +36,7 @@ export class KafkaController implements OnModuleInit, OnModuleDestroy {
'math.sum.sync.array',
'math.sum.sync.string',
'math.sum.sync.number',
+ 'math.sum.sync.regex.integration',
'user.create',
'business.create',
];
@@ -127,6 +128,17 @@ export class KafkaController implements OnModuleInit, OnModuleDestroy {
return result;
}
+ @Post('mathSumSyncRegex')
+ @HttpCode(200)
+ async mathSumSyncRegex(@Body() data: number[]): Promise> {
+ const result = await lastValueFrom(
+ this.client.send('math.sum.sync.regex.integration', {
+ numbers: data,
+ }),
+ );
+ return result;
+ }
+
// async notify
@Post('notify')
async sendNotification(): Promise {
diff --git a/integration/microservices/src/kafka/kafka.messages.controller.ts b/integration/microservices/src/kafka/kafka.messages.controller.ts
index 29acae07f77..ca0effd2cc1 100644
--- a/integration/microservices/src/kafka/kafka.messages.controller.ts
+++ b/integration/microservices/src/kafka/kafka.messages.controller.ts
@@ -1,10 +1,10 @@
import { Controller, Logger } from '@nestjs/common';
import { EventPattern, MessagePattern } from '@nestjs/microservices';
-import { BusinessDto } from './dtos/business.dto';
-import { UserDto } from './dtos/user.dto';
-import { BusinessEntity } from './entities/business.entity';
-import { UserEntity } from './entities/user.entity';
-import { KafkaController } from './kafka.controller';
+import { BusinessDto } from './dtos/business.dto.js';
+import { UserDto } from './dtos/user.dto.js';
+import { BusinessEntity } from './entities/business.entity.js';
+import { UserEntity } from './entities/user.entity.js';
+import { KafkaController } from './kafka.controller.js';
@Controller()
export class KafkaMessagesController {
@@ -51,6 +51,11 @@ export class KafkaMessagesController {
.reduce((a, b) => a + b);
}
+ @MessagePattern(/^math\.sum\.sync\.regex\..+$/)
+ mathSumSyncRegex(data: any) {
+ return (data.value.numbers || []).reduce((a, b) => a + b);
+ }
+
@EventPattern('notify')
eventHandler(data: any) {
KafkaController.IS_NOTIFIED = data.value.notify;
diff --git a/integration/microservices/src/main.ts b/integration/microservices/src/main.ts
index cdecc1bb686..dbca439014a 100644
--- a/integration/microservices/src/main.ts
+++ b/integration/microservices/src/main.ts
@@ -1,5 +1,5 @@
import { NestFactory } from '@nestjs/core';
-import { ApplicationModule } from './app.module';
+import { ApplicationModule } from './app.module.js';
async function bootstrap() {
const app = await NestFactory.create(ApplicationModule);
diff --git a/integration/microservices/src/nats/nats.controller.ts b/integration/microservices/src/nats/nats.controller.ts
index ffcfb18687a..3920cad01f7 100644
--- a/integration/microservices/src/nats/nats.controller.ts
+++ b/integration/microservices/src/nats/nats.controller.ts
@@ -1,3 +1,4 @@
+import * as nats from '@nats-io/nats-core';
import { Body, Controller, Get, HttpCode, Post, Query } from '@nestjs/common';
import {
ClientProxy,
@@ -11,10 +12,9 @@ import {
RpcException,
Transport,
} from '@nestjs/microservices';
-import * as nats from 'nats';
import { from, lastValueFrom, Observable, of, throwError } from 'rxjs';
import { catchError, scan } from 'rxjs/operators';
-import { NatsService } from './nats.service';
+import { NatsService } from './nats.service.js';
@Controller()
export class NatsController {
diff --git a/integration/microservices/src/tcp-tls/app.controller.ts b/integration/microservices/src/tcp-tls/app.controller.ts
index 81101741fc0..516de7e1016 100644
--- a/integration/microservices/src/tcp-tls/app.controller.ts
+++ b/integration/microservices/src/tcp-tls/app.controller.ts
@@ -34,7 +34,10 @@ export class AppController {
tlsOptions: {
ca: [
fs
- .readFileSync(path.join(__dirname, 'ca.cert.pem'), 'utf-8')
+ .readFileSync(
+ path.join(import.meta.dirname, 'ca.cert.pem'),
+ 'utf-8',
+ )
.toString(),
],
},
diff --git a/integration/microservices/src/tcp-tls/app.module.ts b/integration/microservices/src/tcp-tls/app.module.ts
index b3720d2a96d..919442c6c3e 100644
--- a/integration/microservices/src/tcp-tls/app.module.ts
+++ b/integration/microservices/src/tcp-tls/app.module.ts
@@ -7,12 +7,14 @@ import {
RpcException,
Transport,
} from '@nestjs/microservices';
-import { AppController } from './app.controller';
+import { AppController } from './app.controller.js';
import * as fs from 'fs';
import * as path from 'path';
-const caCert = fs.readFileSync(path.join(__dirname, 'ca.cert.pem')).toString();
+const caCert = fs
+ .readFileSync(path.join(import.meta.dirname, 'ca.cert.pem'))
+ .toString();
class ErrorHandlingProxy extends ClientTCP {
constructor() {
diff --git a/integration/microservices/tsconfig.json b/integration/microservices/tsconfig.json
index 4a0f01e0ec4..aa1164082cc 100644
--- a/integration/microservices/tsconfig.json
+++ b/integration/microservices/tsconfig.json
@@ -1,13 +1,15 @@
{
"compilerOptions": {
+ "types": ["vitest/globals"],
"module": "commonjs",
"declaration": false,
"noImplicitAny": false,
"removeComments": true,
"noLib": false,
+ "esModuleInterop": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
- "target": "ES2021",
+ "target": "ES2023",
"sourceMap": true,
"allowJs": true,
"strictNullChecks": true,
diff --git a/integration/module-utils/src/integration.module-definition.ts b/integration/module-utils/src/integration.module-definition.ts
index 89d7a984241..3814942c831 100644
--- a/integration/module-utils/src/integration.module-definition.ts
+++ b/integration/module-utils/src/integration.module-definition.ts
@@ -1,5 +1,5 @@
import { ConfigurableModuleBuilder } from '@nestjs/common';
-import { IntegrationModuleOptions } from './interfaces/integration-module-options.interface';
+import { IntegrationModuleOptions } from './interfaces/integration-module-options.interface.js';
export const { ConfigurableModuleClass, MODULE_OPTIONS_TOKEN } =
new ConfigurableModuleBuilder()
diff --git a/integration/module-utils/src/integration.module.ts b/integration/module-utils/src/integration.module.ts
index 3b994f4bd4f..44e08637c21 100644
--- a/integration/module-utils/src/integration.module.ts
+++ b/integration/module-utils/src/integration.module.ts
@@ -2,8 +2,8 @@ import { Inject, Module } from '@nestjs/common';
import {
ConfigurableModuleClass,
MODULE_OPTIONS_TOKEN,
-} from './integration.module-definition';
-import { IntegrationModuleOptions } from './interfaces/integration-module-options.interface';
+} from './integration.module-definition.js';
+import { IntegrationModuleOptions } from './interfaces/integration-module-options.interface.js';
@Module({})
export class IntegrationModule extends ConfigurableModuleClass {
diff --git a/integration/module-utils/test/integration-module.spec.ts b/integration/module-utils/test/integration-module.spec.ts
index ea22a71c571..e4308c1de2e 100644
--- a/integration/module-utils/test/integration-module.spec.ts
+++ b/integration/module-utils/test/integration-module.spec.ts
@@ -1,6 +1,5 @@
import { Test } from '@nestjs/testing';
-import { expect } from 'chai';
-import { IntegrationModule } from '../src/integration.module';
+import { IntegrationModule } from '../src/integration.module.js';
describe('Module utils (ConfigurableModuleBuilder)', () => {
it('should auto-generate "forRoot" method', async () => {
@@ -16,7 +15,7 @@ describe('Module utils (ConfigurableModuleBuilder)', () => {
const integrationModule = moduleRef.get(IntegrationModule);
- expect(integrationModule.options).to.deep.equal({
+ expect(integrationModule.options).toEqual({
url: 'test_url',
secure: false,
});
@@ -39,7 +38,7 @@ describe('Module utils (ConfigurableModuleBuilder)', () => {
const integrationModule = moduleRef.get(IntegrationModule);
- expect(integrationModule.options).to.deep.equal({
+ expect(integrationModule.options).toEqual({
url: 'test_url',
secure: false,
});
diff --git a/integration/module-utils/tsconfig.json b/integration/module-utils/tsconfig.json
index 2d3b89de293..34056a28cae 100644
--- a/integration/module-utils/tsconfig.json
+++ b/integration/module-utils/tsconfig.json
@@ -1,13 +1,15 @@
{
"compilerOptions": {
+ "types": ["vitest/globals"],
"module": "commonjs",
"declaration": false,
"noImplicitAny": false,
"removeComments": true,
"noLib": false,
+ "esModuleInterop": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
- "target": "ES2021",
+ "target": "ES2023",
"sourceMap": true,
"allowJs": true,
"strictNullChecks": true,
diff --git a/integration/mongoose/e2e/async-class-options.spec.ts b/integration/mongoose/e2e/async-class-options.spec.ts
index 4a740279519..c97e57a7597 100644
--- a/integration/mongoose/e2e/async-class-options.spec.ts
+++ b/integration/mongoose/e2e/async-class-options.spec.ts
@@ -1,7 +1,7 @@
import { INestApplication } from '@nestjs/common';
import { Test } from '@nestjs/testing';
-import * as request from 'supertest';
-import { AsyncOptionsClassModule } from '../src/async-class-options.module';
+import request from 'supertest';
+import { AsyncOptionsClassModule } from '../src/async-class-options.module.js';
describe('Mongoose', () => {
let server;
diff --git a/integration/mongoose/e2e/async-existing-options.spec.ts b/integration/mongoose/e2e/async-existing-options.spec.ts
index e507cb90aae..1e2fd7c624e 100644
--- a/integration/mongoose/e2e/async-existing-options.spec.ts
+++ b/integration/mongoose/e2e/async-existing-options.spec.ts
@@ -1,7 +1,7 @@
import { INestApplication } from '@nestjs/common';
import { Test } from '@nestjs/testing';
-import * as request from 'supertest';
-import { AsyncOptionsExistingModule } from '../src/async-existing-options.module';
+import request from 'supertest';
+import { AsyncOptionsExistingModule } from '../src/async-existing-options.module.js';
describe('Mongoose', () => {
let server;
diff --git a/integration/mongoose/e2e/async-options.spec.ts b/integration/mongoose/e2e/async-options.spec.ts
index 738d5683fc1..b6bb0191171 100644
--- a/integration/mongoose/e2e/async-options.spec.ts
+++ b/integration/mongoose/e2e/async-options.spec.ts
@@ -1,7 +1,7 @@
import { INestApplication } from '@nestjs/common';
import { Test } from '@nestjs/testing';
-import * as request from 'supertest';
-import { AsyncOptionsFactoryModule } from '../src/async-options.module';
+import request from 'supertest';
+import { AsyncOptionsFactoryModule } from '../src/async-options.module.js';
describe('Mongoose', () => {
let server;
diff --git a/integration/mongoose/e2e/mongoose.spec.ts b/integration/mongoose/e2e/mongoose.spec.ts
index 11fa260a9ac..607f09846ac 100644
--- a/integration/mongoose/e2e/mongoose.spec.ts
+++ b/integration/mongoose/e2e/mongoose.spec.ts
@@ -1,7 +1,7 @@
import { INestApplication } from '@nestjs/common';
import { Test } from '@nestjs/testing';
-import * as request from 'supertest';
-import { ApplicationModule } from '../src/app.module';
+import request from 'supertest';
+import { ApplicationModule } from '../src/app.module.js';
describe('Mongoose', () => {
let server;
diff --git a/integration/mongoose/src/app.module.ts b/integration/mongoose/src/app.module.ts
index 0368daa98a6..4d3fa0de320 100644
--- a/integration/mongoose/src/app.module.ts
+++ b/integration/mongoose/src/app.module.ts
@@ -1,6 +1,6 @@
import { Module } from '@nestjs/common';
import { MongooseModule } from '@nestjs/mongoose';
-import { CatsModule } from './cats/cats.module';
+import { CatsModule } from './cats/cats.module.js';
@Module({
imports: [
diff --git a/integration/mongoose/src/async-class-options.module.ts b/integration/mongoose/src/async-class-options.module.ts
index 6e8a20e3f59..1b391de3451 100644
--- a/integration/mongoose/src/async-class-options.module.ts
+++ b/integration/mongoose/src/async-class-options.module.ts
@@ -4,7 +4,7 @@ import {
MongooseModuleOptions,
MongooseOptionsFactory,
} from '@nestjs/mongoose';
-import { CatsModule } from './cats/cats.module';
+import { CatsModule } from './cats/cats.module.js';
class ConfigService implements MongooseOptionsFactory {
createMongooseOptions(): MongooseModuleOptions {
diff --git a/integration/mongoose/src/async-existing-options.module.ts b/integration/mongoose/src/async-existing-options.module.ts
index 61209d28aba..bf8c609e5b4 100644
--- a/integration/mongoose/src/async-existing-options.module.ts
+++ b/integration/mongoose/src/async-existing-options.module.ts
@@ -4,7 +4,7 @@ import {
MongooseModuleOptions,
MongooseOptionsFactory,
} from '@nestjs/mongoose';
-import { CatsModule } from './cats/cats.module';
+import { CatsModule } from './cats/cats.module.js';
class ConfigService implements MongooseOptionsFactory {
createMongooseOptions(): MongooseModuleOptions {
diff --git a/integration/mongoose/src/async-options.module.ts b/integration/mongoose/src/async-options.module.ts
index d5f0f45d5f6..da9a808b5f4 100644
--- a/integration/mongoose/src/async-options.module.ts
+++ b/integration/mongoose/src/async-options.module.ts
@@ -1,6 +1,6 @@
import { Module } from '@nestjs/common';
import { MongooseModule } from '@nestjs/mongoose';
-import { CatsModule } from './cats/cats.module';
+import { CatsModule } from './cats/cats.module.js';
@Module({
imports: [
diff --git a/integration/mongoose/src/cats/cats.controller.ts b/integration/mongoose/src/cats/cats.controller.ts
index 28c92f1853a..1dec9a5abc9 100644
--- a/integration/mongoose/src/cats/cats.controller.ts
+++ b/integration/mongoose/src/cats/cats.controller.ts
@@ -1,7 +1,7 @@
import { Body, Controller, Get, Post } from '@nestjs/common';
-import { CatsService } from './cats.service';
-import { CreateCatDto } from './dto/create-cat.dto';
-import { Cat } from './interfaces/cat.interface';
+import { CatsService } from './cats.service.js';
+import { CreateCatDto } from './dto/create-cat.dto.js';
+import { Cat } from './interfaces/cat.interface.js';
@Controller('cats')
export class CatsController {
diff --git a/integration/mongoose/src/cats/cats.module.ts b/integration/mongoose/src/cats/cats.module.ts
index dce6ab960c3..31b71de7f45 100644
--- a/integration/mongoose/src/cats/cats.module.ts
+++ b/integration/mongoose/src/cats/cats.module.ts
@@ -1,8 +1,8 @@
import { Module } from '@nestjs/common';
import { MongooseModule } from '@nestjs/mongoose';
-import { CatsController } from './cats.controller';
-import { CatsService } from './cats.service';
-import { CatSchema } from './schemas/cat.schema';
+import { CatsController } from './cats.controller.js';
+import { CatsService } from './cats.service.js';
+import { CatSchema } from './schemas/cat.schema.js';
@Module({
imports: [MongooseModule.forFeature([{ name: 'Cat', schema: CatSchema }])],
diff --git a/integration/mongoose/src/cats/cats.service.ts b/integration/mongoose/src/cats/cats.service.ts
index 51d6e313a88..5731c1a9583 100644
--- a/integration/mongoose/src/cats/cats.service.ts
+++ b/integration/mongoose/src/cats/cats.service.ts
@@ -1,8 +1,8 @@
import { Injectable } from '@nestjs/common';
import { InjectModel } from '@nestjs/mongoose';
import { Model } from 'mongoose';
-import { CreateCatDto } from './dto/create-cat.dto';
-import { Cat } from './interfaces/cat.interface';
+import { CreateCatDto } from './dto/create-cat.dto.js';
+import { Cat } from './interfaces/cat.interface.js';
@Injectable()
export class CatsService {
diff --git a/integration/mongoose/src/cats/schemas/cat.schema.ts b/integration/mongoose/src/cats/schemas/cat.schema.ts
index 56aaecae80a..2645f3ce46c 100644
--- a/integration/mongoose/src/cats/schemas/cat.schema.ts
+++ b/integration/mongoose/src/cats/schemas/cat.schema.ts
@@ -1,4 +1,4 @@
-import * as mongoose from 'mongoose';
+import mongoose from 'mongoose';
export const CatSchema = new mongoose.Schema({
name: String,
diff --git a/integration/mongoose/src/main.ts b/integration/mongoose/src/main.ts
index 2699ee9d7a2..855c45380c7 100644
--- a/integration/mongoose/src/main.ts
+++ b/integration/mongoose/src/main.ts
@@ -1,5 +1,5 @@
import { NestFactory } from '@nestjs/core';
-import { ApplicationModule } from './app.module';
+import { ApplicationModule } from './app.module.js';
async function bootstrap() {
const app = await NestFactory.create(ApplicationModule);
diff --git a/integration/mongoose/tsconfig.json b/integration/mongoose/tsconfig.json
index 4a0f01e0ec4..aa1164082cc 100644
--- a/integration/mongoose/tsconfig.json
+++ b/integration/mongoose/tsconfig.json
@@ -1,13 +1,15 @@
{
"compilerOptions": {
+ "types": ["vitest/globals"],
"module": "commonjs",
"declaration": false,
"noImplicitAny": false,
"removeComments": true,
"noLib": false,
+ "esModuleInterop": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
- "target": "ES2021",
+ "target": "ES2023",
"sourceMap": true,
"allowJs": true,
"strictNullChecks": true,
diff --git a/integration/nest-application/app-locals/e2e/express.spec.ts b/integration/nest-application/app-locals/e2e/express.spec.ts
index 1e8597851d8..f32fc2edb0d 100644
--- a/integration/nest-application/app-locals/e2e/express.spec.ts
+++ b/integration/nest-application/app-locals/e2e/express.spec.ts
@@ -1,8 +1,7 @@
import { NestExpressApplication } from '@nestjs/platform-express';
import { Test, TestingModule } from '@nestjs/testing';
-import { expect } from 'chai';
-import * as request from 'supertest';
-import { AppModule } from '../src/app.module';
+import request from 'supertest';
+import { AppModule } from '../src/app.module.js';
describe('App-level globals (Express Application)', () => {
let moduleFixture: TestingModule;
@@ -22,14 +21,14 @@ describe('App-level globals (Express Application)', () => {
app.setLocal('title', 'My Website');
await app.init();
const response = await request(app.getHttpServer()).get('/').expect(200);
- expect(response.body.title).to.equal('My Website');
+ expect(response.body.title).toBe('My Website');
});
it('should get "email" from "app.locals"', async () => {
app.setLocal('email', 'admin@example.com');
await app.listen(4444);
const response = await request(app.getHttpServer()).get('/').expect(200);
- expect(response.body.email).to.equal('admin@example.com');
+ expect(response.body.email).toBe('admin@example.com');
});
afterEach(async () => {
diff --git a/integration/nest-application/app-locals/src/app.module.ts b/integration/nest-application/app-locals/src/app.module.ts
index 848d4aaa7fe..52bb569b5d1 100644
--- a/integration/nest-application/app-locals/src/app.module.ts
+++ b/integration/nest-application/app-locals/src/app.module.ts
@@ -1,5 +1,5 @@
import { Module } from '@nestjs/common';
-import { AppController } from './app.controller';
+import { AppController } from './app.controller.js';
@Module({
controllers: [AppController],
diff --git a/integration/nest-application/app-locals/tsconfig.json b/integration/nest-application/app-locals/tsconfig.json
index 259f2b525f8..76d55ca6982 100644
--- a/integration/nest-application/app-locals/tsconfig.json
+++ b/integration/nest-application/app-locals/tsconfig.json
@@ -1,13 +1,15 @@
{
"compilerOptions": {
+ "types": ["vitest/globals"],
"module": "commonjs",
"declaration": false,
"noImplicitAny": false,
"removeComments": true,
"noLib": false,
+ "esModuleInterop": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
- "target": "ES2021",
+ "target": "ES2023",
"sourceMap": true,
"allowJs": true,
"outDir": "./dist",
diff --git a/integration/nest-application/get-url/e2e/express.spec.ts b/integration/nest-application/get-url/e2e/express.spec.ts
index 4722c2959ad..e32c19fba1a 100644
--- a/integration/nest-application/get-url/e2e/express.spec.ts
+++ b/integration/nest-application/get-url/e2e/express.spec.ts
@@ -1,9 +1,8 @@
import { ExpressAdapter } from '@nestjs/platform-express';
import { Test, TestingModule } from '@nestjs/testing';
-import { expect } from 'chai';
-import * as express from 'express';
-import { AppModule } from '../src/app.module';
-import { getAvailableIpv4Host, randomPort } from './utils';
+import express from 'express';
+import { AppModule } from '../src/app.module.js';
+import { randomPort } from './utils.js';
describe('Get URL (Express Application)', () => {
let testModule: TestingModule;
@@ -19,40 +18,39 @@ describe('Get URL (Express Application)', () => {
port = await randomPort();
});
- it('should be able to get the IPv6 address', async () => {
+ it('should be able to get a loopback address', async () => {
const app = testModule.createNestApplication(new ExpressAdapter(express()));
await app.listen(port);
- expect(await app.getUrl()).to.be.eql(`http://[::1]:${port}`);
+ expect(await app.getUrl()).toMatch(
+ new RegExp(`http://(\\[::1\\]|127\\.0\\.0\\.1):${port}`),
+ );
await app.close();
});
it('should be able to get the IPv4 address', async () => {
const app = testModule.createNestApplication(new ExpressAdapter(express()));
- const host = await getAvailableIpv4Host();
- await app.listen(port, host);
- expect(await app.getUrl()).to.be.eql(`http://${host}:${port}`);
+ await app.listen(port, '127.0.0.1');
+ expect(await app.getUrl()).toEqual(`http://127.0.0.1:${port}`);
await app.close();
});
it('should return 127.0.0.1 for 0.0.0.0', async () => {
const app = testModule.createNestApplication(new ExpressAdapter(express()));
await app.listen(port, '0.0.0.0');
- expect(await app.getUrl()).to.be.eql(`http://127.0.0.1:${port}`);
+ expect(await app.getUrl()).toEqual(`http://127.0.0.1:${port}`);
await app.close();
});
- it('should return 127.0.0.1 even in a callback', () => {
+ it('should return a loopback address in a callback (default bind)', () => {
const app = testModule.createNestApplication(new ExpressAdapter(express()));
return app.listen(port, async () => {
- expect(await app.getUrl()).to.be.eql(`http://127.0.0.1:${port}`);
+ expect(await app.getUrl()).toMatch(
+ new RegExp(`http://(\\[::1\\]|127\\.0\\.0\\.1):${port}`),
+ );
await app.close();
});
});
it('should throw an error for calling getUrl before listen', async () => {
const app = testModule.createNestApplication(new ExpressAdapter(express()));
- try {
- await app.getUrl();
- } catch (err) {
- expect(err).to.be.eql(
- 'app.listen() needs to be called before calling app.getUrl()',
- );
- }
+ await expect(app.getUrl()).rejects.toEqual(
+ 'app.listen() needs to be called before calling app.getUrl()',
+ );
});
});
diff --git a/integration/nest-application/get-url/e2e/fastify.spec.ts b/integration/nest-application/get-url/e2e/fastify.spec.ts
index cfed9d92a28..ac75e5fd0c5 100644
--- a/integration/nest-application/get-url/e2e/fastify.spec.ts
+++ b/integration/nest-application/get-url/e2e/fastify.spec.ts
@@ -1,8 +1,7 @@
import { FastifyAdapter } from '@nestjs/platform-fastify';
import { Test, TestingModule } from '@nestjs/testing';
-import { expect } from 'chai';
-import { AppModule } from '../src/app.module';
-import { getAvailableIpv4Host, randomPort } from './utils';
+import { AppModule } from '../src/app.module.js';
+import { randomPort } from './utils.js';
describe('Get URL (Fastify Application)', () => {
let testModule: TestingModule;
@@ -20,32 +19,29 @@ describe('Get URL (Fastify Application)', () => {
it('should be able to get the IPv4 address', async () => {
const app = testModule.createNestApplication(new FastifyAdapter());
- const host = await getAvailableIpv4Host();
- await app.listen(port, host);
- expect(await app.getUrl()).to.be.eql(`http://${host}:${port}`);
+ await app.listen(port, '127.0.0.1');
+ expect(await app.getUrl()).toEqual(`http://127.0.0.1:${port}`);
await app.close();
});
it('should return 127.0.0.1 for 0.0.0.0', async () => {
const app = testModule.createNestApplication(new FastifyAdapter());
await app.listen(port, '0.0.0.0');
- expect(await app.getUrl()).to.be.eql(`http://127.0.0.1:${port}`);
+ expect(await app.getUrl()).toEqual(`http://127.0.0.1:${port}`);
await app.close();
});
- it('should return 127.0.0.1 even in a callback', () => {
+ it('should return a loopback address in a callback (default bind)', () => {
const app = testModule.createNestApplication(new FastifyAdapter());
return app.listen(port, async () => {
- expect(await app.getUrl()).to.be.eql(`http://127.0.0.1:${port}`);
+ expect(await app.getUrl()).toMatch(
+ new RegExp(`http://(\\[::1\\]|127\\.0\\.0\\.1):${port}`),
+ );
await app.close();
});
});
it('should throw an error for calling getUrl before listen', async () => {
const app = testModule.createNestApplication(new FastifyAdapter());
- try {
- await app.getUrl();
- } catch (err) {
- expect(err).to.be.eql(
- 'app.listen() needs to be called before calling app.getUrl()',
- );
- }
+ await expect(app.getUrl()).rejects.toEqual(
+ 'app.listen() needs to be called before calling app.getUrl()',
+ );
});
});
diff --git a/integration/nest-application/get-url/src/app.controller.ts b/integration/nest-application/get-url/src/app.controller.ts
index 8d4f6eb02ce..e1f9543ab91 100644
--- a/integration/nest-application/get-url/src/app.controller.ts
+++ b/integration/nest-application/get-url/src/app.controller.ts
@@ -1,5 +1,5 @@
import { Controller, Get } from '@nestjs/common';
-import { AppService } from './app.service';
+import { AppService } from './app.service.js';
@Controller()
export class AppController {
diff --git a/integration/nest-application/get-url/src/app.module.ts b/integration/nest-application/get-url/src/app.module.ts
index 7845d045f8d..7abec95862b 100644
--- a/integration/nest-application/get-url/src/app.module.ts
+++ b/integration/nest-application/get-url/src/app.module.ts
@@ -1,6 +1,6 @@
import { Module } from '@nestjs/common';
-import { AppController } from './app.controller';
-import { AppService } from './app.service';
+import { AppController } from './app.controller.js';
+import { AppService } from './app.service.js';
@Module({
controllers: [AppController],
diff --git a/integration/nest-application/get-url/tsconfig.json b/integration/nest-application/get-url/tsconfig.json
index 259f2b525f8..76d55ca6982 100644
--- a/integration/nest-application/get-url/tsconfig.json
+++ b/integration/nest-application/get-url/tsconfig.json
@@ -1,13 +1,15 @@
{
"compilerOptions": {
+ "types": ["vitest/globals"],
"module": "commonjs",
"declaration": false,
"noImplicitAny": false,
"removeComments": true,
"noLib": false,
+ "esModuleInterop": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
- "target": "ES2021",
+ "target": "ES2023",
"sourceMap": true,
"allowJs": true,
"outDir": "./dist",
diff --git a/integration/nest-application/global-prefix/e2e/global-prefix.spec.ts b/integration/nest-application/global-prefix/e2e/global-prefix.spec.ts
index 3364e29efa9..fc709c9721d 100644
--- a/integration/nest-application/global-prefix/e2e/global-prefix.spec.ts
+++ b/integration/nest-application/global-prefix/e2e/global-prefix.spec.ts
@@ -1,11 +1,11 @@
import { INestApplication, RequestMethod } from '@nestjs/common';
import { Test } from '@nestjs/testing';
-import * as request from 'supertest';
+import request from 'supertest';
import {
AppModule,
MIDDLEWARE_PARAM_VALUE,
MIDDLEWARE_VALUE,
-} from '../src/app.module';
+} from '../src/app.module.js';
describe('Global prefix', () => {
let server;
diff --git a/integration/nest-application/global-prefix/src/app.module.ts b/integration/nest-application/global-prefix/src/app.module.ts
index 61a1b0407fc..d8156b42ad8 100644
--- a/integration/nest-application/global-prefix/src/app.module.ts
+++ b/integration/nest-application/global-prefix/src/app.module.ts
@@ -1,5 +1,5 @@
import { MiddlewareConsumer, Module, RequestMethod } from '@nestjs/common';
-import { AppController } from './app.controller';
+import { AppController } from './app.controller.js';
export const MIDDLEWARE_VALUE = 'middleware';
export const MIDDLEWARE_PARAM_VALUE = 'middleware_param';
diff --git a/integration/nest-application/global-prefix/tsconfig.json b/integration/nest-application/global-prefix/tsconfig.json
index 259f2b525f8..76d55ca6982 100644
--- a/integration/nest-application/global-prefix/tsconfig.json
+++ b/integration/nest-application/global-prefix/tsconfig.json
@@ -1,13 +1,15 @@
{
"compilerOptions": {
+ "types": ["vitest/globals"],
"module": "commonjs",
"declaration": false,
"noImplicitAny": false,
"removeComments": true,
"noLib": false,
+ "esModuleInterop": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
- "target": "ES2021",
+ "target": "ES2023",
"sourceMap": true,
"allowJs": true,
"outDir": "./dist",
diff --git a/integration/nest-application/listen/e2e/express.spec.ts b/integration/nest-application/listen/e2e/express.spec.ts
index b209fa0c3f9..4494fa660dd 100644
--- a/integration/nest-application/listen/e2e/express.spec.ts
+++ b/integration/nest-application/listen/e2e/express.spec.ts
@@ -1,9 +1,8 @@
import { INestApplication } from '@nestjs/common';
import { ExpressAdapter } from '@nestjs/platform-express';
import { Test, TestingModule } from '@nestjs/testing';
-import { expect } from 'chai';
-import * as express from 'express';
-import { AppModule } from '../src/app.module';
+import express from 'express';
+import { AppModule } from '../src/app.module.js';
describe('Listen (Express Application)', () => {
let testModule: TestingModule;
@@ -22,7 +21,7 @@ describe('Listen (Express Application)', () => {
it('should resolve with httpServer on success', async () => {
const response = await app.listen(3000);
- expect(response).to.eql(app.getHttpServer());
+ expect(response).toEqual(app.getHttpServer());
});
it('should reject if the port is not available', async () => {
@@ -30,18 +29,14 @@ describe('Listen (Express Application)', () => {
const secondApp = testModule.createNestApplication(
new ExpressAdapter(express()),
);
- try {
- await secondApp.listen(3000);
- } catch (error) {
- expect(error.code).to.equal('EADDRINUSE');
- }
+ await expect(secondApp.listen(3000)).rejects.toMatchObject({
+ code: 'EADDRINUSE',
+ });
});
it('should reject if there is an invalid host', async () => {
- try {
- await app.listen(3000, '1');
- } catch (error) {
- expect(error.code).to.equal('EADDRNOTAVAIL');
- }
+ await expect(app.listen(3000, '1')).rejects.toMatchObject({
+ code: 'EADDRNOTAVAIL',
+ });
});
});
diff --git a/integration/nest-application/listen/e2e/fastify.spec.ts b/integration/nest-application/listen/e2e/fastify.spec.ts
index ba267c8ddbb..42ab67a98ae 100644
--- a/integration/nest-application/listen/e2e/fastify.spec.ts
+++ b/integration/nest-application/listen/e2e/fastify.spec.ts
@@ -1,8 +1,7 @@
import { INestApplication } from '@nestjs/common';
import { FastifyAdapter } from '@nestjs/platform-fastify';
import { Test, TestingModule } from '@nestjs/testing';
-import { expect } from 'chai';
-import { AppModule } from '../src/app.module';
+import { AppModule } from '../src/app.module.js';
describe('Listen (Fastify Application)', () => {
let testModule: TestingModule;
@@ -21,26 +20,22 @@ describe('Listen (Fastify Application)', () => {
it('should resolve with httpServer on success', async () => {
const response = await app.listen(3000);
- expect(response).to.eql(app.getHttpServer());
+ expect(response).toEqual(app.getHttpServer());
});
it('should reject if the port is not available', async () => {
await app.listen(3000);
const secondApp = testModule.createNestApplication(new FastifyAdapter());
- try {
- await secondApp.listen(3000);
- } catch (error) {
- expect(error.code).to.equal('EADDRINUSE');
- }
+ await expect(secondApp.listen(3000)).rejects.toMatchObject({
+ code: 'EADDRINUSE',
+ });
await secondApp.close();
});
it('should reject if there is an invalid host', async () => {
- try {
- await app.listen(3000, '1');
- } catch (error) {
- expect(error.code).to.equal('EADDRNOTAVAIL');
- }
+ await expect(app.listen(3000, '1')).rejects.toMatchObject({
+ code: 'EADDRNOTAVAIL',
+ });
});
});
diff --git a/integration/nest-application/listen/src/app.controller.ts b/integration/nest-application/listen/src/app.controller.ts
index 8d4f6eb02ce..e1f9543ab91 100644
--- a/integration/nest-application/listen/src/app.controller.ts
+++ b/integration/nest-application/listen/src/app.controller.ts
@@ -1,5 +1,5 @@
import { Controller, Get } from '@nestjs/common';
-import { AppService } from './app.service';
+import { AppService } from './app.service.js';
@Controller()
export class AppController {
diff --git a/integration/nest-application/listen/src/app.module.ts b/integration/nest-application/listen/src/app.module.ts
index 7845d045f8d..7abec95862b 100644
--- a/integration/nest-application/listen/src/app.module.ts
+++ b/integration/nest-application/listen/src/app.module.ts
@@ -1,6 +1,6 @@
import { Module } from '@nestjs/common';
-import { AppController } from './app.controller';
-import { AppService } from './app.service';
+import { AppController } from './app.controller.js';
+import { AppService } from './app.service.js';
@Module({
controllers: [AppController],
diff --git a/integration/nest-application/listen/tsconfig.json b/integration/nest-application/listen/tsconfig.json
index 259f2b525f8..76d55ca6982 100644
--- a/integration/nest-application/listen/tsconfig.json
+++ b/integration/nest-application/listen/tsconfig.json
@@ -1,13 +1,15 @@
{
"compilerOptions": {
+ "types": ["vitest/globals"],
"module": "commonjs",
"declaration": false,
"noImplicitAny": false,
"removeComments": true,
"noLib": false,
+ "esModuleInterop": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
- "target": "ES2021",
+ "target": "ES2023",
"sourceMap": true,
"allowJs": true,
"outDir": "./dist",
diff --git a/integration/nest-application/raw-body/e2e/express.spec.ts b/integration/nest-application/raw-body/e2e/express.spec.ts
index 762ecd92c65..2d70e2dc05a 100644
--- a/integration/nest-application/raw-body/e2e/express.spec.ts
+++ b/integration/nest-application/raw-body/e2e/express.spec.ts
@@ -1,8 +1,7 @@
import { NestExpressApplication } from '@nestjs/platform-express';
import { Test } from '@nestjs/testing';
-import { expect } from 'chai';
-import * as request from 'supertest';
-import { ExpressModule } from '../src/express.module';
+import request from 'supertest';
+import { ExpressModule } from '../src/express.module.js';
describe('Raw body (Express Application)', () => {
let app: NestExpressApplication;
@@ -33,7 +32,7 @@ describe('Raw body (Express Application)', () => {
.send(body)
.expect(201);
- expect(response.body).to.eql({
+ expect(response.body).toEqual({
parsed: {
amount: 0,
},
@@ -59,7 +58,7 @@ describe('Raw body (Express Application)', () => {
.send(body)
.expect(201);
- expect(response.body).to.eql({
+ expect(response.body).toEqual({
parsed: {
content: 'this is a post\'s content by "Nest"',
},
diff --git a/integration/nest-application/raw-body/e2e/fastify.spec.ts b/integration/nest-application/raw-body/e2e/fastify.spec.ts
index 03db3f137d9..65bb8371e8a 100644
--- a/integration/nest-application/raw-body/e2e/fastify.spec.ts
+++ b/integration/nest-application/raw-body/e2e/fastify.spec.ts
@@ -3,8 +3,7 @@ import {
FastifyAdapter,
} from '@nestjs/platform-fastify';
import { Test } from '@nestjs/testing';
-import { expect } from 'chai';
-import { FastifyModule } from '../src/fastify.module';
+import { FastifyModule } from '../src/fastify.module.js';
describe('Raw body (Fastify Application)', () => {
let app: NestFastifyApplication;
@@ -39,7 +38,7 @@ describe('Raw body (Fastify Application)', () => {
payload: body,
});
- expect(JSON.parse(response.body)).to.eql({
+ expect(JSON.parse(response.body)).toEqual({
parsed: {
amount: 0,
},
@@ -60,7 +59,7 @@ describe('Raw body (Fastify Application)', () => {
// Unlike Express, when you send a POST request without a body
// with Fastify, Fastify will throw an error because it isn't valid
// JSON. See fastify/fastify#297.
- expect(response.statusCode).to.equal(400);
+ expect(response.statusCode).toBe(400);
});
});
@@ -75,7 +74,7 @@ describe('Raw body (Fastify Application)', () => {
payload: body,
});
- expect(JSON.parse(response.body)).to.eql({
+ expect(JSON.parse(response.body)).toEqual({
parsed: {
content: 'this is a post\'s content by "Nest"',
},
@@ -92,7 +91,7 @@ describe('Raw body (Fastify Application)', () => {
},
});
- expect(response.statusCode).to.equal(201);
+ expect(response.statusCode).toBe(201);
});
});
});
diff --git a/integration/nest-application/raw-body/src/express.module.ts b/integration/nest-application/raw-body/src/express.module.ts
index 5ddb714263c..4c08bd9aada 100644
--- a/integration/nest-application/raw-body/src/express.module.ts
+++ b/integration/nest-application/raw-body/src/express.module.ts
@@ -1,5 +1,5 @@
import { Module } from '@nestjs/common';
-import { ExpressController } from './express.controller';
+import { ExpressController } from './express.controller.js';
@Module({
controllers: [ExpressController],
diff --git a/integration/nest-application/raw-body/src/fastify.module.ts b/integration/nest-application/raw-body/src/fastify.module.ts
index 462f427ba46..e803b8fb4a4 100644
--- a/integration/nest-application/raw-body/src/fastify.module.ts
+++ b/integration/nest-application/raw-body/src/fastify.module.ts
@@ -1,5 +1,5 @@
import { Module } from '@nestjs/common';
-import { FastifyController } from './fastify.controller';
+import { FastifyController } from './fastify.controller.js';
@Module({
controllers: [FastifyController],
diff --git a/integration/nest-application/raw-body/tsconfig.json b/integration/nest-application/raw-body/tsconfig.json
index 259f2b525f8..76d55ca6982 100644
--- a/integration/nest-application/raw-body/tsconfig.json
+++ b/integration/nest-application/raw-body/tsconfig.json
@@ -1,13 +1,15 @@
{
"compilerOptions": {
+ "types": ["vitest/globals"],
"module": "commonjs",
"declaration": false,
"noImplicitAny": false,
"removeComments": true,
"noLib": false,
+ "esModuleInterop": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
- "target": "ES2021",
+ "target": "ES2023",
"sourceMap": true,
"allowJs": true,
"outDir": "./dist",
diff --git a/integration/nest-application/sse/e2e/express.spec.ts b/integration/nest-application/sse/e2e/express.spec.ts
index 1a25224bb7e..d740ad8db24 100644
--- a/integration/nest-application/sse/e2e/express.spec.ts
+++ b/integration/nest-application/sse/e2e/express.spec.ts
@@ -1,9 +1,7 @@
-import { ValidationPipe } from '@nestjs/common';
import { NestExpressApplication } from '@nestjs/platform-express';
import { Test } from '@nestjs/testing';
-import { expect } from 'chai';
import { EventSource } from 'eventsource';
-import { AppModule } from '../src/app.module';
+import { AppModule } from '../src/app.module.js';
describe('Sse (Express Application)', () => {
let app: NestExpressApplication;
@@ -16,7 +14,6 @@ describe('Sse (Express Application)', () => {
}).compile();
app = moduleFixture.createNestApplication();
- app.useGlobalPipes(new ValidationPipe({ transform: true }));
await app.listen(3000);
const url = await app.getUrl();
@@ -42,30 +39,15 @@ describe('Sse (Express Application)', () => {
await app.close();
});
- it('receives events from server', done => {
- eventSource.addEventListener('message', event => {
- expect(JSON.parse(event.data)).to.eql({
- hello: 'world',
+ it('receives events from server', () =>
+ new Promise(done => {
+ eventSource.addEventListener('message', event => {
+ expect(JSON.parse(event.data)).toEqual({
+ hello: 'world',
+ });
+ done();
});
- done();
- });
- });
-
- it('returns a validation error status before opening the SSE stream', async () => {
- const response = await fetch(
- `${await app.getUrl()}/sse/validated?limit=invalid`,
- {
- headers: {
- accept: 'text/event-stream',
- },
- },
- );
-
- expect(response.status).to.equal(400);
- expect(response.headers.get('content-type')).to.contain(
- 'application/json',
- );
- });
+ }));
});
describe('with forceCloseConnections', () => {
@@ -77,7 +59,6 @@ describe('Sse (Express Application)', () => {
app = moduleFixture.createNestApplication({
forceCloseConnections: true,
});
- app.useGlobalPipes(new ValidationPipe({ transform: true }));
await app.listen(3000);
const url = await app.getUrl();
@@ -100,62 +81,14 @@ describe('Sse (Express Application)', () => {
eventSource.close();
});
- it('receives events from server', done => {
- eventSource.addEventListener('message', event => {
- expect(JSON.parse(event.data)).to.eql({
- hello: 'world',
+ it('receives events from server', () =>
+ new Promise(done => {
+ eventSource.addEventListener('message', event => {
+ expect(JSON.parse(event.data)).toEqual({
+ hello: 'world',
+ });
+ done();
});
- done();
- });
- });
-
- it('returns a validation error status before opening the SSE stream', async () => {
- const response = await fetch(
- `${await app.getUrl()}/sse/validated?limit=invalid`,
- {
- headers: {
- accept: 'text/event-stream',
- },
- },
- );
-
- expect(response.status).to.equal(400);
- expect(response.headers.get('content-type')).to.contain(
- 'application/json',
- );
- });
- });
-
- describe('backpressure', () => {
- beforeEach(async () => {
- const moduleFixture = await Test.createTestingModule({
- imports: [AppModule],
- }).compile();
-
- app = moduleFixture.createNestApplication({
- forceCloseConnections: true,
- });
-
- await app.listen(0);
- });
-
- afterEach(async () => {
- await app.close();
- });
-
- it('should deliver all events when bursting large payloads', async () => {
- const url = await app.getUrl();
- const n = 50;
- const size = 65536;
-
- const response = await fetch(`${url}/sse/burst?n=${n}&size=${size}`);
- const body = await response.text();
-
- const dataLines = body
- .split('\n')
- .filter(line => line.startsWith('data: '));
-
- expect(dataLines).to.have.lengthOf(n);
- });
+ }));
});
});
diff --git a/integration/nest-application/sse/e2e/fastify.spec.ts b/integration/nest-application/sse/e2e/fastify.spec.ts
index e301123d371..ad90b94b059 100644
--- a/integration/nest-application/sse/e2e/fastify.spec.ts
+++ b/integration/nest-application/sse/e2e/fastify.spec.ts
@@ -1,12 +1,10 @@
-import { ValidationPipe } from '@nestjs/common';
import {
FastifyAdapter,
NestFastifyApplication,
} from '@nestjs/platform-fastify';
import { Test } from '@nestjs/testing';
-import { expect } from 'chai';
import { EventSource } from 'eventsource';
-import { AppModule } from '../src/app.module';
+import { AppModule } from '../src/app.module.js';
describe('Sse (Fastify Application)', () => {
let app: NestFastifyApplication;
@@ -21,7 +19,6 @@ describe('Sse (Fastify Application)', () => {
app = moduleFixture.createNestApplication(
new FastifyAdapter(),
);
- app.useGlobalPipes(new ValidationPipe({ transform: true }));
await app.listen(3000);
const url = await app.getUrl();
@@ -47,30 +44,15 @@ describe('Sse (Fastify Application)', () => {
await app.close();
});
- it('receives events from server', done => {
- eventSource.addEventListener('message', event => {
- expect(JSON.parse(event.data)).to.eql({
- hello: 'world',
+ it('receives events from server', () =>
+ new Promise(done => {
+ eventSource.addEventListener('message', event => {
+ expect(JSON.parse(event.data)).toEqual({
+ hello: 'world',
+ });
+ done();
});
- done();
- });
- });
-
- it('returns a validation error status before opening the SSE stream', async () => {
- const response = await fetch(
- `${await app.getUrl()}/sse/validated?limit=invalid`,
- {
- headers: {
- accept: 'text/event-stream',
- },
- },
- );
-
- expect(response.status).to.equal(400);
- expect(response.headers.get('content-type')).to.contain(
- 'application/json',
- );
- });
+ }));
});
describe('with forceCloseConnections', () => {
@@ -84,7 +66,6 @@ describe('Sse (Fastify Application)', () => {
forceCloseConnections: true,
}),
);
- app.useGlobalPipes(new ValidationPipe({ transform: true }));
await app.listen(3000);
const url = await app.getUrl();
@@ -107,64 +88,14 @@ describe('Sse (Fastify Application)', () => {
eventSource.close();
});
- it('receives events from server', done => {
- eventSource.addEventListener('message', event => {
- expect(JSON.parse(event.data)).to.eql({
- hello: 'world',
+ it('receives events from server', () =>
+ new Promise(done => {
+ eventSource.addEventListener('message', event => {
+ expect(JSON.parse(event.data)).toEqual({
+ hello: 'world',
+ });
+ done();
});
- done();
- });
- });
-
- it('returns a validation error status before opening the SSE stream', async () => {
- const response = await fetch(
- `${await app.getUrl()}/sse/validated?limit=invalid`,
- {
- headers: {
- accept: 'text/event-stream',
- },
- },
- );
-
- expect(response.status).to.equal(400);
- expect(response.headers.get('content-type')).to.contain(
- 'application/json',
- );
- });
- });
-
- describe('backpressure', () => {
- beforeEach(async () => {
- const moduleFixture = await Test.createTestingModule({
- imports: [AppModule],
- }).compile();
-
- app = moduleFixture.createNestApplication(
- new FastifyAdapter({
- forceCloseConnections: true,
- }),
- );
-
- await app.listen(0);
- });
-
- afterEach(async () => {
- await app.close();
- });
-
- it('should deliver all events when bursting large payloads', async () => {
- const url = await app.getUrl();
- const n = 50;
- const size = 65536;
-
- const response = await fetch(`${url}/sse/burst?n=${n}&size=${size}`);
- const body = await response.text();
-
- const dataLines = body
- .split('\n')
- .filter(line => line.startsWith('data: '));
-
- expect(dataLines).to.have.lengthOf(n);
- });
+ }));
});
});
diff --git a/integration/nest-application/sse/src/app.module.ts b/integration/nest-application/sse/src/app.module.ts
index 848d4aaa7fe..52bb569b5d1 100644
--- a/integration/nest-application/sse/src/app.module.ts
+++ b/integration/nest-application/sse/src/app.module.ts
@@ -1,5 +1,5 @@
import { Module } from '@nestjs/common';
-import { AppController } from './app.controller';
+import { AppController } from './app.controller.js';
@Module({
controllers: [AppController],
diff --git a/integration/nest-application/sse/tsconfig.json b/integration/nest-application/sse/tsconfig.json
index 23ca656104e..16a4ee7e5c8 100644
--- a/integration/nest-application/sse/tsconfig.json
+++ b/integration/nest-application/sse/tsconfig.json
@@ -1,13 +1,15 @@
{
"compilerOptions": {
+ "types": ["vitest/globals"],
"module": "commonjs",
"declaration": false,
"noImplicitAny": false,
"removeComments": true,
"noLib": false,
+ "esModuleInterop": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
- "target": "ES2021",
+ "target": "ES2023",
"sourceMap": true,
"allowJs": true,
"lib": ["dom"],
diff --git a/integration/nest-application/use-body-parser/e2e/express.spec.ts b/integration/nest-application/use-body-parser/e2e/express.spec.ts
index 06e77086d7b..22c529f2738 100644
--- a/integration/nest-application/use-body-parser/e2e/express.spec.ts
+++ b/integration/nest-application/use-body-parser/e2e/express.spec.ts
@@ -1,9 +1,8 @@
import { NestExpressApplication } from '@nestjs/platform-express';
import { Test } from '@nestjs/testing';
import { OptionsUrlencoded } from 'body-parser';
-import { expect } from 'chai';
-import * as request from 'supertest';
-import { AppModule } from '../src/app.module';
+import request from 'supertest';
+import { AppModule } from '../src/app.module.js';
describe('Body Parser (Express Application)', () => {
const moduleFixture = Test.createTestingModule({
@@ -39,7 +38,7 @@ describe('Body Parser (Express Application)', () => {
.send(stringLimit)
.expect(201);
- expect(response.body).to.eql({
+ expect(response.body).toEqual({
raw: stringLimit,
});
});
@@ -79,7 +78,7 @@ describe('Body Parser (Express Application)', () => {
.send(stringLimit)
.expect(201);
- expect(response.body).to.eql({
+ expect(response.body).toEqual({
raw: stringLimit,
});
});
diff --git a/integration/nest-application/use-body-parser/e2e/fastify.spec.ts b/integration/nest-application/use-body-parser/e2e/fastify.spec.ts
index 26a9240d2fd..2b02f8de251 100644
--- a/integration/nest-application/use-body-parser/e2e/fastify.spec.ts
+++ b/integration/nest-application/use-body-parser/e2e/fastify.spec.ts
@@ -3,8 +3,7 @@ import {
NestFastifyApplication,
} from '@nestjs/platform-fastify';
import { Test } from '@nestjs/testing';
-import { expect } from 'chai';
-import { AppModule } from '../src/app.module';
+import { AppModule } from '../src/app.module.js';
describe('Body Parser (Fastify Application)', () => {
const moduleFixture = Test.createTestingModule({
@@ -43,7 +42,7 @@ describe('Body Parser (Fastify Application)', () => {
payload: stringLimit,
});
- expect(JSON.parse(response.body)).to.eql({
+ expect(JSON.parse(response.body)).toEqual({
raw: stringLimit,
});
});
@@ -56,7 +55,7 @@ describe('Body Parser (Fastify Application)', () => {
payload: stringOverLimit,
});
- expect(response.statusCode).to.equal(413);
+ expect(response.statusCode).toBe(413);
});
});
@@ -87,7 +86,7 @@ describe('Body Parser (Fastify Application)', () => {
payload: stringLimit,
});
- expect(JSON.parse(response.body)).to.eql({
+ expect(JSON.parse(response.body)).toEqual({
raw: stringLimit,
});
});
@@ -100,7 +99,7 @@ describe('Body Parser (Fastify Application)', () => {
payload: stringOverLimit,
});
- expect(response.statusCode).to.equal(413);
+ expect(response.statusCode).toBe(413);
});
});
});
diff --git a/integration/nest-application/use-body-parser/src/app.module.ts b/integration/nest-application/use-body-parser/src/app.module.ts
index 848d4aaa7fe..52bb569b5d1 100644
--- a/integration/nest-application/use-body-parser/src/app.module.ts
+++ b/integration/nest-application/use-body-parser/src/app.module.ts
@@ -1,5 +1,5 @@
import { Module } from '@nestjs/common';
-import { AppController } from './app.controller';
+import { AppController } from './app.controller.js';
@Module({
controllers: [AppController],
diff --git a/integration/nest-application/use-body-parser/tsconfig.json b/integration/nest-application/use-body-parser/tsconfig.json
index 999ab15b777..d8f07b0aaa0 100644
--- a/integration/nest-application/use-body-parser/tsconfig.json
+++ b/integration/nest-application/use-body-parser/tsconfig.json
@@ -1,14 +1,16 @@
{
"compilerOptions": {
+ "types": ["vitest/globals"],
"module": "commonjs",
"declaration": false,
"noImplicitAny": false,
"removeComments": true,
"lib": ["dom"],
"noLib": false,
+ "esModuleInterop": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
- "target": "ES2021",
+ "target": "ES2023",
"sourceMap": true,
"allowJs": true,
"outDir": "./dist"
diff --git a/integration/repl/e2e/repl-process.spec.ts b/integration/repl/e2e/repl-process.spec.ts
index 79d93555e6c..0a13457e242 100644
--- a/integration/repl/e2e/repl-process.spec.ts
+++ b/integration/repl/e2e/repl-process.spec.ts
@@ -1,16 +1,8 @@
-import { expect } from 'chai';
import { spawn } from 'child_process';
-import { join } from 'path';
const PROMPT = '> ';
-const workspaceRoot = join(__dirname, '../../..');
-const localPackageResolver = join(
- workspaceRoot,
- 'integration/_support/register-local-packages.ts',
-);
-const replEntrypoint = join(__dirname, '../src/repl.ts');
-describe('REPL process', function () {
+describe('REPL process', () => {
let replProcess: ReturnType;
function waitForReplToStart(
@@ -42,43 +34,27 @@ describe('REPL process', function () {
});
}
- beforeEach(async function () {
- this.timeout(15000);
+ beforeEach(async () => {
replProcess = spawn(
process.execPath,
- [
- '-r',
- 'ts-node/register/transpile-only',
- '-r',
- localPackageResolver,
- replEntrypoint,
- ],
+ ['--import', 'jiti/register', '../src/repl.ts'],
{
- cwd: workspaceRoot,
- env: {
- ...process.env,
- TS_NODE_PROJECT: join(
- workspaceRoot,
- 'integration/repl/tsconfig.json',
- ),
- },
+ cwd: import.meta.dirname,
},
);
await waitForReplToStart(replProcess, PROMPT);
- });
+ }, 15000);
- afterEach(function () {
+ afterEach(() => {
if (replProcess) {
replProcess.kill(9);
}
});
- it('exits on .exit', async function () {
- this.timeout(1000);
-
+ it('exits on .exit', async () => {
return new Promise((resolve, reject) => {
replProcess.on('exit', _ => {
- expect(replProcess.exitCode).to.equal(0);
+ expect(replProcess.exitCode).toBe(0);
resolve();
});
@@ -92,5 +68,5 @@ describe('REPL process', function () {
reject(new Error('REPL stdin is not available'));
}
});
- });
+ }, 5000);
});
diff --git a/integration/repl/e2e/repl.spec.ts b/integration/repl/e2e/repl.spec.ts
index 8ddcc673d42..90d1266250b 100644
--- a/integration/repl/e2e/repl.spec.ts
+++ b/integration/repl/e2e/repl.spec.ts
@@ -1,4 +1,4 @@
-import { clc } from '@nestjs/common/utils/cli-colors.util';
+import { clc } from '@nestjs/common/utils/cli-colors.util.js';
import { repl } from '@nestjs/core';
import {
DebugReplFn,
@@ -8,38 +8,36 @@ import {
ResolveReplFn,
SelectReplFn,
} from '@nestjs/core/repl/native-functions';
-import { ReplContext } from '@nestjs/core/repl/repl-context';
-import { expect } from 'chai';
-import * as sinon from 'sinon';
-import { AppModule } from '../src/app.module';
+import { ReplContext } from '@nestjs/core/repl/repl-context.js';
+import { AppModule } from '../src/app.module.js';
const PROMPT = '\u001b[1G\u001b[0J> \u001b[3G';
describe('REPL', () => {
beforeEach(() => {
// To avoid coloring the output:
- sinon.stub(clc, 'bold').callsFake(text => text);
- sinon.stub(clc, 'green').callsFake(text => text);
- sinon.stub(clc, 'yellow').callsFake(text => text);
- sinon.stub(clc, 'red').callsFake(text => text);
- sinon.stub(clc, 'magentaBright').callsFake(text => text);
- sinon.stub(clc, 'cyanBright').callsFake(text => text);
+ vi.spyOn(clc, 'bold').mockImplementation(text => text);
+ vi.spyOn(clc, 'green').mockImplementation(text => text);
+ vi.spyOn(clc, 'yellow').mockImplementation(text => text);
+ vi.spyOn(clc, 'red').mockImplementation(text => text);
+ vi.spyOn(clc, 'magentaBright').mockImplementation(text => text);
+ vi.spyOn(clc, 'cyanBright').mockImplementation(text => text);
});
afterEach(() => {
- sinon.restore();
+ vi.restoreAllMocks();
});
it('get()', async () => {
const server = await repl(AppModule);
server.context;
let outputText = '';
- sinon.stub(process.stdout, 'write').callsFake(text => {
+ vi.spyOn(process.stdout, 'write').mockImplementation(text => {
outputText += text as string;
return true;
});
server.emit('line', 'get(UsersService)');
- expect(outputText).to.equal(
+ expect(outputText).toBe(
`UsersService { usersRepository: UsersRepository {} }
${PROMPT}`,
);
@@ -47,14 +45,13 @@ ${PROMPT}`,
outputText = '';
server.emit('line', 'get(UsersService).findAll()');
- expect(outputText).to
- .equal(`\u001b[32m'This action returns all users'\u001b[39m
+ expect(outputText).toBe(`\u001b[32m'This action returns all users'\u001b[39m
${PROMPT}`);
outputText = '';
server.emit('line', 'get("UsersRepository")');
- expect(outputText).to.equal(`UsersRepository {}
+ expect(outputText).toBe(`UsersRepository {}
${PROMPT}`);
});
@@ -62,13 +59,13 @@ ${PROMPT}`);
const server = await repl(AppModule);
server.context;
let outputText = '';
- sinon.stub(process.stdout, 'write').callsFake(text => {
+ vi.spyOn(process.stdout, 'write').mockImplementation(text => {
outputText += text as string;
return true;
});
server.emit('line', '$(UsersService)');
- expect(outputText).to.equal(
+ expect(outputText).toBe(
`UsersService { usersRepository: UsersRepository {} }
${PROMPT}`,
);
@@ -76,14 +73,13 @@ ${PROMPT}`,
outputText = '';
server.emit('line', '$(UsersService).findAll()');
- expect(outputText).to
- .equal(`\u001b[32m'This action returns all users'\u001b[39m
+ expect(outputText).toBe(`\u001b[32m'This action returns all users'\u001b[39m
${PROMPT}`);
outputText = '';
server.emit('line', '$("UsersRepository")');
- expect(outputText).to.equal(`UsersRepository {}
+ expect(outputText).toBe(`UsersRepository {}
${PROMPT}`);
});
@@ -91,13 +87,13 @@ ${PROMPT}`);
const server = await repl(AppModule);
let outputText = '';
- sinon.stub(process.stdout, 'write').callsFake(text => {
+ vi.spyOn(process.stdout, 'write').mockImplementation(text => {
outputText += text as string;
return true;
});
server.emit('line', 'debug(UsersModule)');
- expect(outputText).to.equal(
+ expect(outputText).toBe(
`
UsersModule:
- controllers:
@@ -114,13 +110,13 @@ ${PROMPT}`,
const server = await repl(AppModule);
let outputText = '';
- sinon.stub(process.stdout, 'write').callsFake(text => {
+ vi.spyOn(process.stdout, 'write').mockImplementation(text => {
outputText += text as string;
return true;
});
server.emit('line', 'methods("UsersRepository")');
- expect(outputText).to.equal(
+ expect(outputText).toBe(
`
Methods:
◻ find
@@ -131,7 +127,7 @@ ${PROMPT}`,
outputText = '';
server.emit('line', 'methods(UsersService)');
- expect(outputText).to.equal(
+ expect(outputText).toBe(
`
Methods:
◻ create
@@ -149,17 +145,17 @@ ${PROMPT}`,
const replServer = await repl(AppModule);
const { description, signature } = new HelpReplFn(
- sinon.stub() as unknown as ReplContext,
+ vi.fn() as unknown as ReplContext,
).fnDefinition;
let outputText = '';
- sinon.stub(process.stdout, 'write').callsFake(text => {
+ vi.spyOn(process.stdout, 'write').mockImplementation(text => {
outputText += text as string;
return true;
});
replServer.emit('line', 'help.help');
- expect(outputText).to.equal(`${description}
+ expect(outputText).toBe(`${description}
Interface: help${signature}
${PROMPT}`);
});
@@ -168,17 +164,17 @@ ${PROMPT}`);
const replServer = await repl(AppModule);
const { description, signature } = new GetReplFn(
- sinon.stub() as unknown as ReplContext,
+ vi.fn() as unknown as ReplContext,
).fnDefinition;
let outputText = '';
- sinon.stub(process.stdout, 'write').callsFake(text => {
+ vi.spyOn(process.stdout, 'write').mockImplementation(text => {
outputText += text as string;
return true;
});
replServer.emit('line', 'get.help');
- expect(outputText).to.equal(`${description}
+ expect(outputText).toBe(`${description}
Interface: get${signature}
${PROMPT}`);
});
@@ -187,17 +183,17 @@ ${PROMPT}`);
const replServer = await repl(AppModule);
const { description, signature } = new ResolveReplFn(
- sinon.stub() as unknown as ReplContext,
+ vi.fn() as unknown as ReplContext,
).fnDefinition;
let outputText = '';
- sinon.stub(process.stdout, 'write').callsFake(text => {
+ vi.spyOn(process.stdout, 'write').mockImplementation(text => {
outputText += text as string;
return true;
});
replServer.emit('line', 'resolve.help');
- expect(outputText).to.equal(`${description}
+ expect(outputText).toBe(`${description}
Interface: resolve${signature}
${PROMPT}`);
});
@@ -206,17 +202,17 @@ ${PROMPT}`);
const replServer = await repl(AppModule);
const { description, signature } = new SelectReplFn(
- sinon.stub() as unknown as ReplContext,
+ vi.fn() as unknown as ReplContext,
).fnDefinition;
let outputText = '';
- sinon.stub(process.stdout, 'write').callsFake(text => {
+ vi.spyOn(process.stdout, 'write').mockImplementation(text => {
outputText += text as string;
return true;
});
replServer.emit('line', 'select.help');
- expect(outputText).to.equal(`${description}
+ expect(outputText).toBe(`${description}
Interface: select${signature}
${PROMPT}`);
});
@@ -225,17 +221,17 @@ ${PROMPT}`);
const replServer = await repl(AppModule);
const { description, signature } = new DebugReplFn(
- sinon.stub() as unknown as ReplContext,
+ vi.fn() as unknown as ReplContext,
).fnDefinition;
let outputText = '';
- sinon.stub(process.stdout, 'write').callsFake(text => {
+ vi.spyOn(process.stdout, 'write').mockImplementation(text => {
outputText += text as string;
return true;
});
replServer.emit('line', 'debug.help');
- expect(outputText).to.equal(`${description}
+ expect(outputText).toBe(`${description}
Interface: debug${signature}
${PROMPT}`);
});
@@ -244,17 +240,17 @@ ${PROMPT}`);
const replServer = await repl(AppModule);
const { description, signature } = new MethodsReplFn(
- sinon.stub() as unknown as ReplContext,
+ vi.fn() as unknown as ReplContext,
).fnDefinition;
let outputText = '';
- sinon.stub(process.stdout, 'write').callsFake(text => {
+ vi.spyOn(process.stdout, 'write').mockImplementation(text => {
outputText += text as string;
return true;
});
replServer.emit('line', 'methods.help');
- expect(outputText).to.equal(`${description}
+ expect(outputText).toBe(`${description}
Interface: methods${signature}
${PROMPT}`);
});
diff --git a/integration/repl/src/app.module.ts b/integration/repl/src/app.module.ts
index 867c4b1b3c5..7980cc54c1b 100644
--- a/integration/repl/src/app.module.ts
+++ b/integration/repl/src/app.module.ts
@@ -1,5 +1,5 @@
import { Module } from '@nestjs/common';
-import { UsersModule } from './users/users.module';
+import { UsersModule } from './users/users.module.js';
@Module({
imports: [UsersModule],
diff --git a/integration/repl/src/database/database.module.ts b/integration/repl/src/database/database.module.ts
index 33d392d6a73..c0b6e23ac35 100644
--- a/integration/repl/src/database/database.module.ts
+++ b/integration/repl/src/database/database.module.ts
@@ -1,5 +1,5 @@
import { DynamicModule, Module } from '@nestjs/common';
-import { DatabaseConnection } from './database.connection';
+import { DatabaseConnection } from './database.connection.js';
@Module({})
export class DatabaseModule {
diff --git a/integration/repl/src/long-living-app.module.ts b/integration/repl/src/long-living-app.module.ts
index dd574a50628..05cef9d5273 100644
--- a/integration/repl/src/long-living-app.module.ts
+++ b/integration/repl/src/long-living-app.module.ts
@@ -1,5 +1,5 @@
import { Module } from '@nestjs/common';
-import { DatabaseModule } from './database/database.module';
+import { DatabaseModule } from './database/database.module.js';
@Module({
imports: [DatabaseModule.forRoot()],
diff --git a/integration/repl/src/repl.ts b/integration/repl/src/repl.ts
index b9b339517e9..5359a38c1a7 100644
--- a/integration/repl/src/repl.ts
+++ b/integration/repl/src/repl.ts
@@ -1,5 +1,5 @@
import { repl } from '@nestjs/core';
-import { LongLivingAppModule } from './long-living-app.module';
+import { LongLivingAppModule } from './long-living-app.module.js';
async function bootstrap() {
await repl(LongLivingAppModule);
diff --git a/integration/repl/src/users/dto/update-user.dto.ts b/integration/repl/src/users/dto/update-user.dto.ts
index dfd37fb1edb..912cdc528b4 100644
--- a/integration/repl/src/users/dto/update-user.dto.ts
+++ b/integration/repl/src/users/dto/update-user.dto.ts
@@ -1,4 +1,4 @@
import { PartialType } from '@nestjs/mapped-types';
-import { CreateUserDto } from './create-user.dto';
+import { CreateUserDto } from './create-user.dto.js';
export class UpdateUserDto extends PartialType(CreateUserDto) {}
diff --git a/integration/repl/src/users/users.controller.ts b/integration/repl/src/users/users.controller.ts
index d5db3a65e56..435e5438ee7 100644
--- a/integration/repl/src/users/users.controller.ts
+++ b/integration/repl/src/users/users.controller.ts
@@ -7,9 +7,9 @@ import {
Param,
Delete,
} from '@nestjs/common';
-import { UsersService } from './users.service';
-import { CreateUserDto } from './dto/create-user.dto';
-import { UpdateUserDto } from './dto/update-user.dto';
+import { UsersService } from './users.service.js';
+import { CreateUserDto } from './dto/create-user.dto.js';
+import { UpdateUserDto } from './dto/update-user.dto.js';
@Controller('users')
export class UsersController {
diff --git a/integration/repl/src/users/users.module.ts b/integration/repl/src/users/users.module.ts
index 86d73a3f0e4..57d0aeb82e8 100644
--- a/integration/repl/src/users/users.module.ts
+++ b/integration/repl/src/users/users.module.ts
@@ -1,7 +1,7 @@
import { Module } from '@nestjs/common';
-import { UsersController } from './users.controller';
-import { UsersRepository } from './users.repository';
-import { UsersService } from './users.service';
+import { UsersController } from './users.controller.js';
+import { UsersRepository } from './users.repository.js';
+import { UsersService } from './users.service.js';
@Module({
controllers: [UsersController],
diff --git a/integration/repl/src/users/users.service.ts b/integration/repl/src/users/users.service.ts
index ab3191152d8..d2bfc6a7dd8 100644
--- a/integration/repl/src/users/users.service.ts
+++ b/integration/repl/src/users/users.service.ts
@@ -1,7 +1,7 @@
import { Inject, Injectable } from '@nestjs/common';
-import { CreateUserDto } from './dto/create-user.dto';
-import { UpdateUserDto } from './dto/update-user.dto';
-import { UsersRepository } from './users.repository';
+import { CreateUserDto } from './dto/create-user.dto.js';
+import { UpdateUserDto } from './dto/update-user.dto.js';
+import { UsersRepository } from './users.repository.js';
@Injectable()
export class UsersService {
diff --git a/integration/repl/tsconfig.json b/integration/repl/tsconfig.json
index 4a0f01e0ec4..aa1164082cc 100644
--- a/integration/repl/tsconfig.json
+++ b/integration/repl/tsconfig.json
@@ -1,13 +1,15 @@
{
"compilerOptions": {
+ "types": ["vitest/globals"],
"module": "commonjs",
"declaration": false,
"noImplicitAny": false,
"removeComments": true,
"noLib": false,
+ "esModuleInterop": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
- "target": "ES2021",
+ "target": "ES2023",
"sourceMap": true,
"allowJs": true,
"strictNullChecks": true,
diff --git a/integration/route-conflict/e2e/conflict-policy-fastify.spec.ts b/integration/route-conflict/e2e/conflict-policy-fastify.spec.ts
new file mode 100644
index 00000000000..de0a1e0705d
--- /dev/null
+++ b/integration/route-conflict/e2e/conflict-policy-fastify.spec.ts
@@ -0,0 +1,139 @@
+import { NestApplicationOptions } from '@nestjs/common';
+import { RouteConflictException } from '@nestjs/core/errors/exceptions/route-conflict.exception.js';
+import {
+ FastifyAdapter,
+ NestFastifyApplication,
+} from '@nestjs/platform-fastify';
+import { Test } from '@nestjs/testing';
+import { DuplicateModule } from '../src/duplicate/duplicate.module.js';
+import { MultiUserModule } from '../src/multi-user/multi-user.module.js';
+
+interface CapturedLogger {
+ warnings: string[];
+ logger: {
+ log(message: any, ...rest: any[]): void;
+ warn(message: any, ...rest: any[]): void;
+ error(message: any, ...rest: any[]): void;
+ debug(message: any, ...rest: any[]): void;
+ verbose(message: any, ...rest: any[]): void;
+ fatal(message: any, ...rest: any[]): void;
+ };
+}
+
+function createCaptureLogger(): CapturedLogger {
+ const warnings: string[] = [];
+ return {
+ warnings,
+ logger: {
+ log: () => {},
+ warn: (message: any) => warnings.push(String(message)),
+ error: () => {},
+ debug: () => {},
+ verbose: () => {},
+ fatal: () => {},
+ },
+ };
+}
+
+async function buildFastifyApp(
+ moduleClass: any,
+ options: NestApplicationOptions,
+ capture?: CapturedLogger,
+): Promise {
+ const moduleRef = await Test.createTestingModule({
+ imports: [moduleClass],
+ }).compile();
+ const app = moduleRef.createNestApplication(
+ new FastifyAdapter(),
+ options,
+ );
+ if (capture) {
+ app.useLogger(capture.logger);
+ }
+ return app;
+}
+
+describe('Route conflict policy (Fastify)', () => {
+ let app: NestFastifyApplication | undefined;
+
+ afterEach(async () => {
+ if (app) {
+ await app.close();
+ app = undefined;
+ }
+ });
+
+ describe('multi-user fixture', () => {
+ it('boots even with shadow=error because Fastify is not order-sensitive', async () => {
+ app = await buildFastifyApp(MultiUserModule, {
+ routeConflictPolicy: { shadow: 'error' },
+ });
+ await expect(app.init()).resolves.toBeDefined();
+ });
+
+ it('natively routes every endpoint correctly without any strategy', async () => {
+ app = await buildFastifyApp(MultiUserModule, {});
+ await app.init();
+ await app.getHttpAdapter().getInstance().ready();
+ const fastifyApp = app;
+
+ const cases: Array<{ url: string; body: Record }> = [
+ { url: '/users/me', body: { handler: 'me' } },
+ { url: '/users/images', body: { handler: 'images' } },
+ {
+ url: '/users/images/42',
+ body: { handler: 'imageById', imageId: '42' },
+ },
+ { url: '/users/abc', body: { handler: 'byId', userId: 'abc' } },
+ ];
+
+ for (const testCase of cases) {
+ const response = await fastifyApp.inject({
+ method: 'GET',
+ url: testCase.url,
+ });
+ expect(response.statusCode).toBe(200);
+ expect(response.json()).toEqual(testCase.body);
+ }
+ });
+ });
+
+ describe('duplicate fixture', () => {
+ it('aborts on duplicate=error with the aggregated RouteConflictException', async () => {
+ const builtApp = await buildFastifyApp(DuplicateModule, {
+ routeConflictPolicy: { duplicate: 'error' },
+ });
+ await expect(builtApp.init()).rejects.toBeInstanceOf(
+ RouteConflictException,
+ );
+ });
+
+ it('boots on duplicate=warn and emits one warning instead of throwing from Fastify', async () => {
+ const capture = createCaptureLogger();
+ app = await buildFastifyApp(
+ DuplicateModule,
+ { routeConflictPolicy: { duplicate: 'warn' } },
+ capture,
+ );
+ await expect(app.init()).resolves.toBeDefined();
+ expect(capture.warnings).toHaveLength(1);
+ expect(capture.warnings[0]).toContain('/users/me');
+ });
+
+ it('boots on duplicate=off silently (later duplicate is dropped, first wins)', async () => {
+ const capture = createCaptureLogger();
+ app = await buildFastifyApp(
+ DuplicateModule,
+ { routeConflictPolicy: { duplicate: 'off' } },
+ capture,
+ );
+ await expect(app.init()).resolves.toBeDefined();
+ await app.getHttpAdapter().getInstance().ready();
+
+ const response = await app.inject({ method: 'GET', url: '/users/me' });
+ expect(response.statusCode).toBe(200);
+ expect(response.json()).toEqual({ from: 'A' });
+ expect(capture.warnings).toHaveLength(0);
+ });
+ });
+});
diff --git a/integration/route-conflict/e2e/conflict-policy.spec.ts b/integration/route-conflict/e2e/conflict-policy.spec.ts
new file mode 100644
index 00000000000..7e9522d0161
--- /dev/null
+++ b/integration/route-conflict/e2e/conflict-policy.spec.ts
@@ -0,0 +1,260 @@
+import {
+ INestApplication,
+ NestApplicationOptions,
+ RouteConflictPolicyLevel,
+} from '@nestjs/common';
+import { Test } from '@nestjs/testing';
+import request from 'supertest';
+import { DuplicateModule } from '../src/duplicate/duplicate.module.js';
+import { MultiUserModule } from '../src/multi-user/multi-user.module.js';
+
+interface CapturedLogger {
+ warnings: string[];
+ logger: {
+ log(message: any, ...rest: any[]): void;
+ warn(message: any, ...rest: any[]): void;
+ error(message: any, ...rest: any[]): void;
+ debug(message: any, ...rest: any[]): void;
+ verbose(message: any, ...rest: any[]): void;
+ fatal(message: any, ...rest: any[]): void;
+ };
+}
+
+function createCaptureLogger(): CapturedLogger {
+ const warnings: string[] = [];
+ return {
+ warnings,
+ logger: {
+ log: () => {},
+ warn: (message: any) => warnings.push(String(message)),
+ error: () => {},
+ debug: () => {},
+ verbose: () => {},
+ fatal: () => {},
+ },
+ };
+}
+
+async function buildApp(
+ moduleClass: any,
+ options: NestApplicationOptions,
+ capture: CapturedLogger,
+): Promise {
+ const moduleRef = await Test.createTestingModule({
+ imports: [moduleClass],
+ }).compile();
+
+ const app = moduleRef.createNestApplication(options);
+ app.useLogger(capture.logger);
+ return app;
+}
+
+interface MultiUserCase {
+ description: string;
+ duplicate?: RouteConflictPolicyLevel;
+ shadow?: RouteConflictPolicyLevel;
+ expectsBoot: boolean;
+ expectedWarnings: number;
+}
+
+// MultiUserModule resolves to 4 routes; on the order-sensitive Express
+// adapter, `GET /users/:userId` is registered first and shadows two
+// later routes: `GET /users/me` and `GET /users/images`. There are no
+// duplicates in this fixture, so duplicate-axis policies never fire.
+const SHADOW_PAIRS_IN_MULTI_USER = 2;
+
+const MULTI_USER_CASES: MultiUserCase[] = [
+ {
+ description: 'unset policy leaves the silent shadow in place',
+ expectsBoot: true,
+ expectedWarnings: 0,
+ },
+ {
+ description: 'duplicate=off, shadow=off is silent',
+ duplicate: 'off',
+ shadow: 'off',
+ expectsBoot: true,
+ expectedWarnings: 0,
+ },
+ {
+ description: 'duplicate=off, shadow=warn logs one warning per shadow pair',
+ duplicate: 'off',
+ shadow: 'warn',
+ expectsBoot: true,
+ expectedWarnings: SHADOW_PAIRS_IN_MULTI_USER,
+ },
+ {
+ description: 'duplicate=off, shadow=error aborts bootstrap',
+ duplicate: 'off',
+ shadow: 'error',
+ expectsBoot: false,
+ expectedWarnings: 0,
+ },
+ {
+ description: 'duplicate=warn, shadow=off has nothing to warn about',
+ duplicate: 'warn',
+ shadow: 'off',
+ expectsBoot: true,
+ expectedWarnings: 0,
+ },
+ {
+ description: 'duplicate=warn, shadow=warn warns only on shadow pairs',
+ duplicate: 'warn',
+ shadow: 'warn',
+ expectsBoot: true,
+ expectedWarnings: SHADOW_PAIRS_IN_MULTI_USER,
+ },
+ {
+ description:
+ 'duplicate=error, shadow=off boots because no duplicates exist',
+ duplicate: 'error',
+ shadow: 'off',
+ expectsBoot: true,
+ expectedWarnings: 0,
+ },
+ {
+ description: 'duplicate=error, shadow=warn boots and warns on shadows only',
+ duplicate: 'error',
+ shadow: 'warn',
+ expectsBoot: true,
+ expectedWarnings: SHADOW_PAIRS_IN_MULTI_USER,
+ },
+ {
+ description: 'duplicate=error, shadow=error aborts bootstrap',
+ duplicate: 'error',
+ shadow: 'error',
+ expectsBoot: false,
+ expectedWarnings: 0,
+ },
+];
+
+describe('Route conflict policy (Express, declaration strategy)', () => {
+ describe('multi-user fixture (cross-controller shadow)', () => {
+ let app: INestApplication | undefined;
+
+ afterEach(async () => {
+ if (app) {
+ await app.close();
+ app = undefined;
+ }
+ });
+
+ MULTI_USER_CASES.forEach(testCase => {
+ it(testCase.description, async () => {
+ const conflictPolicy =
+ testCase.duplicate === undefined && testCase.shadow === undefined
+ ? undefined
+ : { duplicate: testCase.duplicate, shadow: testCase.shadow };
+
+ const capture = createCaptureLogger();
+ const builtApp = await buildApp(
+ MultiUserModule,
+ { routeConflictPolicy: conflictPolicy },
+ capture,
+ );
+
+ if (testCase.expectsBoot) {
+ await builtApp.init();
+ app = builtApp;
+ expect(capture.warnings).toHaveLength(testCase.expectedWarnings);
+ } else {
+ await expect(builtApp.init()).rejects.toThrow();
+ }
+ });
+ });
+
+ it('with no policy, `/users/me` is silently routed to `:userId`', async () => {
+ const capture = createCaptureLogger();
+ app = await buildApp(MultiUserModule, {}, capture);
+ await app.init();
+
+ const meResponse = await request(app.getHttpServer()).get('/users/me');
+ expect(meResponse.status).toBe(200);
+ expect(meResponse.body).toEqual({ handler: 'byId', userId: 'me' });
+
+ const imagesResponse = await request(app.getHttpServer()).get(
+ '/users/images',
+ );
+ expect(imagesResponse.status).toBe(200);
+ expect(imagesResponse.body).toEqual({
+ handler: 'byId',
+ userId: 'images',
+ });
+ });
+
+ it('with shadow=warn, the warning message names both endpoints', async () => {
+ const capture = createCaptureLogger();
+ app = await buildApp(
+ MultiUserModule,
+ { routeConflictPolicy: { shadow: 'warn' } },
+ capture,
+ );
+ await app.init();
+
+ const joined = capture.warnings.join('\n');
+ expect(joined).toContain('/users/me');
+ expect(joined).toContain('/users/images');
+ expect(joined).toContain('/users/:userId');
+ });
+ });
+
+ describe('duplicate fixture', () => {
+ let app: INestApplication | undefined;
+
+ afterEach(async () => {
+ if (app) {
+ await app.close();
+ app = undefined;
+ }
+ });
+
+ it('with duplicate=off, both controllers boot and the first one wins', async () => {
+ const capture = createCaptureLogger();
+ app = await buildApp(
+ DuplicateModule,
+ { routeConflictPolicy: { duplicate: 'off' } },
+ capture,
+ );
+ await app.init();
+
+ const response = await request(app.getHttpServer()).get('/users/me');
+ expect(response.status).toBe(200);
+ expect(response.body).toEqual({ from: 'A' });
+ expect(capture.warnings).toHaveLength(0);
+ });
+
+ it('with duplicate=warn, a single warning is emitted', async () => {
+ const capture = createCaptureLogger();
+ app = await buildApp(
+ DuplicateModule,
+ { routeConflictPolicy: { duplicate: 'warn' } },
+ capture,
+ );
+ await app.init();
+
+ expect(capture.warnings).toHaveLength(1);
+ expect(capture.warnings[0]).toContain('/users/me');
+ });
+
+ it('with duplicate=error, bootstrap is aborted', async () => {
+ const capture = createCaptureLogger();
+ const builtApp = await buildApp(
+ DuplicateModule,
+ { routeConflictPolicy: { duplicate: 'error' } },
+ capture,
+ );
+ await expect(builtApp.init()).rejects.toThrow();
+ });
+
+ it('with only shadow=error, the duplicate-only fixture still boots', async () => {
+ const capture = createCaptureLogger();
+ app = await buildApp(
+ DuplicateModule,
+ { routeConflictPolicy: { shadow: 'error' } },
+ capture,
+ );
+ await app.init();
+ expect(capture.warnings).toHaveLength(0);
+ });
+ });
+});
diff --git a/integration/route-conflict/e2e/resolution-strategy.spec.ts b/integration/route-conflict/e2e/resolution-strategy.spec.ts
new file mode 100644
index 00000000000..955bbecef61
--- /dev/null
+++ b/integration/route-conflict/e2e/resolution-strategy.spec.ts
@@ -0,0 +1,126 @@
+import { INestApplication, NestApplicationOptions } from '@nestjs/common';
+import { Test } from '@nestjs/testing';
+import request from 'supertest';
+import { MultiUserModule } from '../src/multi-user/multi-user.module.js';
+
+async function buildApp(
+ options: NestApplicationOptions,
+): Promise {
+ const moduleRef = await Test.createTestingModule({
+ imports: [MultiUserModule],
+ }).compile();
+ return moduleRef.createNestApplication(options);
+}
+
+describe('Route resolution strategy: specificity (Express)', () => {
+ let app: INestApplication | undefined;
+
+ afterEach(async () => {
+ if (app) {
+ await app.close();
+ app = undefined;
+ }
+ });
+
+ describe('with the multi-user fixture', () => {
+ beforeEach(async () => {
+ app = await buildApp({ routeResolutionStrategy: 'specificity' });
+ await app.init();
+ });
+
+ it('routes `/users/me` to the static handler, not `:userId`', async () => {
+ const response = await request(app!.getHttpServer()).get('/users/me');
+ expect(response.status).toBe(200);
+ expect(response.body).toEqual({ handler: 'me' });
+ });
+
+ it('routes `/users/images` to the images handler, not `:userId`', async () => {
+ const response = await request(app!.getHttpServer()).get('/users/images');
+ expect(response.status).toBe(200);
+ expect(response.body).toEqual({ handler: 'images' });
+ });
+
+ it('routes `/users/images/42` to the imageById handler', async () => {
+ const response = await request(app!.getHttpServer()).get(
+ '/users/images/42',
+ );
+ expect(response.status).toBe(200);
+ expect(response.body).toEqual({ handler: 'imageById', imageId: '42' });
+ });
+
+ it('routes `/users/abc` to the byId handler with the userId param', async () => {
+ const response = await request(app!.getHttpServer()).get('/users/abc');
+ expect(response.status).toBe(200);
+ expect(response.body).toEqual({ handler: 'byId', userId: 'abc' });
+ });
+
+ it('routes `/users/123` to the byId handler with the userId param', async () => {
+ const response = await request(app!.getHttpServer()).get('/users/123');
+ expect(response.status).toBe(200);
+ expect(response.body).toEqual({ handler: 'byId', userId: '123' });
+ });
+
+ it('returns 404 for the controller root `/users` (no handler declared there)', async () => {
+ const response = await request(app!.getHttpServer()).get('/users');
+ expect(response.status).toBe(404);
+ });
+
+ it('returns 404 for paths deeper than any declared route', async () => {
+ const response = await request(app!.getHttpServer()).get(
+ '/users/me/details',
+ );
+ expect(response.status).toBe(404);
+ });
+
+ it('returns 404 for an unrelated path with the same prefix shape', async () => {
+ const response = await request(app!.getHttpServer()).get('/admin/me');
+ expect(response.status).toBe(404);
+ });
+
+ it('returns 404 for the root path', async () => {
+ const response = await request(app!.getHttpServer()).get('/');
+ expect(response.status).toBe(404);
+ });
+
+ it('returns 404 for a known path on the wrong HTTP method', async () => {
+ const response = await request(app!.getHttpServer()).post('/users/me');
+ expect(response.status).toBe(404);
+ });
+ });
+
+ describe('combined with routeConflictPolicy', () => {
+ it('boots without error when shadow=error and specificity ordering resolves all shadows', async () => {
+ // The multi-user fixture has GET /users/:userId (declared first) and
+ // GET /users/me (declared second). In declaration order this is a shadow
+ // conflict that would abort the app. With specificity sorting, the literal
+ // /users/me is registered before /:userId, so at runtime every route is
+ // reachable — the shadow is resolved by the sort and should not trigger
+ // shadow: 'error'.
+ await expect(
+ buildApp({
+ routeResolutionStrategy: 'specificity',
+ routeConflictPolicy: { shadow: 'error' },
+ }).then(a => {
+ app = a;
+ return a.init();
+ }),
+ ).resolves.not.toThrow();
+ });
+
+ it('routes correctly when both options are active together', async () => {
+ app = await buildApp({
+ routeResolutionStrategy: 'specificity',
+ routeConflictPolicy: { shadow: 'warn' },
+ });
+ await app.init();
+
+ const meRes = await request(app.getHttpServer()).get('/users/me');
+ expect(meRes.status).toBe(200);
+ expect(meRes.body).toEqual({ handler: 'me' });
+
+ const idRes = await request(app.getHttpServer()).get('/users/42');
+ expect(idRes.status).toBe(200);
+ expect(idRes.body).toEqual({ handler: 'byId', userId: '42' });
+ });
+ });
+});
diff --git a/integration/route-conflict/e2e/versioned-wildcard-fastify.spec.ts b/integration/route-conflict/e2e/versioned-wildcard-fastify.spec.ts
new file mode 100644
index 00000000000..8ea09a04ab4
--- /dev/null
+++ b/integration/route-conflict/e2e/versioned-wildcard-fastify.spec.ts
@@ -0,0 +1,124 @@
+import { NestApplicationOptions, VersioningType } from '@nestjs/common';
+import {
+ FastifyAdapter,
+ NestFastifyApplication,
+} from '@nestjs/platform-fastify';
+import { Test } from '@nestjs/testing';
+import { VersionedWildcardModule } from '../src/versioned-wildcard/versioned-wildcard.module.js';
+
+async function buildVersionedFastifyApp(
+ options: NestApplicationOptions,
+): Promise {
+ const moduleRef = await Test.createTestingModule({
+ imports: [VersionedWildcardModule],
+ }).compile();
+ const app = moduleRef.createNestApplication(
+ new FastifyAdapter(),
+ options,
+ );
+ app.enableVersioning({ type: VersioningType.URI });
+ return app;
+}
+
+// Fastify + URI versioning + named wildcard sharing a prefix with a
+// literal route. This is the combination none of the other route-conflict
+// integration specs touch end-to-end, and it is the one path where the
+// deferred-registration code in `NestApplication.registerRouter` must
+// preserve the version filter for a wildcard handler.
+describe('Route conflict policy (Fastify, URI versioning + wildcard)', () => {
+ let app: NestFastifyApplication | undefined;
+
+ afterEach(async () => {
+ if (app) {
+ await app.close();
+ app = undefined;
+ }
+ });
+
+ it('boots with shadow=error because Fastify filters out shadow policy', async () => {
+ // The detector reports `/v1/users/me` vs `/v1/users/*path` as a
+ // shadow pair, but Fastify's radix tree is order-insensitive so
+ // `filteredPolicy` drops the shadow level before `handle` runs.
+ app = await buildVersionedFastifyApp({
+ routeConflictPolicy: { shadow: 'error' },
+ });
+ await expect(app.init()).resolves.toBeDefined();
+ });
+
+ describe('runtime routing under URI versioning', () => {
+ beforeEach(async () => {
+ app = await buildVersionedFastifyApp({});
+ await app.init();
+ await app.getHttpAdapter().getInstance().ready();
+ });
+
+ it('routes GET /v1/users/me to the literal handler (UsersMeController)', async () => {
+ const response = await app!.inject({
+ method: 'GET',
+ url: '/v1/users/me',
+ });
+ expect(response.statusCode).toBe(200);
+ expect(response.json()).toEqual({ handler: 'me' });
+ });
+
+ it('routes GET /v1/users/anything to the versioned wildcard handler', async () => {
+ const response = await app!.inject({
+ method: 'GET',
+ url: '/v1/users/anything',
+ });
+ expect(response.statusCode).toBe(200);
+ expect(response.json()).toEqual({
+ handler: 'catchAll',
+ tail: 'anything',
+ });
+ });
+
+ it('routes GET /v1/users/a/b/c to the wildcard (absorbs multi-segment tail)', async () => {
+ const response = await app!.inject({
+ method: 'GET',
+ url: '/v1/users/a/b/c',
+ });
+ expect(response.statusCode).toBe(200);
+ expect(response.json()).toEqual({
+ handler: 'catchAll',
+ tail: 'a/b/c',
+ });
+ });
+
+ it('returns 404 for GET /v1/users (named wildcard requires at least one segment)', async () => {
+ const response = await app!.inject({ method: 'GET', url: '/v1/users' });
+ expect(response.statusCode).toBe(404);
+ });
+
+ it('routes the unversioned handler outside the /v1 prefix', async () => {
+ const response = await app!.inject({
+ method: 'GET',
+ url: '/users/profile',
+ });
+ expect(response.statusCode).toBe(200);
+ expect(response.json()).toEqual({ handler: 'profile' });
+ });
+ });
+
+ it('still routes correctly through the deferred-registration path when a conflict policy is set', async () => {
+ // Setting any policy flips `registerRouter` into the deferred
+ // install pass (`registerResolvedRoute`). This asserts the version
+ // filter survives that detour for a wildcard handler.
+ app = await buildVersionedFastifyApp({
+ routeConflictPolicy: { duplicate: 'error' },
+ });
+ await app.init();
+ await app.getHttpAdapter().getInstance().ready();
+
+ const literal = await app.inject({ method: 'GET', url: '/v1/users/me' });
+ expect(literal.statusCode).toBe(200);
+ expect(literal.json()).toEqual({ handler: 'me' });
+
+ const wildcard = await app.inject({
+ method: 'GET',
+ url: '/v1/users/anything',
+ });
+ expect(wildcard.statusCode).toBe(200);
+ expect(wildcard.json()).toEqual({ handler: 'catchAll', tail: 'anything' });
+ });
+});
diff --git a/integration/route-conflict/e2e/wildcard-conflict-policy.spec.ts b/integration/route-conflict/e2e/wildcard-conflict-policy.spec.ts
new file mode 100644
index 00000000000..fd3da6a85e3
--- /dev/null
+++ b/integration/route-conflict/e2e/wildcard-conflict-policy.spec.ts
@@ -0,0 +1,116 @@
+import { INestApplication, NestApplicationOptions } from '@nestjs/common';
+import { Test } from '@nestjs/testing';
+import request from 'supertest';
+import { WildcardModule } from '../src/wildcard/wildcard.module.js';
+
+interface CapturedLogger {
+ warnings: string[];
+ logger: {
+ log(message: any, ...rest: any[]): void;
+ warn(message: any, ...rest: any[]): void;
+ error(message: any, ...rest: any[]): void;
+ debug(message: any, ...rest: any[]): void;
+ verbose(message: any, ...rest: any[]): void;
+ fatal(message: any, ...rest: any[]): void;
+ };
+}
+
+function createCaptureLogger(): CapturedLogger {
+ const warnings: string[] = [];
+ return {
+ warnings,
+ logger: {
+ log: () => {},
+ warn: (message: any) => warnings.push(String(message)),
+ error: () => {},
+ debug: () => {},
+ verbose: () => {},
+ fatal: () => {},
+ },
+ };
+}
+
+async function buildApp(
+ options: NestApplicationOptions,
+ capture: CapturedLogger,
+): Promise {
+ const moduleRef = await Test.createTestingModule({
+ imports: [WildcardModule],
+ }).compile();
+
+ const app = moduleRef.createNestApplication(options);
+ app.useLogger(capture.logger);
+ return app;
+}
+
+// WildcardModule resolves to 3 routes declared in this order:
+// GET /files/*path (wildcard)
+// GET /files/:fileId (param)
+// GET /files/readme (literal)
+// Every unique pair overlaps, so the detector reports 3 shadow pairs.
+const WILDCARD_SHADOW_PAIRS = 3;
+
+describe('Route conflict policy with wildcards (Express, declaration strategy)', () => {
+ let app: INestApplication | undefined;
+
+ afterEach(async () => {
+ if (app) {
+ await app.close();
+ app = undefined;
+ }
+ });
+
+ it('with no policy, the wildcard silently swallows every request', async () => {
+ const capture = createCaptureLogger();
+ app = await buildApp({}, capture);
+ await app.init();
+
+ const readme = await request(app.getHttpServer()).get('/files/readme');
+ expect(readme.status).toBe(200);
+ expect(readme.body).toEqual({ handler: 'catchAll' });
+
+ const byId = await request(app.getHttpServer()).get('/files/42');
+ expect(byId.status).toBe(200);
+ expect(byId.body).toEqual({ handler: 'catchAll' });
+
+ expect(capture.warnings).toHaveLength(0);
+ });
+
+ it('with shadow=warn, emits one warning per overlapping pair', async () => {
+ const capture = createCaptureLogger();
+ app = await buildApp({ routeConflictPolicy: { shadow: 'warn' } }, capture);
+ await app.init();
+
+ expect(capture.warnings).toHaveLength(WILDCARD_SHADOW_PAIRS);
+ });
+
+ it('with shadow=warn, the warnings name the wildcard, param and literal routes', async () => {
+ const capture = createCaptureLogger();
+ app = await buildApp({ routeConflictPolicy: { shadow: 'warn' } }, capture);
+ await app.init();
+
+ const joined = capture.warnings.join('\n');
+ expect(joined).toContain('/files/*path');
+ expect(joined).toContain('/files/:fileId');
+ expect(joined).toContain('/files/readme');
+ });
+
+ it('with shadow=error, bootstrap is aborted', async () => {
+ const capture = createCaptureLogger();
+ const builtApp = await buildApp(
+ { routeConflictPolicy: { shadow: 'error' } },
+ capture,
+ );
+ await expect(builtApp.init()).rejects.toThrow();
+ });
+
+ it('with duplicate=error alone, bootstrap succeeds (no duplicates exist)', async () => {
+ const capture = createCaptureLogger();
+ app = await buildApp(
+ { routeConflictPolicy: { duplicate: 'error' } },
+ capture,
+ );
+ await app.init();
+ expect(capture.warnings).toHaveLength(0);
+ });
+});
diff --git a/integration/route-conflict/e2e/wildcard-resolution-strategy.spec.ts b/integration/route-conflict/e2e/wildcard-resolution-strategy.spec.ts
new file mode 100644
index 00000000000..a09f233bd0c
--- /dev/null
+++ b/integration/route-conflict/e2e/wildcard-resolution-strategy.spec.ts
@@ -0,0 +1,77 @@
+import { INestApplication, NestApplicationOptions } from '@nestjs/common';
+import { Test } from '@nestjs/testing';
+import request from 'supertest';
+import { WildcardModule } from '../src/wildcard/wildcard.module.js';
+
+async function buildApp(
+ options: NestApplicationOptions,
+): Promise {
+ const moduleRef = await Test.createTestingModule({
+ imports: [WildcardModule],
+ }).compile();
+ return moduleRef.createNestApplication(options);
+}
+
+describe('Route resolution strategy with wildcards: specificity (Express)', () => {
+ let app: INestApplication | undefined;
+
+ beforeEach(async () => {
+ app = await buildApp({ routeResolutionStrategy: 'specificity' });
+ await app.init();
+ });
+
+ afterEach(async () => {
+ if (app) {
+ await app.close();
+ app = undefined;
+ }
+ });
+
+ it('routes `/files/readme` to the literal handler (literal beats param and wildcard)', async () => {
+ const response = await request(app!.getHttpServer()).get('/files/readme');
+ expect(response.status).toBe(200);
+ expect(response.body).toEqual({ handler: 'readme' });
+ });
+
+ it('routes `/files/42` to the param handler (param beats wildcard)', async () => {
+ const response = await request(app!.getHttpServer()).get('/files/42');
+ expect(response.status).toBe(200);
+ expect(response.body).toEqual({ handler: 'byId', fileId: '42' });
+ });
+
+ it('routes `/files/some/nested/path` to the wildcard handler (only wildcard matches multi-segment)', async () => {
+ const response = await request(app!.getHttpServer()).get(
+ '/files/some/nested/path',
+ );
+ expect(response.status).toBe(200);
+ expect(response.body).toEqual({ handler: 'catchAll' });
+ });
+
+ it('routes unknown single-segment paths to the param handler, not the wildcard', async () => {
+ const response = await request(app!.getHttpServer()).get(
+ '/files/anything-here',
+ );
+ expect(response.status).toBe(200);
+ expect(response.body).toEqual({ handler: 'byId', fileId: 'anything-here' });
+ });
+
+ it('returns 404 for the controller root `/files` (wildcard requires at least one extra segment)', async () => {
+ const response = await request(app!.getHttpServer()).get('/files');
+ expect(response.status).toBe(404);
+ });
+
+ it('returns 404 for paths outside the controller prefix', async () => {
+ const response = await request(app!.getHttpServer()).get('/other/path');
+ expect(response.status).toBe(404);
+ });
+
+ it('returns 404 for the root path', async () => {
+ const response = await request(app!.getHttpServer()).get('/');
+ expect(response.status).toBe(404);
+ });
+
+ it('returns 404 for a known path on the wrong HTTP method', async () => {
+ const response = await request(app!.getHttpServer()).post('/files/readme');
+ expect(response.status).toBe(404);
+ });
+});
diff --git a/integration/route-conflict/src/app.module.ts b/integration/route-conflict/src/app.module.ts
new file mode 100644
index 00000000000..6eeaba78665
--- /dev/null
+++ b/integration/route-conflict/src/app.module.ts
@@ -0,0 +1,7 @@
+import { Module } from '@nestjs/common';
+import { MultiUserModule } from './multi-user/multi-user.module.js';
+
+@Module({
+ imports: [MultiUserModule],
+})
+export class AppModule {}
diff --git a/integration/route-conflict/src/duplicate/duplicate-a.controller.ts b/integration/route-conflict/src/duplicate/duplicate-a.controller.ts
new file mode 100644
index 00000000000..5aa99830288
--- /dev/null
+++ b/integration/route-conflict/src/duplicate/duplicate-a.controller.ts
@@ -0,0 +1,9 @@
+import { Controller, Get } from '@nestjs/common';
+
+@Controller()
+export class DuplicateAController {
+ @Get('users/me')
+ me() {
+ return { from: 'A' };
+ }
+}
diff --git a/integration/route-conflict/src/duplicate/duplicate-b.controller.ts b/integration/route-conflict/src/duplicate/duplicate-b.controller.ts
new file mode 100644
index 00000000000..430daa502fd
--- /dev/null
+++ b/integration/route-conflict/src/duplicate/duplicate-b.controller.ts
@@ -0,0 +1,9 @@
+import { Controller, Get } from '@nestjs/common';
+
+@Controller()
+export class DuplicateBController {
+ @Get('users/me')
+ me() {
+ return { from: 'B' };
+ }
+}
diff --git a/integration/route-conflict/src/duplicate/duplicate.module.ts b/integration/route-conflict/src/duplicate/duplicate.module.ts
new file mode 100644
index 00000000000..f30fc159c49
--- /dev/null
+++ b/integration/route-conflict/src/duplicate/duplicate.module.ts
@@ -0,0 +1,8 @@
+import { Module } from '@nestjs/common';
+import { DuplicateAController } from './duplicate-a.controller.js';
+import { DuplicateBController } from './duplicate-b.controller.js';
+
+@Module({
+ controllers: [DuplicateAController, DuplicateBController],
+})
+export class DuplicateModule {}
diff --git a/sample/35-use-esm-package-after-node22/src/main.ts b/integration/route-conflict/src/main.ts
similarity index 54%
rename from sample/35-use-esm-package-after-node22/src/main.ts
rename to integration/route-conflict/src/main.ts
index 13cad38cff9..9c280ec7c43 100644
--- a/sample/35-use-esm-package-after-node22/src/main.ts
+++ b/integration/route-conflict/src/main.ts
@@ -1,8 +1,9 @@
import { NestFactory } from '@nestjs/core';
-import { AppModule } from './app.module';
+import { AppModule } from './app.module.js';
async function bootstrap() {
const app = await NestFactory.create(AppModule);
await app.listen(3000);
+ console.log(`Application is running on: ${await app.getUrl()}`);
}
-bootstrap();
+void bootstrap();
diff --git a/integration/route-conflict/src/multi-user/multi-user.module.ts b/integration/route-conflict/src/multi-user/multi-user.module.ts
new file mode 100644
index 00000000000..6d2edeae4fc
--- /dev/null
+++ b/integration/route-conflict/src/multi-user/multi-user.module.ts
@@ -0,0 +1,8 @@
+import { Module } from '@nestjs/common';
+import { UserImagesController } from './user-images.controller.js';
+import { UsersController } from './users.controller.js';
+
+@Module({
+ controllers: [UsersController, UserImagesController],
+})
+export class MultiUserModule {}
diff --git a/integration/route-conflict/src/multi-user/user-images.controller.ts b/integration/route-conflict/src/multi-user/user-images.controller.ts
new file mode 100644
index 00000000000..86b6ee75e4e
--- /dev/null
+++ b/integration/route-conflict/src/multi-user/user-images.controller.ts
@@ -0,0 +1,14 @@
+import { Controller, Get, Param } from '@nestjs/common';
+
+@Controller({ path: 'users' })
+export class UserImagesController {
+ @Get('images')
+ images() {
+ return { handler: 'images' };
+ }
+
+ @Get('images/:imageId')
+ imageById(@Param('imageId') imageId: string) {
+ return { handler: 'imageById', imageId };
+ }
+}
diff --git a/integration/route-conflict/src/multi-user/users.controller.ts b/integration/route-conflict/src/multi-user/users.controller.ts
new file mode 100644
index 00000000000..f0a0ce4ab27
--- /dev/null
+++ b/integration/route-conflict/src/multi-user/users.controller.ts
@@ -0,0 +1,14 @@
+import { Controller, Get, Param } from '@nestjs/common';
+
+@Controller('users')
+export class UsersController {
+ @Get(':userId')
+ byId(@Param('userId') userId: string) {
+ return { handler: 'byId', userId };
+ }
+
+ @Get('me')
+ me() {
+ return { handler: 'me' };
+ }
+}
diff --git a/integration/route-conflict/src/versioned-wildcard/users-me.controller.ts b/integration/route-conflict/src/versioned-wildcard/users-me.controller.ts
new file mode 100644
index 00000000000..1cd63b4f38e
--- /dev/null
+++ b/integration/route-conflict/src/versioned-wildcard/users-me.controller.ts
@@ -0,0 +1,9 @@
+import { Controller, Get } from '@nestjs/common';
+
+@Controller({ path: 'users', version: '1' })
+export class UsersMeController {
+ @Get('me')
+ me() {
+ return { handler: 'me' };
+ }
+}
diff --git a/integration/route-conflict/src/versioned-wildcard/users-wildcard.controller.ts b/integration/route-conflict/src/versioned-wildcard/users-wildcard.controller.ts
new file mode 100644
index 00000000000..fe79e44cf6a
--- /dev/null
+++ b/integration/route-conflict/src/versioned-wildcard/users-wildcard.controller.ts
@@ -0,0 +1,22 @@
+import { Controller, Get, Param, Version } from '@nestjs/common';
+
+// Fastify uses `find-my-way`, whose catch-all is the bare `*` at the
+// end of the path (a single unnamed wildcard); the Express-5 named
+// form `*path` / `{*path}` is rejected with "Wildcard must be the last
+// character in the route". On Express, `*` is auto-converted to a
+// named wildcard by `LegacyRouteConverter`, so `@Get('*')` is the only
+// catch-all form that works on both adapters and round-trips through
+// the resolver pipeline.
+@Controller({ path: 'users' })
+export class UsersWildcardController {
+ @Get('profile')
+ profile() {
+ return { handler: 'profile' };
+ }
+
+ @Version('1')
+ @Get('*')
+ catchAll(@Param('*') tail: string) {
+ return { handler: 'catchAll', tail };
+ }
+}
diff --git a/integration/route-conflict/src/versioned-wildcard/versioned-wildcard.module.ts b/integration/route-conflict/src/versioned-wildcard/versioned-wildcard.module.ts
new file mode 100644
index 00000000000..aabc34abbc9
--- /dev/null
+++ b/integration/route-conflict/src/versioned-wildcard/versioned-wildcard.module.ts
@@ -0,0 +1,19 @@
+import { Module } from '@nestjs/common';
+import { UsersMeController } from './users-me.controller.js';
+import { UsersWildcardController } from './users-wildcard.controller.js';
+
+// Two controllers that share the `users` path under URI versioning:
+// - `UsersMeController` → GET /v1/users/me (literal)
+// - `UsersWildcardController.catchAll` (versioned)
+// → GET /v1/users/*path (named wildcard)
+// - `UsersWildcardController.profile` (unversioned)
+// → GET /users/profile
+//
+// Exercises the combination that no other integration fixture covers:
+// Fastify + URI versioning + a named wildcard sharing a prefix with a
+// literal route + deferred adapter registration (triggered by any
+// non-empty `routeConflictPolicy`).
+@Module({
+ controllers: [UsersMeController, UsersWildcardController],
+})
+export class VersionedWildcardModule {}
diff --git a/integration/route-conflict/src/wildcard/wildcard.controller.ts b/integration/route-conflict/src/wildcard/wildcard.controller.ts
new file mode 100644
index 00000000000..4b59bb565c3
--- /dev/null
+++ b/integration/route-conflict/src/wildcard/wildcard.controller.ts
@@ -0,0 +1,19 @@
+import { Controller, Get, Param } from '@nestjs/common';
+
+@Controller('files')
+export class WildcardController {
+ @Get('*path')
+ catchAll() {
+ return { handler: 'catchAll' };
+ }
+
+ @Get(':fileId')
+ byId(@Param('fileId') fileId: string) {
+ return { handler: 'byId', fileId };
+ }
+
+ @Get('readme')
+ readme() {
+ return { handler: 'readme' };
+ }
+}
diff --git a/integration/route-conflict/src/wildcard/wildcard.module.ts b/integration/route-conflict/src/wildcard/wildcard.module.ts
new file mode 100644
index 00000000000..a4284ddc116
--- /dev/null
+++ b/integration/route-conflict/src/wildcard/wildcard.module.ts
@@ -0,0 +1,7 @@
+import { Module } from '@nestjs/common';
+import { WildcardController } from './wildcard.controller.js';
+
+@Module({
+ controllers: [WildcardController],
+})
+export class WildcardModule {}
diff --git a/integration/route-conflict/tsconfig.json b/integration/route-conflict/tsconfig.json
new file mode 100644
index 00000000000..de4702b87c2
--- /dev/null
+++ b/integration/route-conflict/tsconfig.json
@@ -0,0 +1,36 @@
+{
+ "compilerOptions": {
+ "types": ["vitest/globals"],
+ "module": "commonjs",
+ "declaration": false,
+ "noImplicitAny": false,
+ "removeComments": true,
+ "noLib": false,
+ "esModuleInterop": true,
+ "emitDecoratorMetadata": true,
+ "experimentalDecorators": true,
+ "target": "ES2023",
+ "sourceMap": true,
+ "allowJs": true,
+ "strictNullChecks": true,
+ "outDir": "./dist",
+ "paths": {
+ "@nestjs/common": ["../../packages/common"],
+ "@nestjs/common/*": ["../../packages/common/*"],
+ "@nestjs/core": ["../../packages/core"],
+ "@nestjs/core/*": ["../../packages/core/*"],
+ "@nestjs/microservices": ["../../packages/microservices"],
+ "@nestjs/microservices/*": ["../../packages/microservices/*"],
+ "@nestjs/websockets": ["../../packages/websockets"],
+ "@nestjs/websockets/*": ["../../packages/websockets/*"],
+ "@nestjs/testing": ["../../packages/testing"],
+ "@nestjs/testing/*": ["../../packages/testing/*"],
+ "@nestjs/platform-express": ["../../packages/platform-express"],
+ "@nestjs/platform-express/*": ["../../packages/platform-express/*"],
+ "@nestjs/platform-fastify": ["../../packages/platform-fastify"],
+ "@nestjs/platform-fastify/*": ["../../packages/platform-fastify/*"]
+ }
+ },
+ "include": ["src/**/*", "e2e/**/*"],
+ "exclude": ["node_modules"]
+}
diff --git a/integration/scopes/e2e/circular-request-scope.spec.ts b/integration/scopes/e2e/circular-request-scope.spec.ts
index 72489dc60ec..130ae3b0049 100644
--- a/integration/scopes/e2e/circular-request-scope.spec.ts
+++ b/integration/scopes/e2e/circular-request-scope.spec.ts
@@ -1,11 +1,10 @@
import { INestApplication, Scope } from '@nestjs/common';
import { Test } from '@nestjs/testing';
-import { expect } from 'chai';
-import * as request from 'supertest';
-import { HelloController } from '../src/circular-hello/hello.controller';
-import { HelloModule } from '../src/circular-hello/hello.module';
-import { HelloService } from '../src/circular-hello/hello.service';
-import { UsersService } from '../src/circular-hello/users/users.service';
+import request from 'supertest';
+import { HelloController } from '../src/circular-hello/hello.controller.js';
+import { HelloModule } from '../src/circular-hello/hello.module.js';
+import { HelloService } from '../src/circular-hello/hello.service.js';
+import { UsersService } from '../src/circular-hello/users/users.service.js';
class Meta {
static COUNTER = 0;
@@ -18,7 +17,7 @@ describe('Circular request scope', () => {
let server;
let app: INestApplication;
- before(async () => {
+ beforeAll(async () => {
const module = await Test.createTestingModule({
imports: [
HelloModule.forRoot({
@@ -35,7 +34,7 @@ describe('Circular request scope', () => {
});
describe('when one service is request scoped', () => {
- before(async () => {
+ beforeAll(async () => {
const performHttpCall = end =>
request(server)
.get('/hello')
@@ -49,23 +48,23 @@ describe('Circular request scope', () => {
});
it(`should create controller for each request`, () => {
- expect(HelloController.COUNTER).to.be.eql(3);
+ expect(HelloController.COUNTER).toEqual(3);
});
it(`should create service for each request`, () => {
- expect(UsersService.COUNTER).to.be.eql(3);
+ expect(UsersService.COUNTER).toEqual(3);
});
it(`should create service for each request`, () => {
- expect(HelloService.COUNTER).to.be.eql(3);
+ expect(HelloService.COUNTER).toEqual(3);
});
it(`should create provider for each inquirer`, () => {
- expect(Meta.COUNTER).to.be.eql(3);
+ expect(Meta.COUNTER).toEqual(3);
});
});
- after(async () => {
+ afterAll(async () => {
await app.close();
});
});
diff --git a/integration/scopes/e2e/circular-transient-scope.spec.ts b/integration/scopes/e2e/circular-transient-scope.spec.ts
index acfaecbe4fe..209e62d25e6 100644
--- a/integration/scopes/e2e/circular-transient-scope.spec.ts
+++ b/integration/scopes/e2e/circular-transient-scope.spec.ts
@@ -1,11 +1,10 @@
import { INestApplication, Scope } from '@nestjs/common';
import { Test } from '@nestjs/testing';
-import { expect } from 'chai';
-import * as request from 'supertest';
-import { HelloController } from '../src/circular-transient/hello.controller';
-import { HelloModule } from '../src/circular-transient/hello.module';
-import { HelloService } from '../src/circular-transient/hello.service';
-import { UsersService } from '../src/circular-transient/users/users.service';
+import request from 'supertest';
+import { HelloController } from '../src/circular-transient/hello.controller.js';
+import { HelloModule } from '../src/circular-transient/hello.module.js';
+import { HelloService } from '../src/circular-transient/hello.service.js';
+import { UsersService } from '../src/circular-transient/users/users.service.js';
class Meta {
static COUNTER = 0;
@@ -18,7 +17,7 @@ describe('Circular transient scope', () => {
let server;
let app: INestApplication;
- before(async () => {
+ beforeAll(async () => {
const module = await Test.createTestingModule({
imports: [
HelloModule.forRoot({
@@ -35,7 +34,7 @@ describe('Circular transient scope', () => {
});
describe('when one service is request scoped', () => {
- before(async () => {
+ beforeAll(async () => {
const performHttpCall = end =>
request(server)
.get('/hello')
@@ -49,23 +48,23 @@ describe('Circular transient scope', () => {
});
it(`should create controller for each request`, async () => {
- expect(HelloController.COUNTER).to.be.eql(3);
+ expect(HelloController.COUNTER).toEqual(3);
});
it(`should create service for each request`, async () => {
- expect(UsersService.COUNTER).to.be.eql(3);
+ expect(UsersService.COUNTER).toEqual(3);
});
it(`should create service for each request`, async () => {
- expect(HelloService.COUNTER).to.be.eql(3);
+ expect(HelloService.COUNTER).toEqual(3);
});
it(`should create provider for each inquirer`, async () => {
- expect(Meta.COUNTER).to.be.eql(7);
+ expect(Meta.COUNTER).toEqual(7);
});
});
- after(async () => {
+ afterAll(async () => {
await app.close();
});
});
diff --git a/integration/scopes/e2e/durable-providers.spec.ts b/integration/scopes/e2e/durable-providers.spec.ts
index 513d517ee1b..c498db5a2a4 100644
--- a/integration/scopes/e2e/durable-providers.spec.ts
+++ b/integration/scopes/e2e/durable-providers.spec.ts
@@ -1,10 +1,9 @@
import { INestApplication } from '@nestjs/common';
import { ContextIdFactory } from '@nestjs/core';
import { Test } from '@nestjs/testing';
-import { expect } from 'chai';
-import * as request from 'supertest';
-import { DurableContextIdStrategy } from '../src/durable/durable-context-id.strategy';
-import { DurableModule } from '../src/durable/durable.module';
+import request from 'supertest';
+import { DurableContextIdStrategy } from '../src/durable/durable-context-id.strategy.js';
+import { DurableModule } from '../src/durable/durable.module.js';
describe('Durable providers', () => {
const OVERLAP_REQUEST_COUNT = 1000;
@@ -12,7 +11,7 @@ describe('Durable providers', () => {
let app: INestApplication;
let baseUrl: string;
- before(async () => {
+ beforeAll(async () => {
const moduleRef = await Test.createTestingModule({
imports: [DurableModule],
}).compile();
@@ -60,17 +59,17 @@ describe('Durable providers', () => {
result = await new Promise(resolve =>
performHttpCall(1, resolve),
);
- expect(result.text).equal('Hello world! Counter: 1');
+ expect(result.text).toBe('Hello world! Counter: 1');
result = await new Promise(resolve =>
performHttpCall(1, resolve),
);
- expect(result.text).equal('Hello world! Counter: 2');
+ expect(result.text).toBe('Hello world! Counter: 2');
result = await new Promise(resolve =>
performHttpCall(1, resolve),
);
- expect(result.text).equal('Hello world! Counter: 3');
+ expect(result.text).toBe('Hello world! Counter: 3');
});
it(`should create per-tenant DI sub-tree`, async () => {
@@ -78,17 +77,17 @@ describe('Durable providers', () => {
result = await new Promise(resolve =>
performHttpCall(4, resolve),
);
- expect(result.text).equal('Hello world! Counter: 1');
+ expect(result.text).toBe('Hello world! Counter: 1');
result = await new Promise(resolve =>
performHttpCall(5, resolve),
);
- expect(result.text).equal('Hello world! Counter: 1');
+ expect(result.text).toBe('Hello world! Counter: 1');
result = await new Promise(resolve =>
performHttpCall(6, resolve),
);
- expect(result.text).equal('Hello world! Counter: 1');
+ expect(result.text).toBe('Hello world! Counter: 1');
});
it(`should register a custom per-tenant request payload`, async () => {
@@ -96,12 +95,12 @@ describe('Durable providers', () => {
result = await new Promise(resolve =>
performHttpCall(1, resolve, '/durable/echo'),
);
- expect(result.body).deep.equal({ tenantId: '1' });
+ expect(result.body).toEqual({ tenantId: '1' });
result = await new Promise(resolve =>
performHttpCall(3, resolve, '/durable/echo'),
);
- expect(result.body).deep.equal({ tenantId: '3' });
+ expect(result.body).toEqual({ tenantId: '3' });
});
it(`should return the same tenantId both from durable request scoped service and non-durable request scoped service`, async () => {
@@ -109,7 +108,7 @@ describe('Durable providers', () => {
result = await new Promise(resolve =>
performHttpCall(1, resolve, '/durable/request-context'),
);
- expect(result.body).deep.equal({
+ expect(result.body).toEqual({
durableService: '1',
nonDurableService: '1',
});
@@ -117,14 +116,13 @@ describe('Durable providers', () => {
result = await new Promise(resolve =>
performHttpCall(2, resolve, '/durable/request-context'),
);
- expect(result.body).deep.equal({
+ expect(result.body).toEqual({
durableService: '2',
nonDurableService: '2',
});
});
- it(`should preserve request context across overlapping requests from different tenants`, async function () {
- this.timeout(20000);
+ it(`should preserve request context across overlapping requests from different tenants`, async () => {
const tenantIds = Array.from(
{ length: OVERLAP_REQUEST_COUNT },
(_, index) => index + 21,
@@ -136,19 +134,18 @@ describe('Durable providers', () => {
),
);
- expect(responses.map(response => response.statusCode)).to.deep.equal(
+ expect(responses.map(response => response.statusCode)).toEqual(
tenantIds.map(() => 200),
);
- expect(responses.map(response => response.body)).to.deep.equal(
+ expect(responses.map(response => response.body)).toEqual(
tenantIds.map(tenantId => ({
durableService: String(tenantId),
nonDurableService: String(tenantId),
})),
);
- });
+ }, 20000);
- it(`should reuse the durable subtree across overlapping requests for the same tenant`, async function () {
- this.timeout(20000);
+ it(`should reuse the durable subtree across overlapping requests for the same tenant`, async () => {
const tenantId = 31;
const responses = await Promise.all(
@@ -161,13 +158,13 @@ describe('Durable providers', () => {
.map(response => Number(response.text.match(/Counter: (\d+)/)?.[1]))
.sort((left, right) => left - right);
- expect(responses.map(response => response.statusCode)).to.deep.equal(
+ expect(responses.map(response => response.statusCode)).toEqual(
Array.from({ length: OVERLAP_REQUEST_COUNT }, () => 200),
);
- expect(counters).to.deep.equal(
+ expect(counters).toEqual(
Array.from({ length: OVERLAP_REQUEST_COUNT }, (_, index) => index + 1),
);
- });
+ }, 20000);
it(`should not cache durable providers that throw errors`, async () => {
let result: request.Response;
@@ -176,18 +173,18 @@ describe('Durable providers', () => {
performHttpCall(10, resolve, '/durable/echo', { forceError: true }),
);
- expect(result.statusCode).equal(412);
+ expect(result.statusCode).toBe(412);
// The second request should be successful
result = await new Promise(resolve =>
performHttpCall(10, resolve, '/durable/echo'),
);
- expect(result.body).deep.equal({ tenantId: '10' });
+ expect(result.body).toEqual({ tenantId: '10' });
});
});
- after(async () => {
+ afterAll(async () => {
ContextIdFactory['strategy'] = undefined;
await app.close();
});
diff --git a/integration/scopes/e2e/inject-inquirer.spec.ts b/integration/scopes/e2e/inject-inquirer.spec.ts
index f95d5ee0786..a1256ae0871 100644
--- a/integration/scopes/e2e/inject-inquirer.spec.ts
+++ b/integration/scopes/e2e/inject-inquirer.spec.ts
@@ -1,9 +1,7 @@
import { INestApplication, Logger } from '@nestjs/common';
import { Test } from '@nestjs/testing';
-import { expect } from 'chai';
-import * as sinon from 'sinon';
-import * as request from 'supertest';
-import { HelloModule } from '../src/inject-inquirer/hello.module';
+import request from 'supertest';
+import { HelloModule } from '../src/inject-inquirer/hello.module.js';
describe('Inject Inquirer', () => {
let logger: Record;
@@ -11,7 +9,7 @@ describe('Inject Inquirer', () => {
let app: INestApplication;
beforeEach(async () => {
- logger = { log: sinon.spy() };
+ logger = { log: vi.fn() };
const module = await Test.createTestingModule({
imports: [HelloModule],
@@ -28,29 +26,28 @@ describe('Inject Inquirer', () => {
it(`should allow the injection of inquirer in a Transient Scope`, async () => {
await request(server).get('/hello/transient');
- expect(
- logger.log.calledWith({
+ expect(logger.log).toHaveBeenCalledWith(
+ expect.objectContaining({
message: 'Hello transient!',
feature: 'transient',
}),
- ).to.be.true;
+ );
});
it(`should allow the injection of the inquirer in a Request Scope`, async () => {
await request(server).get('/hello/request');
- expect(
- logger.log.calledWith({
+ expect(logger.log).toHaveBeenCalledWith(
+ expect.objectContaining({
message: 'Hello request!',
- requestId: sinon.match.string,
feature: 'request',
}),
- ).to.be.true;
+ );
- const requestId = logger.log.getCall(0).args[0].requestId;
+ const requestId = logger.log.mock.calls[0][0].requestId;
- expect(
- logger.log.calledWith({
+ expect(logger.log).toHaveBeenCalledWith(
+ expect.objectContaining({
message: 'Goodbye request!',
requestId,
feature: 'request',
diff --git a/integration/scopes/e2e/msvc-request-scope.spec.ts b/integration/scopes/e2e/msvc-request-scope.spec.ts
index 6ce1a6a5ace..446c83a15f3 100644
--- a/integration/scopes/e2e/msvc-request-scope.spec.ts
+++ b/integration/scopes/e2e/msvc-request-scope.spec.ts
@@ -1,13 +1,12 @@
import { INestApplication } from '@nestjs/common';
import { MicroserviceOptions, Transport } from '@nestjs/microservices';
import { Test } from '@nestjs/testing';
-import { expect } from 'chai';
-import * as request from 'supertest';
-import { Guard } from '../src/msvc/guards/request-scoped.guard';
-import { HelloController } from '../src/msvc/hello.controller';
-import { HelloModule } from '../src/msvc/hello.module';
-import { Interceptor } from '../src/msvc/interceptors/logging.interceptor';
-import { UsersService } from '../src/msvc/users/users.service';
+import request from 'supertest';
+import { Guard } from '../src/msvc/guards/request-scoped.guard.js';
+import { HelloController } from '../src/msvc/hello.controller.js';
+import { HelloModule } from '../src/msvc/hello.module.js';
+import { Interceptor } from '../src/msvc/interceptors/logging.interceptor.js';
+import { UsersService } from '../src/msvc/users/users.service.js';
class Meta {
static COUNTER = 0;
@@ -20,7 +19,7 @@ describe('Request scope (microservices)', () => {
let server;
let app: INestApplication;
- before(async () => {
+ beforeAll(async () => {
const module = await Test.createTestingModule({
imports: [
HelloModule.forRoot({
@@ -39,7 +38,7 @@ describe('Request scope (microservices)', () => {
});
describe('when one service is request scoped', () => {
- before(async () => {
+ beforeAll(async () => {
const performHttpCall = end =>
request(server)
.get('/hello')
@@ -53,29 +52,29 @@ describe('Request scope (microservices)', () => {
});
it(`should create controller for each request`, () => {
- expect(HelloController.COUNTER).to.be.eql(3);
+ expect(HelloController.COUNTER).toEqual(3);
});
it(`should create service for each request`, () => {
- expect(UsersService.COUNTER).to.be.eql(3);
+ expect(UsersService.COUNTER).toEqual(3);
});
it(`should share static provider across requests`, () => {
- expect(Meta.COUNTER).to.be.eql(1);
+ expect(Meta.COUNTER).toEqual(1);
});
it(`should create request scoped interceptor for each request`, () => {
- expect(Interceptor.COUNTER).to.be.eql(3);
- expect(Interceptor.REQUEST_SCOPED_DATA).to.deep.equal([1, 1, 1]);
+ expect(Interceptor.COUNTER).toEqual(3);
+ expect(Interceptor.REQUEST_SCOPED_DATA).toEqual([1, 1, 1]);
});
it(`should create request scoped guard for each request`, () => {
- expect(Guard.COUNTER).to.be.eql(3);
- expect(Guard.REQUEST_SCOPED_DATA).to.deep.equal([1, 1, 1]);
+ expect(Guard.COUNTER).toEqual(3);
+ expect(Guard.REQUEST_SCOPED_DATA).toEqual([1, 1, 1]);
});
});
- after(async () => {
+ afterAll(async () => {
await app.close();
});
});
diff --git a/integration/scopes/e2e/request-modules-scope.spec.ts b/integration/scopes/e2e/request-modules-scope.spec.ts
index 2450020652e..48c5bd5f758 100644
--- a/integration/scopes/e2e/request-modules-scope.spec.ts
+++ b/integration/scopes/e2e/request-modules-scope.spec.ts
@@ -1,9 +1,8 @@
import { INestApplication } from '@nestjs/common';
import { Test } from '@nestjs/testing';
-import { expect } from 'chai';
-import * as request from 'supertest';
-import { RequestChainModule } from '../src/request-chain/request-chain.module';
-import { RequestChainService } from '../src/request-chain/request-chain.service';
+import request from 'supertest';
+import { RequestChainModule } from '../src/request-chain/request-chain.module.js';
+import { RequestChainService } from '../src/request-chain/request-chain.service.js';
describe('Request scope (modules propagation)', () => {
const OVERLAP_REQUEST_COUNT = 1000;
@@ -11,7 +10,7 @@ describe('Request scope (modules propagation)', () => {
let app: INestApplication;
let baseUrl: string;
- before(async () => {
+ beforeAll(async () => {
const module = await Test.createTestingModule({
imports: [RequestChainModule],
}).compile();
@@ -23,7 +22,7 @@ describe('Request scope (modules propagation)', () => {
});
describe('when service from parent module is request scoped', () => {
- before(async () => {
+ beforeAll(async () => {
const performHttpCall = end =>
request(server)
.get('/hello')
@@ -37,38 +36,37 @@ describe('Request scope (modules propagation)', () => {
});
it(`should not fail`, () => {
- expect(RequestChainService.COUNTER).to.be.eql(3);
+ expect(RequestChainService.COUNTER).toEqual(3);
});
});
- describe('when service from parent module is request scoped under overlapping requests', function () {
- this.timeout(20000);
+ describe('when service from parent module is request scoped under overlapping requests', () => {
let counterBefore: number;
let responses: request.Response[];
- before(async () => {
+ beforeAll(async () => {
counterBefore = RequestChainService.COUNTER;
responses = await Promise.all(
Array.from({ length: OVERLAP_REQUEST_COUNT }, () =>
request(baseUrl).get('/hello'),
),
);
- });
+ }, 20000);
it('should complete every overlapping request successfully', () => {
- expect(responses.map(response => response.status)).to.deep.equal(
+ expect(responses.map(response => response.status)).toEqual(
Array.from({ length: OVERLAP_REQUEST_COUNT }, () => 200),
);
});
it('should create the request-scoped dependency chain for every overlapping request', () => {
- expect(RequestChainService.COUNTER - counterBefore).to.equal(
+ expect(RequestChainService.COUNTER - counterBefore).toBe(
OVERLAP_REQUEST_COUNT,
);
});
});
- after(async () => {
+ afterAll(async () => {
await app.close();
});
});
diff --git a/integration/scopes/e2e/request-scope.spec.ts b/integration/scopes/e2e/request-scope.spec.ts
index 672f6aacccf..a8c8066d86e 100644
--- a/integration/scopes/e2e/request-scope.spec.ts
+++ b/integration/scopes/e2e/request-scope.spec.ts
@@ -1,13 +1,12 @@
import { INestApplication } from '@nestjs/common';
import { Test } from '@nestjs/testing';
-import { expect } from 'chai';
-import * as request from 'supertest';
-import { Guard } from '../src/hello/guards/request-scoped.guard';
-import { HelloController } from '../src/hello/hello.controller';
-import { HelloModule } from '../src/hello/hello.module';
-import { Interceptor } from '../src/hello/interceptors/logging.interceptor';
-import { UserByIdPipe } from '../src/hello/users/user-by-id.pipe';
-import { UsersService } from '../src/hello/users/users.service';
+import request from 'supertest';
+import { Guard } from '../src/hello/guards/request-scoped.guard.js';
+import { HelloController } from '../src/hello/hello.controller.js';
+import { HelloModule } from '../src/hello/hello.module.js';
+import { Interceptor } from '../src/hello/interceptors/logging.interceptor.js';
+import { UserByIdPipe } from '../src/hello/users/user-by-id.pipe.js';
+import { UsersService } from '../src/hello/users/users.service.js';
class Meta {
static COUNTER = 0;
@@ -22,7 +21,7 @@ describe('Request scope', () => {
let app: INestApplication;
let baseUrl: string;
- before(async () => {
+ beforeAll(async () => {
const module = await Test.createTestingModule({
imports: [
HelloModule.forRoot({
@@ -39,7 +38,7 @@ describe('Request scope', () => {
});
describe('when one service is request scoped', () => {
- before(async () => {
+ beforeAll(async () => {
const performHttpCall = end =>
request(server)
.get('/hello')
@@ -53,35 +52,34 @@ describe('Request scope', () => {
});
it(`should create controller for each request`, () => {
- expect(HelloController.COUNTER).to.be.eql(3);
+ expect(HelloController.COUNTER).toEqual(3);
});
it(`should create service for each request`, () => {
- expect(UsersService.COUNTER).to.be.eql(3);
+ expect(UsersService.COUNTER).toEqual(3);
});
it(`should share static provider across requests`, () => {
- expect(Meta.COUNTER).to.be.eql(1);
+ expect(Meta.COUNTER).toEqual(1);
});
it(`should create request scoped pipe for each request`, () => {
- expect(UserByIdPipe.COUNTER).to.be.eql(3);
- expect(UserByIdPipe.REQUEST_SCOPED_DATA).to.deep.equal([1, 1, 1]);
+ expect(UserByIdPipe.COUNTER).toEqual(3);
+ expect(UserByIdPipe.REQUEST_SCOPED_DATA).toEqual([1, 1, 1]);
});
it(`should create request scoped interceptor for each request`, () => {
- expect(Interceptor.COUNTER).to.be.eql(3);
- expect(Interceptor.REQUEST_SCOPED_DATA).to.deep.equal([1, 1, 1]);
+ expect(Interceptor.COUNTER).toEqual(3);
+ expect(Interceptor.REQUEST_SCOPED_DATA).toEqual([1, 1, 1]);
});
it(`should create request scoped guard for each request`, () => {
- expect(Guard.COUNTER).to.be.eql(3);
- expect(Guard.REQUEST_SCOPED_DATA).to.deep.equal([1, 1, 1]);
+ expect(Guard.COUNTER).toEqual(3);
+ expect(Guard.REQUEST_SCOPED_DATA).toEqual([1, 1, 1]);
});
});
- describe('when overlapping requests are handled', function () {
- this.timeout(20000);
+ describe('when overlapping requests are handled', () => {
let controllerCounterBefore: number;
let usersCounterBefore: number;
let pipeCounterBefore: number;
@@ -92,7 +90,7 @@ describe('Request scope', () => {
let guardDataLengthBefore: number;
let responses: request.Response[];
- before(async () => {
+ beforeAll(async () => {
controllerCounterBefore = HelloController.COUNTER;
usersCounterBefore = UsersService.COUNTER;
pipeCounterBefore = UserByIdPipe.COUNTER;
@@ -107,46 +105,44 @@ describe('Request scope', () => {
request(baseUrl).get('/hello'),
),
);
- });
+ }, 20000);
it('should complete every overlapping request successfully', () => {
- expect(responses.map(response => response.status)).to.deep.equal(
+ expect(responses.map(response => response.status)).toEqual(
Array.from({ length: OVERLAP_REQUEST_COUNT }, () => 200),
);
});
it('should create a request-scoped controller and service for every overlapping request', () => {
- expect(HelloController.COUNTER - controllerCounterBefore).to.equal(
+ expect(HelloController.COUNTER - controllerCounterBefore).toBe(
OVERLAP_REQUEST_COUNT,
);
- expect(UsersService.COUNTER - usersCounterBefore).to.equal(
+ expect(UsersService.COUNTER - usersCounterBefore).toBe(
OVERLAP_REQUEST_COUNT,
);
});
it('should create request-scoped enhancers for every overlapping request', () => {
- expect(UserByIdPipe.COUNTER - pipeCounterBefore).to.equal(
- OVERLAP_REQUEST_COUNT,
- );
- expect(Interceptor.COUNTER - interceptorCounterBefore).to.equal(
+ expect(UserByIdPipe.COUNTER - pipeCounterBefore).toBe(
OVERLAP_REQUEST_COUNT,
);
- expect(Guard.COUNTER - guardCounterBefore).to.equal(
+ expect(Interceptor.COUNTER - interceptorCounterBefore).toBe(
OVERLAP_REQUEST_COUNT,
);
+ expect(Guard.COUNTER - guardCounterBefore).toBe(OVERLAP_REQUEST_COUNT);
expect(
UserByIdPipe.REQUEST_SCOPED_DATA.slice(pipeDataLengthBefore),
- ).to.deep.equal(Array.from({ length: OVERLAP_REQUEST_COUNT }, () => 1));
+ ).toEqual(Array.from({ length: OVERLAP_REQUEST_COUNT }, () => 1));
expect(
Interceptor.REQUEST_SCOPED_DATA.slice(interceptorDataLengthBefore),
- ).to.deep.equal(Array.from({ length: OVERLAP_REQUEST_COUNT }, () => 1));
- expect(
- Guard.REQUEST_SCOPED_DATA.slice(guardDataLengthBefore),
- ).to.deep.equal(Array.from({ length: OVERLAP_REQUEST_COUNT }, () => 1));
+ ).toEqual(Array.from({ length: OVERLAP_REQUEST_COUNT }, () => 1));
+ expect(Guard.REQUEST_SCOPED_DATA.slice(guardDataLengthBefore)).toEqual(
+ Array.from({ length: OVERLAP_REQUEST_COUNT }, () => 1),
+ );
});
});
- after(async () => {
+ afterAll(async () => {
await app.close();
});
});
diff --git a/integration/scopes/e2e/resolve-scoped.spec.ts b/integration/scopes/e2e/resolve-scoped.spec.ts
index 138c8fe853a..4b7da02973d 100644
--- a/integration/scopes/e2e/resolve-scoped.spec.ts
+++ b/integration/scopes/e2e/resolve-scoped.spec.ts
@@ -1,9 +1,8 @@
import { INestApplication } from '@nestjs/common';
import { Test } from '@nestjs/testing';
-import { expect } from 'chai';
-import { loggerProvider } from '../src/resolve-scoped/logger.provider';
-import { LoggerService } from '../src/resolve-scoped/logger.service';
-import { RequestLoggerService } from '../src/resolve-scoped/request-logger.service';
+import { loggerProvider } from '../src/resolve-scoped/logger.provider.js';
+import { LoggerService } from '../src/resolve-scoped/logger.service.js';
+import { RequestLoggerService } from '../src/resolve-scoped/request-logger.service.js';
describe('Resolve method', () => {
let app: INestApplication;
@@ -19,7 +18,7 @@ describe('Resolve method', () => {
it('should resolve transient logger', async () => {
const transientLogger = await app.resolve(LoggerService);
- expect(transientLogger.logger).to.be.eql({
+ expect(transientLogger.logger).toEqual({
logger: true,
});
});
@@ -27,13 +26,13 @@ describe('Resolve method', () => {
it('should resolve request-scoped logger', async () => {
const requestScoped = await app.resolve(RequestLoggerService);
- expect(requestScoped.loggerService).to.be.instanceOf(LoggerService);
- expect(requestScoped.loggerService.logger).to.be.eql({
+ expect(requestScoped.loggerService).toBeInstanceOf(LoggerService);
+ expect(requestScoped.loggerService.logger).toEqual({
logger: true,
});
});
- after(async () => {
+ afterEach(async () => {
await app.close();
});
});
diff --git a/integration/scopes/e2e/transient-scope.spec.ts b/integration/scopes/e2e/transient-scope.spec.ts
index faa50daa295..90074bac917 100644
--- a/integration/scopes/e2e/transient-scope.spec.ts
+++ b/integration/scopes/e2e/transient-scope.spec.ts
@@ -1,15 +1,14 @@
import { INestApplication, Injectable, Scope } from '@nestjs/common';
import { createContextId } from '@nestjs/core';
import { Test } from '@nestjs/testing';
-import { expect } from 'chai';
-import * as request from 'supertest';
-import { NestedTransientModule } from '../src/nested-transient/nested-transient.module';
-import { Guard } from '../src/transient/guards/request-scoped.guard';
-import { HelloController } from '../src/transient/hello.controller';
-import { HelloModule } from '../src/transient/hello.module';
-import { Interceptor } from '../src/transient/interceptors/logging.interceptor';
-import { UserByIdPipe } from '../src/transient/users/user-by-id.pipe';
-import { UsersService } from '../src/transient/users/users.service';
+import request from 'supertest';
+import { NestedTransientModule } from '../src/nested-transient/nested-transient.module.js';
+import { Guard } from '../src/transient/guards/request-scoped.guard.js';
+import { HelloController } from '../src/transient/hello.controller.js';
+import { HelloModule } from '../src/transient/hello.module.js';
+import { Interceptor } from '../src/transient/interceptors/logging.interceptor.js';
+import { UserByIdPipe } from '../src/transient/users/user-by-id.pipe.js';
+import { UsersService } from '../src/transient/users/users.service.js';
class Meta {
static COUNTER = 0;
@@ -23,7 +22,7 @@ describe('Transient scope', () => {
let server: any;
let app: INestApplication;
- before(async () => {
+ beforeAll(async () => {
const module = await Test.createTestingModule({
imports: [
HelloModule.forRoot({
@@ -40,7 +39,7 @@ describe('Transient scope', () => {
});
describe('and when one service is request scoped', () => {
- before(async () => {
+ beforeAll(async () => {
const performHttpCall = end =>
request(server)
.get('/hello')
@@ -54,31 +53,31 @@ describe('Transient scope', () => {
});
it(`should create controller for each request`, () => {
- expect(HelloController.COUNTER).to.be.eql(3);
+ expect(HelloController.COUNTER).toEqual(3);
});
it(`should create service for each request`, () => {
- expect(UsersService.COUNTER).to.be.eql(3);
+ expect(UsersService.COUNTER).toEqual(3);
});
it(`should create provider for each inquirer`, () => {
- expect(Meta.COUNTER).to.be.eql(7);
+ expect(Meta.COUNTER).toEqual(7);
});
it(`should create transient pipe for each controller (3 requests, 1 static)`, () => {
- expect(UserByIdPipe.COUNTER).to.be.eql(4);
+ expect(UserByIdPipe.COUNTER).toEqual(4);
});
it(`should create transient interceptor for each controller (3 requests, 1 static)`, () => {
- expect(Interceptor.COUNTER).to.be.eql(4);
+ expect(Interceptor.COUNTER).toEqual(4);
});
it(`should create transient guard for each controller (3 requests, 1 static)`, () => {
- expect(Guard.COUNTER).to.be.eql(4);
+ expect(Guard.COUNTER).toEqual(4);
});
});
- after(async () => {
+ afterAll(async () => {
await app.close();
});
});
@@ -118,7 +117,7 @@ describe('Transient scope', () => {
}
}
- before(async () => {
+ beforeAll(async () => {
const module = await Test.createTestingModule({
providers: [FirstService, SecondService, LoggerService, DeepTransient],
}).compile();
@@ -130,14 +129,14 @@ describe('Transient scope', () => {
it('should create a new instance of the transient provider for each provider', async () => {
const firstService1 = app.get(FirstService);
- expect(firstService1.secondService.loggerService.context).to.equal(
+ expect(firstService1.secondService.loggerService.context).toBe(
'SecondService',
);
- expect(firstService1.loggerService.context).to.equal('FirstService');
- expect(firstService1.deepTransient.initialized).to.be.true;
+ expect(firstService1.loggerService.context).toBe('FirstService');
+ expect(firstService1.deepTransient.initialized).toBe(true);
});
- after(async () => {
+ afterAll(async () => {
await app.close();
});
});
@@ -164,7 +163,7 @@ describe('Transient scope', () => {
constructor(public readonly middle: MiddleTransient) {}
}
- before(async () => {
+ beforeAll(async () => {
DeepNestedTransient.constructorCalled = false;
const module = await Test.createTestingModule({
@@ -178,11 +177,11 @@ describe('Transient scope', () => {
it('should call constructor of deeply nested TRANSIENT provider', () => {
const rootService = app.get(RootService);
- expect(DeepNestedTransient.constructorCalled).to.be.true;
- expect(rootService.middle.nested).to.be.instanceOf(DeepNestedTransient);
+ expect(DeepNestedTransient.constructorCalled).toBe(true);
+ expect(rootService.middle.nested).toBeInstanceOf(DeepNestedTransient);
});
- after(async () => {
+ afterAll(async () => {
await app.close();
});
});
@@ -222,7 +221,7 @@ describe('Transient scope', () => {
constructor(public readonly logger: IsolatedTransientLogger) {}
}
- before(async () => {
+ beforeAll(async () => {
IsolatedNestedTransient.instanceCount = 0;
IsolatedTransientLogger.instanceCount = 0;
@@ -257,7 +256,7 @@ describe('Transient scope', () => {
);
});
- after(async () => {
+ afterAll(async () => {
await app.close();
});
});
@@ -338,7 +337,7 @@ describe('Transient scope', () => {
constructor(public readonly chain: DepthOneTransient) {}
}
- before(async () => {
+ beforeAll(async () => {
DepthOneTransient.constructorCalled = false;
DepthTwoTransient.constructorCalled = false;
DepthThreeTransient.constructorCalled = false;
@@ -397,7 +396,7 @@ describe('Transient scope', () => {
expect(DepthSixTransient.constructorCalled).to.be.true;
});
- after(async () => {
+ afterAll(async () => {
await app.close();
});
});
@@ -406,7 +405,7 @@ describe('Transient scope', () => {
let server: any;
let app: INestApplication;
- before(async () => {
+ beforeAll(async () => {
const module = await Test.createTestingModule({
imports: [NestedTransientModule],
}).compile();
@@ -419,7 +418,7 @@ describe('Transient scope', () => {
describe('when handling HTTP requests', () => {
let response: any;
- before(async () => {
+ beforeAll(async () => {
const performHttpCall = () =>
new Promise((resolve, reject) => {
request(server)
@@ -434,19 +433,15 @@ describe('Transient scope', () => {
});
it('should isolate nested transient instances for each parent service', () => {
- expect(response.body.firstServiceContext).to.equal(
- 'NESTED-FirstService',
- );
- expect(response.body.secondServiceContext).to.equal(
- 'NESTED-SecondService',
- );
- expect(response.body.firstServiceNestedId).to.not.equal(
+ expect(response.body.firstServiceContext).toBe('NESTED-FirstService');
+ expect(response.body.secondServiceContext).toBe('NESTED-SecondService');
+ expect(response.body.firstServiceNestedId).not.toBe(
response.body.secondServiceNestedId,
);
});
});
- after(async () => {
+ afterAll(async () => {
await app.close();
});
});
@@ -527,28 +522,24 @@ describe('Transient scope', () => {
await app.init();
});
- it('should create separate deep transient chains for different request-scoped parents in the same context', async function () {
- this.timeout(20000);
-
+ it('should create separate deep transient chains for different request-scoped parents in the same context', async () => {
const contextId = createContextId();
const [parentA, parentB] = await Promise.all([
app.resolve(RequestScopedParentA, contextId),
app.resolve(RequestScopedParentB, contextId),
]);
- expect(parentA).to.not.equal(parentB);
- expect(parentA.chain).to.not.equal(parentB.chain);
- expect(parentA.chain.next.next.next.next.instanceId).to.not.equal(
+ expect(parentA).not.toBe(parentB);
+ expect(parentA.chain).not.toBe(parentB.chain);
+ expect(parentA.chain.next.next.next.next.instanceId).not.toBe(
parentB.chain.next.next.next.next.instanceId,
);
- expect(parentA.chain.next.next.next.next.next.instanceId).to.not.equal(
+ expect(parentA.chain.next.next.next.next.next.instanceId).not.toBe(
parentB.chain.next.next.next.next.next.instanceId,
);
- });
-
- it('should isolate deep transient chains across overlapping request contexts', async function () {
- this.timeout(20000);
+ }, 20000);
+ it('should isolate deep transient chains across overlapping request contexts', async () => {
const contextIds = Array.from({ length: 200 }, () => createContextId());
const parents = await Promise.all(
contextIds.map(contextId =>
@@ -556,24 +547,22 @@ describe('Transient scope', () => {
),
);
- expect(new Set(parents).size).to.equal(contextIds.length);
+ expect(new Set(parents).size).toBe(contextIds.length);
expect(
new Set(
parents.map(parent => parent.chain.next.next.next.next.instanceId),
).size,
- ).to.equal(contextIds.length);
+ ).toBe(contextIds.length);
expect(
new Set(
parents.map(
parent => parent.chain.next.next.next.next.next.instanceId,
),
).size,
- ).to.equal(contextIds.length);
- });
-
- it('should reuse the same request-scoped parent while preserving a single deep transient chain per context', async function () {
- this.timeout(20000);
+ ).toBe(contextIds.length);
+ }, 20000);
+ it('should reuse the same request-scoped parent while preserving a single deep transient chain per context', async () => {
const contextId = createContextId();
const parents = await Promise.all(
Array.from({ length: 200 }, () =>
@@ -581,20 +570,20 @@ describe('Transient scope', () => {
),
);
- expect(new Set(parents).size).to.equal(1);
+ expect(new Set(parents).size).toBe(1);
expect(
new Set(
parents.map(parent => parent.chain.next.next.next.next.instanceId),
).size,
- ).to.equal(1);
+ ).toBe(1);
expect(
new Set(
parents.map(
parent => parent.chain.next.next.next.next.next.instanceId,
),
).size,
- ).to.equal(1);
- });
+ ).toBe(1);
+ }, 20000);
afterEach(async () => {
await app.close();
diff --git a/integration/scopes/src/app.module.ts b/integration/scopes/src/app.module.ts
index 02a11788bdb..48bdbf4a6db 100644
--- a/integration/scopes/src/app.module.ts
+++ b/integration/scopes/src/app.module.ts
@@ -1,5 +1,5 @@
import { Module } from '@nestjs/common';
-import { HelloModule } from './hello/hello.module';
+import { HelloModule } from './hello/hello.module.js';
@Module({
imports: [HelloModule.forRoot({ provide: 'META', useValue: true })],
diff --git a/integration/scopes/src/circular-hello/hello.controller.ts b/integration/scopes/src/circular-hello/hello.controller.ts
index 5b4af7bf215..94d20f26cf3 100644
--- a/integration/scopes/src/circular-hello/hello.controller.ts
+++ b/integration/scopes/src/circular-hello/hello.controller.ts
@@ -5,11 +5,11 @@ import {
UseGuards,
UseInterceptors,
} from '@nestjs/common';
-import { Guard } from './guards/request-scoped.guard';
-import { HelloService } from './hello.service';
-import { Interceptor } from './interceptors/logging.interceptor';
-import { UserByIdPipe } from './users/user-by-id.pipe';
-import { UsersService } from './users/users.service';
+import { Guard } from './guards/request-scoped.guard.js';
+import { HelloService } from './hello.service.js';
+import { Interceptor } from './interceptors/logging.interceptor.js';
+import { UserByIdPipe } from './users/user-by-id.pipe.js';
+import { UsersService } from './users/users.service.js';
@Controller('hello')
export class HelloController {
diff --git a/integration/scopes/src/circular-hello/hello.module.ts b/integration/scopes/src/circular-hello/hello.module.ts
index 1a0d0bbfd7c..c0dc1995c66 100644
--- a/integration/scopes/src/circular-hello/hello.module.ts
+++ b/integration/scopes/src/circular-hello/hello.module.ts
@@ -1,7 +1,7 @@
import { DynamicModule, Inject, Module, Provider } from '@nestjs/common';
-import { HelloController } from './hello.controller';
-import { HelloService } from './hello.service';
-import { UsersService } from './users/users.service';
+import { HelloController } from './hello.controller.js';
+import { HelloService } from './hello.service.js';
+import { UsersService } from './users/users.service.js';
@Module({
controllers: [HelloController],
diff --git a/integration/scopes/src/circular-hello/users/user-by-id.pipe.ts b/integration/scopes/src/circular-hello/users/user-by-id.pipe.ts
index 2b81cb6fbb5..b63f924559f 100644
--- a/integration/scopes/src/circular-hello/users/user-by-id.pipe.ts
+++ b/integration/scopes/src/circular-hello/users/user-by-id.pipe.ts
@@ -1,5 +1,5 @@
import { ArgumentMetadata, Injectable, PipeTransform } from '@nestjs/common';
-import { UsersService } from './users.service';
+import { UsersService } from './users.service.js';
@Injectable()
export class UserByIdPipe implements PipeTransform {
diff --git a/integration/scopes/src/circular-transient/hello.controller.ts b/integration/scopes/src/circular-transient/hello.controller.ts
index 5b4af7bf215..94d20f26cf3 100644
--- a/integration/scopes/src/circular-transient/hello.controller.ts
+++ b/integration/scopes/src/circular-transient/hello.controller.ts
@@ -5,11 +5,11 @@ import {
UseGuards,
UseInterceptors,
} from '@nestjs/common';
-import { Guard } from './guards/request-scoped.guard';
-import { HelloService } from './hello.service';
-import { Interceptor } from './interceptors/logging.interceptor';
-import { UserByIdPipe } from './users/user-by-id.pipe';
-import { UsersService } from './users/users.service';
+import { Guard } from './guards/request-scoped.guard.js';
+import { HelloService } from './hello.service.js';
+import { Interceptor } from './interceptors/logging.interceptor.js';
+import { UserByIdPipe } from './users/user-by-id.pipe.js';
+import { UsersService } from './users/users.service.js';
@Controller('hello')
export class HelloController {
diff --git a/integration/scopes/src/circular-transient/hello.module.ts b/integration/scopes/src/circular-transient/hello.module.ts
index 6cdc92c5f27..db10f010597 100644
--- a/integration/scopes/src/circular-transient/hello.module.ts
+++ b/integration/scopes/src/circular-transient/hello.module.ts
@@ -1,8 +1,8 @@
import { DynamicModule, Inject, Module, Provider } from '@nestjs/common';
-import { HelloController } from './hello.controller';
-import { HelloService } from './hello.service';
-import { TestController } from './test.controller';
-import { UsersService } from './users/users.service';
+import { HelloController } from './hello.controller.js';
+import { HelloService } from './hello.service.js';
+import { TestController } from './test.controller.js';
+import { UsersService } from './users/users.service.js';
@Module({
controllers: [HelloController, TestController],
diff --git a/integration/scopes/src/circular-transient/test.controller.ts b/integration/scopes/src/circular-transient/test.controller.ts
index 572ea13a90f..ac1002a7898 100644
--- a/integration/scopes/src/circular-transient/test.controller.ts
+++ b/integration/scopes/src/circular-transient/test.controller.ts
@@ -5,9 +5,9 @@ import {
UseGuards,
UseInterceptors,
} from '@nestjs/common';
-import { Guard } from './guards/request-scoped.guard';
-import { Interceptor } from './interceptors/logging.interceptor';
-import { UserByIdPipe } from './users/user-by-id.pipe';
+import { Guard } from './guards/request-scoped.guard.js';
+import { Interceptor } from './interceptors/logging.interceptor.js';
+import { UserByIdPipe } from './users/user-by-id.pipe.js';
@Controller('test')
export class TestController {
diff --git a/integration/scopes/src/durable/durable.controller.ts b/integration/scopes/src/durable/durable.controller.ts
index fbc33c12c98..47e88f19ef7 100644
--- a/integration/scopes/src/durable/durable.controller.ts
+++ b/integration/scopes/src/durable/durable.controller.ts
@@ -1,6 +1,6 @@
import { Controller, Get } from '@nestjs/common';
-import { DurableService } from './durable.service';
-import { NonDurableService } from './non-durable.service';
+import { DurableService } from './durable.service.js';
+import { NonDurableService } from './non-durable.service.js';
@Controller('durable')
export class DurableController {
diff --git a/integration/scopes/src/durable/durable.guard.ts b/integration/scopes/src/durable/durable.guard.ts
index 8868af8096a..9d0923f3863 100644
--- a/integration/scopes/src/durable/durable.guard.ts
+++ b/integration/scopes/src/durable/durable.guard.ts
@@ -4,7 +4,7 @@ import {
Injectable,
Scope,
} from '@nestjs/common';
-import { DurableService } from './durable.service';
+import { DurableService } from './durable.service.js';
@Injectable({ scope: Scope.REQUEST, durable: true })
export class DurableGuard implements CanActivate {
diff --git a/integration/scopes/src/durable/durable.module.ts b/integration/scopes/src/durable/durable.module.ts
index dc91cded632..6eb7d1831bf 100644
--- a/integration/scopes/src/durable/durable.module.ts
+++ b/integration/scopes/src/durable/durable.module.ts
@@ -1,9 +1,9 @@
import { Module } from '@nestjs/common';
import { APP_GUARD } from '@nestjs/core';
-import { DurableController } from './durable.controller';
-import { DurableGuard } from './durable.guard';
-import { DurableService } from './durable.service';
-import { NonDurableService } from './non-durable.service';
+import { DurableController } from './durable.controller.js';
+import { DurableGuard } from './durable.guard.js';
+import { DurableService } from './durable.service.js';
+import { NonDurableService } from './non-durable.service.js';
@Module({
controllers: [DurableController],
diff --git a/integration/scopes/src/durable/durable.service.ts b/integration/scopes/src/durable/durable.service.ts
index 15fcafe9663..102078df5fd 100644
--- a/integration/scopes/src/durable/durable.service.ts
+++ b/integration/scopes/src/durable/durable.service.ts
@@ -5,7 +5,7 @@ import {
Scope,
} from '@nestjs/common';
import { REQUEST } from '@nestjs/core';
-import { TenantContext } from './durable-context-id.strategy';
+import { TenantContext } from './durable-context-id.strategy.js';
@Injectable({ scope: Scope.REQUEST, durable: true })
export class DurableService {
diff --git a/integration/scopes/src/durable/non-durable.service.ts b/integration/scopes/src/durable/non-durable.service.ts
index add0629411b..203bc76b941 100644
--- a/integration/scopes/src/durable/non-durable.service.ts
+++ b/integration/scopes/src/durable/non-durable.service.ts
@@ -1,6 +1,6 @@
import { Inject, Injectable, Scope } from '@nestjs/common';
import { REQUEST } from '@nestjs/core';
-import { TenantContext } from './durable-context-id.strategy';
+import { TenantContext } from './durable-context-id.strategy.js';
@Injectable()
export class NonDurableService {
diff --git a/integration/scopes/src/hello/hello.controller.ts b/integration/scopes/src/hello/hello.controller.ts
index 5b4af7bf215..94d20f26cf3 100644
--- a/integration/scopes/src/hello/hello.controller.ts
+++ b/integration/scopes/src/hello/hello.controller.ts
@@ -5,11 +5,11 @@ import {
UseGuards,
UseInterceptors,
} from '@nestjs/common';
-import { Guard } from './guards/request-scoped.guard';
-import { HelloService } from './hello.service';
-import { Interceptor } from './interceptors/logging.interceptor';
-import { UserByIdPipe } from './users/user-by-id.pipe';
-import { UsersService } from './users/users.service';
+import { Guard } from './guards/request-scoped.guard.js';
+import { HelloService } from './hello.service.js';
+import { Interceptor } from './interceptors/logging.interceptor.js';
+import { UserByIdPipe } from './users/user-by-id.pipe.js';
+import { UsersService } from './users/users.service.js';
@Controller('hello')
export class HelloController {
diff --git a/integration/scopes/src/hello/hello.module.ts b/integration/scopes/src/hello/hello.module.ts
index 8bc5b72bcd6..cfdfbe1bec5 100644
--- a/integration/scopes/src/hello/hello.module.ts
+++ b/integration/scopes/src/hello/hello.module.ts
@@ -1,7 +1,7 @@
import { DynamicModule, Inject, Module, Provider, Scope } from '@nestjs/common';
-import { HelloController } from './hello.controller';
-import { HelloService } from './hello.service';
-import { UsersService } from './users/users.service';
+import { HelloController } from './hello.controller.js';
+import { HelloService } from './hello.service.js';
+import { UsersService } from './users/users.service.js';
@Module({
controllers: [HelloController],
diff --git a/integration/scopes/src/hello/users/user-by-id.pipe.ts b/integration/scopes/src/hello/users/user-by-id.pipe.ts
index 73d859bfaf9..d4960af8d1a 100644
--- a/integration/scopes/src/hello/users/user-by-id.pipe.ts
+++ b/integration/scopes/src/hello/users/user-by-id.pipe.ts
@@ -4,7 +4,7 @@ import {
Injectable,
PipeTransform,
} from '@nestjs/common';
-import { UsersService } from './users.service';
+import { UsersService } from './users.service.js';
@Injectable()
export class UserByIdPipe implements PipeTransform {
diff --git a/integration/scopes/src/inject-inquirer/hello-request/hello-request.service.ts b/integration/scopes/src/inject-inquirer/hello-request/hello-request.service.ts
index 4d63696b219..55a296162bb 100644
--- a/integration/scopes/src/inject-inquirer/hello-request/hello-request.service.ts
+++ b/integration/scopes/src/inject-inquirer/hello-request/hello-request.service.ts
@@ -1,6 +1,6 @@
import { Inject, Injectable, Scope } from '@nestjs/common';
import { INQUIRER } from '@nestjs/core';
-import { RequestLogger } from './request-logger.service';
+import { RequestLogger } from './request-logger.service.js';
@Injectable({ scope: Scope.REQUEST })
export class HelloRequestService {
diff --git a/integration/scopes/src/inject-inquirer/hello-transient/hello-transient.service.ts b/integration/scopes/src/inject-inquirer/hello-transient/hello-transient.service.ts
index 257544361f3..704cfcc6d88 100644
--- a/integration/scopes/src/inject-inquirer/hello-transient/hello-transient.service.ts
+++ b/integration/scopes/src/inject-inquirer/hello-transient/hello-transient.service.ts
@@ -1,5 +1,5 @@
import { Injectable } from '@nestjs/common';
-import { TransientLogger } from './transient-logger.service';
+import { TransientLogger } from './transient-logger.service.js';
@Injectable()
export class HelloTransientService {
diff --git a/integration/scopes/src/inject-inquirer/hello.controller.ts b/integration/scopes/src/inject-inquirer/hello.controller.ts
index b74a9508512..ce6216b1dcf 100644
--- a/integration/scopes/src/inject-inquirer/hello.controller.ts
+++ b/integration/scopes/src/inject-inquirer/hello.controller.ts
@@ -1,6 +1,6 @@
import { Controller, Get, Scope } from '@nestjs/common';
-import { HelloRequestService } from './hello-request/hello-request.service';
-import { HelloTransientService } from './hello-transient/hello-transient.service';
+import { HelloRequestService } from './hello-request/hello-request.service.js';
+import { HelloTransientService } from './hello-transient/hello-transient.service.js';
@Controller({
path: 'hello',
diff --git a/integration/scopes/src/inject-inquirer/hello.module.ts b/integration/scopes/src/inject-inquirer/hello.module.ts
index fc7b640e2b8..ecd4f3a5727 100644
--- a/integration/scopes/src/inject-inquirer/hello.module.ts
+++ b/integration/scopes/src/inject-inquirer/hello.module.ts
@@ -1,9 +1,9 @@
import { Module, Logger } from '@nestjs/common';
-import { HelloController } from './hello.controller';
-import { HelloRequestService } from './hello-request/hello-request.service';
-import { HelloTransientService } from './hello-transient/hello-transient.service';
-import { RequestLogger } from './hello-request/request-logger.service';
-import { TransientLogger } from './hello-transient/transient-logger.service';
+import { HelloController } from './hello.controller.js';
+import { HelloRequestService } from './hello-request/hello-request.service.js';
+import { HelloTransientService } from './hello-transient/hello-transient.service.js';
+import { RequestLogger } from './hello-request/request-logger.service.js';
+import { TransientLogger } from './hello-transient/transient-logger.service.js';
@Module({
controllers: [HelloController],
diff --git a/integration/scopes/src/main.ts b/integration/scopes/src/main.ts
index cdecc1bb686..dbca439014a 100644
--- a/integration/scopes/src/main.ts
+++ b/integration/scopes/src/main.ts
@@ -1,5 +1,5 @@
import { NestFactory } from '@nestjs/core';
-import { ApplicationModule } from './app.module';
+import { ApplicationModule } from './app.module.js';
async function bootstrap() {
const app = await NestFactory.create(ApplicationModule);
diff --git a/integration/scopes/src/msvc/hello.controller.ts b/integration/scopes/src/msvc/hello.controller.ts
index 0db4d6f6cad..39266618491 100644
--- a/integration/scopes/src/msvc/hello.controller.ts
+++ b/integration/scopes/src/msvc/hello.controller.ts
@@ -1,9 +1,9 @@
import { Controller, UseGuards, UseInterceptors } from '@nestjs/common';
import { MessagePattern } from '@nestjs/microservices';
-import { Guard } from './guards/request-scoped.guard';
-import { HelloService } from './hello.service';
-import { Interceptor } from './interceptors/logging.interceptor';
-import { UsersService } from './users/users.service';
+import { Guard } from './guards/request-scoped.guard.js';
+import { HelloService } from './hello.service.js';
+import { Interceptor } from './interceptors/logging.interceptor.js';
+import { UsersService } from './users/users.service.js';
@Controller()
export class HelloController {
diff --git a/integration/scopes/src/msvc/hello.module.ts b/integration/scopes/src/msvc/hello.module.ts
index 41d80066ab7..3ee48e7ca9f 100644
--- a/integration/scopes/src/msvc/hello.module.ts
+++ b/integration/scopes/src/msvc/hello.module.ts
@@ -1,8 +1,8 @@
import { DynamicModule, Inject, Module, Provider, Scope } from '@nestjs/common';
-import { HelloController } from './hello.controller';
-import { HelloService } from './hello.service';
-import { HttpController } from './http.controller';
-import { UsersService } from './users/users.service';
+import { HelloController } from './hello.controller.js';
+import { HelloService } from './hello.service.js';
+import { HttpController } from './http.controller.js';
+import { UsersService } from './users/users.service.js';
@Module({
controllers: [HelloController, HttpController],
diff --git a/integration/scopes/src/nested-transient/first-request.service.ts b/integration/scopes/src/nested-transient/first-request.service.ts
index 9b1a349bac5..9c0ac5f5cb8 100644
--- a/integration/scopes/src/nested-transient/first-request.service.ts
+++ b/integration/scopes/src/nested-transient/first-request.service.ts
@@ -1,5 +1,5 @@
import { Injectable, Scope } from '@nestjs/common';
-import { TransientLoggerService } from './transient-logger.service';
+import { TransientLoggerService } from './transient-logger.service.js';
@Injectable({ scope: Scope.REQUEST })
export class FirstRequestService {
diff --git a/integration/scopes/src/nested-transient/nested-transient.controller.ts b/integration/scopes/src/nested-transient/nested-transient.controller.ts
index 6ae21d297cc..95dbc5d39c7 100644
--- a/integration/scopes/src/nested-transient/nested-transient.controller.ts
+++ b/integration/scopes/src/nested-transient/nested-transient.controller.ts
@@ -1,6 +1,6 @@
import { Controller, Get, Scope } from '@nestjs/common';
-import { FirstRequestService } from './first-request.service';
-import { SecondRequestService } from './second-request.service';
+import { FirstRequestService } from './first-request.service.js';
+import { SecondRequestService } from './second-request.service.js';
@Controller({ path: 'nested-transient', scope: Scope.REQUEST })
export class NestedTransientController {
diff --git a/integration/scopes/src/nested-transient/nested-transient.module.ts b/integration/scopes/src/nested-transient/nested-transient.module.ts
index 65024005864..8363a706570 100644
--- a/integration/scopes/src/nested-transient/nested-transient.module.ts
+++ b/integration/scopes/src/nested-transient/nested-transient.module.ts
@@ -1,9 +1,9 @@
import { Module } from '@nestjs/common';
-import { NestedTransientController } from './nested-transient.controller';
-import { FirstRequestService } from './first-request.service';
-import { SecondRequestService } from './second-request.service';
-import { TransientLoggerService } from './transient-logger.service';
-import { NestedTransientService } from './nested-transient.service';
+import { NestedTransientController } from './nested-transient.controller.js';
+import { FirstRequestService } from './first-request.service.js';
+import { SecondRequestService } from './second-request.service.js';
+import { TransientLoggerService } from './transient-logger.service.js';
+import { NestedTransientService } from './nested-transient.service.js';
@Module({
controllers: [NestedTransientController],
diff --git a/integration/scopes/src/nested-transient/second-request.service.ts b/integration/scopes/src/nested-transient/second-request.service.ts
index 0406877c7a6..dcae4c8ac0b 100644
--- a/integration/scopes/src/nested-transient/second-request.service.ts
+++ b/integration/scopes/src/nested-transient/second-request.service.ts
@@ -1,5 +1,5 @@
import { Injectable, Scope } from '@nestjs/common';
-import { TransientLoggerService } from './transient-logger.service';
+import { TransientLoggerService } from './transient-logger.service.js';
@Injectable({ scope: Scope.REQUEST })
export class SecondRequestService {
diff --git a/integration/scopes/src/nested-transient/transient-logger.service.ts b/integration/scopes/src/nested-transient/transient-logger.service.ts
index cb25159fd5a..716b1856db1 100644
--- a/integration/scopes/src/nested-transient/transient-logger.service.ts
+++ b/integration/scopes/src/nested-transient/transient-logger.service.ts
@@ -1,5 +1,5 @@
import { Injectable, Scope } from '@nestjs/common';
-import { NestedTransientService } from './nested-transient.service';
+import { NestedTransientService } from './nested-transient.service.js';
@Injectable({ scope: Scope.TRANSIENT })
export class TransientLoggerService {
diff --git a/integration/scopes/src/request-chain/helper/helper.module.ts b/integration/scopes/src/request-chain/helper/helper.module.ts
index 1c154ea44cb..fa31021e32d 100644
--- a/integration/scopes/src/request-chain/helper/helper.module.ts
+++ b/integration/scopes/src/request-chain/helper/helper.module.ts
@@ -1,5 +1,5 @@
import { Module } from '@nestjs/common';
-import { HelperService } from './helper.service';
+import { HelperService } from './helper.service.js';
@Module({
providers: [HelperService],
diff --git a/integration/scopes/src/request-chain/interceptors/logging.interceptor.ts b/integration/scopes/src/request-chain/interceptors/logging.interceptor.ts
index 008a6999373..17c83c7e82d 100644
--- a/integration/scopes/src/request-chain/interceptors/logging.interceptor.ts
+++ b/integration/scopes/src/request-chain/interceptors/logging.interceptor.ts
@@ -5,7 +5,7 @@ import {
NestInterceptor,
} from '@nestjs/common';
import { Observable } from 'rxjs';
-import { HelperService } from '../helper/helper.service';
+import { HelperService } from '../helper/helper.service.js';
@Injectable()
export class LoggingInterceptor implements NestInterceptor {
diff --git a/integration/scopes/src/request-chain/request-chain.controller.ts b/integration/scopes/src/request-chain/request-chain.controller.ts
index 03813352ddb..f6b22f1caef 100644
--- a/integration/scopes/src/request-chain/request-chain.controller.ts
+++ b/integration/scopes/src/request-chain/request-chain.controller.ts
@@ -1,6 +1,6 @@
import { Controller, Get, UseInterceptors } from '@nestjs/common';
-import { LoggingInterceptor } from './interceptors/logging.interceptor';
-import { RequestChainService } from './request-chain.service';
+import { LoggingInterceptor } from './interceptors/logging.interceptor.js';
+import { RequestChainService } from './request-chain.service.js';
@Controller('hello')
export class RequestChainController {
diff --git a/integration/scopes/src/request-chain/request-chain.module.ts b/integration/scopes/src/request-chain/request-chain.module.ts
index eba8f451d9f..e5478eef781 100644
--- a/integration/scopes/src/request-chain/request-chain.module.ts
+++ b/integration/scopes/src/request-chain/request-chain.module.ts
@@ -1,7 +1,7 @@
import { Module } from '@nestjs/common';
-import { HelperModule } from './helper/helper.module';
-import { RequestChainController } from './request-chain.controller';
-import { RequestChainService } from './request-chain.service';
+import { HelperModule } from './helper/helper.module.js';
+import { RequestChainController } from './request-chain.controller.js';
+import { RequestChainService } from './request-chain.service.js';
@Module({
imports: [HelperModule],
diff --git a/integration/scopes/src/request-chain/request-chain.service.ts b/integration/scopes/src/request-chain/request-chain.service.ts
index c8c00068d3f..bf526aa498f 100644
--- a/integration/scopes/src/request-chain/request-chain.service.ts
+++ b/integration/scopes/src/request-chain/request-chain.service.ts
@@ -1,5 +1,5 @@
import { Injectable } from '@nestjs/common';
-import { HelperService } from './helper/helper.service';
+import { HelperService } from './helper/helper.service.js';
@Injectable()
export class RequestChainService {
diff --git a/integration/scopes/src/resolve-scoped/logger.service.ts b/integration/scopes/src/resolve-scoped/logger.service.ts
index 36f8b034bde..e53dab371d4 100644
--- a/integration/scopes/src/resolve-scoped/logger.service.ts
+++ b/integration/scopes/src/resolve-scoped/logger.service.ts
@@ -1,5 +1,5 @@
import { Inject, Injectable, Scope } from '@nestjs/common';
-import { LOGGER_PROVIDER } from './logger.provider';
+import { LOGGER_PROVIDER } from './logger.provider.js';
@Injectable({ scope: Scope.TRANSIENT })
export class LoggerService {
diff --git a/integration/scopes/src/resolve-scoped/request-logger.service.ts b/integration/scopes/src/resolve-scoped/request-logger.service.ts
index 84b59563b49..f226be06ed0 100644
--- a/integration/scopes/src/resolve-scoped/request-logger.service.ts
+++ b/integration/scopes/src/resolve-scoped/request-logger.service.ts
@@ -1,5 +1,5 @@
import { Injectable, Scope } from '@nestjs/common';
-import { LoggerService } from './logger.service';
+import { LoggerService } from './logger.service.js';
@Injectable({ scope: Scope.REQUEST })
export class RequestLoggerService {
diff --git a/integration/scopes/src/transient/hello.controller.ts b/integration/scopes/src/transient/hello.controller.ts
index 5b4af7bf215..94d20f26cf3 100644
--- a/integration/scopes/src/transient/hello.controller.ts
+++ b/integration/scopes/src/transient/hello.controller.ts
@@ -5,11 +5,11 @@ import {
UseGuards,
UseInterceptors,
} from '@nestjs/common';
-import { Guard } from './guards/request-scoped.guard';
-import { HelloService } from './hello.service';
-import { Interceptor } from './interceptors/logging.interceptor';
-import { UserByIdPipe } from './users/user-by-id.pipe';
-import { UsersService } from './users/users.service';
+import { Guard } from './guards/request-scoped.guard.js';
+import { HelloService } from './hello.service.js';
+import { Interceptor } from './interceptors/logging.interceptor.js';
+import { UserByIdPipe } from './users/user-by-id.pipe.js';
+import { UsersService } from './users/users.service.js';
@Controller('hello')
export class HelloController {
diff --git a/integration/scopes/src/transient/hello.module.ts b/integration/scopes/src/transient/hello.module.ts
index 6cdc92c5f27..db10f010597 100644
--- a/integration/scopes/src/transient/hello.module.ts
+++ b/integration/scopes/src/transient/hello.module.ts
@@ -1,8 +1,8 @@
import { DynamicModule, Inject, Module, Provider } from '@nestjs/common';
-import { HelloController } from './hello.controller';
-import { HelloService } from './hello.service';
-import { TestController } from './test.controller';
-import { UsersService } from './users/users.service';
+import { HelloController } from './hello.controller.js';
+import { HelloService } from './hello.service.js';
+import { TestController } from './test.controller.js';
+import { UsersService } from './users/users.service.js';
@Module({
controllers: [HelloController, TestController],
diff --git a/integration/scopes/src/transient/test.controller.ts b/integration/scopes/src/transient/test.controller.ts
index 572ea13a90f..ac1002a7898 100644
--- a/integration/scopes/src/transient/test.controller.ts
+++ b/integration/scopes/src/transient/test.controller.ts
@@ -5,9 +5,9 @@ import {
UseGuards,
UseInterceptors,
} from '@nestjs/common';
-import { Guard } from './guards/request-scoped.guard';
-import { Interceptor } from './interceptors/logging.interceptor';
-import { UserByIdPipe } from './users/user-by-id.pipe';
+import { Guard } from './guards/request-scoped.guard.js';
+import { Interceptor } from './interceptors/logging.interceptor.js';
+import { UserByIdPipe } from './users/user-by-id.pipe.js';
@Controller('test')
export class TestController {
diff --git a/integration/scopes/tsconfig.json b/integration/scopes/tsconfig.json
index 4a0f01e0ec4..aa1164082cc 100644
--- a/integration/scopes/tsconfig.json
+++ b/integration/scopes/tsconfig.json
@@ -1,13 +1,15 @@
{
"compilerOptions": {
+ "types": ["vitest/globals"],
"module": "commonjs",
"declaration": false,
"noImplicitAny": false,
"removeComments": true,
"noLib": false,
+ "esModuleInterop": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
- "target": "ES2021",
+ "target": "ES2023",
"sourceMap": true,
"allowJs": true,
"strictNullChecks": true,
diff --git a/integration/send-files/e2e/express.spec.ts b/integration/send-files/e2e/express.spec.ts
index c0b8e566194..b12017c6272 100644
--- a/integration/send-files/e2e/express.spec.ts
+++ b/integration/send-files/e2e/express.spec.ts
@@ -3,16 +3,15 @@ import {
NestExpressApplication,
} from '@nestjs/platform-express';
import { Test } from '@nestjs/testing';
-import { expect } from 'chai';
import { readFileSync } from 'fs';
import { join } from 'path';
-import * as request from 'supertest';
-import { AppModule } from '../src/app.module';
+import request from 'supertest';
+import { AppModule } from '../src/app.module.js';
import {
getHttpBaseOptions,
sendCanceledHttpRequest,
sendHttpRequest,
-} from './utils';
+} from './utils.js';
const readme = readFileSync(join(process.cwd(), 'Readme.md'));
const readmeString = readme.toString();
@@ -34,7 +33,7 @@ describe('Express FileSend', () => {
.get('/file/stream/')
.expect(200)
.expect(res => {
- expect(res.body.toString()).to.be.eq(readmeString);
+ expect(res.body.toString()).toBe(readmeString);
});
});
it('should return a file from a buffer', async () => {
@@ -42,7 +41,7 @@ describe('Express FileSend', () => {
.get('/file/buffer')
.expect(200)
.expect(res => {
- expect(res.body.toString()).to.be.eq(readmeString);
+ expect(res.body.toString()).toBe(readmeString);
});
});
it('should not stream a non-file', async () => {
@@ -56,7 +55,7 @@ describe('Express FileSend', () => {
.get('/file/rxjs/stream/')
.expect(200)
.expect(res => {
- expect(res.body.toString()).to.be.eq(readmeString);
+ expect(res.body.toString()).toBe(readmeString);
});
});
it('should return a file with correct headers', async () => {
@@ -67,21 +66,18 @@ describe('Express FileSend', () => {
.expect('Content-Disposition', 'attachment; filename="Readme.md"')
.expect('Content-Length', readme.byteLength.toString())
.expect(res => {
- expect(res.text).to.be.eq(readmeString);
+ expect(res.text).toBe(readmeString);
});
});
it('should return an error if the file does not exist', async () => {
return request(app.getHttpServer()).get('/file/not/exist').expect(400);
});
// TODO: temporarily turned off (flaky test)
- it.skip(
- 'should allow for the client to end the response and be able to make another',
- async () => {
- await app.listen(0);
- const url = await getHttpBaseOptions(app);
- await sendCanceledHttpRequest(new URL('/file/slow', url));
- const res = await sendHttpRequest(new URL('/file/stream', url));
- expect(res.statusCode).to.be.eq(200);
- },
- ).timeout(5000);
+ it.skip('should allow for the client to end the response and be able to make another', async () => {
+ await app.listen(0);
+ const url = await getHttpBaseOptions(app);
+ await sendCanceledHttpRequest(new URL('/file/slow', url));
+ const res = await sendHttpRequest(new URL('/file/stream', url));
+ expect(res.statusCode).toBe(200);
+ });
});
diff --git a/integration/send-files/e2e/fastify.spec.ts b/integration/send-files/e2e/fastify.spec.ts
index cec87363467..2dbfe524a07 100644
--- a/integration/send-files/e2e/fastify.spec.ts
+++ b/integration/send-files/e2e/fastify.spec.ts
@@ -3,10 +3,9 @@ import {
NestFastifyApplication,
} from '@nestjs/platform-fastify';
import { Test } from '@nestjs/testing';
-import { expect } from 'chai';
import { readFileSync } from 'fs';
import { join } from 'path';
-import { AppModule } from '../src/app.module';
+import { AppModule } from '../src/app.module.js';
const readme = readFileSync(join(process.cwd(), 'Readme.md'));
const readmeString = readme.toString();
@@ -29,8 +28,9 @@ describe('Fastify FileSend', () => {
method: 'GET',
url: '/file/stream',
})
- .then(({ payload }) => {
- expect(payload.toString()).to.be.eq(readmeString);
+ .then(({ payload, statusCode }) => {
+ expect(statusCode).toBe(200);
+ expect(payload.toString()).toBe(readmeString);
});
});
it('should return a file from a buffer', async () => {
@@ -39,8 +39,9 @@ describe('Fastify FileSend', () => {
method: 'GET',
url: '/file/buffer',
})
- .then(({ payload }) => {
- expect(payload.toString()).to.be.eq(readmeString);
+ .then(({ payload, statusCode }) => {
+ expect(statusCode).toBe(200);
+ expect(payload.toString()).toBe(readmeString);
});
});
/**
@@ -55,7 +56,7 @@ describe('Fastify FileSend', () => {
method: 'get',
})
.then(({ payload }) => {
- expect(payload).to.be.eq({ value: 'Hello world' });
+ expect(payload).toBe({ value: 'Hello world' });
});
});
it('should return a file from an RxJS stream', async () => {
@@ -64,21 +65,36 @@ describe('Fastify FileSend', () => {
method: 'GET',
url: '/file/rxjs/stream',
})
- .then(({ payload }) => {
- expect(payload.toString()).to.be.eq(readmeString);
+ .then(({ payload, statusCode }) => {
+ expect(statusCode).toBe(200);
+ expect(payload.toString()).toBe(readmeString);
});
});
it('should return a file with correct headers', async () => {
return app
.inject({ url: '/file/with/headers', method: 'get' })
.then(({ statusCode, headers, payload }) => {
- expect(statusCode).to.equal(200);
- expect(headers['content-type']).to.equal('text/markdown');
- expect(headers['content-disposition']).to.equal(
+ expect(statusCode).toBe(200);
+ expect(headers['content-type']).toBe('text/markdown');
+ expect(headers['content-disposition']).toBe(
'attachment; filename="Readme.md"',
);
- expect(headers['content-length']).to.equal(`${readme.byteLength}`);
- expect(payload).to.equal(readmeString);
+ expect(headers['content-length']).toBe(`${readme.byteLength}`);
+ expect(payload).toBe(readmeString);
});
});
+ it('should return an error if the file does not exist', async () => {
+ return app
+ .inject({
+ method: 'GET',
+ url: '/file/not/exist',
+ })
+ .then(({ statusCode }) => {
+ expect(statusCode).toBe(500);
+ });
+ });
+
+ afterEach(async () => {
+ await app.close();
+ });
});
diff --git a/integration/send-files/src/app.controller.ts b/integration/send-files/src/app.controller.ts
index 69fa20ec069..0c3cd078c7e 100644
--- a/integration/send-files/src/app.controller.ts
+++ b/integration/send-files/src/app.controller.ts
@@ -1,7 +1,7 @@
import { Controller, Get, StreamableFile } from '@nestjs/common';
import { Observable } from 'rxjs';
-import { AppService } from './app.service';
-import { NonFile } from './non-file';
+import { AppService } from './app.service.js';
+import { NonFile } from './non-file.js';
@Controller()
export class AppController {
diff --git a/integration/send-files/src/app.module.ts b/integration/send-files/src/app.module.ts
index 7845d045f8d..7abec95862b 100644
--- a/integration/send-files/src/app.module.ts
+++ b/integration/send-files/src/app.module.ts
@@ -1,6 +1,6 @@
import { Module } from '@nestjs/common';
-import { AppController } from './app.controller';
-import { AppService } from './app.service';
+import { AppController } from './app.controller.js';
+import { AppService } from './app.service.js';
@Module({
controllers: [AppController],
diff --git a/integration/send-files/src/app.service.ts b/integration/send-files/src/app.service.ts
index e5f920c48b8..6d24d80106a 100644
--- a/integration/send-files/src/app.service.ts
+++ b/integration/send-files/src/app.service.ts
@@ -4,7 +4,7 @@ import { createReadStream, readFileSync } from 'fs';
import { join } from 'path';
import { Observable, of } from 'rxjs';
import { Readable } from 'stream';
-import { NonFile } from './non-file';
+import { NonFile } from './non-file.js';
@Injectable()
export class AppService {
diff --git a/integration/send-files/tsconfig.json b/integration/send-files/tsconfig.json
index 4a0f01e0ec4..aa1164082cc 100644
--- a/integration/send-files/tsconfig.json
+++ b/integration/send-files/tsconfig.json
@@ -1,13 +1,15 @@
{
"compilerOptions": {
+ "types": ["vitest/globals"],
"module": "commonjs",
"declaration": false,
"noImplicitAny": false,
"removeComments": true,
"noLib": false,
+ "esModuleInterop": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
- "target": "ES2021",
+ "target": "ES2023",
"sourceMap": true,
"allowJs": true,
"strictNullChecks": true,
diff --git a/integration/testing-module-override/circular-dependency/a.module.ts b/integration/testing-module-override/circular-dependency/a.module.ts
index 6540ded32d4..4060b4d1a4a 100644
--- a/integration/testing-module-override/circular-dependency/a.module.ts
+++ b/integration/testing-module-override/circular-dependency/a.module.ts
@@ -1,5 +1,5 @@
import { Injectable, Module, forwardRef } from '@nestjs/common';
-import { BModule } from './b.module';
+import { BModule } from './b.module.js';
@Injectable()
export class AProvider {}
diff --git a/integration/testing-module-override/circular-dependency/b.module.ts b/integration/testing-module-override/circular-dependency/b.module.ts
index 2f4d5baf6ce..ce8252f3465 100644
--- a/integration/testing-module-override/circular-dependency/b.module.ts
+++ b/integration/testing-module-override/circular-dependency/b.module.ts
@@ -1,5 +1,5 @@
import { Injectable, Module, forwardRef } from '@nestjs/common';
-import { AModule } from './a.module';
+import { AModule } from './a.module.js';
@Injectable()
export class BProvider {}
diff --git a/integration/testing-module-override/e2e/modules-override.spec.ts b/integration/testing-module-override/e2e/modules-override.spec.ts
index 234767e1824..0928f0a576d 100644
--- a/integration/testing-module-override/e2e/modules-override.spec.ts
+++ b/integration/testing-module-override/e2e/modules-override.spec.ts
@@ -8,9 +8,8 @@ import {
} from '@nestjs/common';
import { LazyModuleLoader } from '@nestjs/core';
import { Test, TestingModule } from '@nestjs/testing';
-import { expect } from 'chai';
-import { AModule, AProvider } from '../circular-dependency/a.module';
-import { BModule, BProvider } from '../circular-dependency/b.module';
+import { AModule, AProvider } from '../circular-dependency/a.module.js';
+import { BModule, BProvider } from '../circular-dependency/b.module.js';
describe('Modules overriding', () => {
describe('Top-level module', () => {
@@ -44,10 +43,10 @@ describe('Modules overriding', () => {
it('should override top-level modules using testing module builder', () => {
expect(() =>
testingModule.get(ControllerOverwritten),
- ).to.throw();
+ ).toThrow();
expect(
testingModule.get(ControllerOverride),
- ).to.be.an.instanceof(ControllerOverride);
+ ).toBeInstanceOf(ControllerOverride);
});
});
@@ -88,10 +87,10 @@ describe('Modules overriding', () => {
it('should override dynamic modules using testing module builder', () => {
expect(() =>
testingModule.get(ControllerOverwritten),
- ).to.throw();
+ ).toThrow();
expect(
testingModule.get(ControllerOverride),
- ).to.be.an.instanceof(ControllerOverride);
+ ).toBeInstanceOf(ControllerOverride);
});
});
@@ -126,16 +125,12 @@ describe('Modules overriding', () => {
});
it('should override top-level modules using testing module builder', () => {
- expect(testingModule.get(AProvider)).to.be.an.instanceof(
- AProvider,
- );
- expect(() => testingModule.get(BProvider)).to.throw();
- expect(testingModule.get(CProvider)).to.be.an.instanceof(
- CProvider,
- );
+ expect(testingModule.get(AProvider)).toBeInstanceOf(AProvider);
+ expect(() => testingModule.get(BProvider)).toThrow();
+ expect(testingModule.get(CProvider)).toBeInstanceOf(CProvider);
expect(
testingModule.get(BProviderOverride),
- ).to.be.an.instanceof(BProviderOverride);
+ ).toBeInstanceOf(BProviderOverride);
});
});
@@ -177,12 +172,12 @@ describe('Modules overriding', () => {
testingModule.get(
OverrideNestedModuleController,
),
- ).to.be.an.instanceof(OverrideNestedModuleController);
+ ).toBeInstanceOf(OverrideNestedModuleController);
expect(() =>
testingModule.get(
OverwrittenNestedModuleController,
),
- ).to.throw();
+ ).toThrow();
});
});
@@ -252,7 +247,7 @@ describe('Modules overriding', () => {
it('should override lazy loaded modules using testing module builder', async () => {
const result = await testingModule.get(AppService).value();
- expect(result).to.be.equal('override lazy');
+ expect(result).toBe('override lazy');
});
});
@@ -299,10 +294,10 @@ describe('Modules overriding', () => {
it('should override global modules using testing module builder', () => {
expect(
testingModule.get(OverrideProvider),
- ).to.be.an.instanceof(OverrideProvider);
+ ).toBeInstanceOf(OverrideProvider);
expect(() =>
testingModule.get(OverwrittenProvider),
- ).to.throw();
+ ).toThrow();
});
});
});
diff --git a/integration/testing-module-override/tsconfig.json b/integration/testing-module-override/tsconfig.json
index c43c3d1b1be..e747ddd38ca 100644
--- a/integration/testing-module-override/tsconfig.json
+++ b/integration/testing-module-override/tsconfig.json
@@ -1,12 +1,14 @@
{
"compilerOptions": {
+ "types": ["vitest/globals"],
"module": "commonjs",
"declaration": true,
"removeComments": true,
+ "esModuleInterop": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"allowSyntheticDefaultImports": true,
- "target": "ES2021",
+ "target": "ES2023",
"sourceMap": true,
"outDir": "./dist",
"baseUrl": "./",
diff --git a/integration/typeorm/e2e/typeorm-async-class.spec.ts b/integration/typeorm/e2e/typeorm-async-class.spec.ts
index d3ac3275dda..976831b4c14 100644
--- a/integration/typeorm/e2e/typeorm-async-class.spec.ts
+++ b/integration/typeorm/e2e/typeorm-async-class.spec.ts
@@ -1,7 +1,7 @@
import { INestApplication } from '@nestjs/common';
import { Test } from '@nestjs/testing';
-import * as request from 'supertest';
-import { AsyncOptionsClassModule } from '../src/async-class-options.module';
+import request from 'supertest';
+import { AsyncOptionsClassModule } from '../src/async-class-options.module.js';
describe('TypeOrm (async configuration)', () => {
let server;
diff --git a/integration/typeorm/e2e/typeorm-async-existing.spec.ts b/integration/typeorm/e2e/typeorm-async-existing.spec.ts
index bb1f9cc46a4..78eb87d7b51 100644
--- a/integration/typeorm/e2e/typeorm-async-existing.spec.ts
+++ b/integration/typeorm/e2e/typeorm-async-existing.spec.ts
@@ -1,7 +1,7 @@
import { INestApplication } from '@nestjs/common';
import { Test } from '@nestjs/testing';
-import * as request from 'supertest';
-import { AsyncOptionsExistingModule } from '../src/async-existing-options.module';
+import request from 'supertest';
+import { AsyncOptionsExistingModule } from '../src/async-existing-options.module.js';
describe('TypeOrm (async configuration)', () => {
let server;
diff --git a/integration/typeorm/e2e/typeorm-async-options.spec.ts b/integration/typeorm/e2e/typeorm-async-options.spec.ts
index b506139797b..ee6d8a0f9d5 100644
--- a/integration/typeorm/e2e/typeorm-async-options.spec.ts
+++ b/integration/typeorm/e2e/typeorm-async-options.spec.ts
@@ -1,7 +1,7 @@
import { INestApplication } from '@nestjs/common';
import { Test } from '@nestjs/testing';
-import * as request from 'supertest';
-import { AsyncOptionsFactoryModule } from '../src/async-options.module';
+import request from 'supertest';
+import { AsyncOptionsFactoryModule } from '../src/async-options.module.js';
describe('TypeOrm (async configuration)', () => {
let server;
diff --git a/integration/typeorm/e2e/typeorm-async.spec.ts b/integration/typeorm/e2e/typeorm-async.spec.ts
index 13410d7988f..ccb5ad3db9c 100644
--- a/integration/typeorm/e2e/typeorm-async.spec.ts
+++ b/integration/typeorm/e2e/typeorm-async.spec.ts
@@ -1,7 +1,7 @@
import { INestApplication } from '@nestjs/common';
import { Test } from '@nestjs/testing';
-import * as request from 'supertest';
-import { AsyncApplicationModule } from '../src/app-async.module';
+import request from 'supertest';
+import { AsyncApplicationModule } from '../src/app-async.module.js';
describe('TypeOrm (async configuration)', () => {
let server;
diff --git a/integration/typeorm/e2e/typeorm.spec.ts b/integration/typeorm/e2e/typeorm.spec.ts
index 95871390360..1e2fa712a16 100644
--- a/integration/typeorm/e2e/typeorm.spec.ts
+++ b/integration/typeorm/e2e/typeorm.spec.ts
@@ -1,7 +1,7 @@
import { INestApplication } from '@nestjs/common';
import { Test } from '@nestjs/testing';
-import * as request from 'supertest';
-import { AppModule } from '../src/app.module';
+import request from 'supertest';
+import { AppModule } from '../src/app.module.js';
describe('TypeOrm', () => {
let server;
diff --git a/integration/typeorm/src/app-async.module.ts b/integration/typeorm/src/app-async.module.ts
index 891d7a45629..b14174a7c63 100644
--- a/integration/typeorm/src/app-async.module.ts
+++ b/integration/typeorm/src/app-async.module.ts
@@ -1,6 +1,6 @@
import { Module } from '@nestjs/common';
-import { DatabaseModule } from './database.module';
-import { PhotoModule } from './photo/photo.module';
+import { DatabaseModule } from './database.module.js';
+import { PhotoModule } from './photo/photo.module.js';
@Module({
imports: [DatabaseModule.forRoot(), PhotoModule],
diff --git a/integration/typeorm/src/app.module.ts b/integration/typeorm/src/app.module.ts
index 36fc5b8356b..342f44204d9 100644
--- a/integration/typeorm/src/app.module.ts
+++ b/integration/typeorm/src/app.module.ts
@@ -1,7 +1,7 @@
import { Module } from '@nestjs/common';
import { TypeOrmModule } from '@nestjs/typeorm';
-import { Photo } from './photo/photo.entity';
-import { PhotoModule } from './photo/photo.module';
+import { Photo } from './photo/photo.entity.js';
+import { PhotoModule } from './photo/photo.module.js';
@Module({
imports: [
diff --git a/integration/typeorm/src/async-class-options.module.ts b/integration/typeorm/src/async-class-options.module.ts
index 37ed3686535..334eca5323f 100644
--- a/integration/typeorm/src/async-class-options.module.ts
+++ b/integration/typeorm/src/async-class-options.module.ts
@@ -4,8 +4,8 @@ import {
TypeOrmModuleOptions,
TypeOrmOptionsFactory,
} from '@nestjs/typeorm';
-import { Photo } from './photo/photo.entity';
-import { PhotoModule } from './photo/photo.module';
+import { Photo } from './photo/photo.entity.js';
+import { PhotoModule } from './photo/photo.module.js';
class ConfigService implements TypeOrmOptionsFactory {
createTypeOrmOptions(): TypeOrmModuleOptions {
diff --git a/integration/typeorm/src/async-existing-options.module.ts b/integration/typeorm/src/async-existing-options.module.ts
index 016c35406b5..54e482710fe 100644
--- a/integration/typeorm/src/async-existing-options.module.ts
+++ b/integration/typeorm/src/async-existing-options.module.ts
@@ -4,8 +4,8 @@ import {
TypeOrmModuleOptions,
TypeOrmOptionsFactory,
} from '@nestjs/typeorm';
-import { Photo } from './photo/photo.entity';
-import { PhotoModule } from './photo/photo.module';
+import { Photo } from './photo/photo.entity.js';
+import { PhotoModule } from './photo/photo.module.js';
class ConfigService implements TypeOrmOptionsFactory {
createTypeOrmOptions(): TypeOrmModuleOptions {
diff --git a/integration/typeorm/src/async-options.module.ts b/integration/typeorm/src/async-options.module.ts
index cda3a84d6c9..ba10b8937a0 100644
--- a/integration/typeorm/src/async-options.module.ts
+++ b/integration/typeorm/src/async-options.module.ts
@@ -1,7 +1,7 @@
import { Module } from '@nestjs/common';
import { TypeOrmModule } from '@nestjs/typeorm';
-import { Photo } from './photo/photo.entity';
-import { PhotoModule } from './photo/photo.module';
+import { Photo } from './photo/photo.entity.js';
+import { PhotoModule } from './photo/photo.module.js';
@Module({
imports: [
diff --git a/integration/typeorm/src/database.module.ts b/integration/typeorm/src/database.module.ts
index 74110f3f12c..b0ac233f1f3 100644
--- a/integration/typeorm/src/database.module.ts
+++ b/integration/typeorm/src/database.module.ts
@@ -1,6 +1,6 @@
import { DynamicModule, Module } from '@nestjs/common';
import { TypeOrmModule } from '@nestjs/typeorm';
-import { Photo } from './photo/photo.entity';
+import { Photo } from './photo/photo.entity.js';
@Module({})
export class DatabaseModule {
diff --git a/integration/typeorm/src/main.ts b/integration/typeorm/src/main.ts
index c7f4a18713e..b96604fb84c 100644
--- a/integration/typeorm/src/main.ts
+++ b/integration/typeorm/src/main.ts
@@ -1,5 +1,5 @@
import { NestFactory } from '@nestjs/core';
-import { AppModule } from './app.module';
+import { AppModule } from './app.module.js';
async function bootstrap() {
const app = await NestFactory.create(AppModule);
diff --git a/integration/typeorm/src/photo/photo.controller.ts b/integration/typeorm/src/photo/photo.controller.ts
index b693de7bb72..d137ed57929 100644
--- a/integration/typeorm/src/photo/photo.controller.ts
+++ b/integration/typeorm/src/photo/photo.controller.ts
@@ -1,6 +1,6 @@
import { Controller, Get, Post } from '@nestjs/common';
-import { Photo } from './photo.entity';
-import { PhotoService } from './photo.service';
+import { Photo } from './photo.entity.js';
+import { PhotoService } from './photo.service.js';
@Controller('photo')
export class PhotoController {
diff --git a/integration/typeorm/src/photo/photo.module.ts b/integration/typeorm/src/photo/photo.module.ts
index b82ece49c0d..d122a7e5ef5 100644
--- a/integration/typeorm/src/photo/photo.module.ts
+++ b/integration/typeorm/src/photo/photo.module.ts
@@ -1,8 +1,8 @@
import { Module } from '@nestjs/common';
-import { PhotoService } from './photo.service';
-import { PhotoController } from './photo.controller';
+import { PhotoService } from './photo.service.js';
+import { PhotoController } from './photo.controller.js';
import { TypeOrmModule } from '@nestjs/typeorm';
-import { Photo } from './photo.entity';
+import { Photo } from './photo.entity.js';
@Module({
imports: [TypeOrmModule.forFeature([Photo])],
diff --git a/integration/typeorm/src/photo/photo.service.ts b/integration/typeorm/src/photo/photo.service.ts
index bbe7b892a44..977706e6799 100644
--- a/integration/typeorm/src/photo/photo.service.ts
+++ b/integration/typeorm/src/photo/photo.service.ts
@@ -1,7 +1,7 @@
import { Injectable } from '@nestjs/common';
import { InjectRepository } from '@nestjs/typeorm';
import { Repository } from 'typeorm';
-import { Photo } from './photo.entity';
+import { Photo } from './photo.entity.js';
@Injectable()
export class PhotoService {
diff --git a/integration/typeorm/tsconfig.json b/integration/typeorm/tsconfig.json
index 4a0f01e0ec4..aa1164082cc 100644
--- a/integration/typeorm/tsconfig.json
+++ b/integration/typeorm/tsconfig.json
@@ -1,13 +1,15 @@
{
"compilerOptions": {
+ "types": ["vitest/globals"],
"module": "commonjs",
"declaration": false,
"noImplicitAny": false,
"removeComments": true,
"noLib": false,
+ "esModuleInterop": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
- "target": "ES2021",
+ "target": "ES2023",
"sourceMap": true,
"allowJs": true,
"strictNullChecks": true,
diff --git a/integration/versioning/e2e/custom-versioning-fastify.spec.ts b/integration/versioning/e2e/custom-versioning-fastify.spec.ts
index a428136a67a..16bdd54c88e 100644
--- a/integration/versioning/e2e/custom-versioning-fastify.spec.ts
+++ b/integration/versioning/e2e/custom-versioning-fastify.spec.ts
@@ -5,8 +5,8 @@ import {
} from '@nestjs/platform-fastify';
import { Test } from '@nestjs/testing';
import { FastifyRequest } from 'fastify';
-import * as request from 'supertest';
-import { AppModule } from '../src/app.module';
+import request from 'supertest';
+import { AppModule } from '../src/app.module.js';
describe('Custom Versioning (fastify)', () => {
const extractor = (request: FastifyRequest): string | string[] => {
@@ -24,7 +24,7 @@ describe('Custom Versioning (fastify)', () => {
// ======================================================================== //
describe('without global default version', () => {
- before(async () => {
+ beforeAll(async () => {
const moduleRef = await Test.createTestingModule({
imports: [AppModule],
}).compile();
@@ -497,14 +497,14 @@ describe('Custom Versioning (fastify)', () => {
});
});
- after(async () => {
+ afterAll(async () => {
await app.close();
});
});
// ======================================================================== //
describe('with the global default version: "1"', () => {
- before(async () => {
+ beforeAll(async () => {
const moduleRef = await Test.createTestingModule({
imports: [AppModule],
}).compile();
@@ -960,7 +960,7 @@ describe('Custom Versioning (fastify)', () => {
});
});
- after(async () => {
+ afterAll(async () => {
await app.close();
});
});
diff --git a/integration/versioning/e2e/custom-versioning.spec.ts b/integration/versioning/e2e/custom-versioning.spec.ts
index 73e56c41c2c..0726bf79892 100644
--- a/integration/versioning/e2e/custom-versioning.spec.ts
+++ b/integration/versioning/e2e/custom-versioning.spec.ts
@@ -1,8 +1,8 @@
import { INestApplication, VersioningType } from '@nestjs/common';
import { Test } from '@nestjs/testing';
import { Request } from 'express';
-import * as request from 'supertest';
-import { AppModule } from '../src/app.module';
+import request from 'supertest';
+import { AppModule } from '../src/app.module.js';
describe('Custom Versioning', () => {
const extractor = (request: Request): string | string[] => {
@@ -21,7 +21,7 @@ describe('Custom Versioning', () => {
// ======================================================================== //
describe('without global default version', () => {
- before(async () => {
+ beforeAll(async () => {
const moduleRef = await Test.createTestingModule({
imports: [AppModule],
}).compile();
@@ -380,14 +380,14 @@ describe('Custom Versioning', () => {
});
});
- after(async () => {
+ afterAll(async () => {
await app.close();
});
});
// ======================================================================== //
describe('with the global default version: "1"', () => {
- before(async () => {
+ beforeAll(async () => {
const moduleRef = await Test.createTestingModule({
imports: [AppModule],
}).compile();
@@ -705,7 +705,7 @@ describe('Custom Versioning', () => {
});
});
- after(async () => {
+ afterAll(async () => {
await app.close();
});
});
diff --git a/integration/versioning/e2e/default-versioning.spec.ts b/integration/versioning/e2e/default-versioning.spec.ts
index d1b62e0ec37..c5c3759a85e 100644
--- a/integration/versioning/e2e/default-versioning.spec.ts
+++ b/integration/versioning/e2e/default-versioning.spec.ts
@@ -4,8 +4,8 @@ import {
NestFastifyApplication,
} from '@nestjs/platform-fastify';
import { Test } from '@nestjs/testing';
-import * as request from 'supertest';
-import { AppModule } from '../src/app.module';
+import request from 'supertest';
+import { AppModule } from '../src/app.module.js';
/**
* `.enableVersioning()` uses `VersioningType.URI` type by default
@@ -16,7 +16,7 @@ describe('Default Versioning behavior', () => {
// ======================================================================== //
describe('Express', () => {
let app: INestApplication;
- before(async () => {
+ beforeAll(async () => {
const moduleRef = await Test.createTestingModule({
imports: [AppModule],
}).compile();
@@ -48,7 +48,7 @@ describe('Default Versioning behavior', () => {
});
});
- after(async () => {
+ afterAll(async () => {
await app.close();
});
});
@@ -56,7 +56,7 @@ describe('Default Versioning behavior', () => {
// ======================================================================== //
describe('Fastify', () => {
let app: INestApplication;
- before(async () => {
+ beforeAll(async () => {
const moduleRef = await Test.createTestingModule({
imports: [AppModule],
}).compile();
@@ -91,7 +91,7 @@ describe('Default Versioning behavior', () => {
});
});
- after(async () => {
+ afterAll(async () => {
await app.close();
});
});
diff --git a/integration/versioning/e2e/header-versioning-fastify.spec.ts b/integration/versioning/e2e/header-versioning-fastify.spec.ts
index a79c203eee5..17044083333 100644
--- a/integration/versioning/e2e/header-versioning-fastify.spec.ts
+++ b/integration/versioning/e2e/header-versioning-fastify.spec.ts
@@ -4,15 +4,15 @@ import {
NestFastifyApplication,
} from '@nestjs/platform-fastify';
import { Test } from '@nestjs/testing';
-import * as request from 'supertest';
-import { AppModule } from '../src/app.module';
+import request from 'supertest';
+import { AppModule } from '../src/app.module.js';
describe('Header Versioning (fastify)', () => {
let app: INestApplication;
// ======================================================================== //
describe('without global default version', () => {
- before(async () => {
+ beforeAll(async () => {
const moduleRef = await Test.createTestingModule({
imports: [AppModule],
}).compile();
@@ -338,14 +338,14 @@ describe('Header Versioning (fastify)', () => {
});
});
- after(async () => {
+ afterAll(async () => {
await app.close();
});
});
// ======================================================================== //
describe('with the global default version: "1"', () => {
- before(async () => {
+ beforeAll(async () => {
const moduleRef = await Test.createTestingModule({
imports: [AppModule],
}).compile();
@@ -666,7 +666,7 @@ describe('Header Versioning (fastify)', () => {
});
});
- after(async () => {
+ afterAll(async () => {
await app.close();
});
});
diff --git a/integration/versioning/e2e/header-versioning.spec.ts b/integration/versioning/e2e/header-versioning.spec.ts
index 3be9341c96b..11ad6e8bea3 100644
--- a/integration/versioning/e2e/header-versioning.spec.ts
+++ b/integration/versioning/e2e/header-versioning.spec.ts
@@ -1,14 +1,14 @@
import { INestApplication, VersioningType } from '@nestjs/common';
import { Test } from '@nestjs/testing';
-import * as request from 'supertest';
-import { AppModule } from '../src/app.module';
+import request from 'supertest';
+import { AppModule } from '../src/app.module.js';
describe('Header Versioning', () => {
let app: INestApplication;
// ======================================================================== //
describe('without global default version', () => {
- before(async () => {
+ beforeAll(async () => {
const moduleRef = await Test.createTestingModule({
imports: [AppModule],
}).compile();
@@ -331,14 +331,14 @@ describe('Header Versioning', () => {
});
});
- after(async () => {
+ afterAll(async () => {
await app.close();
});
});
// ======================================================================== //
describe('with the global default version: "1"', () => {
- before(async () => {
+ beforeAll(async () => {
const moduleRef = await Test.createTestingModule({
imports: [AppModule],
}).compile();
@@ -656,7 +656,7 @@ describe('Header Versioning', () => {
});
});
- after(async () => {
+ afterAll(async () => {
await app.close();
});
});
diff --git a/integration/versioning/e2e/media-type-versioning-fastify.spec.ts b/integration/versioning/e2e/media-type-versioning-fastify.spec.ts
index 15cb16dfbeb..c9cef8b4a9e 100644
--- a/integration/versioning/e2e/media-type-versioning-fastify.spec.ts
+++ b/integration/versioning/e2e/media-type-versioning-fastify.spec.ts
@@ -4,15 +4,15 @@ import {
NestFastifyApplication,
} from '@nestjs/platform-fastify';
import { Test } from '@nestjs/testing';
-import * as request from 'supertest';
-import { AppModule } from '../src/app.module';
+import request from 'supertest';
+import { AppModule } from '../src/app.module.js';
describe('Media Type Versioning (fastify)', () => {
let app: INestApplication;
// ======================================================================== //
describe('without global default version', () => {
- before(async () => {
+ beforeAll(async () => {
const moduleRef = await Test.createTestingModule({
imports: [AppModule],
}).compile();
@@ -338,14 +338,14 @@ describe('Media Type Versioning (fastify)', () => {
});
});
- after(async () => {
+ afterAll(async () => {
await app.close();
});
});
// ======================================================================== //
describe('with the global default version: "1"', () => {
- before(async () => {
+ beforeAll(async () => {
const moduleRef = await Test.createTestingModule({
imports: [AppModule],
}).compile();
@@ -666,7 +666,7 @@ describe('Media Type Versioning (fastify)', () => {
});
});
- after(async () => {
+ afterAll(async () => {
await app.close();
});
});
diff --git a/integration/versioning/e2e/media-type-versioning.spec.ts b/integration/versioning/e2e/media-type-versioning.spec.ts
index fd2b39f5d53..b333a1a1ac3 100644
--- a/integration/versioning/e2e/media-type-versioning.spec.ts
+++ b/integration/versioning/e2e/media-type-versioning.spec.ts
@@ -1,14 +1,14 @@
import { INestApplication, VersioningType } from '@nestjs/common';
import { Test } from '@nestjs/testing';
-import * as request from 'supertest';
-import { AppModule } from '../src/app.module';
+import request from 'supertest';
+import { AppModule } from '../src/app.module.js';
describe('Media Type Versioning', () => {
let app: INestApplication;
// ======================================================================== //
describe('without global default version', () => {
- before(async () => {
+ beforeAll(async () => {
const moduleRef = await Test.createTestingModule({
imports: [AppModule],
}).compile();
@@ -331,14 +331,14 @@ describe('Media Type Versioning', () => {
});
});
- after(async () => {
+ afterAll(async () => {
await app.close();
});
});
// ======================================================================== //
describe('with the global default version: "1"', () => {
- before(async () => {
+ beforeAll(async () => {
const moduleRef = await Test.createTestingModule({
imports: [AppModule],
}).compile();
@@ -656,7 +656,7 @@ describe('Media Type Versioning', () => {
});
});
- after(async () => {
+ afterAll(async () => {
await app.close();
});
});
diff --git a/integration/versioning/e2e/uri-versioning-fastify.spec.ts b/integration/versioning/e2e/uri-versioning-fastify.spec.ts
index 98b94dade52..14f052e7bbc 100644
--- a/integration/versioning/e2e/uri-versioning-fastify.spec.ts
+++ b/integration/versioning/e2e/uri-versioning-fastify.spec.ts
@@ -4,15 +4,15 @@ import {
NestFastifyApplication,
} from '@nestjs/platform-fastify';
import { Test } from '@nestjs/testing';
-import * as request from 'supertest';
-import { AppModule } from '../src/app.module';
+import request from 'supertest';
+import { AppModule } from '../src/app.module.js';
describe('URI Versioning (fastify)', () => {
let app: INestApplication;
// ======================================================================== //
describe('without global default version', () => {
- before(async () => {
+ beforeAll(async () => {
const moduleRef = await Test.createTestingModule({
imports: [AppModule],
}).compile();
@@ -181,14 +181,14 @@ describe('URI Versioning (fastify)', () => {
});
});
- after(async () => {
+ afterAll(async () => {
await app.close();
});
});
// ======================================================================== //
describe('with the global default version: "1"', () => {
- before(async () => {
+ beforeAll(async () => {
const moduleRef = await Test.createTestingModule({
imports: [AppModule],
}).compile();
@@ -358,7 +358,7 @@ describe('URI Versioning (fastify)', () => {
});
});
- after(async () => {
+ afterAll(async () => {
await app.close();
});
});
diff --git a/integration/versioning/e2e/uri-versioning.spec.ts b/integration/versioning/e2e/uri-versioning.spec.ts
index 1bb178eafe9..f31f743f462 100644
--- a/integration/versioning/e2e/uri-versioning.spec.ts
+++ b/integration/versioning/e2e/uri-versioning.spec.ts
@@ -1,14 +1,14 @@
import { INestApplication, VersioningType } from '@nestjs/common';
import { Test } from '@nestjs/testing';
-import * as request from 'supertest';
-import { AppModule } from '../src/app.module';
+import request from 'supertest';
+import { AppModule } from '../src/app.module.js';
describe('URI Versioning', () => {
let app: INestApplication;
// ======================================================================== //
describe('without global default version', () => {
- before(async () => {
+ beforeAll(async () => {
const moduleRef = await Test.createTestingModule({
imports: [AppModule],
}).compile();
@@ -174,14 +174,14 @@ describe('URI Versioning', () => {
});
});
- after(async () => {
+ afterAll(async () => {
await app.close();
});
});
// ======================================================================== //
describe('with the global default version: "1"', () => {
- before(async () => {
+ beforeAll(async () => {
const moduleRef = await Test.createTestingModule({
imports: [AppModule],
}).compile();
@@ -348,14 +348,14 @@ describe('URI Versioning', () => {
});
});
- after(async () => {
+ afterAll(async () => {
await app.close();
});
});
// ======================================================================== //
describe('with the global prefix enabled and an excluded route', () => {
- before(async () => {
+ beforeAll(async () => {
const moduleRef = await Test.createTestingModule({
imports: [AppModule],
}).compile();
@@ -414,14 +414,14 @@ describe('URI Versioning', () => {
});
});
- after(async () => {
+ afterAll(async () => {
await app.close();
});
});
// ======================================================================== //
describe('with middleware applied', () => {
- before(async () => {
+ beforeAll(async () => {
const moduleRef = await Test.createTestingModule({
imports: [AppModule],
}).compile();
@@ -477,7 +477,7 @@ describe('URI Versioning', () => {
});
});
- after(async () => {
+ afterAll(async () => {
await app.close();
});
});
diff --git a/integration/versioning/src/app.module.ts b/integration/versioning/src/app.module.ts
index d1483685af7..109df94f8a1 100644
--- a/integration/versioning/src/app.module.ts
+++ b/integration/versioning/src/app.module.ts
@@ -1,14 +1,14 @@
import { MiddlewareConsumer, Module } from '@nestjs/common';
-import { AppV1Controller } from './app-v1.controller';
-import { AppV2Controller } from './app-v2.controller';
-import { MiddlewareController } from './middleware.controller';
-import { MultipleMiddlewareVersionController } from './multiple-middleware.controller';
-import { MultipleVersionController } from './multiple.controller';
-import { VersionNeutralMiddlewareController } from './neutral-middleware.controller';
-import { VersionNeutralController } from './neutral.controller';
-import { NoVersioningController } from './no-versioning.controller';
-import { OverridePartialController } from './override-partial.controller';
-import { OverrideController } from './override.controller';
+import { AppV1Controller } from './app-v1.controller.js';
+import { AppV2Controller } from './app-v2.controller.js';
+import { MiddlewareController } from './middleware.controller.js';
+import { MultipleMiddlewareVersionController } from './multiple-middleware.controller.js';
+import { MultipleVersionController } from './multiple.controller.js';
+import { VersionNeutralMiddlewareController } from './neutral-middleware.controller.js';
+import { VersionNeutralController } from './neutral.controller.js';
+import { NoVersioningController } from './no-versioning.controller.js';
+import { OverridePartialController } from './override-partial.controller.js';
+import { OverrideController } from './override.controller.js';
@Module({
imports: [],
diff --git a/integration/versioning/src/main.ts b/integration/versioning/src/main.ts
index 1d316cac8f8..91cba3b57a1 100644
--- a/integration/versioning/src/main.ts
+++ b/integration/versioning/src/main.ts
@@ -1,6 +1,6 @@
import { VersioningType } from '@nestjs/common';
import { NestFactory } from '@nestjs/core';
-import { AppModule } from './app.module';
+import { AppModule } from './app.module.js';
async function bootstrap() {
const app = await NestFactory.create(AppModule);
diff --git a/integration/versioning/tsconfig.json b/integration/versioning/tsconfig.json
index 4a0f01e0ec4..aa1164082cc 100644
--- a/integration/versioning/tsconfig.json
+++ b/integration/versioning/tsconfig.json
@@ -1,13 +1,15 @@
{
"compilerOptions": {
+ "types": ["vitest/globals"],
"module": "commonjs",
"declaration": false,
"noImplicitAny": false,
"removeComments": true,
"noLib": false,
+ "esModuleInterop": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
- "target": "ES2021",
+ "target": "ES2023",
"sourceMap": true,
"allowJs": true,
"strictNullChecks": true,
diff --git a/integration/websockets/e2e/error-gateway.spec.ts b/integration/websockets/e2e/error-gateway.spec.ts
index 5e5335a00b3..b7bc3e8ce91 100644
--- a/integration/websockets/e2e/error-gateway.spec.ts
+++ b/integration/websockets/e2e/error-gateway.spec.ts
@@ -1,8 +1,7 @@
import { INestApplication } from '@nestjs/common';
import { Test } from '@nestjs/testing';
-import { expect } from 'chai';
import { io } from 'socket.io-client';
-import { ErrorGateway } from '../src/error.gateway';
+import { ErrorGateway } from '../src/error.gateway.js';
describe('ErrorGateway', () => {
let app: INestApplication;
@@ -25,7 +24,7 @@ describe('ErrorGateway', () => {
await new Promise(resolve =>
ws.on('exception', error => {
- expect(error).to.be.eql({
+ expect(error).toEqual({
status: 'error',
message: 'test',
cause: {
diff --git a/integration/websockets/e2e/gateway-ack.spec.ts b/integration/websockets/e2e/gateway-ack.spec.ts
index 6ae5658b592..81730ba1902 100644
--- a/integration/websockets/e2e/gateway-ack.spec.ts
+++ b/integration/websockets/e2e/gateway-ack.spec.ts
@@ -1,8 +1,7 @@
import { INestApplication } from '@nestjs/common';
import { Test } from '@nestjs/testing';
-import { expect } from 'chai';
import { io } from 'socket.io-client';
-import { AckGateway } from '../src/ack.gateway';
+import { AckGateway } from '../src/ack.gateway.js';
async function createNestApp(...gateways): Promise {
const testingModule = await Test.createTestingModule({
@@ -22,7 +21,7 @@ describe('WebSocketGateway (ack)', () => {
ws = io('http://localhost:8080');
await new Promise(resolve =>
ws.emit('push', { test: 'test' }, data => {
- expect(data).to.be.eql('pong');
+ expect(data).toEqual('pong');
resolve();
}),
);
@@ -35,7 +34,7 @@ describe('WebSocketGateway (ack)', () => {
ws = io('http://localhost:8080');
await new Promise(resolve =>
ws.emit('push', data => {
- expect(data).to.be.eql('pong');
+ expect(data).toEqual('pong');
resolve();
}),
);
@@ -50,7 +49,7 @@ describe('WebSocketGateway (ack)', () => {
await new Promise(resolve =>
ws.emit('manual-ack', payload, response => {
- expect(response).to.eql({ status: 'success', data: payload });
+ expect(response).toEqual({ status: 'success', data: payload });
resolve();
}),
);
@@ -65,7 +64,7 @@ describe('WebSocketGateway (ack)', () => {
await new Promise(resolve =>
ws.emit('manual-ack', payload, response => {
- expect(response).to.eql({
+ expect(response).toEqual({
status: 'error',
message: 'Operation failed',
});
diff --git a/integration/websockets/e2e/gateway.spec.ts b/integration/websockets/e2e/gateway.spec.ts
index 14aff034ab6..7ed5699f04c 100644
--- a/integration/websockets/e2e/gateway.spec.ts
+++ b/integration/websockets/e2e/gateway.spec.ts
@@ -1,12 +1,11 @@
import { INestApplication } from '@nestjs/common';
import { Test } from '@nestjs/testing';
-import { expect } from 'chai';
import { EventSource } from 'eventsource';
import { io } from 'socket.io-client';
-import { AppController as LongConnectionController } from '../../nest-application/sse/src/app.controller';
-import { ApplicationGateway } from '../src/app.gateway';
-import { NamespaceGateway } from '../src/namespace.gateway';
-import { ServerGateway } from '../src/server.gateway';
+import { AppController as LongConnectionController } from '../../nest-application/sse/src/app.controller.js';
+import { ApplicationGateway } from '../src/app.gateway.js';
+import { NamespaceGateway } from '../src/namespace.gateway.js';
+import { ServerGateway } from '../src/server.gateway.js';
async function createNestApp(...gateways): Promise {
const testingModule = await Test.createTestingModule({
@@ -29,7 +28,7 @@ describe('WebSocketGateway', () => {
});
await new Promise(resolve =>
ws.on('pop', data => {
- expect(data.test).to.be.eql('test');
+ expect(data.test).toEqual('test');
resolve();
}),
);
@@ -45,7 +44,7 @@ describe('WebSocketGateway', () => {
});
await new Promise(resolve =>
ws.on('pop', data => {
- expect(data.test).to.be.eql('test');
+ expect(data.test).toEqual('test');
resolve();
}),
);
@@ -62,7 +61,7 @@ describe('WebSocketGateway', () => {
});
await new Promise(resolve =>
ws.on('pop', data => {
- expect(data.test).to.be.eql('test');
+ expect(data.test).toEqual('test');
resolve();
}),
);
@@ -78,7 +77,7 @@ describe('WebSocketGateway', () => {
});
await new Promise(resolve =>
ws.on('popClient', data => {
- expect(data.path).to.be.eql('getClient');
+ expect(data.path).toEqual('getClient');
resolve();
}),
);
@@ -94,51 +93,49 @@ describe('WebSocketGateway', () => {
});
await new Promise(resolve =>
ws.on('exception', data => {
- expect(data.pattern).to.be.eql('getClientWithError');
+ expect(data.pattern).toEqual('getClientWithError');
resolve();
}),
);
});
describe('shared server for WS and Long-Running connections', () => {
- afterEach(() => {});
- it('should block application shutdown', function (done) {
- let eventSource: EventSource;
-
- void (async () => {
- this.timeout(30000);
-
- setTimeout(() => {
- const instance = testingModule.get(ServerGateway);
- expect(instance.onApplicationShutdown.called).to.be.false;
- eventSource.close();
- done();
- }, 25000);
-
- const testingModule = await Test.createTestingModule({
- providers: [ServerGateway],
- controllers: [LongConnectionController],
- }).compile();
- app = testingModule.createNestApplication();
-
- await app.listen(3000);
-
- ws = io(`http://localhost:3000`);
- eventSource = new EventSource(`http://localhost:3000/sse`);
-
- await new Promise((resolve, reject) => {
- ws.on('connect', resolve);
- ws.on('error', reject);
- });
-
- await new Promise((resolve, reject) => {
- eventSource.onmessage = resolve;
- eventSource.onerror = reject;
- });
-
- await app.close();
- })();
- });
+ it('should block application shutdown', () =>
+ new Promise(done => {
+ let eventSource: EventSource;
+
+ void (async () => {
+ setTimeout(() => {
+ const instance = testingModule.get(ServerGateway);
+ expect(instance.onApplicationShutdown).not.toHaveBeenCalled();
+ eventSource.close();
+ done();
+ }, 25000);
+
+ const testingModule = await Test.createTestingModule({
+ providers: [ServerGateway],
+ controllers: [LongConnectionController],
+ }).compile();
+ app = testingModule.createNestApplication();
+
+ await app.listen(3000);
+
+ ws = io(`http://localhost:3000`);
+ eventSource = new EventSource(`http://localhost:3000/sse`);
+
+ await new Promise((resolve, reject) => {
+ ws.on('connect', resolve);
+ ws.on('error', reject);
+ });
+
+ await new Promise((resolve, reject) => {
+ eventSource.onmessage = resolve;
+ eventSource.onerror = reject;
+ });
+
+ await app.close();
+ })();
+ }));
it('should shutdown application immediately when forceCloseConnections is true', async () => {
const testingModule = await Test.createTestingModule({
@@ -168,7 +165,7 @@ describe('WebSocketGateway', () => {
await app.close();
const instance = testingModule.get(ServerGateway);
- expect(instance.onApplicationShutdown.called).to.be.true;
+ expect(instance.onApplicationShutdown).toHaveBeenCalled();
eventSource.close();
});
});
diff --git a/integration/websockets/e2e/request-scope-gateway.spec.ts b/integration/websockets/e2e/request-scope-gateway.spec.ts
new file mode 100644
index 00000000000..c81afe49b78
--- /dev/null
+++ b/integration/websockets/e2e/request-scope-gateway.spec.ts
@@ -0,0 +1,187 @@
+import { INestApplication } from '@nestjs/common';
+import { Test } from '@nestjs/testing';
+import { io, Socket } from 'socket.io-client';
+import {
+ ConnectionStateService,
+ RequestScopeGateway,
+ SocketLifecycleTracker,
+} from '../src/request-scope.gateway.js';
+
+type ConnectionState = {
+ instanceId: number;
+ sequence: number;
+ source: 'connection' | 'message';
+ injectedClientId?: string;
+ connectedClientId?: string;
+ matchesClient: boolean;
+};
+
+async function createNestApp(...providers: any[]): Promise {
+ const testingModule = await Test.createTestingModule({
+ providers,
+ }).compile();
+ return testingModule.createNestApplication();
+}
+
+async function waitForSocketIoServer(url: string) {
+ const endpoint = `${url}/socket.io/?EIO=4&transport=polling`;
+
+ for (let attempt = 0; attempt < 30; attempt++) {
+ const response = await fetch(endpoint);
+ if (response.status !== 404) {
+ return;
+ }
+ await new Promise(resolve => setTimeout(resolve, 100));
+ }
+
+ throw new Error(`Socket.IO endpoint not available at ${endpoint}`);
+}
+
+function onceEvent(socket: Socket, event: string): Promise {
+ return new Promise((resolve, reject) => {
+ const onSuccess = (payload: T) => {
+ socket.off('connect_error', onError);
+ resolve(payload);
+ };
+ const onError = (error: Error) => {
+ socket.off(event, onSuccess);
+ reject(error);
+ };
+
+ socket.once(event, onSuccess);
+ socket.once('connect_error', onError);
+ });
+}
+
+async function connectClient(url: string) {
+ const socket = io(url, {
+ autoConnect: false,
+ });
+ const connectedStatePromise = onceEvent(
+ socket,
+ 'connectedState',
+ );
+
+ await new Promise((resolve, reject) => {
+ socket.once('connect', () => resolve());
+ socket.once('connect_error', reject);
+ socket.connect();
+ });
+
+ const connectedState = await connectedStatePromise;
+ return { socket, connectedState };
+}
+
+async function emitState(socket: Socket): Promise {
+ return new Promise((resolve, reject) => {
+ socket.emit('state');
+ socket.once('state', resolve);
+ socket.once('connect_error', reject);
+ });
+}
+
+async function waitForDisconnectState(tracker: SocketLifecycleTracker) {
+ for (let attempt = 0; attempt < 30; attempt++) {
+ const state = tracker.getDisconnectState();
+ if (state) {
+ return state;
+ }
+ await new Promise(resolve => setTimeout(resolve, 25));
+ }
+
+ throw new Error('Disconnect state was not recorded');
+}
+
+describe('WebSocketGateway request scope', () => {
+ let app: INestApplication;
+ let socketLifecycleTracker: SocketLifecycleTracker;
+ const sockets: Socket[] = [];
+
+ beforeEach(async () => {
+ app = await createNestApp(
+ RequestScopeGateway,
+ ConnectionStateService,
+ SocketLifecycleTracker,
+ );
+ await app.listen(3000);
+ await waitForSocketIoServer('http://localhost:3000');
+ socketLifecycleTracker = app.get(SocketLifecycleTracker);
+ socketLifecycleTracker.reset();
+ });
+
+ it('should reuse the same request-scoped provider per connection and isolate across clients', async () => {
+ const firstClient = await connectClient('http://localhost:3000');
+ sockets.push(firstClient.socket);
+
+ expect(firstClient.connectedState.source).toBe('connection');
+ expect(firstClient.connectedState.sequence).toBe(1);
+ expect(firstClient.connectedState.matchesClient).toBe(true);
+ expect(firstClient.connectedState.injectedClientId).toBe(
+ firstClient.connectedState.connectedClientId,
+ );
+
+ const firstClientMessage = await emitState(firstClient.socket);
+
+ expect(firstClientMessage.source).toBe('message');
+ expect(firstClientMessage.sequence).toBe(2);
+ expect(firstClientMessage.instanceId).toBe(
+ firstClient.connectedState.instanceId,
+ );
+ expect(firstClientMessage.matchesClient).toBe(true);
+ expect(firstClientMessage.injectedClientId).toBe(
+ firstClient.connectedState.injectedClientId,
+ );
+
+ const secondClient = await connectClient('http://localhost:3000');
+ sockets.push(secondClient.socket);
+
+ expect(secondClient.connectedState.source).toBe('connection');
+ expect(secondClient.connectedState.sequence).toBe(1);
+ expect(secondClient.connectedState.instanceId).not.toBe(
+ firstClient.connectedState.instanceId,
+ );
+ expect(secondClient.connectedState.matchesClient).toBe(true);
+
+ const secondClientMessage = await emitState(secondClient.socket);
+
+ expect(secondClientMessage.sequence).toBe(2);
+ expect(secondClientMessage.instanceId).toBe(
+ secondClient.connectedState.instanceId,
+ );
+ expect(secondClientMessage.instanceId).not.toBe(
+ firstClient.connectedState.instanceId,
+ );
+ expect(secondClientMessage.injectedClientId).toBe(
+ secondClient.connectedState.injectedClientId,
+ );
+
+ await new Promise(resolve => {
+ firstClient.socket.once('disconnect', () => resolve());
+ firstClient.socket.disconnect();
+ });
+
+ const disconnectState = await waitForDisconnectState(
+ socketLifecycleTracker,
+ );
+ expect(disconnectState.stateListeners).toBe(0);
+ expect(disconnectState.disconnectListeners).toBe(0);
+ expect(disconnectState.hasRequestContextId).toBe(false);
+ });
+
+ afterEach(async () => {
+ await Promise.all(
+ sockets.splice(0).map(
+ socket =>
+ new Promise(resolve => {
+ if (!socket.connected) {
+ resolve();
+ return;
+ }
+ socket.once('disconnect', () => resolve());
+ socket.disconnect();
+ }),
+ ),
+ );
+ await app.close();
+ });
+});
diff --git a/integration/websockets/e2e/ws-error-gateway.spec.ts b/integration/websockets/e2e/ws-error-gateway.spec.ts
new file mode 100644
index 00000000000..293af95c504
--- /dev/null
+++ b/integration/websockets/e2e/ws-error-gateway.spec.ts
@@ -0,0 +1,60 @@
+import { INestApplication } from '@nestjs/common';
+import { WsAdapter } from '@nestjs/platform-ws';
+import { Test } from '@nestjs/testing';
+import WebSocket from 'ws';
+import { WsErrorGateway } from '../src/ws-error.gateway.js';
+
+async function createNestApp(...gateways: any[]): Promise {
+ const testingModule = await Test.createTestingModule({
+ providers: gateways,
+ }).compile();
+ const app = testingModule.createNestApplication();
+ app.useWebSocketAdapter(new WsAdapter(app) as any);
+ return app;
+}
+
+describe('WebSocketGateway (WsAdapter) - Error Handling', () => {
+ let ws: WebSocket, app: INestApplication;
+
+ it('should send WsException error to client via native WebSocket', async () => {
+ app = await createNestApp(WsErrorGateway);
+ await app.listen(3000);
+
+ ws = new WebSocket('ws://localhost:8085');
+ await new Promise(resolve => ws.on('open', resolve));
+
+ ws.send(
+ JSON.stringify({
+ event: 'push',
+ data: {
+ test: 'test',
+ },
+ }),
+ );
+
+ await new Promise(resolve =>
+ ws.on('message', data => {
+ const response = JSON.parse(data.toString());
+ expect(response).toEqual({
+ event: 'exception',
+ data: {
+ status: 'error',
+ message: 'test',
+ cause: {
+ pattern: 'push',
+ data: {
+ test: 'test',
+ },
+ },
+ },
+ });
+ ws.close();
+ resolve();
+ }),
+ );
+ });
+
+ afterEach(async function () {
+ await app.close();
+ });
+});
diff --git a/integration/websockets/e2e/ws-gateway.spec.ts b/integration/websockets/e2e/ws-gateway.spec.ts
index 5a498ea9151..f20527e439d 100644
--- a/integration/websockets/e2e/ws-gateway.spec.ts
+++ b/integration/websockets/e2e/ws-gateway.spec.ts
@@ -1,14 +1,13 @@
import { INestApplication } from '@nestjs/common';
import { WsAdapter } from '@nestjs/platform-ws';
import { Test } from '@nestjs/testing';
-import { expect } from 'chai';
-import * as WebSocket from 'ws';
-import { ApplicationGateway } from '../src/app.gateway';
-import { CoreGateway } from '../src/core.gateway';
-import { ExamplePathGateway } from '../src/example-path.gateway';
-import { ServerGateway } from '../src/server.gateway';
-import { WsPathGateway } from '../src/ws-path.gateway';
-import { WsPathGateway2 } from '../src/ws-path2.gateway';
+import WebSocket from 'ws';
+import { ApplicationGateway } from '../src/app.gateway.js';
+import { CoreGateway } from '../src/core.gateway.js';
+import { ExamplePathGateway } from '../src/example-path.gateway.js';
+import { ServerGateway } from '../src/server.gateway.js';
+import { WsPathGateway } from '../src/ws-path.gateway.js';
+import { WsPathGateway2 } from '../src/ws-path2.gateway.js';
async function createNestApp(...gateways: any[]): Promise {
const testingModule = await Test.createTestingModule({
@@ -39,7 +38,7 @@ describe('WebSocketGateway (WsAdapter)', () => {
);
await new Promise(resolve =>
ws.on('message', data => {
- expect(JSON.parse(data.toString()).data.test).to.be.eql('test');
+ expect(JSON.parse(data.toString()).data.test).toEqual('test');
ws.close();
resolve();
}),
@@ -63,7 +62,7 @@ describe('WebSocketGateway (WsAdapter)', () => {
);
await new Promise(resolve =>
ws.on('message', data => {
- expect(JSON.parse(data.toString()).data.test).to.be.eql('test');
+ expect(JSON.parse(data.toString()).data.test).toEqual('test');
ws.close();
resolve();
}),
@@ -73,36 +72,31 @@ describe('WebSocketGateway (WsAdapter)', () => {
it(`should handle message on a different path`, async () => {
app = await createNestApp(WsPathGateway);
await app.listen(3000);
- try {
- ws = new WebSocket('ws://localhost:3000/ws-path');
- await new Promise((resolve, reject) => {
- ws.on('open', resolve);
- ws.on('error', reject);
- });
- ws.send(
- JSON.stringify({
- event: 'push',
- data: {
- test: 'test',
- },
- }),
- );
- await new Promise(resolve =>
- ws.on('message', data => {
- expect(JSON.parse(data.toString()).data.test).to.be.eql('test');
- ws.close();
- resolve();
- }),
- );
- } catch (err) {
- console.log(err);
- }
+ ws = new WebSocket('ws://localhost:3000/ws-path');
+ await new Promise((resolve, reject) => {
+ ws.on('open', resolve);
+ ws.on('error', reject);
+ });
+
+ ws.send(
+ JSON.stringify({
+ event: 'push',
+ data: {
+ test: 'test',
+ },
+ }),
+ );
+ await new Promise(resolve =>
+ ws.on('message', data => {
+ expect(JSON.parse(data.toString()).data.test).toEqual('test');
+ ws.close();
+ resolve();
+ }),
+ );
});
it(`should support 2 different gateways running on different paths`, async function () {
- this.retries(10);
-
app = await createNestApp(ExamplePathGateway, WsPathGateway2);
await app.listen(3000);
@@ -115,7 +109,7 @@ describe('WebSocketGateway (WsAdapter)', () => {
await new Promise(resolve =>
ws.on('open', () => {
ws.on('message', data => {
- expect(JSON.parse(data.toString()).data.test).to.be.eql('test');
+ expect(JSON.parse(data.toString()).data.test).toEqual('test');
ws.close();
resolve();
});
@@ -132,7 +126,7 @@ describe('WebSocketGateway (WsAdapter)', () => {
await new Promise(resolve => {
ws2.on('message', data => {
- expect(JSON.parse(data.toString()).data.test).to.be.eql('test');
+ expect(JSON.parse(data.toString()).data.test).toEqual('test');
ws2.close();
resolve();
});
@@ -145,11 +139,9 @@ describe('WebSocketGateway (WsAdapter)', () => {
}),
);
});
- }).timeout(5000);
+ });
it(`should support 2 different gateways running on the same path (but different ports)`, async function () {
- this.retries(10);
-
app = await createNestApp(ApplicationGateway, CoreGateway);
await app.listen(3000);
@@ -162,7 +154,7 @@ describe('WebSocketGateway (WsAdapter)', () => {
await new Promise(resolve =>
ws.on('open', () => {
ws.on('message', data => {
- expect(JSON.parse(data.toString()).data.test).to.be.eql('test');
+ expect(JSON.parse(data.toString()).data.test).toEqual('test');
ws.close();
resolve();
});
@@ -179,7 +171,7 @@ describe('WebSocketGateway (WsAdapter)', () => {
await new Promise(resolve => {
ws2.on('message', data => {
- expect(JSON.parse(data.toString()).data.test).to.be.eql('test');
+ expect(JSON.parse(data.toString()).data.test).toEqual('test');
ws2.close();
resolve();
});
@@ -211,7 +203,7 @@ describe('WebSocketGateway (WsAdapter)', () => {
);
await new Promise(resolve =>
ws.on('message', data => {
- expect(JSON.parse(data.toString()).data.path).to.be.eql('getClient');
+ expect(JSON.parse(data.toString()).data.path).toEqual('getClient');
ws.close();
resolve();
}),
@@ -238,7 +230,7 @@ describe('WebSocketGateway (WsAdapter)', () => {
ws.send(JSON.stringify(['push', { test: 'test' }]));
await new Promise(resolve =>
ws.on('message', data => {
- expect(JSON.parse(data.toString()).data.test).to.be.eql('test');
+ expect(JSON.parse(data.toString()).data.test).toEqual('test');
ws.close();
resolve();
}),
@@ -266,7 +258,7 @@ describe('WebSocketGateway (WsAdapter)', () => {
ws.send(JSON.stringify(['push', { test: 'test' }]));
await new Promise(resolve =>
ws.on('message', data => {
- expect(JSON.parse(data.toString()).data.test).to.be.eql('test');
+ expect(JSON.parse(data.toString()).data.test).toEqual('test');
ws.close();
resolve();
}),
diff --git a/integration/websockets/src/app.gateway.ts b/integration/websockets/src/app.gateway.ts
index 30ea2ee22ef..c456da1b889 100644
--- a/integration/websockets/src/app.gateway.ts
+++ b/integration/websockets/src/app.gateway.ts
@@ -5,9 +5,9 @@ import {
WebSocketGateway,
WsException,
} from '@nestjs/websockets';
-import { RequestInterceptor } from './request.interceptor';
+import { RequestInterceptor } from './request.interceptor.js';
import { throwError } from 'rxjs';
-import { RequestFilter } from './request.filter';
+import { RequestFilter } from './request.filter.js';
@WebSocketGateway(8080)
export class ApplicationGateway {
diff --git a/integration/websockets/src/app.module.ts b/integration/websockets/src/app.module.ts
index 5858472b662..4982d663d12 100644
--- a/integration/websockets/src/app.module.ts
+++ b/integration/websockets/src/app.module.ts
@@ -1,5 +1,5 @@
import { Module } from '@nestjs/common';
-import { ApplicationGateway } from './app.gateway';
+import { ApplicationGateway } from './app.gateway.js';
@Module({
providers: [ApplicationGateway],
diff --git a/integration/websockets/src/request-scope.gateway.ts b/integration/websockets/src/request-scope.gateway.ts
new file mode 100644
index 00000000000..0e5f20b39b5
--- /dev/null
+++ b/integration/websockets/src/request-scope.gateway.ts
@@ -0,0 +1,94 @@
+import { Inject, Injectable, Scope } from '@nestjs/common';
+import { REQUEST } from '@nestjs/core';
+import {
+ ConnectedSocket,
+ SubscribeMessage,
+ WebSocketGateway,
+} from '@nestjs/websockets';
+import { REQUEST_CONTEXT_ID } from '@nestjs/core/router/request/request-constants.js';
+
+type TrackableSocket = {
+ emit: Function;
+ id?: string;
+ listeners?(event: string): Function[];
+};
+
+function getListenerCount(client: TrackableSocket, event: string) {
+ return client.listeners?.(event).length ?? 0;
+}
+
+@Injectable()
+export class SocketLifecycleTracker {
+ private latestDisconnectState:
+ | {
+ stateListeners: number;
+ disconnectListeners: number;
+ hasRequestContextId: boolean;
+ }
+ | undefined;
+
+ public reset() {
+ this.latestDisconnectState = undefined;
+ }
+
+ public recordDisconnect(client: TrackableSocket) {
+ this.latestDisconnectState = {
+ stateListeners: getListenerCount(client, 'state'),
+ disconnectListeners: getListenerCount(client, 'disconnect'),
+ hasRequestContextId: REQUEST_CONTEXT_ID in client,
+ };
+ }
+
+ public getDisconnectState() {
+ return this.latestDisconnectState;
+ }
+}
+
+@Injectable({ scope: Scope.REQUEST })
+export class ConnectionStateService {
+ private static nextId = 0;
+
+ private readonly instanceId = ++ConnectionStateService.nextId;
+ private sequence = 0;
+
+ constructor(@Inject(REQUEST) private readonly client: { id?: string }) {}
+
+ public snapshot(client: { id?: string }, source: 'connection' | 'message') {
+ return {
+ instanceId: this.instanceId,
+ sequence: ++this.sequence,
+ source,
+ injectedClientId: this.client.id,
+ connectedClientId: client.id,
+ matchesClient: this.client === client,
+ };
+ }
+}
+
+@WebSocketGateway()
+export class RequestScopeGateway {
+ constructor(
+ private readonly connectionState: ConnectionStateService,
+ private readonly socketLifecycleTracker: SocketLifecycleTracker,
+ ) {}
+
+ handleConnection(@ConnectedSocket() client: TrackableSocket) {
+ client.emit(
+ 'connectedState',
+ this.connectionState.snapshot(client, 'connection'),
+ );
+ }
+
+ async handleDisconnect(@ConnectedSocket() client: TrackableSocket) {
+ await new Promise(resolve => setImmediate(resolve));
+ this.socketLifecycleTracker.recordDisconnect(client);
+ }
+
+ @SubscribeMessage('state')
+ onState(@ConnectedSocket() client: TrackableSocket) {
+ return {
+ event: 'state',
+ data: this.connectionState.snapshot(client, 'message'),
+ };
+ }
+}
diff --git a/integration/websockets/src/server.gateway.ts b/integration/websockets/src/server.gateway.ts
index 6955657cace..e12cfa6ac65 100644
--- a/integration/websockets/src/server.gateway.ts
+++ b/integration/websockets/src/server.gateway.ts
@@ -1,7 +1,6 @@
import { OnApplicationShutdown, UseInterceptors } from '@nestjs/common';
import { SubscribeMessage, WebSocketGateway } from '@nestjs/websockets';
-import * as Sinon from 'sinon';
-import { RequestInterceptor } from './request.interceptor';
+import { RequestInterceptor } from './request.interceptor.js';
@WebSocketGateway()
export class ServerGateway implements OnApplicationShutdown {
@@ -22,5 +21,5 @@ export class ServerGateway implements OnApplicationShutdown {
};
}
- onApplicationShutdown = Sinon.spy();
+ onApplicationShutdown = vi.fn();
}
diff --git a/integration/websockets/src/ws-error.gateway.ts b/integration/websockets/src/ws-error.gateway.ts
new file mode 100644
index 00000000000..f72c69f5b52
--- /dev/null
+++ b/integration/websockets/src/ws-error.gateway.ts
@@ -0,0 +1,14 @@
+import {
+ SubscribeMessage,
+ WebSocketGateway,
+ WsException,
+} from '@nestjs/websockets';
+import { throwError } from 'rxjs';
+
+@WebSocketGateway(8085)
+export class WsErrorGateway {
+ @SubscribeMessage('push')
+ onPush() {
+ return throwError(() => new WsException('test'));
+ }
+}
diff --git a/integration/websockets/tsconfig.json b/integration/websockets/tsconfig.json
index 4a0f01e0ec4..aa1164082cc 100644
--- a/integration/websockets/tsconfig.json
+++ b/integration/websockets/tsconfig.json
@@ -1,13 +1,15 @@
{
"compilerOptions": {
+ "types": ["vitest/globals"],
"module": "commonjs",
"declaration": false,
"noImplicitAny": false,
"removeComments": true,
"noLib": false,
+ "esModuleInterop": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
- "target": "ES2021",
+ "target": "ES2023",
"sourceMap": true,
"allowJs": true,
"strictNullChecks": true,
diff --git a/lerna.json b/lerna.json
index 0ce7ffcbfa6..61489d33fae 100644
--- a/lerna.json
+++ b/lerna.json
@@ -1,5 +1,7 @@
{
- "packages": ["packages/*"],
- "version": "11.1.24",
+ "packages": [
+ "packages/*"
+ ],
+ "version": "12.0.0-alpha.5",
"$schema": "node_modules/lerna/schemas/lerna-schema.json"
-}
+}
\ No newline at end of file
diff --git a/package-lock.json b/package-lock.json
index ee65f72f7c9..69951a6e7ff 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -9,81 +9,71 @@
"version": "11.1.10",
"hasInstallScript": true,
"license": "MIT",
+ "workspaces": [
+ "packages/*"
+ ],
"dependencies": {
"@nuxt/opencollective": "0.4.1",
- "ansis": "4.3.0",
+ "ansis": "4.2.0",
"class-transformer": "0.5.1",
- "class-validator": "0.15.1",
+ "class-validator": "0.14.3",
"cors": "2.8.6",
"express": "5.2.1",
- "fast-json-stringify": "6.4.0",
+ "fast-json-stringify": "6.3.0",
"fast-safe-stringify": "2.1.1",
- "file-type": "21.3.4",
+ "file-type": "21.3.0",
"iterare": "1.2.1",
"load-esm": "1.0.3",
"object-hash": "3.0.0",
- "path-to-regexp": "8.4.2",
+ "path-to-regexp": "8.3.0",
"reflect-metadata": "0.2.2",
"rxjs": "7.8.2",
"socket.io": "4.8.3",
"tslib": "2.8.1",
"uid": "2.0.2",
- "uuid": "14.0.0"
+ "uuid": "13.0.0"
},
"devDependencies": {
- "@apollo/server": "5.5.1",
+ "@apollo/server": "5.4.0",
"@as-integrations/express5": "1.1.2",
- "@commitlint/cli": "21.0.1",
- "@commitlint/config-angular": "21.0.1",
- "@eslint/eslintrc": "3.3.5",
- "@eslint/js": "9.39.4",
+ "@commitlint/cli": "20.4.1",
+ "@commitlint/config-angular": "20.4.1",
"@fastify/cors": "11.2.0",
"@fastify/formbody": "8.0.2",
- "@fastify/middie": "9.3.2",
- "@fastify/multipart": "10.0.0",
- "@fastify/static": "9.1.3",
+ "@fastify/middie": "9.1.0",
+ "@fastify/multipart": "9.4.0",
+ "@fastify/static": "9.0.0",
"@fastify/view": "11.1.1",
"@grpc/grpc-js": "1.14.4",
"@grpc/proto-loader": "0.8.1",
+ "@nats-io/transport-node": "^3.0.2",
"@nestjs/apollo": "13.4.2",
"@nestjs/graphql": "13.4.2",
"@nestjs/mongoose": "11.0.4",
- "@nestjs/typeorm": "11.0.1",
+ "@nestjs/typeorm": "11.0.0",
"@types/amqplib": "0.10.8",
- "@types/chai": "4.3.20",
- "@types/chai-as-promised": "7.1.8",
"@types/cors": "2.8.19",
- "@types/eslint__js": "8.42.3",
"@types/express": "5.0.6",
"@types/gulp": "4.0.18",
"@types/http-errors": "2.0.5",
- "@types/mocha": "10.0.10",
"@types/node": "25.9.1",
- "@types/sinon": "21.0.1",
"@types/supertest": "7.2.0",
"@types/ws": "8.18.1",
- "@typescript-eslint/eslint-plugin": "8.59.3",
- "@typescript-eslint/parser": "8.59.3",
+ "@vitest/coverage-istanbul": "4.1.2",
+ "@vitest/coverage-v8": "4.1.2",
"amqp-connection-manager": "5.0.0",
- "amqplib": "2.0.1",
+ "amqplib": "0.10.9",
"body-parser": "2.2.2",
"cache-manager": "7.2.8",
- "chai": "4.5.0",
- "chai-as-promised": "7.1.2",
- "concurrently": "9.2.1",
- "conventional-changelog": "7.2.0",
+ "conventional-changelog": "7.1.1",
"coveralls": "3.1.1",
"delete-empty": "3.0.0",
- "eslint": "10.3.0",
- "eslint-config-prettier": "10.1.8",
- "eslint-plugin-prettier": "5.5.5",
"eventsource": "4.1.0",
"fancy-log": "2.0.0",
- "fastify": "5.8.5",
+ "fastify": "5.7.4",
"fastify-plugin": "5.1.0",
- "find-my-way": "9.6.0",
- "globals": "17.6.0",
- "graphql": "16.14.0",
+ "find-my-way": "9.4.0",
+ "graphql": "16.12.0",
"graphql-subscriptions": "3.0.0",
"gulp": "5.0.1",
"gulp-clang-format": "1.0.27",
@@ -93,34 +83,34 @@
"gulp-watch": "5.0.1",
"http-errors": "2.0.1",
"husky": "9.1.7",
- "ioredis": "5.10.1",
+ "ioredis": "5.9.3",
"kafkajs": "2.2.4",
- "lerna": "9.0.7",
+ "lerna": "9.0.4",
"lerna-changelog": "2.2.0",
"light-my-request": "6.6.0",
"lint-staged": "17.0.5",
"markdown-table": "2.0.0",
- "mocha": "11.7.6",
"mongoose": "9.6.2",
"mqtt": "5.15.1",
"multer": "2.1.1",
"mysql2": "3.22.3",
"nats": "2.29.3",
- "nyc": "18.0.0",
- "prettier": "^3.7.4",
+ "oxlint": "1.58.0",
+ "prettier": "3.7.4",
"redis": "5.12.1",
"reusify": "1.1.0",
"rxjs-compat": "6.6.7",
- "sinon": "21.1.2",
- "sinon-chai": "3.7.0",
"socket.io-client": "4.8.3",
"supertest": "7.2.2",
- "ts-morph": "28.0.0",
+ "ts-morph": "27.0.2",
"ts-node": "10.9.2",
"tsconfig-paths": "4.2.0",
+ "tsx": "4.19.2",
"typeorm": "0.3.30",
- "typescript": "5.9.3",
+ "typescript": "6.0.2",
"typescript-eslint": "8.58.2",
+ "vite": "8.0.3",
+ "vitest": "4.1.2",
"ws": "8.21.0"
},
"engines": {
@@ -136,6 +126,7 @@
"resolved": "https://registry.npmjs.org/@apollo/cache-control-types/-/cache-control-types-1.0.3.tgz",
"integrity": "sha512-F17/vCp7QVwom9eG7ToauIKdAxpSoadsJnqIfyryLFSkLSOEqu+eC5Z3N8OXcUVStuOMcNHlyraRsA6rRICu4g==",
"dev": true,
+ "license": "MIT",
"peerDependencies": {
"graphql": "14.x || 15.x || 16.x"
}
@@ -146,6 +137,7 @@
"integrity": "sha512-Lahx5zntHPZia35myYDBRuF58tlwPskwHc5CWBZC/4bMKB6siTBWwtMrkqXcsNwQiFSzSx5hKdRPUmemrEp3Gg==",
"dev": true,
"hasInstallScript": true,
+ "license": "BSD-3-Clause",
"dependencies": {
"@protobufjs/aspromise": "^1.1.2",
"@protobufjs/base64": "^1.1.2",
@@ -166,9 +158,9 @@
}
},
"node_modules/@apollo/server": {
- "version": "5.5.1",
- "resolved": "https://registry.npmjs.org/@apollo/server/-/server-5.5.1.tgz",
- "integrity": "sha512-Rn3g5TJQsMSUY23CWZTghWdBWyjX7dP1eaEBPkvmM2RHi82cDcpgTIkSCbGvtTUEGjwopLv1AAooU/n7iIZ20A==",
+ "version": "5.4.0",
+ "resolved": "https://registry.npmjs.org/@apollo/server/-/server-5.4.0.tgz",
+ "integrity": "sha512-E0/2C5Rqp7bWCjaDh4NzYuEPDZ+dltTf2c0FI6GCKJA6GBetVferX3h1//1rS4+NxD36wrJsGGJK+xyT/M3ysg==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -191,6 +183,7 @@
"loglevel": "^1.6.8",
"lru-cache": "^11.1.0",
"negotiator": "^1.0.0",
+ "uuid": "^11.1.0",
"whatwg-mimetype": "^4.0.0"
},
"engines": {
@@ -233,14 +226,18 @@
"@apollo/server": "^4.0.0"
}
},
- "node_modules/@apollo/server/node_modules/negotiator": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-1.0.0.tgz",
- "integrity": "sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==",
+ "node_modules/@apollo/server/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,
+ "funding": [
+ "https://github.com/sponsors/broofa",
+ "https://github.com/sponsors/ctavan"
+ ],
"license": "MIT",
- "engines": {
- "node": ">= 0.6"
+ "bin": {
+ "uuid": "dist/esm/bin/uuid"
}
},
"node_modules/@apollo/usage-reporting-protobuf": {
@@ -248,6 +245,7 @@
"resolved": "https://registry.npmjs.org/@apollo/usage-reporting-protobuf/-/usage-reporting-protobuf-4.1.1.tgz",
"integrity": "sha512-u40dIUePHaSKVshcedO7Wp+mPiZsaU6xjv9J+VyxpoU/zL6Jle+9zWeG98tr/+SZ0nZ4OXhrbb8SNr0rAPpIDA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@apollo/protobufjs": "1.2.7"
}
@@ -271,6 +269,7 @@
"resolved": "https://registry.npmjs.org/@apollo/utils.dropunuseddefinitions/-/utils.dropunuseddefinitions-2.0.1.tgz",
"integrity": "sha512-EsPIBqsSt2BwDsv8Wu76LK5R1KtsVkNoO4b0M5aK0hx+dGg9xJXuqlr7Fo34Dl+y83jmzn+UvEW+t1/GP2melA==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=14"
},
@@ -327,6 +326,7 @@
"resolved": "https://registry.npmjs.org/@apollo/utils.printwithreducedwhitespace/-/utils.printwithreducedwhitespace-2.0.1.tgz",
"integrity": "sha512-9M4LUXV/fQBh8vZWlLvb/HyyhjJ77/I5ZKu+NBWV/BmYGyRmoEP9EVAy7LCVoY3t8BDcyCAGfxJaLFCSuQkPUg==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=14"
},
@@ -339,6 +339,7 @@
"resolved": "https://registry.npmjs.org/@apollo/utils.removealiases/-/utils.removealiases-2.0.1.tgz",
"integrity": "sha512-0joRc2HBO4u594Op1nev+mUF6yRnxoUH64xw8x3bX7n8QBDYdeYgY4tF0vJReTy+zdn2xv6fMsquATSgC722FA==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=14"
},
@@ -351,6 +352,7 @@
"resolved": "https://registry.npmjs.org/@apollo/utils.sortast/-/utils.sortast-2.0.1.tgz",
"integrity": "sha512-eciIavsWpJ09za1pn37wpsCGrQNXUhM0TktnZmHwO+Zy9O4fu/WdB4+5BvVhFiZYOXvfjzJUcc+hsIV8RUOtMw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"lodash.sortby": "^4.7.0"
},
@@ -366,6 +368,7 @@
"resolved": "https://registry.npmjs.org/@apollo/utils.stripsensitiveliterals/-/utils.stripsensitiveliterals-2.0.1.tgz",
"integrity": "sha512-QJs7HtzXS/JIPMKWimFnUMK7VjkGQTzqD9bKD1h3iuPAqLsxd0mUNVbkYOPTsDhUKgcvUOfOqOJWYohAKMvcSA==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=14"
},
@@ -378,6 +381,7 @@
"resolved": "https://registry.npmjs.org/@apollo/utils.usagereporting/-/utils.usagereporting-2.1.0.tgz",
"integrity": "sha512-LPSlBrn+S17oBy5eWkrRSGb98sWmnEzo3DPTZgp8IQc8sJe0prDgDuppGq4NeQlpoqEHz0hQeYHAOA0Z3aQsxQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@apollo/usage-reporting-protobuf": "^4.1.0",
"@apollo/utils.dropunuseddefinitions": "^2.0.1",
@@ -483,31 +487,6 @@
"url": "https://opencollective.com/babel"
}
},
- "node_modules/@babel/core/node_modules/debug": {
- "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.3"
- },
- "engines": {
- "node": ">=6.0"
- },
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
- }
- },
- "node_modules/@babel/core/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,
- "license": "MIT"
- },
"node_modules/@babel/core/node_modules/semver": {
"version": "6.3.1",
"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
@@ -535,17 +514,6 @@
"node": ">=6.9.0"
}
},
- "node_modules/@babel/generator/node_modules/@jridgewell/trace-mapping": {
- "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"
- }
- },
"node_modules/@babel/helper-compilation-targets": {
"version": "7.28.6",
"resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.28.6.tgz",
@@ -663,23 +631,23 @@
}
},
"node_modules/@babel/helpers": {
- "version": "7.28.6",
- "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.28.6.tgz",
- "integrity": "sha512-xOBvwq86HHdB7WUDTfKfT/Vuxh7gElQ+Sfti2Cy6yIWNW05P8iUslOVcZ4/sKbE+/jQaukQAdz/gf3724kYdqw==",
+ "version": "7.29.2",
+ "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.29.2.tgz",
+ "integrity": "sha512-HoGuUs4sCZNezVEKdVcwqmZN8GoHirLUcLaYVNBK2J0DadGtdcqgr3BCbvH8+XUo4NGjNl3VOtSjEKNzqfFgKw==",
"dev": true,
"license": "MIT",
"dependencies": {
"@babel/template": "^7.28.6",
- "@babel/types": "^7.28.6"
+ "@babel/types": "^7.29.0"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/parser": {
- "version": "7.29.0",
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.0.tgz",
- "integrity": "sha512-IyDgFV5GeDUVX4YdF/3CPULtVGSXXMLh1xVIgdCgxApktqnQV0r7/8Nqthg+8YLGaAtdyIlo2qIdZrbCv4+7ww==",
+ "version": "7.29.2",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.2.tgz",
+ "integrity": "sha512-4GgRzy/+fsBa72/RZVJmGKPmZu9Byn8o4MoLpmNe1m8ZfYnz5emHLQz3U4gLud6Zwl0RZIcgiLD7Uq7ySFuDLA==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -693,9 +661,9 @@
}
},
"node_modules/@babel/runtime": {
- "version": "7.28.2",
- "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.28.2.tgz",
- "integrity": "sha512-KHp2IflsnGywDjBWDkR9iEqiWSpc8GIi0lgTT3mOElT0PP1tG26P4tmFI2YvAdzgq9RGyoHZQEIEdZy6Ec5xCA==",
+ "version": "7.29.2",
+ "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.29.2.tgz",
+ "integrity": "sha512-JiDShH45zKHWyGe4ZNVRrCjBz8Nh9TMmZG1kh4QTK8hCBTWBi8Da+i7s1fJw7/lYpM4ccepSNfqzZ/QvABBi5g==",
"dev": true,
"license": "MIT",
"engines": {
@@ -736,31 +704,6 @@
"node": ">=6.9.0"
}
},
- "node_modules/@babel/traverse/node_modules/debug": {
- "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.3"
- },
- "engines": {
- "node": ">=6.0"
- },
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
- }
- },
- "node_modules/@babel/traverse/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,
- "license": "MIT"
- },
"node_modules/@babel/types": {
"version": "7.29.0",
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.0.tgz",
@@ -775,10 +718,20 @@
"node": ">=6.9.0"
}
},
+ "node_modules/@bcoe/v8-coverage": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-1.0.2.tgz",
+ "integrity": "sha512-6zABk/ECA/QYSCQ1NGiVwwbQerUCZ+TQbp64Q3AgmfNvurHH0j8TtXa1qbShXA6qqkpAj4V5W8pP6mLe1mcMqA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=18"
+ }
+ },
"node_modules/@borewit/text-codec": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/@borewit/text-codec/-/text-codec-0.1.1.tgz",
- "integrity": "sha512-5L/uBxmjaCIX5h8Z+uu+kA9BQLkc/Wl06UGR5ajNRxu+/XjonB5i8JpgFMrPj3LXTCPA0pv8yxUvbUi+QthGGA==",
+ "version": "0.2.2",
+ "resolved": "https://registry.npmjs.org/@borewit/text-codec/-/text-codec-0.2.2.tgz",
+ "integrity": "sha512-DDaRehssg1aNrH4+2hnj1B7vnUGEjU6OIlyRdkMd0aUdIUvKXrJfXsy8LVtXAy7DRvYVluWbMspsRhz2lcW0mQ==",
"license": "MIT",
"funding": {
"type": "github",
@@ -786,843 +739,798 @@
}
},
"node_modules/@cacheable/utils": {
- "version": "2.3.3",
- "resolved": "https://registry.npmjs.org/@cacheable/utils/-/utils-2.3.3.tgz",
- "integrity": "sha512-JsXDL70gQ+1Vc2W/KUFfkAJzgb4puKwwKehNLuB+HrNKWf91O736kGfxn4KujXCCSuh6mRRL4XEB0PkAFjWS0A==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "hashery": "^1.3.0",
- "keyv": "^5.5.5"
- }
- },
- "node_modules/@cacheable/utils/node_modules/keyv": {
- "version": "5.5.5",
- "resolved": "https://registry.npmjs.org/keyv/-/keyv-5.5.5.tgz",
- "integrity": "sha512-FA5LmZVF1VziNc0bIdCSA1IoSVnDCqE8HJIZZv2/W8YmoAM50+tnUgJR/gQZwEeIMleuIOnRnHA/UaZRNeV4iQ==",
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/@cacheable/utils/-/utils-2.4.1.tgz",
+ "integrity": "sha512-eiFgzCbIneyMlLOmNG4g9xzF7Hv3Mga4LjxjcSC/ues6VYq2+gUbQI8JqNuw/ZM8tJIeIaBGpswAsqV2V7ApgA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@keyv/serialize": "^1.1.1"
+ "hashery": "^1.5.1",
+ "keyv": "^5.6.0"
}
},
"node_modules/@commitlint/cli": {
- "version": "21.0.1",
- "resolved": "https://registry.npmjs.org/@commitlint/cli/-/cli-21.0.1.tgz",
- "integrity": "sha512-8vq10krmbJwBkvzXKhbs4o4JQEVscd3pqOlWuDUaDBwbeL694/P33UC29tZQFTAgPU9fVJ2+f2m3zw16yKWxHg==",
+ "version": "20.4.1",
+ "resolved": "https://registry.npmjs.org/@commitlint/cli/-/cli-20.4.1.tgz",
+ "integrity": "sha512-uuFKKpc7OtQM+6SRqT+a4kV818o1pS+uvv/gsRhyX7g4x495jg+Q7P0+O9VNGyLXBYP0syksS7gMRDJKcekr6A==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@commitlint/format": "^21.0.1",
- "@commitlint/lint": "^21.0.1",
- "@commitlint/load": "^21.0.1",
- "@commitlint/read": "^21.0.1",
- "@commitlint/types": "^21.0.1",
+ "@commitlint/format": "^20.4.0",
+ "@commitlint/lint": "^20.4.1",
+ "@commitlint/load": "^20.4.0",
+ "@commitlint/read": "^20.4.0",
+ "@commitlint/types": "^20.4.0",
"tinyexec": "^1.0.0",
- "yargs": "^18.0.0"
+ "yargs": "^17.0.0"
},
"bin": {
"commitlint": "cli.js"
},
"engines": {
- "node": ">=22.12.0"
+ "node": ">=v18"
}
},
- "node_modules/@commitlint/cli/node_modules/ansi-regex": {
- "version": "6.2.2",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz",
- "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==",
+ "node_modules/@commitlint/config-angular": {
+ "version": "20.4.1",
+ "resolved": "https://registry.npmjs.org/@commitlint/config-angular/-/config-angular-20.4.1.tgz",
+ "integrity": "sha512-Zt+qkZFKjMdQQp0Qvckp/JFJxwQbLrvnWHQc52y1VSPvZtuazcvcsdF3tPz1Ezsxzi3vY+GiOHVAHqWXLYTIrw==",
"dev": true,
"license": "MIT",
- "engines": {
- "node": ">=12"
+ "dependencies": {
+ "@commitlint/config-angular-type-enum": "^20.0.0"
},
- "funding": {
- "url": "https://github.com/chalk/ansi-regex?sponsor=1"
+ "engines": {
+ "node": ">=v18"
}
},
- "node_modules/@commitlint/cli/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==",
+ "node_modules/@commitlint/config-angular-type-enum": {
+ "version": "20.0.0",
+ "resolved": "https://registry.npmjs.org/@commitlint/config-angular-type-enum/-/config-angular-type-enum-20.0.0.tgz",
+ "integrity": "sha512-6HAMnXyUl3EUBgECjvfLzlghbkMfZx28YBPDry3pPWR0+xpzqSbUY19VIkmdetqYKeawFViudvkqD4VH93gKKg==",
"dev": true,
"license": "MIT",
"engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ "node": ">=v18"
}
},
- "node_modules/@commitlint/cli/node_modules/cliui": {
- "version": "9.0.1",
- "resolved": "https://registry.npmjs.org/cliui/-/cliui-9.0.1.tgz",
- "integrity": "sha512-k7ndgKhwoQveBL+/1tqGJYNz097I7WOvwbmmU2AR5+magtbjPWQTS1C5vzGkBC8Ym8UWRzfKUzUUqFLypY4Q+w==",
+ "node_modules/@commitlint/config-validator": {
+ "version": "20.5.0",
+ "resolved": "https://registry.npmjs.org/@commitlint/config-validator/-/config-validator-20.5.0.tgz",
+ "integrity": "sha512-T/Uh6iJUzyx7j35GmHWdIiGRQB+ouZDk0pwAaYq4SXgB54KZhFdJ0vYmxiW6AMYICTIWuyMxDBl1jK74oFp/Gw==",
"dev": true,
- "license": "ISC",
+ "license": "MIT",
"dependencies": {
- "string-width": "^7.2.0",
- "strip-ansi": "^7.1.0",
- "wrap-ansi": "^9.0.0"
+ "@commitlint/types": "^20.5.0",
+ "ajv": "^8.11.0"
},
"engines": {
- "node": ">=20"
+ "node": ">=v18"
}
},
- "node_modules/@commitlint/cli/node_modules/emoji-regex": {
- "version": "10.6.0",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.6.0.tgz",
- "integrity": "sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@commitlint/cli/node_modules/string-width": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz",
- "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==",
+ "node_modules/@commitlint/ensure": {
+ "version": "20.5.0",
+ "resolved": "https://registry.npmjs.org/@commitlint/ensure/-/ensure-20.5.0.tgz",
+ "integrity": "sha512-IpHqAUesBeW1EDDdjzJeaOxU9tnogLAyXLRBn03SHlj1SGENn2JGZqSWGkFvBJkJzfXAuCNtsoYzax+ZPS+puw==",
"dev": true,
"license": "MIT",
"dependencies": {
- "emoji-regex": "^10.3.0",
- "get-east-asian-width": "^1.0.0",
- "strip-ansi": "^7.1.0"
+ "@commitlint/types": "^20.5.0",
+ "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": ">=18"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "node": ">=v18"
}
},
- "node_modules/@commitlint/cli/node_modules/strip-ansi": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.2.0.tgz",
- "integrity": "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==",
+ "node_modules/@commitlint/execute-rule": {
+ "version": "20.0.0",
+ "resolved": "https://registry.npmjs.org/@commitlint/execute-rule/-/execute-rule-20.0.0.tgz",
+ "integrity": "sha512-xyCoOShoPuPL44gVa+5EdZsBVao/pNzpQhkzq3RdtlFdKZtjWcLlUFQHSWBuhk5utKYykeJPSz2i8ABHQA+ZZw==",
"dev": true,
"license": "MIT",
- "dependencies": {
- "ansi-regex": "^6.2.2"
- },
"engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/chalk/strip-ansi?sponsor=1"
+ "node": ">=v18"
}
},
- "node_modules/@commitlint/cli/node_modules/wrap-ansi": {
- "version": "9.0.2",
- "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.2.tgz",
- "integrity": "sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww==",
+ "node_modules/@commitlint/format": {
+ "version": "20.5.0",
+ "resolved": "https://registry.npmjs.org/@commitlint/format/-/format-20.5.0.tgz",
+ "integrity": "sha512-TI9EwFU/qZWSK7a5qyXMpKPPv3qta7FO4tKW+Wt2al7sgMbLWTsAcDpX1cU8k16TRdsiiet9aOw0zpvRXNJu7Q==",
"dev": true,
"license": "MIT",
"dependencies": {
- "ansi-styles": "^6.2.1",
- "string-width": "^7.0.0",
- "strip-ansi": "^7.1.0"
+ "@commitlint/types": "^20.5.0",
+ "picocolors": "^1.1.1"
},
"engines": {
- "node": ">=18"
- },
- "funding": {
- "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
+ "node": ">=v18"
}
},
- "node_modules/@commitlint/cli/node_modules/yargs": {
- "version": "18.0.0",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-18.0.0.tgz",
- "integrity": "sha512-4UEqdc2RYGHZc7Doyqkrqiln3p9X2DZVxaGbwhn2pi7MrRagKaOcIKe8L3OxYcbhXLgLFUS3zAYuQjKBQgmuNg==",
+ "node_modules/@commitlint/is-ignored": {
+ "version": "20.5.0",
+ "resolved": "https://registry.npmjs.org/@commitlint/is-ignored/-/is-ignored-20.5.0.tgz",
+ "integrity": "sha512-JWLarAsurHJhPozbuAH6GbP4p/hdOCoqS9zJMfqwswne+/GPs5V0+rrsfOkP68Y8PSLphwtFXV0EzJ+GTXTTGg==",
"dev": true,
"license": "MIT",
"dependencies": {
- "cliui": "^9.0.1",
- "escalade": "^3.1.1",
- "get-caller-file": "^2.0.5",
- "string-width": "^7.2.0",
- "y18n": "^5.0.5",
- "yargs-parser": "^22.0.0"
+ "@commitlint/types": "^20.5.0",
+ "semver": "^7.6.0"
},
"engines": {
- "node": "^20.19.0 || ^22.12.0 || >=23"
+ "node": ">=v18"
}
},
- "node_modules/@commitlint/cli/node_modules/yargs-parser": {
- "version": "22.0.0",
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-22.0.0.tgz",
- "integrity": "sha512-rwu/ClNdSMpkSrUb+d6BRsSkLUq1fmfsY6TOpYzTwvwkg1/NRG85KBy3kq++A8LKQwX6lsu+aWad+2khvuXrqw==",
+ "node_modules/@commitlint/lint": {
+ "version": "20.5.0",
+ "resolved": "https://registry.npmjs.org/@commitlint/lint/-/lint-20.5.0.tgz",
+ "integrity": "sha512-jiM3hNUdu04jFBf1VgPdjtIPvbuVfDTBAc6L98AWcoLjF5sYqkulBHBzlVWll4rMF1T5zeQFB6r//a+s+BBKlA==",
"dev": true,
- "license": "ISC",
+ "license": "MIT",
+ "dependencies": {
+ "@commitlint/is-ignored": "^20.5.0",
+ "@commitlint/parse": "^20.5.0",
+ "@commitlint/rules": "^20.5.0",
+ "@commitlint/types": "^20.5.0"
+ },
"engines": {
- "node": "^20.19.0 || ^22.12.0 || >=23"
+ "node": ">=v18"
}
},
- "node_modules/@commitlint/config-angular": {
- "version": "21.0.1",
- "resolved": "https://registry.npmjs.org/@commitlint/config-angular/-/config-angular-21.0.1.tgz",
- "integrity": "sha512-3e4HZ1JX8WkotNVuTJ1KYJcjLLkDmj6DCrjx+AFIiAIOUqUjbp1y+498A71J9kFBZIkiMZ45VKwB2yywztLreg==",
+ "node_modules/@commitlint/load": {
+ "version": "20.5.0",
+ "resolved": "https://registry.npmjs.org/@commitlint/load/-/load-20.5.0.tgz",
+ "integrity": "sha512-sLhhYTL/KxeOTZjjabKDhwidGZan84XKK1+XFkwDYL/4883kIajcz/dZFAhBJmZPtL8+nBx6bnkzA95YxPeDPw==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@commitlint/config-angular-type-enum": "^21.0.1"
+ "@commitlint/config-validator": "^20.5.0",
+ "@commitlint/execute-rule": "^20.0.0",
+ "@commitlint/resolve-extends": "^20.5.0",
+ "@commitlint/types": "^20.5.0",
+ "cosmiconfig": "^9.0.1",
+ "cosmiconfig-typescript-loader": "^6.1.0",
+ "is-plain-obj": "^4.1.0",
+ "lodash.mergewith": "^4.6.2",
+ "picocolors": "^1.1.1"
},
"engines": {
- "node": ">=22.12.0"
+ "node": ">=v18"
}
},
- "node_modules/@commitlint/config-angular-type-enum": {
- "version": "21.0.1",
- "resolved": "https://registry.npmjs.org/@commitlint/config-angular-type-enum/-/config-angular-type-enum-21.0.1.tgz",
- "integrity": "sha512-xTQlgHTaQyXfFpPI3w2dI7ppuTDWmF++1W/kgNohRpxhBzAoJxc6Q/2P7EjvJodtVl7+38xHyu0STtV4ERXdhg==",
+ "node_modules/@commitlint/message": {
+ "version": "20.4.3",
+ "resolved": "https://registry.npmjs.org/@commitlint/message/-/message-20.4.3.tgz",
+ "integrity": "sha512-6akwCYrzcrFcTYz9GyUaWlhisY4lmQ3KvrnabmhoeAV8nRH4dXJAh4+EUQ3uArtxxKQkvxJS78hNX2EU3USgxQ==",
"dev": true,
"license": "MIT",
"engines": {
- "node": ">=22.12.0"
+ "node": ">=v18"
}
},
- "node_modules/@commitlint/config-validator": {
- "version": "21.0.1",
- "resolved": "https://registry.npmjs.org/@commitlint/config-validator/-/config-validator-21.0.1.tgz",
- "integrity": "sha512-Zd2UFdndeMMaW2O96HK0tdfT4gOImUvidMpAd/pws2zZ4m1nrAZ/9b/v2JYuE8fs86GpXv9F7LNaIuCIWhY+pA==",
+ "node_modules/@commitlint/parse": {
+ "version": "20.5.0",
+ "resolved": "https://registry.npmjs.org/@commitlint/parse/-/parse-20.5.0.tgz",
+ "integrity": "sha512-SeKWHBMk7YOTnnEWUhx+d1a9vHsjjuo6Uo1xRfPNfeY4bdYFasCH1dDpAv13Lyn+dDPOels+jP6D2GRZqzc5fA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@commitlint/types": "^21.0.1",
- "ajv": "^8.11.0"
+ "@commitlint/types": "^20.5.0",
+ "conventional-changelog-angular": "^8.2.0",
+ "conventional-commits-parser": "^6.3.0"
},
"engines": {
- "node": ">=22.12.0"
+ "node": ">=v18"
}
},
- "node_modules/@commitlint/ensure": {
- "version": "21.0.1",
- "resolved": "https://registry.npmjs.org/@commitlint/ensure/-/ensure-21.0.1.tgz",
- "integrity": "sha512-jJ1037967wU7YN/xkv+iRlOBlmaOXPhPO5KQSqya6GyXzBlwuLzELBFao16DVg9dZyqmNrhewzwZ3SAibetHBQ==",
+ "node_modules/@commitlint/read": {
+ "version": "20.5.0",
+ "resolved": "https://registry.npmjs.org/@commitlint/read/-/read-20.5.0.tgz",
+ "integrity": "sha512-JDEIJ2+GnWpK8QqwfmW7O42h0aycJEWNqcdkJnyzLD11nf9dW2dWLTVEa8Wtlo4IZFGLPATjR5neA5QlOvIH1w==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@commitlint/types": "^21.0.1",
- "es-toolkit": "^1.46.0"
+ "@commitlint/top-level": "^20.4.3",
+ "@commitlint/types": "^20.5.0",
+ "git-raw-commits": "^5.0.0",
+ "minimist": "^1.2.8",
+ "tinyexec": "^1.0.0"
},
"engines": {
- "node": ">=22.12.0"
+ "node": ">=v18"
}
},
- "node_modules/@commitlint/execute-rule": {
- "version": "21.0.1",
- "resolved": "https://registry.npmjs.org/@commitlint/execute-rule/-/execute-rule-21.0.1.tgz",
- "integrity": "sha512-RifH+FmImozKBE6mozhF4K3r2RRKP7SMi/Q/zLCmExtp5e05lhHOUYqGBlFBAGNHaZxU/WYw1XuugYK9jQzqnA==",
+ "node_modules/@commitlint/resolve-extends": {
+ "version": "20.5.0",
+ "resolved": "https://registry.npmjs.org/@commitlint/resolve-extends/-/resolve-extends-20.5.0.tgz",
+ "integrity": "sha512-3SHPWUW2v0tyspCTcfSsYml0gses92l6TlogwzvM2cbxDgmhSRc+fldDjvGkCXJrjSM87BBaWYTPWwwyASZRrg==",
"dev": true,
"license": "MIT",
+ "dependencies": {
+ "@commitlint/config-validator": "^20.5.0",
+ "@commitlint/types": "^20.5.0",
+ "global-directory": "^4.0.1",
+ "import-meta-resolve": "^4.0.0",
+ "lodash.mergewith": "^4.6.2",
+ "resolve-from": "^5.0.0"
+ },
"engines": {
- "node": ">=22.12.0"
+ "node": ">=v18"
}
},
- "node_modules/@commitlint/format": {
- "version": "21.0.1",
- "resolved": "https://registry.npmjs.org/@commitlint/format/-/format-21.0.1.tgz",
- "integrity": "sha512-ksmG2+cHGtuDPQQbhBbC4unwm444+6TiPw0d1bKf67hntgZqZ8E0g1MuYKUuyT5IH4IMmXZhKq22/Z3jBvtQIw==",
+ "node_modules/@commitlint/rules": {
+ "version": "20.5.0",
+ "resolved": "https://registry.npmjs.org/@commitlint/rules/-/rules-20.5.0.tgz",
+ "integrity": "sha512-5NdQXQEdnDPT5pK8O39ZA7HohzPRHEsDGU23cyVCNPQy4WegAbAwrQk3nIu7p2sl3dutPk8RZd91yKTrMTnRkQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@commitlint/types": "^21.0.1",
- "picocolors": "^1.1.1"
+ "@commitlint/ensure": "^20.5.0",
+ "@commitlint/message": "^20.4.3",
+ "@commitlint/to-lines": "^20.0.0",
+ "@commitlint/types": "^20.5.0"
},
"engines": {
- "node": ">=22.12.0"
+ "node": ">=v18"
}
},
- "node_modules/@commitlint/is-ignored": {
- "version": "21.0.1",
- "resolved": "https://registry.npmjs.org/@commitlint/is-ignored/-/is-ignored-21.0.1.tgz",
- "integrity": "sha512-iNDP8SFdw8JEkM0CHZ2XFnhTN4Zg5jKUY2d8kBOSFrI2aA+3YJI7fcqVpfgbpJ9xtxFVYpi+DBATU5AvhoTq8g==",
+ "node_modules/@commitlint/to-lines": {
+ "version": "20.0.0",
+ "resolved": "https://registry.npmjs.org/@commitlint/to-lines/-/to-lines-20.0.0.tgz",
+ "integrity": "sha512-2l9gmwiCRqZNWgV+pX1X7z4yP0b3ex/86UmUFgoRt672Ez6cAM2lOQeHFRUTuE6sPpi8XBCGnd8Kh3bMoyHwJw==",
"dev": true,
"license": "MIT",
- "dependencies": {
- "@commitlint/types": "^21.0.1",
- "semver": "^7.6.0"
- },
"engines": {
- "node": ">=22.12.0"
+ "node": ">=v18"
}
},
- "node_modules/@commitlint/lint": {
- "version": "21.0.1",
- "resolved": "https://registry.npmjs.org/@commitlint/lint/-/lint-21.0.1.tgz",
- "integrity": "sha512-gF+iYtUw1gBG3HUH9z3VxwUjGg2R2G5j+nmvPs8aIeYkiB7TtneBu3wO85I0bUl93bYNsvsCNI9Nte2fmDUMww==",
+ "node_modules/@commitlint/top-level": {
+ "version": "20.4.3",
+ "resolved": "https://registry.npmjs.org/@commitlint/top-level/-/top-level-20.4.3.tgz",
+ "integrity": "sha512-qD9xfP6dFg5jQ3NMrOhG0/w5y3bBUsVGyJvXxdWEwBm8hyx4WOk3kKXw28T5czBYvyeCVJgJJ6aoJZUWDpaacQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@commitlint/is-ignored": "^21.0.1",
- "@commitlint/parse": "^21.0.1",
- "@commitlint/rules": "^21.0.1",
- "@commitlint/types": "^21.0.1"
+ "escalade": "^3.2.0"
},
"engines": {
- "node": ">=22.12.0"
+ "node": ">=v18"
}
},
- "node_modules/@commitlint/load": {
- "version": "21.0.1",
- "resolved": "https://registry.npmjs.org/@commitlint/load/-/load-21.0.1.tgz",
- "integrity": "sha512-Btg1q1mKmiihN4W3x0EsPDrJMOQfMa9NIqlzlJyXAfxvsOGdGXOW5p3R3RcSxDCaY7JabY9flIl+Om1af3PSrw==",
+ "node_modules/@commitlint/types": {
+ "version": "20.5.0",
+ "resolved": "https://registry.npmjs.org/@commitlint/types/-/types-20.5.0.tgz",
+ "integrity": "sha512-ZJoS8oSq2CAZEpc/YI9SulLrdiIyXeHb/OGqGrkUP6Q7YV+0ouNAa7GjqRdXeQPncHQIDz/jbCTlHScvYvO/gA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@commitlint/config-validator": "^21.0.1",
- "@commitlint/execute-rule": "^21.0.1",
- "@commitlint/resolve-extends": "^21.0.1",
- "@commitlint/types": "^21.0.1",
- "cosmiconfig": "^9.0.1",
- "cosmiconfig-typescript-loader": "^6.1.0",
- "es-toolkit": "^1.46.0",
- "is-plain-obj": "^4.1.0",
+ "conventional-commits-parser": "^6.3.0",
"picocolors": "^1.1.1"
},
"engines": {
- "node": ">=22.12.0"
+ "node": ">=v18"
}
},
- "node_modules/@commitlint/load/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,
- "license": "Python-2.0"
- },
- "node_modules/@commitlint/load/node_modules/cosmiconfig": {
- "version": "9.0.1",
- "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-9.0.1.tgz",
- "integrity": "sha512-hr4ihw+DBqcvrsEDioRO31Z17x71pUYoNe/4h6Z0wB72p7MU7/9gH8Q3s12NFhHPfYBBOV3qyfUxmr/Yn3shnQ==",
+ "node_modules/@conventional-changelog/git-client": {
+ "version": "2.6.0",
+ "resolved": "https://registry.npmjs.org/@conventional-changelog/git-client/-/git-client-2.6.0.tgz",
+ "integrity": "sha512-T+uPDciKf0/ioNNDpMGc8FDsehJClZP0yR3Q5MN6wE/Y/1QZ7F+80OgznnTCOlMEG4AV0LvH2UJi3C/nBnaBUg==",
"dev": true,
"license": "MIT",
"dependencies": {
- "env-paths": "^2.2.1",
- "import-fresh": "^3.3.0",
- "js-yaml": "^4.1.0",
- "parse-json": "^5.2.0"
+ "@simple-libs/child-process-utils": "^1.0.0",
+ "@simple-libs/stream-utils": "^1.2.0",
+ "semver": "^7.5.2"
},
"engines": {
- "node": ">=14"
- },
- "funding": {
- "url": "https://github.com/sponsors/d-fischer"
+ "node": ">=18"
},
"peerDependencies": {
- "typescript": ">=4.9.5"
+ "conventional-commits-filter": "^5.0.0",
+ "conventional-commits-parser": "^6.3.0"
},
"peerDependenciesMeta": {
- "typescript": {
+ "conventional-commits-filter": {
+ "optional": true
+ },
+ "conventional-commits-parser": {
"optional": true
}
}
},
- "node_modules/@commitlint/load/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==",
+ "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": {
+ "@jridgewell/trace-mapping": "0.3.9"
+ },
"engines": {
"node": ">=12"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/@commitlint/load/node_modules/js-yaml": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz",
- "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==",
+ "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": {
- "argparse": "^2.0.1"
- },
- "bin": {
- "js-yaml": "bin/js-yaml.js"
+ "@jridgewell/resolve-uri": "^3.0.3",
+ "@jridgewell/sourcemap-codec": "^1.4.10"
}
},
- "node_modules/@commitlint/message": {
- "version": "21.0.1",
- "resolved": "https://registry.npmjs.org/@commitlint/message/-/message-21.0.1.tgz",
- "integrity": "sha512-R3dVQeJQ0B6yqrZEjkUHD4r7UJYLV9Lvk2xs3PTOmtWk2G3mI6Xgc+YdRxL1PwcDfBiUjv2SkIkW4AUc976w1w==",
+ "node_modules/@emnapi/core": {
+ "version": "1.9.1",
+ "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.9.1.tgz",
+ "integrity": "sha512-mukuNALVsoix/w1BJwFzwXBN/dHeejQtuVzcDsfOEsdpCumXb/E9j8w11h5S54tT1xhifGfbbSm/ICrObRb3KA==",
"dev": true,
"license": "MIT",
- "engines": {
- "node": ">=22.12.0"
+ "dependencies": {
+ "@emnapi/wasi-threads": "1.2.0",
+ "tslib": "^2.4.0"
}
},
- "node_modules/@commitlint/parse": {
- "version": "21.0.1",
- "resolved": "https://registry.npmjs.org/@commitlint/parse/-/parse-21.0.1.tgz",
- "integrity": "sha512-oh/nCSOqdoeQNA1tO8aAmxkq5EBo8/NzcFQRvv66AWc9HpED28sL2iSicCKU6hPintWuscL6BJEWi77Wq1LPMQ==",
+ "node_modules/@emnapi/runtime": {
+ "version": "1.9.1",
+ "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.9.1.tgz",
+ "integrity": "sha512-VYi5+ZVLhpgK4hQ0TAjiQiZ6ol0oe4mBx7mVv7IflsiEp0OWoVsp/+f9Vc1hOhE0TtkORVrI1GvzyreqpgWtkA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@commitlint/types": "^21.0.1",
- "conventional-changelog-angular": "^8.2.0",
- "conventional-commits-parser": "^6.3.0"
- },
- "engines": {
- "node": ">=22.12.0"
+ "tslib": "^2.4.0"
}
},
- "node_modules/@commitlint/parse/node_modules/conventional-changelog-angular": {
- "version": "8.3.1",
- "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-8.3.1.tgz",
- "integrity": "sha512-6gfI3otXK5Ph5DfCOI1dblr+kN3FAm5a97hYoQkqNZxOaYa5WKfXH+AnpsmS+iUH2mgVC2Cg2Qw9m5OKcmNrIg==",
+ "node_modules/@emnapi/wasi-threads": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.2.0.tgz",
+ "integrity": "sha512-N10dEJNSsUx41Z6pZsXU8FjPjpBEplgH24sfkmITrBED1/U2Esum9F3lfLrMjKHHjmi557zQn7kR9R+XWXu5Rg==",
"dev": true,
- "license": "ISC",
+ "license": "MIT",
"dependencies": {
- "compare-func": "^2.0.0"
- },
- "engines": {
- "node": ">=18"
+ "tslib": "^2.4.0"
}
},
- "node_modules/@commitlint/read": {
- "version": "21.0.1",
- "resolved": "https://registry.npmjs.org/@commitlint/read/-/read-21.0.1.tgz",
- "integrity": "sha512-pMEu4lbpC8W0ZgKJj2U6WaobXIZWdFlULpIEewYhkPXx+WZcnoO53YrVPc7QErQuNolq2Me8dP58Wu7YAVXVOA==",
+ "node_modules/@esbuild/aix-ppc64": {
+ "version": "0.23.1",
+ "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.23.1.tgz",
+ "integrity": "sha512-6VhYk1diRqrhBAqpJEdjASR/+WVRtfjpqKuNw11cLiaWpAT/Uu+nokB+UJnevzy/P9C/ty6AOe0dwueMrGh/iQ==",
+ "cpu": [
+ "ppc64"
+ ],
"dev": true,
"license": "MIT",
- "dependencies": {
- "@commitlint/top-level": "^21.0.1",
- "@commitlint/types": "^21.0.1",
- "git-raw-commits": "^5.0.0",
- "tinyexec": "^1.0.0"
- },
+ "optional": true,
+ "os": [
+ "aix"
+ ],
"engines": {
- "node": ">=22.12.0"
+ "node": ">=18"
}
},
- "node_modules/@commitlint/resolve-extends": {
- "version": "21.0.1",
- "resolved": "https://registry.npmjs.org/@commitlint/resolve-extends/-/resolve-extends-21.0.1.tgz",
- "integrity": "sha512-0DhjYWL6uYrY16Efa032fYk3woGJDU4AGWiG1XXltT9AMUNYKyb5cIZU2ivbaMZ3+kKFqUjikD2cjh66Sbh/Sg==",
+ "node_modules/@esbuild/android-arm": {
+ "version": "0.23.1",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.23.1.tgz",
+ "integrity": "sha512-uz6/tEy2IFm9RYOyvKl88zdzZfwEfKZmnX9Cj1BHjeSGNuGLuMD1kR8y5bteYmwqKm1tj8m4cb/aKEorr6fHWQ==",
+ "cpu": [
+ "arm"
+ ],
"dev": true,
"license": "MIT",
- "dependencies": {
- "@commitlint/config-validator": "^21.0.1",
- "@commitlint/types": "^21.0.1",
- "es-toolkit": "^1.46.0",
- "global-directory": "^5.0.0",
- "resolve-from": "^5.0.0"
- },
+ "optional": true,
+ "os": [
+ "android"
+ ],
"engines": {
- "node": ">=22.12.0"
+ "node": ">=18"
}
},
- "node_modules/@commitlint/rules": {
- "version": "21.0.1",
- "resolved": "https://registry.npmjs.org/@commitlint/rules/-/rules-21.0.1.tgz",
- "integrity": "sha512-VMooYpz4nJg7xlaUso6CCOWEz8D/ChkvsvZUMARcoJ1ZpfKPyFCGrHNha2tbsETNAb6ErgiRuCr2DvghrvPDYQ==",
+ "node_modules/@esbuild/android-arm64": {
+ "version": "0.23.1",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.23.1.tgz",
+ "integrity": "sha512-xw50ipykXcLstLeWH7WRdQuysJqejuAGPd30vd1i5zSyKK3WE+ijzHmLKxdiCMtH1pHz78rOg0BKSYOSB/2Khw==",
+ "cpu": [
+ "arm64"
+ ],
"dev": true,
"license": "MIT",
- "dependencies": {
- "@commitlint/ensure": "^21.0.1",
- "@commitlint/message": "^21.0.1",
- "@commitlint/to-lines": "^21.0.1",
- "@commitlint/types": "^21.0.1"
- },
+ "optional": true,
+ "os": [
+ "android"
+ ],
"engines": {
- "node": ">=22.12.0"
+ "node": ">=18"
}
},
- "node_modules/@commitlint/to-lines": {
- "version": "21.0.1",
- "resolved": "https://registry.npmjs.org/@commitlint/to-lines/-/to-lines-21.0.1.tgz",
- "integrity": "sha512-bd1BFII7p1EQZre9Kaj+kKaMFP3cFCdt21K7DItVux9XP5WjLgJ0/Uy1pJJh9aPwVJ6SKg62PxqlZaHI8hQAXw==",
+ "node_modules/@esbuild/android-x64": {
+ "version": "0.23.1",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.23.1.tgz",
+ "integrity": "sha512-nlN9B69St9BwUoB+jkyU090bru8L0NA3yFvAd7k8dNsVH8bi9a8cUAUSEcEEgTp2z3dbEDGJGfP6VUnkQnlReg==",
+ "cpu": [
+ "x64"
+ ],
"dev": true,
"license": "MIT",
+ "optional": true,
+ "os": [
+ "android"
+ ],
"engines": {
- "node": ">=22.12.0"
+ "node": ">=18"
}
},
- "node_modules/@commitlint/top-level": {
- "version": "21.0.1",
- "resolved": "https://registry.npmjs.org/@commitlint/top-level/-/top-level-21.0.1.tgz",
- "integrity": "sha512-4esUYqzY7K0FCgcJ/1xWEZekV7Ch4yZT1+xjEb7KzqbJ05XEkxHVsTfC8ADKNNtlCE2pj98KEbPGZWw9WwEnVw==",
+ "node_modules/@esbuild/darwin-arm64": {
+ "version": "0.23.1",
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.23.1.tgz",
+ "integrity": "sha512-YsS2e3Wtgnw7Wq53XXBLcV6JhRsEq8hkfg91ESVadIrzr9wO6jJDMZnCQbHm1Guc5t/CdDiFSSfWP58FNuvT3Q==",
+ "cpu": [
+ "arm64"
+ ],
"dev": true,
"license": "MIT",
- "dependencies": {
- "escalade": "^3.2.0"
- },
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
"engines": {
- "node": ">=22.12.0"
+ "node": ">=18"
}
},
- "node_modules/@commitlint/types": {
- "version": "21.0.1",
- "resolved": "https://registry.npmjs.org/@commitlint/types/-/types-21.0.1.tgz",
- "integrity": "sha512-4u7w8jcoCUFWhjWnASYzZHAP34OqOtuFBN87nQmFvqda03YU0T6z+yB4w0gSAMpekiRqqGk5rt+qSlW+a2vSEg==",
+ "node_modules/@esbuild/darwin-x64": {
+ "version": "0.23.1",
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.23.1.tgz",
+ "integrity": "sha512-aClqdgTDVPSEGgoCS8QDG37Gu8yc9lTHNAQlsztQ6ENetKEO//b8y31MMu2ZaPbn4kVsIABzVLXYLhCGekGDqw==",
+ "cpu": [
+ "x64"
+ ],
"dev": true,
"license": "MIT",
- "dependencies": {
- "conventional-commits-parser": "^6.3.0",
- "picocolors": "^1.1.1"
- },
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
"engines": {
- "node": ">=22.12.0"
+ "node": ">=18"
}
},
- "node_modules/@conventional-changelog/git-client": {
- "version": "2.6.0",
- "resolved": "https://registry.npmjs.org/@conventional-changelog/git-client/-/git-client-2.6.0.tgz",
- "integrity": "sha512-T+uPDciKf0/ioNNDpMGc8FDsehJClZP0yR3Q5MN6wE/Y/1QZ7F+80OgznnTCOlMEG4AV0LvH2UJi3C/nBnaBUg==",
+ "node_modules/@esbuild/freebsd-arm64": {
+ "version": "0.23.1",
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.23.1.tgz",
+ "integrity": "sha512-h1k6yS8/pN/NHlMl5+v4XPfikhJulk4G+tKGFIOwURBSFzE8bixw1ebjluLOjfwtLqY0kewfjLSrO6tN2MgIhA==",
+ "cpu": [
+ "arm64"
+ ],
"dev": true,
"license": "MIT",
- "dependencies": {
- "@simple-libs/child-process-utils": "^1.0.0",
- "@simple-libs/stream-utils": "^1.2.0",
- "semver": "^7.5.2"
- },
+ "optional": true,
+ "os": [
+ "freebsd"
+ ],
"engines": {
"node": ">=18"
- },
- "peerDependencies": {
- "conventional-commits-filter": "^5.0.0",
- "conventional-commits-parser": "^6.3.0"
- },
- "peerDependenciesMeta": {
- "conventional-commits-filter": {
- "optional": true
- },
- "conventional-commits-parser": {
- "optional": true
- }
}
},
- "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/@esbuild/freebsd-x64": {
+ "version": "0.23.1",
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.23.1.tgz",
+ "integrity": "sha512-lK1eJeyk1ZX8UklqFd/3A60UuZ/6UVfGT2LuGo3Wp4/z7eRTRYY+0xOu2kpClP+vMTi9wKOfXi2vjUpO1Ro76g==",
+ "cpu": [
+ "x64"
+ ],
"dev": true,
- "dependencies": {
- "@jridgewell/trace-mapping": "0.3.9"
- },
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "freebsd"
+ ],
"engines": {
- "node": ">=12"
+ "node": ">=18"
}
},
- "node_modules/@emnapi/core": {
- "version": "1.8.1",
- "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.8.1.tgz",
- "integrity": "sha512-AvT9QFpxK0Zd8J0jopedNm+w/2fIzvtPKPjqyw9jwvBaReTTqPBk9Hixaz7KbjimP+QNz605/XnjFcDAL2pqBg==",
+ "node_modules/@esbuild/linux-arm": {
+ "version": "0.23.1",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.23.1.tgz",
+ "integrity": "sha512-CXXkzgn+dXAPs3WBwE+Kvnrf4WECwBdfjfeYHpMeVxWE0EceB6vhWGShs6wi0IYEqMSIzdOF1XjQ/Mkm5d7ZdQ==",
+ "cpu": [
+ "arm"
+ ],
"dev": true,
"license": "MIT",
- "dependencies": {
- "@emnapi/wasi-threads": "1.1.0",
- "tslib": "^2.4.0"
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
}
},
- "node_modules/@emnapi/runtime": {
- "version": "1.8.1",
- "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.8.1.tgz",
- "integrity": "sha512-mehfKSMWjjNol8659Z8KxEMrdSJDDot5SXMq00dM8BN4o+CLNXQ0xH2V7EchNHV4RmbZLmmPdEaXZc5H2FXmDg==",
+ "node_modules/@esbuild/linux-arm64": {
+ "version": "0.23.1",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.23.1.tgz",
+ "integrity": "sha512-/93bf2yxencYDnItMYV/v116zff6UyTjo4EtEQjUBeGiVpMmffDNUyD9UN2zV+V3LRV3/on4xdZ26NKzn6754g==",
+ "cpu": [
+ "arm64"
+ ],
"dev": true,
"license": "MIT",
- "dependencies": {
- "tslib": "^2.4.0"
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
}
},
- "node_modules/@emnapi/wasi-threads": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.1.0.tgz",
- "integrity": "sha512-WI0DdZ8xFSbgMjR1sFsKABJ/C5OnRrjT06JXbZKexJGrDuPTzZdDYfFlsgcCXCyf+suG5QU2e/y1Wo2V/OapLQ==",
+ "node_modules/@esbuild/linux-ia32": {
+ "version": "0.23.1",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.23.1.tgz",
+ "integrity": "sha512-VTN4EuOHwXEkXzX5nTvVY4s7E/Krz7COC8xkftbbKRYAl96vPiUssGkeMELQMOnLOJ8k3BY1+ZY52tttZnHcXQ==",
+ "cpu": [
+ "ia32"
+ ],
"dev": true,
"license": "MIT",
- "dependencies": {
- "tslib": "^2.4.0"
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
}
},
- "node_modules/@eslint-community/eslint-utils": {
- "version": "4.9.1",
- "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.1.tgz",
- "integrity": "sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==",
+ "node_modules/@esbuild/linux-loong64": {
+ "version": "0.23.1",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.23.1.tgz",
+ "integrity": "sha512-Vx09LzEoBa5zDnieH8LSMRToj7ir/Jeq0Gu6qJ/1GcBq9GkfoEAoXvLiW1U9J1qE/Y/Oyaq33w5p2ZWrNNHNEw==",
+ "cpu": [
+ "loong64"
+ ],
"dev": true,
"license": "MIT",
- "dependencies": {
- "eslint-visitor-keys": "^3.4.3"
- },
+ "optional": true,
+ "os": [
+ "linux"
+ ],
"engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "funding": {
- "url": "https://opencollective.com/eslint"
- },
- "peerDependencies": {
- "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0"
+ "node": ">=18"
}
},
- "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": {
- "version": "3.4.3",
- "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz",
- "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==",
- "dev": true,
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "funding": {
- "url": "https://opencollective.com/eslint"
- }
- },
- "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==",
+ "node_modules/@esbuild/linux-mips64el": {
+ "version": "0.23.1",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.23.1.tgz",
+ "integrity": "sha512-nrFzzMQ7W4WRLNUOU5dlWAqa6yVeI0P78WKGUo7lg2HShq/yx+UYkeNSE0SSfSure0SqgnsxPvmAUu/vu0E+3Q==",
+ "cpu": [
+ "mips64el"
+ ],
"dev": true,
"license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
"engines": {
- "node": "^12.0.0 || ^14.0.0 || >=16.0.0"
+ "node": ">=18"
}
},
- "node_modules/@eslint/config-array": {
- "version": "0.23.5",
- "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.23.5.tgz",
- "integrity": "sha512-Y3kKLvC1dvTOT+oGlqNQ1XLqK6D1HU2YXPc52NmAlJZbMMWDzGYXMiPRJ8TYD39muD/OTjlZmNJ4ib7dvSrMBA==",
+ "node_modules/@esbuild/linux-ppc64": {
+ "version": "0.23.1",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.23.1.tgz",
+ "integrity": "sha512-dKN8fgVqd0vUIjxuJI6P/9SSSe/mB9rvA98CSH2sJnlZ/OCZWO1DJvxj8jvKTfYUdGfcq2dDxoKaC6bHuTlgcw==",
+ "cpu": [
+ "ppc64"
+ ],
"dev": true,
- "license": "Apache-2.0",
- "dependencies": {
- "@eslint/object-schema": "^3.0.5",
- "debug": "^4.3.1",
- "minimatch": "^10.2.4"
- },
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
"engines": {
- "node": "^20.19.0 || ^22.13.0 || >=24"
+ "node": ">=18"
}
},
- "node_modules/@eslint/config-array/node_modules/balanced-match": {
- "version": "4.0.4",
- "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz",
- "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==",
+ "node_modules/@esbuild/linux-riscv64": {
+ "version": "0.23.1",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.23.1.tgz",
+ "integrity": "sha512-5AV4Pzp80fhHL83JM6LoA6pTQVWgB1HovMBsLQ9OZWLDqVY8MVobBXNSmAJi//Csh6tcY7e7Lny2Hg1tElMjIA==",
+ "cpu": [
+ "riscv64"
+ ],
"dev": true,
"license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
"engines": {
- "node": "18 || 20 || >=22"
+ "node": ">=18"
}
},
- "node_modules/@eslint/config-array/node_modules/brace-expansion": {
- "version": "5.0.5",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.5.tgz",
- "integrity": "sha512-VZznLgtwhn+Mact9tfiwx64fA9erHH/MCXEUfB/0bX/6Fz6ny5EGTXYltMocqg4xFAQZtnO3DHWWXi8RiuN7cQ==",
+ "node_modules/@esbuild/linux-s390x": {
+ "version": "0.23.1",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.23.1.tgz",
+ "integrity": "sha512-9ygs73tuFCe6f6m/Tb+9LtYxWR4c9yg7zjt2cYkjDbDpV/xVn+68cQxMXCjUpYwEkze2RcU/rMnfIXNRFmSoDw==",
+ "cpu": [
+ "s390x"
+ ],
"dev": true,
"license": "MIT",
- "dependencies": {
- "balanced-match": "^4.0.2"
- },
+ "optional": true,
+ "os": [
+ "linux"
+ ],
"engines": {
- "node": "18 || 20 || >=22"
+ "node": ">=18"
}
},
- "node_modules/@eslint/config-array/node_modules/debug": {
- "version": "4.4.3",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz",
- "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==",
+ "node_modules/@esbuild/linux-x64": {
+ "version": "0.23.1",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.23.1.tgz",
+ "integrity": "sha512-EV6+ovTsEXCPAp58g2dD68LxoP/wK5pRvgy0J/HxPGB009omFPv3Yet0HiaqvrIrgPTBuC6wCH1LTOY91EO5hQ==",
+ "cpu": [
+ "x64"
+ ],
"dev": true,
"license": "MIT",
- "dependencies": {
- "ms": "^2.1.3"
- },
+ "optional": true,
+ "os": [
+ "linux"
+ ],
"engines": {
- "node": ">=6.0"
- },
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
+ "node": ">=18"
}
},
- "node_modules/@eslint/config-array/node_modules/minimatch": {
- "version": "10.2.5",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.5.tgz",
- "integrity": "sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==",
+ "node_modules/@esbuild/netbsd-x64": {
+ "version": "0.23.1",
+ "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.23.1.tgz",
+ "integrity": "sha512-aevEkCNu7KlPRpYLjwmdcuNz6bDFiE7Z8XC4CPqExjTvrHugh28QzUXVOZtiYghciKUacNktqxdpymplil1beA==",
+ "cpu": [
+ "x64"
+ ],
"dev": true,
- "license": "BlueOak-1.0.0",
- "dependencies": {
- "brace-expansion": "^5.0.5"
- },
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "netbsd"
+ ],
"engines": {
- "node": "18 || 20 || >=22"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
+ "node": ">=18"
}
},
- "node_modules/@eslint/config-array/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,
- "license": "MIT"
- },
- "node_modules/@eslint/config-helpers": {
- "version": "0.5.5",
- "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.5.5.tgz",
- "integrity": "sha512-eIJYKTCECbP/nsKaaruF6LW967mtbQbsw4JTtSVkUQc9MneSkbrgPJAbKl9nWr0ZeowV8BfsarBmPpBzGelA2w==",
+ "node_modules/@esbuild/openbsd-arm64": {
+ "version": "0.23.1",
+ "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.23.1.tgz",
+ "integrity": "sha512-3x37szhLexNA4bXhLrCC/LImN/YtWis6WXr1VESlfVtVeoFJBRINPJ3f0a/6LV8zpikqoUg4hyXw0sFBt5Cr+Q==",
+ "cpu": [
+ "arm64"
+ ],
"dev": true,
- "license": "Apache-2.0",
- "dependencies": {
- "@eslint/core": "^1.2.1"
- },
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "openbsd"
+ ],
"engines": {
- "node": "^20.19.0 || ^22.13.0 || >=24"
+ "node": ">=18"
}
},
- "node_modules/@eslint/core": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/@eslint/core/-/core-1.2.1.tgz",
- "integrity": "sha512-MwcE1P+AZ4C6DWlpin/OmOA54mmIZ/+xZuJiQd4SyB29oAJjN30UW9wkKNptW2ctp4cEsvhlLY/CsQ1uoHDloQ==",
+ "node_modules/@esbuild/openbsd-x64": {
+ "version": "0.23.1",
+ "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.23.1.tgz",
+ "integrity": "sha512-aY2gMmKmPhxfU+0EdnN+XNtGbjfQgwZj43k8G3fyrDM/UdZww6xrWxmDkuz2eCZchqVeABjV5BpildOrUbBTqA==",
+ "cpu": [
+ "x64"
+ ],
"dev": true,
- "license": "Apache-2.0",
- "dependencies": {
- "@types/json-schema": "^7.0.15"
- },
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "openbsd"
+ ],
"engines": {
- "node": "^20.19.0 || ^22.13.0 || >=24"
+ "node": ">=18"
}
},
- "node_modules/@eslint/eslintrc": {
- "version": "3.3.5",
- "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.5.tgz",
- "integrity": "sha512-4IlJx0X0qftVsN5E+/vGujTRIFtwuLbNsVUe7TO6zYPDR1O6nFwvwhIKEKSrl6dZchmYBITazxKoUYOjdtjlRg==",
+ "node_modules/@esbuild/sunos-x64": {
+ "version": "0.23.1",
+ "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.23.1.tgz",
+ "integrity": "sha512-RBRT2gqEl0IKQABT4XTj78tpk9v7ehp+mazn2HbUeZl1YMdaGAQqhapjGTCe7uw7y0frDi4gS0uHzhvpFuI1sA==",
+ "cpu": [
+ "x64"
+ ],
"dev": true,
"license": "MIT",
- "dependencies": {
- "ajv": "^6.14.0",
- "debug": "^4.3.2",
- "espree": "^10.0.1",
- "globals": "^14.0.0",
- "ignore": "^5.2.0",
- "import-fresh": "^3.2.1",
- "js-yaml": "^4.1.1",
- "minimatch": "^3.1.5",
- "strip-json-comments": "^3.1.1"
- },
+ "optional": true,
+ "os": [
+ "sunos"
+ ],
"engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "url": "https://opencollective.com/eslint"
+ "node": ">=18"
}
},
- "node_modules/@eslint/eslintrc/node_modules/ajv": {
- "version": "6.14.0",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.14.0.tgz",
- "integrity": "sha512-IWrosm/yrn43eiKqkfkHis7QioDleaXQHdDVPKg0FSwwd/DuvyX79TZnFOnYpB7dcsFAMmtFztZuXPDvSePkFw==",
+ "node_modules/@esbuild/win32-arm64": {
+ "version": "0.23.1",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.23.1.tgz",
+ "integrity": "sha512-4O+gPR5rEBe2FpKOVyiJ7wNDPA8nGzDuJ6gN4okSA1gEOYZ67N8JPk58tkWtdtPeLz7lBnY6I5L3jdsr3S+A6A==",
+ "cpu": [
+ "arm64"
+ ],
"dev": true,
"license": "MIT",
- "dependencies": {
- "fast-deep-equal": "^3.1.1",
- "fast-json-stable-stringify": "^2.0.0",
- "json-schema-traverse": "^0.4.1",
- "uri-js": "^4.2.2"
- },
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/epoberezkin"
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=18"
}
},
- "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,
- "license": "Python-2.0"
- },
- "node_modules/@eslint/eslintrc/node_modules/debug": {
- "version": "4.4.3",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz",
- "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==",
+ "node_modules/@esbuild/win32-ia32": {
+ "version": "0.23.1",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.23.1.tgz",
+ "integrity": "sha512-BcaL0Vn6QwCwre3Y717nVHZbAa4UBEigzFm6VdsVdT/MbZ38xoj1X9HPkZhbmaBGUD1W8vxAfffbDe8bA6AKnQ==",
+ "cpu": [
+ "ia32"
+ ],
"dev": true,
"license": "MIT",
- "dependencies": {
- "ms": "^2.1.3"
- },
+ "optional": true,
+ "os": [
+ "win32"
+ ],
"engines": {
- "node": ">=6.0"
- },
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
+ "node": ">=18"
}
},
- "node_modules/@eslint/eslintrc/node_modules/globals": {
- "version": "14.0.0",
- "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz",
- "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==",
+ "node_modules/@esbuild/win32-x64": {
+ "version": "0.23.1",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.23.1.tgz",
+ "integrity": "sha512-BHpFFeslkWrXWyUPnbKm+xYYVYruCinGcftSBaa8zoF9hZO4BcSCFUvHVTtzpIY6YzUnYtuEhZ+C9iEXjxnasg==",
+ "cpu": [
+ "x64"
+ ],
"dev": true,
"license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
"engines": {
"node": ">=18"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/@eslint/eslintrc/node_modules/js-yaml": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz",
- "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==",
+ "node_modules/@eslint-community/eslint-utils": {
+ "version": "4.9.1",
+ "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.1.tgz",
+ "integrity": "sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "argparse": "^2.0.1"
+ "eslint-visitor-keys": "^3.4.3"
},
- "bin": {
- "js-yaml": "bin/js-yaml.js"
- }
- },
- "node_modules/@eslint/eslintrc/node_modules/json-schema-traverse": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
- "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@eslint/eslintrc/node_modules/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,
- "license": "MIT"
- },
- "node_modules/@eslint/js": {
- "version": "9.39.4",
- "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.39.4.tgz",
- "integrity": "sha512-nE7DEIchvtiFTwBw4Lfbu59PG+kCofhjsKaCWzxTpt4lfRjRMqG6uMBzKXuEcyXhOHoUp9riAm7/aWYGhXZ9cw==",
- "dev": true,
- "license": "MIT",
"engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
},
"funding": {
- "url": "https://eslint.org/donate"
- }
- },
- "node_modules/@eslint/object-schema": {
- "version": "3.0.5",
- "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-3.0.5.tgz",
- "integrity": "sha512-vqTaUEgxzm+YDSdElad6PiRoX4t8VGDjCtt05zn4nU810UIx/uNEV7/lZJ6KwFThKZOzOxzXy48da+No7HZaMw==",
- "dev": true,
- "license": "Apache-2.0",
- "engines": {
- "node": "^20.19.0 || ^22.13.0 || >=24"
+ "url": "https://opencollective.com/eslint"
+ },
+ "peerDependencies": {
+ "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0"
}
},
- "node_modules/@eslint/plugin-kit": {
- "version": "0.7.1",
- "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.7.1.tgz",
- "integrity": "sha512-rZAP3aVgB9ds9KOeUSL+zZ21hPmo8dh6fnIFwRQj5EAZl9gzR7wxYbYXYysAM8CTqGmUGyp2S4kUdV17MnGuWQ==",
+ "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,
- "license": "Apache-2.0",
- "dependencies": {
- "@eslint/core": "^1.2.1",
- "levn": "^0.4.1"
- },
+ "license": "MIT",
"engines": {
- "node": "^20.19.0 || ^22.13.0 || >=24"
+ "node": "^12.0.0 || ^14.0.0 || >=16.0.0"
}
},
"node_modules/@fastify/accept-negotiator": {
@@ -1639,13 +1547,13 @@
"type": "opencollective",
"url": "https://opencollective.com/fastify"
}
- ]
+ ],
+ "license": "MIT"
},
"node_modules/@fastify/ajv-compiler": {
"version": "4.0.5",
"resolved": "https://registry.npmjs.org/@fastify/ajv-compiler/-/ajv-compiler-4.0.5.tgz",
"integrity": "sha512-KoWKW+MhvfTRWL4qrhUwAAZoaChluo0m0vbiJlGMt2GXvL4LVPQEjt8kSpHI3IBq5Rez8fg+XeH3cneztq+C7A==",
- "dev": true,
"funding": [
{
"type": "github",
@@ -1664,16 +1572,16 @@
}
},
"node_modules/@fastify/busboy": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/@fastify/busboy/-/busboy-3.1.1.tgz",
- "integrity": "sha512-5DGmA8FTdB2XbDeEwc/5ZXBl6UbBAyBOOLlPuBnZ/N1SwdH9Ii+cOX3tBROlDgcTXxjOYnLMVoKk9+FXAw0CJw==",
- "dev": true
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/@fastify/busboy/-/busboy-3.2.0.tgz",
+ "integrity": "sha512-m9FVDXU3GT2ITSe0UaMA5rU3QkfC/UXtCU8y0gSN/GugTqtVldOBWIB5V6V3sbmenVZUIpU6f+mPEO2+m5iTaA==",
+ "dev": true,
+ "license": "MIT"
},
"node_modules/@fastify/cors": {
"version": "11.2.0",
"resolved": "https://registry.npmjs.org/@fastify/cors/-/cors-11.2.0.tgz",
"integrity": "sha512-LbLHBuSAdGdSFZYTLVA3+Ch2t+sA6nq3Ejc6XLAKiQ6ViS2qFnvicpj0htsx03FyYeLs04HfRNBsz/a8SvbcUw==",
- "dev": true,
"funding": [
{
"type": "github",
@@ -1691,9 +1599,9 @@
}
},
"node_modules/@fastify/deepmerge": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/@fastify/deepmerge/-/deepmerge-3.1.0.tgz",
- "integrity": "sha512-lCVONBQINyNhM6LLezB6+2afusgEYR4G8xenMsfe+AT+iZ7Ca6upM5Ha8UkZuYSnuMw3GWl/BiPXnLMi/gSxuQ==",
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/@fastify/deepmerge/-/deepmerge-3.2.1.tgz",
+ "integrity": "sha512-N5Oqvltoa2r9z1tbx4xjky0oRR60v+T47Ic4J1ukoVQcptLOrIdRnCSdTGmOmajZuHVKlTnfcmrjyqsGEW1ztA==",
"dev": true,
"funding": [
{
@@ -1708,16 +1616,25 @@
"license": "MIT"
},
"node_modules/@fastify/error": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@fastify/error/-/error-4.0.0.tgz",
- "integrity": "sha512-OO/SA8As24JtT1usTUTKgGH7uLvhfwZPwlptRi2Dp5P4KKmJI3gvsZ8MIHnNwDs4sLf/aai5LzTyl66xr7qMxA==",
- "dev": true
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/@fastify/error/-/error-4.2.0.tgz",
+ "integrity": "sha512-RSo3sVDXfHskiBZKBPRgnQTtIqpi/7zhJOEmAxCiBcM7d0uwdGdxLlsCaLzGs8v8NnxIRlfG0N51p5yFaOentQ==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/fastify"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/fastify"
+ }
+ ],
+ "license": "MIT"
},
"node_modules/@fastify/fast-json-stringify-compiler": {
- "version": "5.0.2",
- "resolved": "https://registry.npmjs.org/@fastify/fast-json-stringify-compiler/-/fast-json-stringify-compiler-5.0.2.tgz",
- "integrity": "sha512-YdR7gqlLg1xZAQa+SX4sMNzQHY5pC54fu9oC5aYSUqBhyn6fkLkrdtKlpVdCNPlwuUuXA1PjFTEmvMF6ZVXVGw==",
- "dev": true,
+ "version": "5.0.3",
+ "resolved": "https://registry.npmjs.org/@fastify/fast-json-stringify-compiler/-/fast-json-stringify-compiler-5.0.3.tgz",
+ "integrity": "sha512-uik7yYHkLr6fxd8hJSZ8c+xF4WafPK+XzneQDPU+D10r5X19GW8lJcom2YijX2+qtFF1ENJlHXKFM9ouXNJYgQ==",
"funding": [
{
"type": "github",
@@ -1728,6 +1645,7 @@
"url": "https://opencollective.com/fastify"
}
],
+ "license": "MIT",
"dependencies": {
"fast-json-stringify": "^6.0.0"
}
@@ -1736,7 +1654,6 @@
"version": "8.0.2",
"resolved": "https://registry.npmjs.org/@fastify/formbody/-/formbody-8.0.2.tgz",
"integrity": "sha512-84v5J2KrkXzjgBpYnaNRPqwgMsmY7ZDjuj0YVuMR3NXCJRCgKEZy/taSP1wUYGn0onfxJpLyRGDLa+NMaDJtnA==",
- "dev": true,
"funding": [
{
"type": "github",
@@ -1754,10 +1671,20 @@
}
},
"node_modules/@fastify/forwarded": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/@fastify/forwarded/-/forwarded-3.0.0.tgz",
- "integrity": "sha512-kJExsp4JCms7ipzg7SJ3y8DwmePaELHxKYtg+tZow+k0znUTf3cb+npgyqm8+ATZOdmfgfydIebPDWM172wfyA==",
- "dev": true
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/@fastify/forwarded/-/forwarded-3.0.1.tgz",
+ "integrity": "sha512-JqDochHFqXs3C3Ml3gOY58zM7OqO9ENqPo0UqAjAjH8L01fRZqwX9iLeX34//kiJubF7r2ZQHtBRU36vONbLlw==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/fastify"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/fastify"
+ }
+ ],
+ "license": "MIT"
},
"node_modules/@fastify/merge-json-schemas": {
"version": "0.2.1",
@@ -1773,14 +1700,15 @@
"url": "https://opencollective.com/fastify"
}
],
+ "license": "MIT",
"dependencies": {
"dequal": "^2.0.3"
}
},
"node_modules/@fastify/middie": {
- "version": "9.3.2",
- "resolved": "https://registry.npmjs.org/@fastify/middie/-/middie-9.3.2.tgz",
- "integrity": "sha512-5C3xMHJxpfqoHd+xZSHPBI71fpzkoF6wMsYtgzXRyQUNvsIAxJm2yY4r2fUjF0h3rS9MXlo/aXLaXv3s4TL+JQ==",
+ "version": "9.1.0",
+ "resolved": "https://registry.npmjs.org/@fastify/middie/-/middie-9.1.0.tgz",
+ "integrity": "sha512-cObruXSFB5CCqn2m9sF5ktf6pNQX+QQth2N39FGXXV+8M4O+dWzkvqjqzwpIWvwvIffP9+O7KaLN+5xVgFFdWw==",
"dev": true,
"funding": [
{
@@ -1796,15 +1724,15 @@
"dependencies": {
"@fastify/error": "^4.0.0",
"fastify-plugin": "^5.0.0",
- "find-my-way": "^9.5.0",
+ "find-my-way": "^9.4.0",
"path-to-regexp": "^8.1.0",
"reusify": "^1.0.4"
}
},
"node_modules/@fastify/multipart": {
- "version": "10.0.0",
- "resolved": "https://registry.npmjs.org/@fastify/multipart/-/multipart-10.0.0.tgz",
- "integrity": "sha512-pUx3Z1QStY7E7kwvDTIvB6P+rF5lzP+iqPgZyJyG3yBJVPvQaZxzDHYbQD89rbY0ciXrMOyGi8ezHDVexLvJDA==",
+ "version": "9.4.0",
+ "resolved": "https://registry.npmjs.org/@fastify/multipart/-/multipart-9.4.0.tgz",
+ "integrity": "sha512-Z404bzZeLSXTBmp/trCBuoVFX28pM7rhv849Q5TsbTFZHuk1lc4QjQITTPK92DKVpXmNtJXeHSSc7GYvqFpxAQ==",
"dev": true,
"funding": [
{
@@ -1826,28 +1754,29 @@
}
},
"node_modules/@fastify/proxy-addr": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/@fastify/proxy-addr/-/proxy-addr-5.0.0.tgz",
- "integrity": "sha512-37qVVA1qZ5sgH7KpHkkC4z9SK6StIsIcOmpjvMPXNb3vx2GQxhZocogVYbr2PbbeLCQxYIPDok307xEvRZOzGA==",
- "dev": true,
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/@fastify/proxy-addr/-/proxy-addr-5.1.0.tgz",
+ "integrity": "sha512-INS+6gh91cLUjB+PVHfu1UqcB76Sqtpyp7bnL+FYojhjygvOPA9ctiD/JDKsyD9Xgu4hUhCSJBPig/w7duNajw==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/fastify"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/fastify"
+ }
+ ],
+ "license": "MIT",
"dependencies": {
"@fastify/forwarded": "^3.0.0",
"ipaddr.js": "^2.1.0"
}
},
- "node_modules/@fastify/proxy-addr/node_modules/ipaddr.js": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.2.0.tgz",
- "integrity": "sha512-Ag3wB2o37wslZS19hZqorUnrnzSkpOVy+IiiDEiTqNubEYpYuHWIf6K4psgN2ZWKExS4xhVCrRVfb/wfW8fWJA==",
- "dev": true,
- "engines": {
- "node": ">= 10"
- }
- },
"node_modules/@fastify/send": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@fastify/send/-/send-4.0.0.tgz",
- "integrity": "sha512-eJjKDxyBnZ1iMHcmwYWG5wSA/yzVY/yrBy3Upd2+hc0omcK13tWeXRcbF28zEcbl+Z2kXEgMzJ5Rb/gXGWx9Rg==",
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/@fastify/send/-/send-4.1.0.tgz",
+ "integrity": "sha512-TMYeQLCBSy2TOFmV95hQWkiTYgC/SEx7vMdV+wnZVX4tt8VBLKzmH8vV9OzJehV0+XBfg+WxPMt5wp+JBUKsVw==",
"dev": true,
"funding": [
{
@@ -1868,23 +1797,10 @@
"mime": "^3"
}
},
- "node_modules/@fastify/send/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": {
- "mime": "cli.js"
- },
- "engines": {
- "node": ">=10.0.0"
- }
- },
"node_modules/@fastify/static": {
- "version": "9.1.3",
- "resolved": "https://registry.npmjs.org/@fastify/static/-/static-9.1.3.tgz",
- "integrity": "sha512-aXrYtsiryLhRxRNaxNqsn7FUISeb7rB9q4eHUPIot5aeQBLNahnz1m6thzm7JWC1poSGXS9XrX8DvuMivp2hkQ==",
+ "version": "9.0.0",
+ "resolved": "https://registry.npmjs.org/@fastify/static/-/static-9.0.0.tgz",
+ "integrity": "sha512-r64H8Woe/vfilg5RTy7lwWlE8ZZcTrc3kebYFMEUBrMqlydhQyoiExQXdYAy2REVpST/G35+stAM8WYp1WGmMA==",
"dev": true,
"funding": [
{
@@ -1906,80 +1822,6 @@
"glob": "^13.0.0"
}
},
- "node_modules/@fastify/static/node_modules/balanced-match": {
- "version": "4.0.4",
- "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz",
- "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": "18 || 20 || >=22"
- }
- },
- "node_modules/@fastify/static/node_modules/brace-expansion": {
- "version": "5.0.5",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.5.tgz",
- "integrity": "sha512-VZznLgtwhn+Mact9tfiwx64fA9erHH/MCXEUfB/0bX/6Fz6ny5EGTXYltMocqg4xFAQZtnO3DHWWXi8RiuN7cQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "balanced-match": "^4.0.2"
- },
- "engines": {
- "node": "18 || 20 || >=22"
- }
- },
- "node_modules/@fastify/static/node_modules/glob": {
- "version": "13.0.6",
- "resolved": "https://registry.npmjs.org/glob/-/glob-13.0.6.tgz",
- "integrity": "sha512-Wjlyrolmm8uDpm/ogGyXZXb1Z+Ca2B8NbJwqBVg0axK9GbBeoS7yGV6vjXnYdGm6X53iehEuxxbyiKp8QmN4Vw==",
- "dev": true,
- "license": "BlueOak-1.0.0",
- "dependencies": {
- "minimatch": "^10.2.2",
- "minipass": "^7.1.3",
- "path-scurry": "^2.0.2"
- },
- "engines": {
- "node": "18 || 20 || >=22"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
- "node_modules/@fastify/static/node_modules/minimatch": {
- "version": "10.2.5",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.5.tgz",
- "integrity": "sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==",
- "dev": true,
- "license": "BlueOak-1.0.0",
- "dependencies": {
- "brace-expansion": "^5.0.5"
- },
- "engines": {
- "node": "18 || 20 || >=22"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
- "node_modules/@fastify/static/node_modules/path-scurry": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.2.tgz",
- "integrity": "sha512-3O/iVVsJAPsOnpwWIeD+d6z/7PmqApyQePUtCndjatj/9I5LylHvt5qluFaBT3I5h3r1ejfR056c+FCv+NnNXg==",
- "dev": true,
- "license": "BlueOak-1.0.0",
- "dependencies": {
- "lru-cache": "^11.0.0",
- "minipass": "^7.1.2"
- },
- "engines": {
- "node": "18 || 20 || >=22"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
"node_modules/@fastify/view": {
"version": "11.1.1",
"resolved": "https://registry.npmjs.org/@fastify/view/-/view-11.1.1.tgz",
@@ -2002,14 +1844,11 @@
}
},
"node_modules/@gar/promise-retry": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/@gar/promise-retry/-/promise-retry-1.0.2.tgz",
- "integrity": "sha512-Lm/ZLhDZcBECta3TmCQSngiQykFdfw+QtI1/GYMsZd4l3nG+P8WLB16XuS7WaBGLQ+9E+cOcWQsth9cayuGt8g==",
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/@gar/promise-retry/-/promise-retry-1.0.3.tgz",
+ "integrity": "sha512-GmzA9ckNokPypTg10pgpeHNQe7ph+iIKKmhKu3Ob9ANkswreCx7R3cKmY781K8QK3AqVL3xVh9A42JvIAbkkSA==",
"dev": true,
"license": "MIT",
- "dependencies": {
- "retry": "^0.13.1"
- },
"engines": {
"node": "^20.17.0 || >=22.9.0"
}
@@ -2018,7 +1857,8 @@
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz",
"integrity": "sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/@graphql-tools/merge": {
"version": "9.1.9",
@@ -2129,6 +1969,7 @@
"resolved": "https://registry.npmjs.org/@gulp-sourcemaps/identity-map/-/identity-map-2.0.1.tgz",
"integrity": "sha512-Tb+nSISZku+eQ4X1lAkevcQa+jknn/OVUgZ3XCxEKIsLsqYuPoJwJOPQeaOk75X3WPftb29GWY1eqE7GLsXb1Q==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"acorn": "^6.4.1",
"normalize-path": "^3.0.0",
@@ -2145,6 +1986,7 @@
"resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz",
"integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==",
"dev": true,
+ "license": "MIT",
"bin": {
"acorn": "bin/acorn"
},
@@ -2152,57 +1994,12 @@
"node": ">=0.4.0"
}
},
- "node_modules/@gulp-sourcemaps/identity-map/node_modules/picocolors": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz",
- "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==",
- "dev": true
- },
- "node_modules/@gulp-sourcemaps/identity-map/node_modules/postcss": {
- "version": "7.0.39",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz",
- "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==",
- "dev": true,
- "dependencies": {
- "picocolors": "^0.2.1",
- "source-map": "^0.6.1"
- },
- "engines": {
- "node": ">=6.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/postcss/"
- }
- },
- "node_modules/@gulp-sourcemaps/identity-map/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/@gulp-sourcemaps/identity-map/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/@gulp-sourcemaps/identity-map/node_modules/through2": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/through2/-/through2-3.0.2.tgz",
"integrity": "sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"inherits": "^2.0.4",
"readable-stream": "2 || 3"
@@ -2213,6 +2010,7 @@
"resolved": "https://registry.npmjs.org/@gulp-sourcemaps/map-sources/-/map-sources-1.0.0.tgz",
"integrity": "sha512-o/EatdaGt8+x2qpb0vFLC/2Gug/xYPRXb6a+ET1wGYKozKN3krDWC/zZFZAtrzxJHuDL12mwdfEFKcKMNvc55A==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"normalize-path": "^2.0.1",
"through2": "^2.0.3"
@@ -2226,6 +2024,7 @@
"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"
},
@@ -2256,68 +2055,6 @@
"node": ">=10.13.0"
}
},
- "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,
- "engines": {
- "node": ">=18.18.0"
- }
- },
- "node_modules/@humanfs/node": {
- "version": "0.16.6",
- "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.6.tgz",
- "integrity": "sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==",
- "dev": true,
- "dependencies": {
- "@humanfs/core": "^0.19.1",
- "@humanwhocodes/retry": "^0.3.0"
- },
- "engines": {
- "node": ">=18.18.0"
- }
- },
- "node_modules/@humanfs/node/node_modules/@humanwhocodes/retry": {
- "version": "0.3.1",
- "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.3.1.tgz",
- "integrity": "sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==",
- "dev": true,
- "engines": {
- "node": ">=18.18"
- },
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/nzakas"
- }
- },
- "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"
- },
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/nzakas"
- }
- },
- "node_modules/@humanwhocodes/retry": {
- "version": "0.4.2",
- "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.2.tgz",
- "integrity": "sha512-xeO57FpIu4p1Ri3Jq/EXq4ClRm86dVF2z/+kvFnyqVYRavTZmaFaUBbWCOuuTh0o/g7DSsk6kc2vrS4Vl5oPOQ==",
- "dev": true,
- "license": "Apache-2.0",
- "engines": {
- "node": ">=18.18"
- },
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/nzakas"
- }
- },
"node_modules/@hutson/parse-repository-url": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/@hutson/parse-repository-url/-/parse-repository-url-3.0.2.tgz",
@@ -2426,21 +2163,6 @@
"url": "https://github.com/sponsors/isaacs"
}
},
- "node_modules/@inquirer/core/node_modules/wrap-ansi": {
- "version": "6.2.0",
- "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz",
- "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ansi-styles": "^4.0.0",
- "string-width": "^4.1.0",
- "strip-ansi": "^6.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/@inquirer/editor": {
"version": "4.2.23",
"resolved": "https://registry.npmjs.org/@inquirer/editor/-/editor-4.2.23.tgz",
@@ -2707,232 +2429,20 @@
}
},
"node_modules/@ioredis/commands": {
- "version": "1.5.1",
- "resolved": "https://registry.npmjs.org/@ioredis/commands/-/commands-1.5.1.tgz",
- "integrity": "sha512-JH8ZL/ywcJyR9MmJ5BNqZllXNZQqQbnVZOqpPQqE1vHiFgAw4NHbvE0FOduNU8IX9babitBT46571OnPTT0Zcw==",
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/@ioredis/commands/-/commands-1.5.0.tgz",
+ "integrity": "sha512-eUgLqrMf8nJkZxT24JvVRrQya1vZkQh8BBeYNwGDqa5I0VUi8ACx7uFvAaLxintokpTenkK6DASvo/bvNbBGow==",
"dev": true,
"license": "MIT"
},
"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==",
+ "version": "9.0.0",
+ "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-9.0.0.tgz",
+ "integrity": "sha512-AokJm4tuBHillT+FpMtxQ60n8ObyXBatq7jD2/JA9dxbDDokKQm8KMht5ibGzLVU9IJDIKK4TPKgMHEYMn3lMg==",
"dev": true,
- "dependencies": {
- "string-width": "^5.1.2",
- "string-width-cjs": "npm:string-width@^4.2.0",
- "strip-ansi": "^7.0.1",
- "strip-ansi-cjs": "npm:strip-ansi@^6.0.1",
- "wrap-ansi": "^8.1.0",
- "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0"
- },
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@isaacs/cliui/node_modules/ansi-regex": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz",
- "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==",
- "dev": true,
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-regex?sponsor=1"
- }
- },
- "node_modules/@isaacs/cliui/node_modules/ansi-styles": {
- "version": "6.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz",
- "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==",
- "dev": true,
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
- }
- },
- "node_modules/@isaacs/cliui/node_modules/emoji-regex": {
- "version": "9.2.2",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz",
- "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==",
- "dev": true
- },
- "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,
- "dependencies": {
- "eastasianwidth": "^0.2.0",
- "emoji-regex": "^9.2.2",
- "strip-ansi": "^7.0.1"
- },
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/@isaacs/cliui/node_modules/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,
- "dependencies": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.1"
- }
- },
- "node_modules/@isaacs/cliui/node_modules/string-width-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,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/@isaacs/cliui/node_modules/string-width-cjs/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
- },
- "node_modules/@isaacs/cliui/node_modules/string-width-cjs/node_modules/strip-ansi": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
- "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
- "dev": true,
- "dependencies": {
- "ansi-regex": "^5.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/@isaacs/cliui/node_modules/strip-ansi": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz",
- "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==",
- "dev": true,
- "dependencies": {
- "ansi-regex": "^6.0.1"
- },
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/chalk/strip-ansi?sponsor=1"
- }
- },
- "node_modules/@isaacs/cliui/node_modules/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,
- "dependencies": {
- "ansi-regex": "^5.0.1"
- }
- },
- "node_modules/@isaacs/cliui/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,
- "engines": {
- "node": ">=8"
- }
- },
- "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,
- "dependencies": {
- "ansi-styles": "^6.1.0",
- "string-width": "^5.0.1",
- "strip-ansi": "^7.0.1"
- },
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
- }
- },
- "node_modules/@isaacs/cliui/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,
- "dependencies": {
- "ansi-styles": "^4.0.0",
- "string-width": "^4.1.0",
- "strip-ansi": "^6.0.0"
- }
- },
- "node_modules/@isaacs/cliui/node_modules/wrap-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,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/@isaacs/cliui/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,
- "dependencies": {
- "color-convert": "^2.0.1"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
- }
- },
- "node_modules/@isaacs/cliui/node_modules/wrap-ansi-cjs/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
- },
- "node_modules/@isaacs/cliui/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,
- "dependencies": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/@isaacs/cliui/node_modules/wrap-ansi-cjs/node_modules/strip-ansi": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
- "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
- "dev": true,
- "dependencies": {
- "ansi-regex": "^5.0.1"
- },
+ "license": "BlueOak-1.0.0",
"engines": {
- "node": ">=8"
+ "node": ">=18"
}
},
"node_modules/@isaacs/fs-minipass": {
@@ -2955,79 +2465,6 @@
"dev": true,
"license": "ISC"
},
- "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",
- "get-package-type": "^0.1.0",
- "js-yaml": "^3.13.1",
- "resolve-from": "^5.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "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"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "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"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/@istanbuljs/load-nyc-config/node_modules/p-limit": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
- "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "p-try": "^2.0.0"
- },
- "engines": {
- "node": ">=6"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/@istanbuljs/load-nyc-config/node_modules/p-locate": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
- "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "p-limit": "^2.2.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/@istanbuljs/schema": {
"version": "0.1.3",
"resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz",
@@ -3082,21 +2519,10 @@
"@jridgewell/trace-mapping": "^0.3.24"
}
},
- "node_modules/@jridgewell/gen-mapping/node_modules/@jridgewell/trace-mapping": {
- "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"
- }
- },
- "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==",
+ "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,
"license": "MIT",
"dependencies": {
@@ -3104,22 +2530,12 @@
"@jridgewell/trace-mapping": "^0.3.24"
}
},
- "node_modules/@jridgewell/remapping/node_modules/@jridgewell/trace-mapping": {
- "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"
- }
- },
"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"
}
@@ -3132,13 +2548,14 @@
"license": "MIT"
},
"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==",
+ "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.0.3",
- "@jridgewell/sourcemap-codec": "^1.4.10"
+ "@jridgewell/resolve-uri": "^3.1.0",
+ "@jridgewell/sourcemap-codec": "^1.4.14"
}
},
"node_modules/@js-sdsl/ordered-map": {
@@ -3146,6 +2563,7 @@
"resolved": "https://registry.npmjs.org/@js-sdsl/ordered-map/-/ordered-map-4.4.2.tgz",
"integrity": "sha512-iUKgm52T8HOE/makSxjqoWhe95ZJA1/G1sYsGev2JDKUSS14KAgg1LHb+Ba+IPow0xflbnSkOsZcO08C7w1gYw==",
"dev": true,
+ "license": "MIT",
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/js-sdsl"
@@ -3158,10 +2576,262 @@
"dev": true,
"license": "MIT"
},
+ "node_modules/@lerna/create": {
+ "version": "9.0.4",
+ "resolved": "https://registry.npmjs.org/@lerna/create/-/create-9.0.4.tgz",
+ "integrity": "sha512-WxedGD98G8/a6HztCXNWquaM0x17oSvfvuqDsLxNNX1qXGyrzmMUmd1mQikF/47uy80X6qyWdaRtaAHlwkvEUA==",
+ "deprecated": "This package is an implementation detail of Lerna and is no longer published separately.",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@npmcli/arborist": "9.1.6",
+ "@npmcli/package-json": "7.0.2",
+ "@npmcli/run-script": "10.0.3",
+ "@nx/devkit": ">=21.5.2 < 23.0.0",
+ "@octokit/plugin-enterprise-rest": "6.0.1",
+ "@octokit/rest": "20.1.2",
+ "aproba": "2.0.0",
+ "byte-size": "8.1.1",
+ "chalk": "4.1.0",
+ "cmd-shim": "6.0.3",
+ "color-support": "1.1.3",
+ "columnify": "1.6.0",
+ "console-control-strings": "^1.1.0",
+ "conventional-changelog-core": "5.0.1",
+ "conventional-recommended-bump": "7.0.1",
+ "cosmiconfig": "9.0.0",
+ "dedent": "1.5.3",
+ "execa": "5.0.0",
+ "fs-extra": "^11.2.0",
+ "get-stream": "6.0.0",
+ "git-url-parse": "14.0.0",
+ "glob-parent": "6.0.2",
+ "has-unicode": "2.0.1",
+ "ini": "^1.3.8",
+ "init-package-json": "8.2.2",
+ "inquirer": "12.9.6",
+ "is-ci": "3.0.1",
+ "is-stream": "2.0.0",
+ "js-yaml": "4.1.1",
+ "libnpmpublish": "11.1.2",
+ "load-json-file": "6.2.0",
+ "make-dir": "4.0.0",
+ "make-fetch-happen": "15.0.2",
+ "minimatch": "3.0.5",
+ "multimatch": "5.0.0",
+ "npm-package-arg": "13.0.1",
+ "npm-packlist": "10.0.3",
+ "npm-registry-fetch": "19.1.0",
+ "nx": ">=21.5.3 < 23.0.0",
+ "p-map": "4.0.0",
+ "p-map-series": "2.1.0",
+ "p-queue": "6.6.2",
+ "p-reduce": "^2.1.0",
+ "pacote": "21.0.1",
+ "pify": "5.0.0",
+ "read-cmd-shim": "4.0.0",
+ "resolve-from": "5.0.0",
+ "rimraf": "^6.1.2",
+ "semver": "7.7.2",
+ "set-blocking": "^2.0.0",
+ "signal-exit": "3.0.7",
+ "slash": "^3.0.0",
+ "ssri": "12.0.0",
+ "string-width": "^4.2.3",
+ "tar": "7.5.7",
+ "temp-dir": "1.0.0",
+ "through": "2.3.8",
+ "tinyglobby": "0.2.12",
+ "upath": "2.0.1",
+ "uuid": "^11.1.0",
+ "validate-npm-package-license": "3.0.4",
+ "validate-npm-package-name": "6.0.2",
+ "wide-align": "1.1.5",
+ "write-file-atomic": "5.0.1",
+ "write-pkg": "4.0.0",
+ "yargs": "17.7.2",
+ "yargs-parser": "21.1.1"
+ },
+ "engines": {
+ "node": "^20.19.0 || ^22.12.0 || >=24.0.0"
+ }
+ },
+ "node_modules/@lerna/create/node_modules/chalk": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz",
+ "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==",
+ "dev": true,
+ "license": "MIT",
+ "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/@lerna/create/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",
+ "dependencies": {
+ "env-paths": "^2.2.1",
+ "import-fresh": "^3.3.0",
+ "js-yaml": "^4.1.0",
+ "parse-json": "^5.2.0"
+ },
+ "engines": {
+ "node": ">=14"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/d-fischer"
+ },
+ "peerDependencies": {
+ "typescript": ">=4.9.5"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@lerna/create/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"
+ },
+ "node_modules/@lerna/create/node_modules/minimatch": {
+ "version": "3.0.5",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.5.tgz",
+ "integrity": "sha512-tUpxzX0VAzJHjLu0xUfFv1gwVp9ba3IOuRAVH2EGuRW8a5emA2FlACLqiT/lDVtS1W+TGNwqz3sWaNyLgDJWuw==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "brace-expansion": "^1.1.7"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/@lerna/create/node_modules/picomatch": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz",
+ "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/jonschlinkert"
+ }
+ },
+ "node_modules/@lerna/create/node_modules/rimraf": {
+ "version": "6.1.3",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-6.1.3.tgz",
+ "integrity": "sha512-LKg+Cr2ZF61fkcaK1UdkH2yEBBKnYjTyWzTJT6KNPcSPaiT7HSdhtMXQuN5wkTX0Xu72KQ1l8S42rlmexS2hSA==",
+ "dev": true,
+ "license": "BlueOak-1.0.0",
+ "dependencies": {
+ "glob": "^13.0.3",
+ "package-json-from-dist": "^1.0.1"
+ },
+ "bin": {
+ "rimraf": "dist/esm/bin.mjs"
+ },
+ "engines": {
+ "node": "20 || >=22"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/@lerna/create/node_modules/semver": {
+ "version": "7.7.2",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz",
+ "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==",
+ "dev": true,
+ "license": "ISC",
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@lerna/create/node_modules/slash": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
+ "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@lerna/create/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"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@lerna/create/node_modules/tinyglobby": {
+ "version": "0.2.12",
+ "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.12.tgz",
+ "integrity": "sha512-qkf4trmKSIiMTs/E63cxH+ojC2unam7rJ0WrauAzpT3ECNTxGRMlaXxVbfxMUC/w0LaYk6jQ4y/nGR9uBO3tww==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "fdir": "^6.4.3",
+ "picomatch": "^4.0.2"
+ },
+ "engines": {
+ "node": ">=12.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/SuperchupuDev"
+ }
+ },
+ "node_modules/@lerna/create/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,
+ "funding": [
+ "https://github.com/sponsors/broofa",
+ "https://github.com/sponsors/ctavan"
+ ],
+ "license": "MIT",
+ "bin": {
+ "uuid": "dist/esm/bin/uuid"
+ }
+ },
+ "node_modules/@ltd/j-toml": {
+ "version": "1.38.0",
+ "resolved": "https://registry.npmjs.org/@ltd/j-toml/-/j-toml-1.38.0.tgz",
+ "integrity": "sha512-lYtBcmvHustHQtg4X7TXUu1Xa/tbLC3p2wLvgQI+fWVySguVZJF60Snxijw5EiohumxZbR10kWYFFebh1zotiw==",
+ "dev": true,
+ "license": "LGPL-3.0"
+ },
"node_modules/@lukeed/csprng": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/@lukeed/csprng/-/csprng-1.1.0.tgz",
"integrity": "sha512-Z7C/xXCiGWsg0KuKsHTKJxbWhpI3Vs5GwLfOean7MGyVFGqdRgBbAjOCh6u4bbjPc/8MJ2pZmK/0DLdCbivLDA==",
+ "license": "MIT",
"engines": {
"node": ">=8"
}
@@ -3177,9 +2847,9 @@
}
},
"node_modules/@mongodb-js/saslprep": {
- "version": "1.4.9",
- "resolved": "https://registry.npmjs.org/@mongodb-js/saslprep/-/saslprep-1.4.9.tgz",
- "integrity": "sha512-RXSxsokhAF/4nWys8An8npsqOI33Ex1Hlzqjw2pZOO+GKtMAR2noGnUdsFiGwsaO/xXI+56mtjTmDA3JXJsvmA==",
+ "version": "1.4.11",
+ "resolved": "https://registry.npmjs.org/@mongodb-js/saslprep/-/saslprep-1.4.11.tgz",
+ "integrity": "sha512-o9rAHc0IpIjuPSxRutWpE1F62x7n+4mVS4rCNHkzhIUMQcc18bb6xEq5wd2NdN0WjepIyXIppRshYI2kQDOZVA==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -3198,15 +2868,64 @@
"@tybys/wasm-util": "^0.9.0"
}
},
- "node_modules/@nestjs/apollo": {
- "version": "13.4.2",
- "resolved": "https://registry.npmjs.org/@nestjs/apollo/-/apollo-13.4.2.tgz",
- "integrity": "sha512-kkIC7ini4a3ApJpOByfd0uqDH9rM4ndrn3prDd7JZD1xl81Thd/ekz3g0UvMJmtvsuCYtS36In/zayNo8GuMTA==",
+ "node_modules/@nats-io/nats-core": {
+ "version": "3.3.1",
+ "resolved": "https://registry.npmjs.org/@nats-io/nats-core/-/nats-core-3.3.1.tgz",
+ "integrity": "sha512-myFXGTo4cCfKrsLDjkoEz7FjjjvSfBRjun7Qx3n3Z5OzW4JUY8Ou7VQsGAdXLQxHN3ae/XNXvmXxshDoFPex4w==",
"dev": true,
- "license": "MIT",
+ "license": "Apache-2.0",
"dependencies": {
- "@apollo/server-plugin-landing-page-graphql-playground": "4.0.1",
- "iterall": "1.3.0",
+ "@nats-io/nkeys": "2.0.3",
+ "@nats-io/nuid": "2.0.3"
+ }
+ },
+ "node_modules/@nats-io/nkeys": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/@nats-io/nkeys/-/nkeys-2.0.3.tgz",
+ "integrity": "sha512-JVt56GuE6Z89KUkI4TXUbSI9fmIfAmk6PMPknijmuL72GcD+UgIomTcRWiNvvJKxA01sBbmIPStqJs5cMRBC3A==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "tweetnacl": "^1.0.3"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@nats-io/nuid": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/@nats-io/nuid/-/nuid-2.0.3.tgz",
+ "integrity": "sha512-TpA3HEBna/qMVudy+3HZr5M3mo/L1JPofpVT4t0HkFGkz2Cn9wrlrQC8tvR8Md5Oa9//GtGG26eN0qEWF5Vqew==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "engines": {
+ "node": ">= 18.x"
+ }
+ },
+ "node_modules/@nats-io/transport-node": {
+ "version": "3.3.1",
+ "resolved": "https://registry.npmjs.org/@nats-io/transport-node/-/transport-node-3.3.1.tgz",
+ "integrity": "sha512-GBvY0VcvyQEILgy5bjpqU1GpDYmSF06bW59I7cewZuNGS9u3AoV/gf+a+3ep45T/Z+UC661atq/b7x+QV12w+Q==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@nats-io/nats-core": "3.3.1",
+ "@nats-io/nkeys": "2.0.3",
+ "@nats-io/nuid": "2.0.3"
+ },
+ "engines": {
+ "node": ">= 18.0.0"
+ }
+ },
+ "node_modules/@nestjs/apollo": {
+ "version": "13.4.2",
+ "resolved": "https://registry.npmjs.org/@nestjs/apollo/-/apollo-13.4.2.tgz",
+ "integrity": "sha512-kkIC7ini4a3ApJpOByfd0uqDH9rM4ndrn3prDd7JZD1xl81Thd/ekz3g0UvMJmtvsuCYtS36In/zayNo8GuMTA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@apollo/server-plugin-landing-page-graphql-playground": "4.0.1",
+ "iterall": "1.3.0",
"lodash.omit": "4.18.0",
"tslib": "2.8.1"
},
@@ -3235,6 +2954,14 @@
}
}
},
+ "node_modules/@nestjs/common": {
+ "resolved": "packages/common",
+ "link": true
+ },
+ "node_modules/@nestjs/core": {
+ "resolved": "packages/core",
+ "link": true
+ },
"node_modules/@nestjs/graphql": {
"version": "13.4.2",
"resolved": "https://registry.npmjs.org/@nestjs/graphql/-/graphql-13.4.2.tgz",
@@ -3324,6 +3051,10 @@
}
}
},
+ "node_modules/@nestjs/microservices": {
+ "resolved": "packages/microservices",
+ "link": true
+ },
"node_modules/@nestjs/mongoose": {
"version": "11.0.4",
"resolved": "https://registry.npmjs.org/@nestjs/mongoose/-/mongoose-11.0.4.tgz",
@@ -3337,10 +3068,30 @@
"rxjs": "^7.0.0"
}
},
+ "node_modules/@nestjs/platform-express": {
+ "resolved": "packages/platform-express",
+ "link": true
+ },
+ "node_modules/@nestjs/platform-fastify": {
+ "resolved": "packages/platform-fastify",
+ "link": true
+ },
+ "node_modules/@nestjs/platform-socket.io": {
+ "resolved": "packages/platform-socket.io",
+ "link": true
+ },
+ "node_modules/@nestjs/platform-ws": {
+ "resolved": "packages/platform-ws",
+ "link": true
+ },
+ "node_modules/@nestjs/testing": {
+ "resolved": "packages/testing",
+ "link": true
+ },
"node_modules/@nestjs/typeorm": {
- "version": "11.0.1",
- "resolved": "https://registry.npmjs.org/@nestjs/typeorm/-/typeorm-11.0.1.tgz",
- "integrity": "sha512-8rw/nKT0S+L+MkzgE9F2/mox7mAgsPlwfzmW9gsESN1lmQtIrVEfiiBwC2O8+guS1jBfQehJIdcdUj2OAp4VUQ==",
+ "version": "11.0.0",
+ "resolved": "https://registry.npmjs.org/@nestjs/typeorm/-/typeorm-11.0.0.tgz",
+ "integrity": "sha512-SOeUQl70Lb2OfhGkvnh4KXWlsd+zA08RuuQgT7kKbzivngxzSo1Oc7Usu5VxCxACQC9wc2l9esOHILSJeK7rJA==",
"dev": true,
"license": "MIT",
"peerDependencies": {
@@ -3348,9 +3099,13 @@
"@nestjs/core": "^10.0.0 || ^11.0.0",
"reflect-metadata": "^0.1.13 || ^0.2.0",
"rxjs": "^7.2.0",
- "typeorm": "^0.3.0 || ^1.0.0-dev"
+ "typeorm": "^0.3.0"
}
},
+ "node_modules/@nestjs/websockets": {
+ "resolved": "packages/websockets",
+ "link": true
+ },
"node_modules/@noble/hashes": {
"version": "1.8.0",
"resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.8.0.tgz",
@@ -3369,6 +3124,7 @@
"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"
@@ -3382,6 +3138,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"
}
@@ -3391,6 +3148,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"
@@ -3416,55 +3174,6 @@
"node": "^20.17.0 || >=22.9.0"
}
},
- "node_modules/@npmcli/agent/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",
- "engines": {
- "node": ">= 14"
- }
- },
- "node_modules/@npmcli/agent/node_modules/debug": {
- "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.3"
- },
- "engines": {
- "node": ">=6.0"
- },
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
- }
- },
- "node_modules/@npmcli/agent/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",
- "dependencies": {
- "agent-base": "^7.1.2",
- "debug": "4"
- },
- "engines": {
- "node": ">= 14"
- }
- },
- "node_modules/@npmcli/agent/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,
- "license": "MIT"
- },
"node_modules/@npmcli/arborist": {
"version": "9.1.6",
"resolved": "https://registry.npmjs.org/@npmcli/arborist/-/arborist-9.1.6.tgz",
@@ -3524,9 +3233,9 @@
}
},
"node_modules/@npmcli/arborist/node_modules/brace-expansion": {
- "version": "5.0.4",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.4.tgz",
- "integrity": "sha512-h+DEnpVvxmfVefa4jFbCf5HdH5YMDXRsmKflpf1pILZWRFlTbJpxeU55nJl4Smt5HQaGzg1o6RHFPJaOqnmBDg==",
+ "version": "5.0.5",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.5.tgz",
+ "integrity": "sha512-VZznLgtwhn+Mact9tfiwx64fA9erHH/MCXEUfB/0bX/6Fz6ny5EGTXYltMocqg4xFAQZtnO3DHWWXi8RiuN7cQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -3536,24 +3245,14 @@
"node": "18 || 20 || >=22"
}
},
- "node_modules/@npmcli/arborist/node_modules/chownr": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/chownr/-/chownr-3.0.0.tgz",
- "integrity": "sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==",
- "dev": true,
- "license": "BlueOak-1.0.0",
- "engines": {
- "node": ">=18"
- }
- },
"node_modules/@npmcli/arborist/node_modules/minimatch": {
- "version": "10.2.4",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.4.tgz",
- "integrity": "sha512-oRjTw/97aTBN0RHbYCdtF1MQfvusSIBQM0IZEgzl6426+8jSC0nF1a/GmnVLpfB9yyr6g6FTqWqiZVbxrtaCIg==",
+ "version": "10.2.5",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.5.tgz",
+ "integrity": "sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==",
"dev": true,
"license": "BlueOak-1.0.0",
"dependencies": {
- "brace-expansion": "^5.0.2"
+ "brace-expansion": "^5.0.5"
},
"engines": {
"node": "18 || 20 || >=22"
@@ -3562,19 +3261,6 @@
"url": "https://github.com/sponsors/isaacs"
}
},
- "node_modules/@npmcli/arborist/node_modules/minizlib": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-3.1.0.tgz",
- "integrity": "sha512-KZxYo1BUkWD2TVFLr0MQoM8vUUigWD3LlD83a/75BqC+4qE0Hb1Vo5v1FgcfaNXvfXzr+5EhQ6ing/CaBijTlw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "minipass": "^7.1.2"
- },
- "engines": {
- "node": ">= 18"
- }
- },
"node_modules/@npmcli/arborist/node_modules/npm-bundled": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-5.0.0.tgz",
@@ -3670,33 +3356,6 @@
"node": "^20.17.0 || >=22.9.0"
}
},
- "node_modules/@npmcli/arborist/node_modules/tar": {
- "version": "7.5.11",
- "resolved": "https://registry.npmjs.org/tar/-/tar-7.5.11.tgz",
- "integrity": "sha512-ChjMH33/KetonMTAtpYdgUFr0tbz69Fp2v7zWxQfYZX4g5ZN2nOBXm1R2xyA+lMIKrLKIoKAwFj93jE/avX9cQ==",
- "dev": true,
- "license": "BlueOak-1.0.0",
- "dependencies": {
- "@isaacs/fs-minipass": "^4.0.0",
- "chownr": "^3.0.0",
- "minipass": "^7.1.2",
- "minizlib": "^3.1.0",
- "yallist": "^5.0.0"
- },
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@npmcli/arborist/node_modules/yallist": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-5.0.0.tgz",
- "integrity": "sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==",
- "dev": true,
- "license": "BlueOak-1.0.0",
- "engines": {
- "node": ">=18"
- }
- },
"node_modules/@npmcli/fs": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-4.0.0.tgz",
@@ -3730,6 +3389,16 @@
"node": "^20.17.0 || >=22.9.0"
}
},
+ "node_modules/@npmcli/git/node_modules/ini": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/ini/-/ini-6.0.0.tgz",
+ "integrity": "sha512-IBTdIkzZNOpqm7q3dRqJvMaldXjDHWkEDfrwGEQTs5eaQMWV+djAhR+wahyNNMAa+qpbDUhBMVt4ZKNwpPm7xQ==",
+ "dev": true,
+ "license": "ISC",
+ "engines": {
+ "node": "^20.17.0 || >=22.9.0"
+ }
+ },
"node_modules/@npmcli/git/node_modules/isexe": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/isexe/-/isexe-4.0.0.tgz",
@@ -3820,9 +3489,9 @@
}
},
"node_modules/@npmcli/map-workspaces/node_modules/brace-expansion": {
- "version": "5.0.4",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.4.tgz",
- "integrity": "sha512-h+DEnpVvxmfVefa4jFbCf5HdH5YMDXRsmKflpf1pILZWRFlTbJpxeU55nJl4Smt5HQaGzg1o6RHFPJaOqnmBDg==",
+ "version": "5.0.5",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.5.tgz",
+ "integrity": "sha512-VZznLgtwhn+Mact9tfiwx64fA9erHH/MCXEUfB/0bX/6Fz6ny5EGTXYltMocqg4xFAQZtnO3DHWWXi8RiuN7cQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -3832,49 +3501,14 @@
"node": "18 || 20 || >=22"
}
},
- "node_modules/@npmcli/map-workspaces/node_modules/glob": {
- "version": "13.0.6",
- "resolved": "https://registry.npmjs.org/glob/-/glob-13.0.6.tgz",
- "integrity": "sha512-Wjlyrolmm8uDpm/ogGyXZXb1Z+Ca2B8NbJwqBVg0axK9GbBeoS7yGV6vjXnYdGm6X53iehEuxxbyiKp8QmN4Vw==",
- "dev": true,
- "license": "BlueOak-1.0.0",
- "dependencies": {
- "minimatch": "^10.2.2",
- "minipass": "^7.1.3",
- "path-scurry": "^2.0.2"
- },
- "engines": {
- "node": "18 || 20 || >=22"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
"node_modules/@npmcli/map-workspaces/node_modules/minimatch": {
- "version": "10.2.4",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.4.tgz",
- "integrity": "sha512-oRjTw/97aTBN0RHbYCdtF1MQfvusSIBQM0IZEgzl6426+8jSC0nF1a/GmnVLpfB9yyr6g6FTqWqiZVbxrtaCIg==",
- "dev": true,
- "license": "BlueOak-1.0.0",
- "dependencies": {
- "brace-expansion": "^5.0.2"
- },
- "engines": {
- "node": "18 || 20 || >=22"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
- "node_modules/@npmcli/map-workspaces/node_modules/path-scurry": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.2.tgz",
- "integrity": "sha512-3O/iVVsJAPsOnpwWIeD+d6z/7PmqApyQePUtCndjatj/9I5LylHvt5qluFaBT3I5h3r1ejfR056c+FCv+NnNXg==",
+ "version": "10.2.5",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.5.tgz",
+ "integrity": "sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==",
"dev": true,
"license": "BlueOak-1.0.0",
"dependencies": {
- "lru-cache": "^11.0.0",
- "minipass": "^7.1.2"
+ "brace-expansion": "^5.0.5"
},
"engines": {
"node": "18 || 20 || >=22"
@@ -3900,16 +3534,6 @@
"node": "^20.17.0 || >=22.9.0"
}
},
- "node_modules/@npmcli/metavuln-calculator/node_modules/json-parse-even-better-errors": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-5.0.0.tgz",
- "integrity": "sha512-ZF1nxZ28VhQouRWhUcVlUIN3qwSgPuswK05s/HIaoetAoE/9tngVmCHjSxmSQPav1nd+lPtTL0YZ/2AFdR/iYQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": "^20.17.0 || >=22.9.0"
- }
- },
"node_modules/@npmcli/metavuln-calculator/node_modules/proc-log": {
"version": "6.1.0",
"resolved": "https://registry.npmjs.org/proc-log/-/proc-log-6.1.0.tgz",
@@ -3926,6 +3550,7 @@
"integrity": "sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==",
"deprecated": "This functionality has been moved to @npmcli/fs",
"dev": true,
+ "license": "MIT",
"dependencies": {
"mkdirp": "^1.0.4",
"rimraf": "^3.0.2"
@@ -3934,11 +3559,34 @@
"node": ">=10"
}
},
+ "node_modules/@npmcli/move-file/node_modules/glob": {
+ "version": "7.2.3",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
+ "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
+ "deprecated": "Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.1.1",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ },
+ "engines": {
+ "node": "*"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
"node_modules/@npmcli/move-file/node_modules/mkdirp": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
"integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
"dev": true,
+ "license": "MIT",
"bin": {
"mkdirp": "bin/cmd.js"
},
@@ -3952,6 +3600,7 @@
"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"
},
@@ -4001,16 +3650,6 @@
"node": "^20.17.0 || >=22.9.0"
}
},
- "node_modules/@npmcli/package-json/node_modules/@isaacs/cliui": {
- "version": "9.0.0",
- "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-9.0.0.tgz",
- "integrity": "sha512-AokJm4tuBHillT+FpMtxQ60n8ObyXBatq7jD2/JA9dxbDDokKQm8KMht5ibGzLVU9IJDIKK4TPKgMHEYMn3lMg==",
- "dev": true,
- "license": "BlueOak-1.0.0",
- "engines": {
- "node": ">=18"
- }
- },
"node_modules/@npmcli/package-json/node_modules/balanced-match": {
"version": "4.0.4",
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz",
@@ -4022,9 +3661,9 @@
}
},
"node_modules/@npmcli/package-json/node_modules/brace-expansion": {
- "version": "5.0.4",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.4.tgz",
- "integrity": "sha512-h+DEnpVvxmfVefa4jFbCf5HdH5YMDXRsmKflpf1pILZWRFlTbJpxeU55nJl4Smt5HQaGzg1o6RHFPJaOqnmBDg==",
+ "version": "5.0.5",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.5.tgz",
+ "integrity": "sha512-VZznLgtwhn+Mact9tfiwx64fA9erHH/MCXEUfB/0bX/6Fz6ny5EGTXYltMocqg4xFAQZtnO3DHWWXi8RiuN7cQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -4059,57 +3698,14 @@
"url": "https://github.com/sponsors/isaacs"
}
},
- "node_modules/@npmcli/package-json/node_modules/jackspeak": {
- "version": "4.2.3",
- "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-4.2.3.tgz",
- "integrity": "sha512-ykkVRwrYvFm1nb2AJfKKYPr0emF6IiXDYUaFx4Zn9ZuIH7MrzEZ3sD5RlqGXNRpHtvUHJyOnCEFxOlNDtGo7wg==",
+ "node_modules/@npmcli/package-json/node_modules/minimatch": {
+ "version": "10.2.5",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.5.tgz",
+ "integrity": "sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==",
"dev": true,
"license": "BlueOak-1.0.0",
"dependencies": {
- "@isaacs/cliui": "^9.0.0"
- },
- "engines": {
- "node": "20 || >=22"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
- "node_modules/@npmcli/package-json/node_modules/json-parse-even-better-errors": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-5.0.0.tgz",
- "integrity": "sha512-ZF1nxZ28VhQouRWhUcVlUIN3qwSgPuswK05s/HIaoetAoE/9tngVmCHjSxmSQPav1nd+lPtTL0YZ/2AFdR/iYQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": "^20.17.0 || >=22.9.0"
- }
- },
- "node_modules/@npmcli/package-json/node_modules/minimatch": {
- "version": "10.2.4",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.4.tgz",
- "integrity": "sha512-oRjTw/97aTBN0RHbYCdtF1MQfvusSIBQM0IZEgzl6426+8jSC0nF1a/GmnVLpfB9yyr6g6FTqWqiZVbxrtaCIg==",
- "dev": true,
- "license": "BlueOak-1.0.0",
- "dependencies": {
- "brace-expansion": "^5.0.2"
- },
- "engines": {
- "node": "18 || 20 || >=22"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
- "node_modules/@npmcli/package-json/node_modules/path-scurry": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.2.tgz",
- "integrity": "sha512-3O/iVVsJAPsOnpwWIeD+d6z/7PmqApyQePUtCndjatj/9I5LylHvt5qluFaBT3I5h3r1ejfR056c+FCv+NnNXg==",
- "dev": true,
- "license": "BlueOak-1.0.0",
- "dependencies": {
- "lru-cache": "^11.0.0",
- "minipass": "^7.1.2"
+ "brace-expansion": "^5.0.5"
},
"engines": {
"node": "18 || 20 || >=22"
@@ -4270,19 +3866,10 @@
"npm": ">=5.10.0"
}
},
- "node_modules/@nuxt/opencollective/node_modules/consola": {
- "version": "3.3.3",
- "resolved": "https://registry.npmjs.org/consola/-/consola-3.3.3.tgz",
- "integrity": "sha512-Qil5KwghMzlqd51UXM0b6fyaGHtOC22scxrwrz4A2882LyUMwQjnvaedN1HAeXzphspQ6CpHkzMAWxBTUruDLg==",
- "license": "MIT",
- "engines": {
- "node": "^14.18.0 || >=16.10.0"
- }
- },
"node_modules/@nx/devkit": {
- "version": "22.5.4",
- "resolved": "https://registry.npmjs.org/@nx/devkit/-/devkit-22.5.4.tgz",
- "integrity": "sha512-+QCmpQZQmEGvi8IurC6bOgUTk+Q0dQo7wkp6V04lskXBztSyasBS0BGy5ic90kY05UlQUd++zRA1VY0jc+Yz5Q==",
+ "version": "22.6.3",
+ "resolved": "https://registry.npmjs.org/@nx/devkit/-/devkit-22.6.3.tgz",
+ "integrity": "sha512-GUGQGU1XcNHLQcUEq/JqNqTGikfdJQAgiyauwKr5z2dUNWK+OmUJE9J0tqANbPBZO5wtwMpRNXtVWtxQqgX8nQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -4309,9 +3896,9 @@
}
},
"node_modules/@nx/devkit/node_modules/brace-expansion": {
- "version": "5.0.4",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.4.tgz",
- "integrity": "sha512-h+DEnpVvxmfVefa4jFbCf5HdH5YMDXRsmKflpf1pILZWRFlTbJpxeU55nJl4Smt5HQaGzg1o6RHFPJaOqnmBDg==",
+ "version": "5.0.5",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.5.tgz",
+ "integrity": "sha512-VZznLgtwhn+Mact9tfiwx64fA9erHH/MCXEUfB/0bX/6Fz6ny5EGTXYltMocqg4xFAQZtnO3DHWWXi8RiuN7cQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -4338,9 +3925,9 @@
}
},
"node_modules/@nx/nx-darwin-arm64": {
- "version": "22.5.4",
- "resolved": "https://registry.npmjs.org/@nx/nx-darwin-arm64/-/nx-darwin-arm64-22.5.4.tgz",
- "integrity": "sha512-Ib9znwSLQZSZ/9hhg5ODplpNhE/RhGVXzdfRj6YonTuWSj/kH3dLMio+4JEkjRdTQVm06cDW0KdwSgnwovqMGg==",
+ "version": "22.6.3",
+ "resolved": "https://registry.npmjs.org/@nx/nx-darwin-arm64/-/nx-darwin-arm64-22.6.3.tgz",
+ "integrity": "sha512-m8hEp2WufqUJzrl2uI5OItkPqIo8+0lbOBEKI7yZN9uoL6FKzP5LF6WlMFPJ8FlajtjBzQqaoDwp04+bkuXeaw==",
"cpu": [
"arm64"
],
@@ -4352,9 +3939,9 @@
]
},
"node_modules/@nx/nx-darwin-x64": {
- "version": "22.5.4",
- "resolved": "https://registry.npmjs.org/@nx/nx-darwin-x64/-/nx-darwin-x64-22.5.4.tgz",
- "integrity": "sha512-DjyXuQMc93MPU2XdRsJYjzbv1tgCzMi+zm7O0gc4x3h+ECFjKkjzQBg67pqGdhE3TV27MAlVRKrgHStyK9iigg==",
+ "version": "22.6.3",
+ "resolved": "https://registry.npmjs.org/@nx/nx-darwin-x64/-/nx-darwin-x64-22.6.3.tgz",
+ "integrity": "sha512-biPybnU2qlNuP7ytBYmRuusrU5TWXqVKMHr7Kxrqlin87iJR5MosXSZ+Pjr8H+0zFrB4rGf/9yro3s/dYG40Yw==",
"cpu": [
"x64"
],
@@ -4366,9 +3953,9 @@
]
},
"node_modules/@nx/nx-freebsd-x64": {
- "version": "22.5.4",
- "resolved": "https://registry.npmjs.org/@nx/nx-freebsd-x64/-/nx-freebsd-x64-22.5.4.tgz",
- "integrity": "sha512-DhxdP8AhIfN0yCtFhZQcbp32MVN3L7UiTotYqqnOgwW922NRGSd5e+KEAWiJVrIO6TdgnI7prxpg1hfQQK0WDw==",
+ "version": "22.6.3",
+ "resolved": "https://registry.npmjs.org/@nx/nx-freebsd-x64/-/nx-freebsd-x64-22.6.3.tgz",
+ "integrity": "sha512-8C6hhvVuqPwnvjHMPAA77DeEZ/WSY6AxuuIiyRje9uKF2B5F26sV89lRjBoEiWnV1dmLdy5YY5HJZEjwqjifAQ==",
"cpu": [
"x64"
],
@@ -4380,9 +3967,9 @@
]
},
"node_modules/@nx/nx-linux-arm-gnueabihf": {
- "version": "22.5.4",
- "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm-gnueabihf/-/nx-linux-arm-gnueabihf-22.5.4.tgz",
- "integrity": "sha512-pv1x1afTaLAOxPxVhQneLeXgjclp11f9ORxR7jA4E86bSgc9OL92dLSCkXtLQzqPNOej6SZ2fO+PPHVMZwtaPQ==",
+ "version": "22.6.3",
+ "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm-gnueabihf/-/nx-linux-arm-gnueabihf-22.6.3.tgz",
+ "integrity": "sha512-8gWDhe4lY3pegmKx5/z7z/h4adlmL+3wuPXMUlBtMkhJ5TX1z94PkVtHRprEsHuQHO7PsSFaOJdsIZbr/sx7SQ==",
"cpu": [
"arm"
],
@@ -4394,9 +3981,9 @@
]
},
"node_modules/@nx/nx-linux-arm64-gnu": {
- "version": "22.5.4",
- "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-gnu/-/nx-linux-arm64-gnu-22.5.4.tgz",
- "integrity": "sha512-mPji9PzleWPvXpmFDKaXpTymRgZkk/hW8JHGhvEZpKHHXMYgTGWC+BqOEM2A4dYC4bu4fi9RrteL7aouRRWJoQ==",
+ "version": "22.6.3",
+ "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-gnu/-/nx-linux-arm64-gnu-22.6.3.tgz",
+ "integrity": "sha512-ZRP5qf4lsk0HFuvhhSJc+t3a0NKc+WXElKPXTEK9DGOluY327lUogeZrSSJfxGf+dBTtpuRIO8rOIrnZOf5Xww==",
"cpu": [
"arm64"
],
@@ -4408,9 +3995,9 @@
]
},
"node_modules/@nx/nx-linux-arm64-musl": {
- "version": "22.5.4",
- "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-musl/-/nx-linux-arm64-musl-22.5.4.tgz",
- "integrity": "sha512-hF/HvEhbCjcFpTgY7RbP1tUTbp0M1adZq4ckyW8mwhDWQ/MDsc8FnOHwCO3Bzy9ZeJM0zQUES6/m0Onz8geaEA==",
+ "version": "22.6.3",
+ "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-musl/-/nx-linux-arm64-musl-22.6.3.tgz",
+ "integrity": "sha512-AcOf/5UJD7Fyc2ujHYajxLw+ajJ8C1IhHoCQyLwBpd/15lu3pii9Z9G4cNBm0ejKnnzofzRmhv2xka9qqCtpXQ==",
"cpu": [
"arm64"
],
@@ -4422,9 +4009,9 @@
]
},
"node_modules/@nx/nx-linux-x64-gnu": {
- "version": "22.5.4",
- "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-gnu/-/nx-linux-x64-gnu-22.5.4.tgz",
- "integrity": "sha512-1+vicSYEOtc7CNMoRCjo59no4gFe8w2nGIT127wk1yeW3EJzRVNlOA7Deu10NUUbzLeOvHc8EFOaU7clT+F7XQ==",
+ "version": "22.6.3",
+ "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-gnu/-/nx-linux-x64-gnu-22.6.3.tgz",
+ "integrity": "sha512-KxSdUCGOt2GGXzgggp9sSLJacWj7AAI410UPOEGw5F6GS5148e+kiy3piULF/0NE5/q40IK7gyS43HY99qgAqQ==",
"cpu": [
"x64"
],
@@ -4436,9 +4023,9 @@
]
},
"node_modules/@nx/nx-linux-x64-musl": {
- "version": "22.5.4",
- "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-musl/-/nx-linux-x64-musl-22.5.4.tgz",
- "integrity": "sha512-/KjndxVB14yU0SJOhqADHOWoTy4Y45h5RjW3cxcXlPSJZz7ar1FnlLne1rWMMMUttepc8ku+3T//SGKi2eu+Nw==",
+ "version": "22.6.3",
+ "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-musl/-/nx-linux-x64-musl-22.6.3.tgz",
+ "integrity": "sha512-Tvlw6XvTj+5IQRkprV3AdCKnlQFYh2OJYn0wgHrvQWeV1Eks/RaCoRChfHXdAyE4S64YrBA6NAOxfXANh3yLTg==",
"cpu": [
"x64"
],
@@ -4450,9 +4037,9 @@
]
},
"node_modules/@nx/nx-win32-arm64-msvc": {
- "version": "22.5.4",
- "resolved": "https://registry.npmjs.org/@nx/nx-win32-arm64-msvc/-/nx-win32-arm64-msvc-22.5.4.tgz",
- "integrity": "sha512-CrYt9FwhjOI6ZNy/G6YHLJmZuXCFJ24BCxugPXiZ7knDx7eGrr7owGgfht4SSiK3KCX40CvWCBJfqR4ZSgaSUA==",
+ "version": "22.6.3",
+ "resolved": "https://registry.npmjs.org/@nx/nx-win32-arm64-msvc/-/nx-win32-arm64-msvc-22.6.3.tgz",
+ "integrity": "sha512-9yRRuoVeQdV52GJtHo+vH6+es2PNF8skWlUa74jyWRsoZM9Ew8JmRZruRfhkUmhjJTrguqJLj9koa/NXgS0yeg==",
"cpu": [
"arm64"
],
@@ -4464,9 +4051,9 @@
]
},
"node_modules/@nx/nx-win32-x64-msvc": {
- "version": "22.5.4",
- "resolved": "https://registry.npmjs.org/@nx/nx-win32-x64-msvc/-/nx-win32-x64-msvc-22.5.4.tgz",
- "integrity": "sha512-g5YByv4XsYwsYZvFe24A9bvfhZA+mwtIQt6qZtEVduZTT1hfhIsq0LXGHhkGoFLYwRMXSracWOqkalY0KT4IQw==",
+ "version": "22.6.3",
+ "resolved": "https://registry.npmjs.org/@nx/nx-win32-x64-msvc/-/nx-win32-x64-msvc-22.6.3.tgz",
+ "integrity": "sha512-21wjiUSV5hMa1oj8UfpfMTxpROksWrr/minAv8ejmGFwUSoztSzAkNf5i4PESPsbYNytjKooDzzAiQMLo6b0kg==",
"cpu": [
"x64"
],
@@ -4651,1257 +4238,1169 @@
"@octokit/openapi-types": "^24.2.0"
}
},
- "node_modules/@paralleldrive/cuid2": {
- "version": "2.2.2",
- "resolved": "https://registry.npmjs.org/@paralleldrive/cuid2/-/cuid2-2.2.2.tgz",
- "integrity": "sha512-ZOBkgDwEdoYVlSeRbYYXs0S9MejQofiVYoTbKzy/6GQa39/q5tQU2IX46+shYnUkpEl3wc+J6wRlar7r2EK2xA==",
+ "node_modules/@oxc-project/types": {
+ "version": "0.122.0",
+ "resolved": "https://registry.npmjs.org/@oxc-project/types/-/types-0.122.0.tgz",
+ "integrity": "sha512-oLAl5kBpV4w69UtFZ9xqcmTi+GENWOcPF7FCrczTiBbmC0ibXxCwyvZGbO39rCVEuLGAZM84DH0pUIyyv/YJzA==",
"dev": true,
"license": "MIT",
- "dependencies": {
- "@noble/hashes": "^1.1.5"
+ "funding": {
+ "url": "https://github.com/sponsors/Boshen"
}
},
- "node_modules/@pinojs/redact": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/@pinojs/redact/-/redact-0.4.0.tgz",
- "integrity": "sha512-k2ENnmBugE/rzQfEcdWHcCY+/FM3VLzH9cYEsbdsoqrvzAKRhUZeRNhAZvB8OitQJ1TBed3yqWtdjzS6wJKBwg==",
- "dev": true,
- "license": "MIT"
- },
- "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==",
+ "node_modules/@oxlint/binding-android-arm-eabi": {
+ "version": "1.58.0",
+ "resolved": "https://registry.npmjs.org/@oxlint/binding-android-arm-eabi/-/binding-android-arm-eabi-1.58.0.tgz",
+ "integrity": "sha512-1T7UN3SsWWxpWyWGn1cT3ASNJOo+pI3eUkmEl7HgtowapcV8kslYpFQcYn431VuxghXakPNlbjRwhqmR37PFOg==",
+ "cpu": [
+ "arm"
+ ],
"dev": true,
+ "license": "MIT",
"optional": true,
+ "os": [
+ "android"
+ ],
"engines": {
- "node": ">=14"
+ "node": "^20.19.0 || >=22.12.0"
}
},
- "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==",
+ "node_modules/@oxlint/binding-android-arm64": {
+ "version": "1.58.0",
+ "resolved": "https://registry.npmjs.org/@oxlint/binding-android-arm64/-/binding-android-arm64-1.58.0.tgz",
+ "integrity": "sha512-GryzujxuiRv2YFF7bRy8mKcxlbuAN+euVUtGJt9KKbLT8JBUIosamVhcthLh+VEr6KE6cjeVMAQxKAzJcoN7dg==",
+ "cpu": [
+ "arm64"
+ ],
"dev": true,
"license": "MIT",
+ "optional": true,
+ "os": [
+ "android"
+ ],
"engines": {
- "node": "^12.20.0 || ^14.18.0 || >=16.0.0"
- },
- "funding": {
- "url": "https://opencollective.com/pkgr"
+ "node": "^20.19.0 || >=22.12.0"
}
},
- "node_modules/@protobufjs/aspromise": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz",
- "integrity": "sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==",
- "dev": true
- },
- "node_modules/@protobufjs/base64": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz",
- "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==",
- "dev": true
- },
- "node_modules/@protobufjs/codegen": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.5.tgz",
- "integrity": "sha512-zgXFLzW3Ap33e6d0Wlj4MGIm6Ce8O89n/apUaGNB/jx+hw+ruWEp7EwGUshdLKVRCxZW12fp9r40E1mQrf/34g==",
- "dev": true,
- "license": "BSD-3-Clause"
- },
- "node_modules/@protobufjs/eventemitter": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz",
- "integrity": "sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==",
- "dev": true
- },
- "node_modules/@protobufjs/fetch": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz",
- "integrity": "sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==",
+ "node_modules/@oxlint/binding-darwin-arm64": {
+ "version": "1.58.0",
+ "resolved": "https://registry.npmjs.org/@oxlint/binding-darwin-arm64/-/binding-darwin-arm64-1.58.0.tgz",
+ "integrity": "sha512-7/bRSJIwl4GxeZL9rPZ11anNTyUO9epZrfEJH/ZMla3+/gbQ6xZixh9nOhsZ0QwsTW7/5J2A/fHbD1udC5DQQA==",
+ "cpu": [
+ "arm64"
+ ],
"dev": true,
- "dependencies": {
- "@protobufjs/aspromise": "^1.1.1",
- "@protobufjs/inquire": "^1.1.0"
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": "^20.19.0 || >=22.12.0"
}
},
- "node_modules/@protobufjs/float": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz",
- "integrity": "sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==",
- "dev": true
- },
- "node_modules/@protobufjs/inquire": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.1.tgz",
- "integrity": "sha512-mnzgDV26ueAvk7rsbt9L7bE0SuAoqyuys/sMMrmVcN5x9VsxpcG3rqAUSgDyLp0UZlmNfIbQ4fHfCtreVBk8Ew==",
- "dev": true,
- "license": "BSD-3-Clause"
- },
- "node_modules/@protobufjs/path": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz",
- "integrity": "sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==",
- "dev": true
- },
- "node_modules/@protobufjs/pool": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz",
- "integrity": "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==",
- "dev": true
- },
- "node_modules/@protobufjs/utf8": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.1.tgz",
- "integrity": "sha512-oOAWABowe8EAbMyWKM0tYDKi8Yaox52D+HWZhAIJqQXbqe0xI/GV7FhLWqlEKreMkfDjshR5FKgi3mnle0h6Eg==",
- "dev": true,
- "license": "BSD-3-Clause"
- },
- "node_modules/@redis/bloom": {
- "version": "5.12.1",
- "resolved": "https://registry.npmjs.org/@redis/bloom/-/bloom-5.12.1.tgz",
- "integrity": "sha512-PUUfv+ms7jgPSBVoo/DN4AkPHj4D5TZSd6SbJX7egzBplkYUcKmHRE8RKia7UtZ8bSQbLguLvxVO+asKtQfZWA==",
+ "node_modules/@oxlint/binding-darwin-x64": {
+ "version": "1.58.0",
+ "resolved": "https://registry.npmjs.org/@oxlint/binding-darwin-x64/-/binding-darwin-x64-1.58.0.tgz",
+ "integrity": "sha512-EqdtJSiHweS2vfILNrpyJ6HUwpEq2g7+4Zx1FPi4hu3Hu7tC3znF6ufbXO8Ub2LD4mGgznjI7kSdku9NDD1Mkg==",
+ "cpu": [
+ "x64"
+ ],
"dev": true,
"license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
"engines": {
- "node": ">= 18.19.0"
- },
- "peerDependencies": {
- "@redis/client": "^5.12.1"
+ "node": "^20.19.0 || >=22.12.0"
}
},
- "node_modules/@redis/client": {
- "version": "5.12.1",
- "resolved": "https://registry.npmjs.org/@redis/client/-/client-5.12.1.tgz",
- "integrity": "sha512-7aPGWeqA3uFm43o19umzdl16CEjK/JQGtSXVPevplTaOU3VJA/rseBC1QvYUz9lLDIMBimc4SW/zrW4S89BaCA==",
+ "node_modules/@oxlint/binding-freebsd-x64": {
+ "version": "1.58.0",
+ "resolved": "https://registry.npmjs.org/@oxlint/binding-freebsd-x64/-/binding-freebsd-x64-1.58.0.tgz",
+ "integrity": "sha512-VQt5TH4M42mY20F545G637RKxV/yjwVtKk2vfXuazfReSIiuvWBnv+FVSvIV5fKVTJNjt3GSJibh6JecbhGdBw==",
+ "cpu": [
+ "x64"
+ ],
"dev": true,
"license": "MIT",
- "dependencies": {
- "cluster-key-slot": "1.1.2"
- },
+ "optional": true,
+ "os": [
+ "freebsd"
+ ],
"engines": {
- "node": ">= 18.19.0"
- },
- "peerDependencies": {
- "@node-rs/xxhash": "^1.1.0",
- "@opentelemetry/api": ">=1 <2"
- },
- "peerDependenciesMeta": {
- "@node-rs/xxhash": {
- "optional": true
- },
- "@opentelemetry/api": {
- "optional": true
- }
+ "node": "^20.19.0 || >=22.12.0"
}
},
- "node_modules/@redis/json": {
- "version": "5.12.1",
- "resolved": "https://registry.npmjs.org/@redis/json/-/json-5.12.1.tgz",
- "integrity": "sha512-eOze75esLve4vfqDel7aMX08CNaiLLQS2fV8mpRN9NxPe1rVR4vQyYiW/OgtGUysF6QOr9ANhfxABKNOJfXdKg==",
+ "node_modules/@oxlint/binding-linux-arm-gnueabihf": {
+ "version": "1.58.0",
+ "resolved": "https://registry.npmjs.org/@oxlint/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.58.0.tgz",
+ "integrity": "sha512-fBYcj4ucwpAtjJT3oeBdFBYKvNyjRSK+cyuvBOTQjh0jvKp4yeA4S/D0IsCHus/VPaNG5L48qQkh+Vjy3HL2/Q==",
+ "cpu": [
+ "arm"
+ ],
"dev": true,
"license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
"engines": {
- "node": ">= 18.19.0"
- },
- "peerDependencies": {
- "@redis/client": "^5.12.1"
+ "node": "^20.19.0 || >=22.12.0"
}
},
- "node_modules/@redis/search": {
- "version": "5.12.1",
- "resolved": "https://registry.npmjs.org/@redis/search/-/search-5.12.1.tgz",
- "integrity": "sha512-ItlxbxC9cKI6IU1TLWoczwJCRb6TdmkEpWv05UrPawqaAnWGRu3rcIqsc5vN483T2fSociuyV1UkWIL5I4//2w==",
+ "node_modules/@oxlint/binding-linux-arm-musleabihf": {
+ "version": "1.58.0",
+ "resolved": "https://registry.npmjs.org/@oxlint/binding-linux-arm-musleabihf/-/binding-linux-arm-musleabihf-1.58.0.tgz",
+ "integrity": "sha512-0BeuFfwlUHlJ1xpEdSD1YO3vByEFGPg36uLjK1JgFaxFb4W6w17F8ET8sz5cheZ4+x5f2xzdnRrrWv83E3Yd8g==",
+ "cpu": [
+ "arm"
+ ],
"dev": true,
"license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
"engines": {
- "node": ">= 18.19.0"
- },
- "peerDependencies": {
- "@redis/client": "^5.12.1"
+ "node": "^20.19.0 || >=22.12.0"
}
},
- "node_modules/@redis/time-series": {
- "version": "5.12.1",
- "resolved": "https://registry.npmjs.org/@redis/time-series/-/time-series-5.12.1.tgz",
- "integrity": "sha512-c6JL6E3EcZJuNqKFz+KM+l9l5mpcQiKvTwgA3blt5glWJ8hjDk0yeHN3beE/MpqYIQ8UEX44ItQzgkE/gCBELQ==",
+ "node_modules/@oxlint/binding-linux-arm64-gnu": {
+ "version": "1.58.0",
+ "resolved": "https://registry.npmjs.org/@oxlint/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.58.0.tgz",
+ "integrity": "sha512-TXlZgnPTlxrQzxG9ZXU7BNwx1Ilrr17P3GwZY0If2EzrinqRH3zXPc3HrRcBJgcsoZNMuNL5YivtkJYgp467UQ==",
+ "cpu": [
+ "arm64"
+ ],
"dev": true,
"license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
"engines": {
- "node": ">= 18.19.0"
- },
- "peerDependencies": {
- "@redis/client": "^5.12.1"
+ "node": "^20.19.0 || >=22.12.0"
}
},
- "node_modules/@sigstore/bundle": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@sigstore/bundle/-/bundle-4.0.0.tgz",
- "integrity": "sha512-NwCl5Y0V6Di0NexvkTqdoVfmjTaQwoLM236r89KEojGmq/jMls8S+zb7yOwAPdXvbwfKDlP+lmXgAL4vKSQT+A==",
+ "node_modules/@oxlint/binding-linux-arm64-musl": {
+ "version": "1.58.0",
+ "resolved": "https://registry.npmjs.org/@oxlint/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.58.0.tgz",
+ "integrity": "sha512-zSoYRo5dxHLcUx93Stl2hW3hSNjPt99O70eRVWt5A1zwJ+FPjeCCANCD2a9R4JbHsdcl11TIQOjyigcRVOH2mw==",
+ "cpu": [
+ "arm64"
+ ],
"dev": true,
- "license": "Apache-2.0",
- "dependencies": {
- "@sigstore/protobuf-specs": "^0.5.0"
- },
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
"engines": {
- "node": "^20.17.0 || >=22.9.0"
+ "node": "^20.19.0 || >=22.12.0"
}
},
- "node_modules/@sigstore/core": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/@sigstore/core/-/core-3.1.0.tgz",
- "integrity": "sha512-o5cw1QYhNQ9IroioJxpzexmPjfCe7gzafd2RY3qnMpxr4ZEja+Jad/U8sgFpaue6bOaF+z7RVkyKVV44FN+N8A==",
+ "node_modules/@oxlint/binding-linux-ppc64-gnu": {
+ "version": "1.58.0",
+ "resolved": "https://registry.npmjs.org/@oxlint/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-1.58.0.tgz",
+ "integrity": "sha512-NQ0U/lqxH2/VxBYeAIvMNUK1y0a1bJ3ZicqkF2c6wfakbEciP9jvIE4yNzCFpZaqeIeRYaV7AVGqEO1yrfVPjA==",
+ "cpu": [
+ "ppc64"
+ ],
"dev": true,
- "license": "Apache-2.0",
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
"engines": {
- "node": "^20.17.0 || >=22.9.0"
+ "node": "^20.19.0 || >=22.12.0"
}
},
- "node_modules/@sigstore/protobuf-specs": {
- "version": "0.5.0",
- "resolved": "https://registry.npmjs.org/@sigstore/protobuf-specs/-/protobuf-specs-0.5.0.tgz",
- "integrity": "sha512-MM8XIwUjN2bwvCg1QvrMtbBmpcSHrkhFSCu1D11NyPvDQ25HEc4oG5/OcQfd/Tlf/OxmKWERDj0zGE23jQaMwA==",
+ "node_modules/@oxlint/binding-linux-riscv64-gnu": {
+ "version": "1.58.0",
+ "resolved": "https://registry.npmjs.org/@oxlint/binding-linux-riscv64-gnu/-/binding-linux-riscv64-gnu-1.58.0.tgz",
+ "integrity": "sha512-X9J+kr3gIC9FT8GuZt0ekzpNUtkBVzMVU4KiKDSlocyQuEgi3gBbXYN8UkQiV77FTusLDPsovjo95YedHr+3yg==",
+ "cpu": [
+ "riscv64"
+ ],
"dev": true,
- "license": "Apache-2.0",
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
"engines": {
- "node": "^18.17.0 || >=20.5.0"
+ "node": "^20.19.0 || >=22.12.0"
}
},
- "node_modules/@sigstore/sign": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/@sigstore/sign/-/sign-4.1.0.tgz",
- "integrity": "sha512-Vx1RmLxLGnSUqx/o5/VsCjkuN5L7y+vxEEwawvc7u+6WtX2W4GNa7b9HEjmcRWohw/d6BpATXmvOwc78m+Swdg==",
+ "node_modules/@oxlint/binding-linux-riscv64-musl": {
+ "version": "1.58.0",
+ "resolved": "https://registry.npmjs.org/@oxlint/binding-linux-riscv64-musl/-/binding-linux-riscv64-musl-1.58.0.tgz",
+ "integrity": "sha512-CDze3pi1OO3Wvb/QsXjmLEY4XPKGM6kIo82ssNOgmcl1IdndF9VSGAE38YLhADWmOac7fjqhBw82LozuUVxD0Q==",
+ "cpu": [
+ "riscv64"
+ ],
"dev": true,
- "license": "Apache-2.0",
- "dependencies": {
- "@sigstore/bundle": "^4.0.0",
- "@sigstore/core": "^3.1.0",
- "@sigstore/protobuf-specs": "^0.5.0",
- "make-fetch-happen": "^15.0.3",
- "proc-log": "^6.1.0",
- "promise-retry": "^2.0.1"
- },
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
"engines": {
- "node": "^20.17.0 || >=22.9.0"
+ "node": "^20.19.0 || >=22.12.0"
}
},
- "node_modules/@sigstore/sign/node_modules/make-fetch-happen": {
- "version": "15.0.4",
- "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-15.0.4.tgz",
- "integrity": "sha512-vM2sG+wbVeVGYcCm16mM3d5fuem9oC28n436HjsGO3LcxoTI8LNVa4rwZDn3f76+cWyT4GGJDxjTYU1I2nr6zw==",
+ "node_modules/@oxlint/binding-linux-s390x-gnu": {
+ "version": "1.58.0",
+ "resolved": "https://registry.npmjs.org/@oxlint/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-1.58.0.tgz",
+ "integrity": "sha512-b/89glbxFaEAcA6Uf1FvCNecBJEgcUTsV1quzrqXM/o4R1M4u+2KCVuyGCayN2UpsRWtGGLb+Ver0tBBpxaPog==",
+ "cpu": [
+ "s390x"
+ ],
"dev": true,
- "license": "ISC",
- "dependencies": {
- "@gar/promise-retry": "^1.0.0",
- "@npmcli/agent": "^4.0.0",
- "cacache": "^20.0.1",
- "http-cache-semantics": "^4.1.1",
- "minipass": "^7.0.2",
- "minipass-fetch": "^5.0.0",
- "minipass-flush": "^1.0.5",
- "minipass-pipeline": "^1.2.4",
- "negotiator": "^1.0.0",
- "proc-log": "^6.0.0",
- "ssri": "^13.0.0"
- },
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
"engines": {
- "node": "^20.17.0 || >=22.9.0"
+ "node": "^20.19.0 || >=22.12.0"
}
},
- "node_modules/@sigstore/sign/node_modules/minipass-fetch": {
- "version": "5.0.2",
- "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-5.0.2.tgz",
- "integrity": "sha512-2d0q2a8eCi2IRg/IGubCNRJoYbA1+YPXAzQVRFmB45gdGZafyivnZ5YSEfo3JikbjGxOdntGFvBQGqaSMXlAFQ==",
+ "node_modules/@oxlint/binding-linux-x64-gnu": {
+ "version": "1.58.0",
+ "resolved": "https://registry.npmjs.org/@oxlint/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.58.0.tgz",
+ "integrity": "sha512-0/yYpkq9VJFCEcuRlrViGj8pJUFFvNS4EkEREaN7CB1EcLXJIaVSSa5eCihwBGXtOZxhnblWgxks9juRdNQI7w==",
+ "cpu": [
+ "x64"
+ ],
"dev": true,
"license": "MIT",
- "dependencies": {
- "minipass": "^7.0.3",
- "minipass-sized": "^2.0.0",
- "minizlib": "^3.0.1"
- },
+ "optional": true,
+ "os": [
+ "linux"
+ ],
"engines": {
- "node": "^20.17.0 || >=22.9.0"
- },
- "optionalDependencies": {
- "iconv-lite": "^0.7.2"
+ "node": "^20.19.0 || >=22.12.0"
}
},
- "node_modules/@sigstore/sign/node_modules/minipass-sized": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-2.0.0.tgz",
- "integrity": "sha512-zSsHhto5BcUVM2m1LurnXY6M//cGhVaegT71OfOXoprxT6o780GZd792ea6FfrQkuU4usHZIUczAQMRUE2plzA==",
+ "node_modules/@oxlint/binding-linux-x64-musl": {
+ "version": "1.58.0",
+ "resolved": "https://registry.npmjs.org/@oxlint/binding-linux-x64-musl/-/binding-linux-x64-musl-1.58.0.tgz",
+ "integrity": "sha512-hr6FNvmcAXiH+JxSvaJ4SJ1HofkdqEElXICW9sm3/Rd5eC3t7kzvmLyRAB3NngKO2wzXRCAm4Z/mGWfrsS4X8w==",
+ "cpu": [
+ "x64"
+ ],
"dev": true,
- "license": "ISC",
- "dependencies": {
- "minipass": "^7.1.2"
- },
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
"engines": {
- "node": ">=8"
+ "node": "^20.19.0 || >=22.12.0"
}
},
- "node_modules/@sigstore/sign/node_modules/minizlib": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-3.1.0.tgz",
- "integrity": "sha512-KZxYo1BUkWD2TVFLr0MQoM8vUUigWD3LlD83a/75BqC+4qE0Hb1Vo5v1FgcfaNXvfXzr+5EhQ6ing/CaBijTlw==",
+ "node_modules/@oxlint/binding-openharmony-arm64": {
+ "version": "1.58.0",
+ "resolved": "https://registry.npmjs.org/@oxlint/binding-openharmony-arm64/-/binding-openharmony-arm64-1.58.0.tgz",
+ "integrity": "sha512-R+O368VXgRql1K6Xar+FEo7NEwfo13EibPMoTv3sesYQedRXd6m30Dh/7lZMxnrQVFfeo4EOfYIP4FpcgWQNHg==",
+ "cpu": [
+ "arm64"
+ ],
"dev": true,
"license": "MIT",
- "dependencies": {
- "minipass": "^7.1.2"
- },
+ "optional": true,
+ "os": [
+ "openharmony"
+ ],
"engines": {
- "node": ">= 18"
+ "node": "^20.19.0 || >=22.12.0"
}
},
- "node_modules/@sigstore/sign/node_modules/negotiator": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-1.0.0.tgz",
- "integrity": "sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==",
+ "node_modules/@oxlint/binding-win32-arm64-msvc": {
+ "version": "1.58.0",
+ "resolved": "https://registry.npmjs.org/@oxlint/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.58.0.tgz",
+ "integrity": "sha512-Q0FZiAY/3c4YRj4z3h9K1PgaByrifrfbBoODSeX7gy97UtB7pySPUQfC2B/GbxWU6k7CzQrRy5gME10PltLAFQ==",
+ "cpu": [
+ "arm64"
+ ],
"dev": true,
"license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
"engines": {
- "node": ">= 0.6"
+ "node": "^20.19.0 || >=22.12.0"
}
},
- "node_modules/@sigstore/sign/node_modules/proc-log": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-6.1.0.tgz",
- "integrity": "sha512-iG+GYldRf2BQ0UDUAd6JQ/RwzaQy6mXmsk/IzlYyal4A4SNFw54MeH4/tLkF4I5WoWG9SQwuqWzS99jaFQHBuQ==",
+ "node_modules/@oxlint/binding-win32-ia32-msvc": {
+ "version": "1.58.0",
+ "resolved": "https://registry.npmjs.org/@oxlint/binding-win32-ia32-msvc/-/binding-win32-ia32-msvc-1.58.0.tgz",
+ "integrity": "sha512-Y8FKBABrSPp9H0QkRLHDHOSUgM/309a3IvOVgPcVxYcX70wxJrk608CuTg7w+C6vEd724X5wJoNkBcGYfH7nNQ==",
+ "cpu": [
+ "ia32"
+ ],
"dev": true,
- "license": "ISC",
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
"engines": {
- "node": "^20.17.0 || >=22.9.0"
+ "node": "^20.19.0 || >=22.12.0"
}
},
- "node_modules/@sigstore/sign/node_modules/ssri": {
- "version": "13.0.1",
- "resolved": "https://registry.npmjs.org/ssri/-/ssri-13.0.1.tgz",
- "integrity": "sha512-QUiRf1+u9wPTL/76GTYlKttDEBWV1ga9ZXW8BG6kfdeyyM8LGPix9gROyg9V2+P0xNyF3X2Go526xKFdMZrHSQ==",
+ "node_modules/@oxlint/binding-win32-x64-msvc": {
+ "version": "1.58.0",
+ "resolved": "https://registry.npmjs.org/@oxlint/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.58.0.tgz",
+ "integrity": "sha512-bCn5rbiz5My+Bj7M09sDcnqW0QJyINRVxdZ65x1/Y2tGrMwherwK/lpk+HRQCKvXa8pcaQdF5KY5j54VGZLwNg==",
+ "cpu": [
+ "x64"
+ ],
"dev": true,
- "license": "ISC",
- "dependencies": {
- "minipass": "^7.0.3"
- },
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
"engines": {
- "node": "^20.17.0 || >=22.9.0"
+ "node": "^20.19.0 || >=22.12.0"
}
},
- "node_modules/@sigstore/tuf": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/@sigstore/tuf/-/tuf-4.0.1.tgz",
- "integrity": "sha512-OPZBg8y5Vc9yZjmWCHrlWPMBqW5yd8+wFNl+thMdtcWz3vjVSoJQutF8YkrzI0SLGnkuFof4HSsWUhXrf219Lw==",
+ "node_modules/@paralleldrive/cuid2": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/@paralleldrive/cuid2/-/cuid2-2.3.1.tgz",
+ "integrity": "sha512-XO7cAxhnTZl0Yggq6jOgjiOHhbgcO4NqFqwSmQpjK3b6TEE6Uj/jfSk6wzYyemh3+I0sHirKSetjQwn5cZktFw==",
"dev": true,
- "license": "Apache-2.0",
+ "license": "MIT",
"dependencies": {
- "@sigstore/protobuf-specs": "^0.5.0",
- "tuf-js": "^4.1.0"
- },
- "engines": {
- "node": "^20.17.0 || >=22.9.0"
+ "@noble/hashes": "^1.1.5"
}
},
- "node_modules/@sigstore/verify": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/@sigstore/verify/-/verify-3.1.0.tgz",
- "integrity": "sha512-mNe0Iigql08YupSOGv197YdHpPPr+EzDZmfCgMc7RPNaZTw5aLN01nBl6CHJOh3BGtnMIj83EeN4butBchc8Ag==",
- "dev": true,
- "license": "Apache-2.0",
- "dependencies": {
- "@sigstore/bundle": "^4.0.0",
- "@sigstore/core": "^3.1.0",
- "@sigstore/protobuf-specs": "^0.5.0"
- },
- "engines": {
- "node": "^20.17.0 || >=22.9.0"
- }
+ "node_modules/@pinojs/redact": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/@pinojs/redact/-/redact-0.4.0.tgz",
+ "integrity": "sha512-k2ENnmBugE/rzQfEcdWHcCY+/FM3VLzH9cYEsbdsoqrvzAKRhUZeRNhAZvB8OitQJ1TBed3yqWtdjzS6wJKBwg==",
+ "license": "MIT"
},
- "node_modules/@simple-libs/child-process-utils": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/@simple-libs/child-process-utils/-/child-process-utils-1.0.2.tgz",
- "integrity": "sha512-/4R8QKnd/8agJynkNdJmNw2MBxuFTRcNFnE5Sg/G+jkSsV8/UBgULMzhizWWW42p8L5H7flImV2ATi79Ove2Tw==",
+ "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",
- "dependencies": {
- "@simple-libs/stream-utils": "^1.2.0"
- },
+ "optional": true,
"engines": {
- "node": ">=18"
- },
- "funding": {
- "url": "https://ko-fi.com/dangreen"
+ "node": ">=14"
}
},
- "node_modules/@simple-libs/hosted-git-info": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/@simple-libs/hosted-git-info/-/hosted-git-info-1.0.2.tgz",
- "integrity": "sha512-aAmGQdMH+ZinytKuA2832u0ATeOFNYNk4meBEXtB5xaPotUgggYNhq5tYU/v17wEbmTW5P9iHNqNrFyrhnqBAg==",
+ "node_modules/@protobufjs/aspromise": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz",
+ "integrity": "sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==",
"dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=18"
- },
- "funding": {
- "url": "https://ko-fi.com/dangreen"
- }
+ "license": "BSD-3-Clause"
},
- "node_modules/@simple-libs/stream-utils": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/@simple-libs/stream-utils/-/stream-utils-1.2.0.tgz",
- "integrity": "sha512-KxXvfapcixpz6rVEB6HPjOUZT22yN6v0vI0urQSk1L8MlEWPDFCZkhw2xmkyoTGYeFw7tWTZd7e3lVzRZRN/EA==",
+ "node_modules/@protobufjs/base64": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz",
+ "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==",
"dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=18"
- },
- "funding": {
- "url": "https://ko-fi.com/dangreen"
- }
+ "license": "BSD-3-Clause"
},
- "node_modules/@sinclair/typebox": {
- "version": "0.34.48",
- "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.34.48.tgz",
- "integrity": "sha512-kKJTNuK3AQOrgjjotVxMrCn1sUJwM76wMszfq1kdU4uYVJjvEWuFQ6HgvLt4Xz3fSmZlTOxJ/Ie13KnIcWQXFA==",
+ "node_modules/@protobufjs/codegen": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.5.tgz",
+ "integrity": "sha512-zgXFLzW3Ap33e6d0Wlj4MGIm6Ce8O89n/apUaGNB/jx+hw+ruWEp7EwGUshdLKVRCxZW12fp9r40E1mQrf/34g==",
"dev": true,
- "license": "MIT"
+ "license": "BSD-3-Clause"
},
- "node_modules/@sinonjs/commons": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz",
- "integrity": "sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==",
+ "node_modules/@protobufjs/eventemitter": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.1.tgz",
+ "integrity": "sha512-vW1GmwMZNnL+gMRaovlh9yZX74kc+TTU3FObkkurpMaRtBfLP3ldjS9KQWlwZgraRE0+dheEEoAxdzcJQ8eXZg==",
+ "dev": true,
+ "license": "BSD-3-Clause"
+ },
+ "node_modules/@protobufjs/fetch": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.1.tgz",
+ "integrity": "sha512-GpptLrs57adMSuHi3VNj0mAF8dwh36LMaYF6XyJ6JMWlVsc+t42tm1HSEDmOs3A8fC9yyeisgLhsTVQokOZ0zw==",
"dev": true,
"license": "BSD-3-Clause",
"dependencies": {
- "type-detect": "4.0.8"
+ "@protobufjs/aspromise": "^1.1.1"
}
},
- "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==",
+ "node_modules/@protobufjs/float": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz",
+ "integrity": "sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==",
"dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=4"
- }
+ "license": "BSD-3-Clause"
},
- "node_modules/@sinonjs/fake-timers": {
- "version": "15.3.2",
- "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-15.3.2.tgz",
- "integrity": "sha512-mrn35Jl2pCpns+mE3HaZa1yPN5EYCRgiMI+135COjr2hr8Cls9DXqIZ57vZe2cz7y2XVSq92tcs6kGQcT1J8Rw==",
+ "node_modules/@protobufjs/inquire": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.2.tgz",
+ "integrity": "sha512-pa0vFRuws4wkvaXKK1uXZMAwAX4/t8ANaJo45iw/oQHNQ9q5xUzwgFmVJGXiga2BeN+zpX7Vf9vmsiIa2J+MUw==",
"dev": true,
- "license": "BSD-3-Clause",
- "dependencies": {
- "@sinonjs/commons": "^3.0.1"
- }
+ "license": "BSD-3-Clause"
},
- "node_modules/@sinonjs/samsam": {
- "version": "10.0.2",
- "resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-10.0.2.tgz",
- "integrity": "sha512-8lVwD1Df1BmzoaOLhMcGGcz/Jyr5QY2KSB75/YK1QgKzoabTeLdIVyhXNZK9ojfSKSdirbXqdbsXXqP9/Ve8+A==",
+ "node_modules/@protobufjs/path": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz",
+ "integrity": "sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==",
"dev": true,
- "license": "BSD-3-Clause",
- "dependencies": {
- "@sinonjs/commons": "^3.0.1",
- "type-detect": "^4.1.0"
- }
+ "license": "BSD-3-Clause"
},
- "node_modules/@socket.io/component-emitter": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.2.tgz",
- "integrity": "sha512-9BCxFwvbGg/RsZK9tjXd8s4UcwR0MWeFQ1XEKIQVVvAGJyINdrqKMcTRyLoK8Rse1GjzLV9cwjWV1olXRWEXVA=="
+ "node_modules/@protobufjs/pool": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz",
+ "integrity": "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==",
+ "dev": true,
+ "license": "BSD-3-Clause"
},
- "node_modules/@sqltools/formatter": {
- "version": "1.2.5",
- "resolved": "https://registry.npmjs.org/@sqltools/formatter/-/formatter-1.2.5.tgz",
- "integrity": "sha512-Uy0+khmZqUrUGm5dmMqVlnvufZRSK0FbYzVgp0UMstm+F5+W2/jnEEQyc9vo1ZR/E5ZI/B1WjjoTqBqwJL6Krw==",
- "dev": true
+ "node_modules/@protobufjs/utf8": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.1.tgz",
+ "integrity": "sha512-oOAWABowe8EAbMyWKM0tYDKi8Yaox52D+HWZhAIJqQXbqe0xI/GV7FhLWqlEKreMkfDjshR5FKgi3mnle0h6Eg==",
+ "dev": true,
+ "license": "BSD-3-Clause"
},
- "node_modules/@tokenizer/inflate": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/@tokenizer/inflate/-/inflate-0.4.1.tgz",
- "integrity": "sha512-2mAv+8pkG6GIZiF1kNg1jAjh27IDxEPKwdGul3snfztFerfPGI1LjDezZp3i7BElXompqEtPmoPx6c2wgtWsOA==",
+ "node_modules/@redis/bloom": {
+ "version": "5.12.1",
+ "resolved": "https://registry.npmjs.org/@redis/bloom/-/bloom-5.12.1.tgz",
+ "integrity": "sha512-PUUfv+ms7jgPSBVoo/DN4AkPHj4D5TZSd6SbJX7egzBplkYUcKmHRE8RKia7UtZ8bSQbLguLvxVO+asKtQfZWA==",
+ "dev": true,
"license": "MIT",
- "dependencies": {
- "debug": "^4.4.3",
- "token-types": "^6.1.1"
- },
"engines": {
- "node": ">=18"
+ "node": ">= 18.19.0"
},
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/Borewit"
+ "peerDependencies": {
+ "@redis/client": "^5.12.1"
}
},
- "node_modules/@tokenizer/inflate/node_modules/debug": {
- "version": "4.4.3",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz",
- "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==",
+ "node_modules/@redis/client": {
+ "version": "5.12.1",
+ "resolved": "https://registry.npmjs.org/@redis/client/-/client-5.12.1.tgz",
+ "integrity": "sha512-7aPGWeqA3uFm43o19umzdl16CEjK/JQGtSXVPevplTaOU3VJA/rseBC1QvYUz9lLDIMBimc4SW/zrW4S89BaCA==",
+ "dev": true,
"license": "MIT",
"dependencies": {
- "ms": "^2.1.3"
+ "cluster-key-slot": "1.1.2"
},
"engines": {
- "node": ">=6.0"
+ "node": ">= 18.19.0"
+ },
+ "peerDependencies": {
+ "@node-rs/xxhash": "^1.1.0",
+ "@opentelemetry/api": ">=1 <2"
},
"peerDependenciesMeta": {
- "supports-color": {
+ "@node-rs/xxhash": {
+ "optional": true
+ },
+ "@opentelemetry/api": {
"optional": true
}
}
},
- "node_modules/@tokenizer/inflate/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==",
- "license": "MIT"
- },
- "node_modules/@tokenizer/token": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/@tokenizer/token/-/token-0.3.0.tgz",
- "integrity": "sha512-OvjF+z51L3ov0OyAU0duzsYuvO01PH7x4t6DJx+guahgTnBHkhJdG7soQeTSFLWN3efnHyibZ4Z8l2EuWwJN3A==",
- "license": "MIT"
- },
- "node_modules/@tootallnate/once": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz",
- "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==",
+ "node_modules/@redis/json": {
+ "version": "5.12.1",
+ "resolved": "https://registry.npmjs.org/@redis/json/-/json-5.12.1.tgz",
+ "integrity": "sha512-eOze75esLve4vfqDel7aMX08CNaiLLQS2fV8mpRN9NxPe1rVR4vQyYiW/OgtGUysF6QOr9ANhfxABKNOJfXdKg==",
"dev": true,
+ "license": "MIT",
"engines": {
- "node": ">= 6"
+ "node": ">= 18.19.0"
+ },
+ "peerDependencies": {
+ "@redis/client": "^5.12.1"
}
},
- "node_modules/@ts-morph/common": {
- "version": "0.29.0",
- "resolved": "https://registry.npmjs.org/@ts-morph/common/-/common-0.29.0.tgz",
- "integrity": "sha512-35oUmphHbJvQ/+UTwFNme/t2p3FoKiGJ5auTjjpNTop2dyREspirjMy82PLSC1pnDJ8ah1GU98hwpVt64YXQsg==",
+ "node_modules/@redis/search": {
+ "version": "5.12.1",
+ "resolved": "https://registry.npmjs.org/@redis/search/-/search-5.12.1.tgz",
+ "integrity": "sha512-ItlxbxC9cKI6IU1TLWoczwJCRb6TdmkEpWv05UrPawqaAnWGRu3rcIqsc5vN483T2fSociuyV1UkWIL5I4//2w==",
"dev": true,
"license": "MIT",
- "dependencies": {
- "minimatch": "^10.0.1",
- "path-browserify": "^1.0.1",
- "tinyglobby": "^0.2.14"
+ "engines": {
+ "node": ">= 18.19.0"
+ },
+ "peerDependencies": {
+ "@redis/client": "^5.12.1"
}
},
- "node_modules/@ts-morph/common/node_modules/balanced-match": {
- "version": "4.0.4",
- "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz",
- "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==",
+ "node_modules/@redis/time-series": {
+ "version": "5.12.1",
+ "resolved": "https://registry.npmjs.org/@redis/time-series/-/time-series-5.12.1.tgz",
+ "integrity": "sha512-c6JL6E3EcZJuNqKFz+KM+l9l5mpcQiKvTwgA3blt5glWJ8hjDk0yeHN3beE/MpqYIQ8UEX44ItQzgkE/gCBELQ==",
"dev": true,
"license": "MIT",
"engines": {
- "node": "18 || 20 || >=22"
+ "node": ">= 18.19.0"
+ },
+ "peerDependencies": {
+ "@redis/client": "^5.12.1"
}
},
- "node_modules/@ts-morph/common/node_modules/brace-expansion": {
- "version": "5.0.5",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.5.tgz",
- "integrity": "sha512-VZznLgtwhn+Mact9tfiwx64fA9erHH/MCXEUfB/0bX/6Fz6ny5EGTXYltMocqg4xFAQZtnO3DHWWXi8RiuN7cQ==",
+ "node_modules/@rolldown/binding-android-arm64": {
+ "version": "1.0.0-rc.12",
+ "resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm64/-/binding-android-arm64-1.0.0-rc.12.tgz",
+ "integrity": "sha512-pv1y2Fv0JybcykuiiD3qBOBdz6RteYojRFY1d+b95WVuzx211CRh+ytI/+9iVyWQ6koTh5dawe4S/yRfOFjgaA==",
+ "cpu": [
+ "arm64"
+ ],
"dev": true,
"license": "MIT",
- "dependencies": {
- "balanced-match": "^4.0.2"
- },
+ "optional": true,
+ "os": [
+ "android"
+ ],
"engines": {
- "node": "18 || 20 || >=22"
+ "node": "^20.19.0 || >=22.12.0"
}
},
- "node_modules/@ts-morph/common/node_modules/minimatch": {
- "version": "10.2.5",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.5.tgz",
- "integrity": "sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==",
+ "node_modules/@rolldown/binding-darwin-arm64": {
+ "version": "1.0.0-rc.12",
+ "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.0.0-rc.12.tgz",
+ "integrity": "sha512-cFYr6zTG/3PXXF3pUO+umXxt1wkRK/0AYT8lDwuqvRC+LuKYWSAQAQZjCWDQpAH172ZV6ieYrNnFzVVcnSflAg==",
+ "cpu": [
+ "arm64"
+ ],
"dev": true,
- "license": "BlueOak-1.0.0",
- "dependencies": {
- "brace-expansion": "^5.0.5"
- },
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
"engines": {
- "node": "18 || 20 || >=22"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
+ "node": "^20.19.0 || >=22.12.0"
}
},
- "node_modules/@tsconfig/node10": {
- "version": "1.0.11",
- "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.11.tgz",
- "integrity": "sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==",
- "dev": true
- },
- "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
- },
- "node_modules/@tufjs/canonical-json": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/@tufjs/canonical-json/-/canonical-json-2.0.0.tgz",
- "integrity": "sha512-yVtV8zsdo8qFHe+/3kw81dSLyF7D576A5cCFCi4X7B39tWT7SekaEFUnvnWJHz+9qO7qJTah1JbrDjWKqFtdWA==",
+ "node_modules/@rolldown/binding-darwin-x64": {
+ "version": "1.0.0-rc.12",
+ "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.0.0-rc.12.tgz",
+ "integrity": "sha512-ZCsYknnHzeXYps0lGBz8JrF37GpE9bFVefrlmDrAQhOEi4IOIlcoU1+FwHEtyXGx2VkYAvhu7dyBf75EJQffBw==",
+ "cpu": [
+ "x64"
+ ],
"dev": true,
"license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
"engines": {
- "node": "^16.14.0 || >=18.0.0"
+ "node": "^20.19.0 || >=22.12.0"
}
},
- "node_modules/@tufjs/models": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/@tufjs/models/-/models-4.1.0.tgz",
- "integrity": "sha512-Y8cK9aggNRsqJVaKUlEYs4s7CvQ1b1ta2DVPyAimb0I2qhzjNk+A+mxvll/klL0RlfuIUei8BF7YWiua4kQqww==",
+ "node_modules/@rolldown/binding-freebsd-x64": {
+ "version": "1.0.0-rc.12",
+ "resolved": "https://registry.npmjs.org/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.0.0-rc.12.tgz",
+ "integrity": "sha512-dMLeprcVsyJsKolRXyoTH3NL6qtsT0Y2xeuEA8WQJquWFXkEC4bcu1rLZZSnZRMtAqwtrF/Ib9Ddtpa/Gkge9Q==",
+ "cpu": [
+ "x64"
+ ],
"dev": true,
"license": "MIT",
- "dependencies": {
- "@tufjs/canonical-json": "2.0.0",
- "minimatch": "^10.1.1"
- },
+ "optional": true,
+ "os": [
+ "freebsd"
+ ],
"engines": {
- "node": "^20.17.0 || >=22.9.0"
+ "node": "^20.19.0 || >=22.12.0"
}
},
- "node_modules/@tufjs/models/node_modules/balanced-match": {
- "version": "4.0.4",
- "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz",
- "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==",
+ "node_modules/@rolldown/binding-linux-arm-gnueabihf": {
+ "version": "1.0.0-rc.12",
+ "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.0.0-rc.12.tgz",
+ "integrity": "sha512-YqWjAgGC/9M1lz3GR1r1rP79nMgo3mQiiA+Hfo+pvKFK1fAJ1bCi0ZQVh8noOqNacuY1qIcfyVfP6HoyBRZ85Q==",
+ "cpu": [
+ "arm"
+ ],
"dev": true,
"license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
"engines": {
- "node": "18 || 20 || >=22"
+ "node": "^20.19.0 || >=22.12.0"
}
},
- "node_modules/@tufjs/models/node_modules/brace-expansion": {
- "version": "5.0.4",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.4.tgz",
- "integrity": "sha512-h+DEnpVvxmfVefa4jFbCf5HdH5YMDXRsmKflpf1pILZWRFlTbJpxeU55nJl4Smt5HQaGzg1o6RHFPJaOqnmBDg==",
+ "node_modules/@rolldown/binding-linux-arm64-gnu": {
+ "version": "1.0.0-rc.12",
+ "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.0.0-rc.12.tgz",
+ "integrity": "sha512-/I5AS4cIroLpslsmzXfwbe5OmWvSsrFuEw3mwvbQ1kDxJ822hFHIx+vsN/TAzNVyepI/j/GSzrtCIwQPeKCLIg==",
+ "cpu": [
+ "arm64"
+ ],
"dev": true,
"license": "MIT",
- "dependencies": {
- "balanced-match": "^4.0.2"
- },
+ "optional": true,
+ "os": [
+ "linux"
+ ],
"engines": {
- "node": "18 || 20 || >=22"
+ "node": "^20.19.0 || >=22.12.0"
}
},
- "node_modules/@tufjs/models/node_modules/minimatch": {
- "version": "10.2.4",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.4.tgz",
- "integrity": "sha512-oRjTw/97aTBN0RHbYCdtF1MQfvusSIBQM0IZEgzl6426+8jSC0nF1a/GmnVLpfB9yyr6g6FTqWqiZVbxrtaCIg==",
+ "node_modules/@rolldown/binding-linux-arm64-musl": {
+ "version": "1.0.0-rc.12",
+ "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.0.0-rc.12.tgz",
+ "integrity": "sha512-V6/wZztnBqlx5hJQqNWwFdxIKN0m38p8Jas+VoSfgH54HSj9tKTt1dZvG6JRHcjh6D7TvrJPWFGaY9UBVOaWPw==",
+ "cpu": [
+ "arm64"
+ ],
"dev": true,
- "license": "BlueOak-1.0.0",
- "dependencies": {
- "brace-expansion": "^5.0.2"
- },
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
"engines": {
- "node": "18 || 20 || >=22"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
+ "node": "^20.19.0 || >=22.12.0"
}
},
- "node_modules/@tybys/wasm-util": {
- "version": "0.9.0",
- "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.9.0.tgz",
- "integrity": "sha512-6+7nlbMVX/PVDCwaIQ8nTOPveOcFLSt8GcXdx8hD0bt39uWxYT88uXzqTd4fTvqta7oeUJqudepapKNt2DYJFw==",
+ "node_modules/@rolldown/binding-linux-ppc64-gnu": {
+ "version": "1.0.0-rc.12",
+ "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-1.0.0-rc.12.tgz",
+ "integrity": "sha512-AP3E9BpcUYliZCxa3w5Kwj9OtEVDYK6sVoUzy4vTOJsjPOgdaJZKFmN4oOlX0Wp0RPV2ETfmIra9x1xuayFB7g==",
+ "cpu": [
+ "ppc64"
+ ],
"dev": true,
"license": "MIT",
- "dependencies": {
- "tslib": "^2.4.0"
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": "^20.19.0 || >=22.12.0"
}
},
- "node_modules/@types/amqplib": {
- "version": "0.10.8",
- "resolved": "https://registry.npmjs.org/@types/amqplib/-/amqplib-0.10.8.tgz",
- "integrity": "sha512-vtDp8Pk1wsE/AuQ8/Rgtm6KUZYqcnTgNvEHwzCkX8rL7AGsC6zqAfKAAJhUZXFhM/Pp++tbnUHiam/8vVpPztA==",
+ "node_modules/@rolldown/binding-linux-s390x-gnu": {
+ "version": "1.0.0-rc.12",
+ "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-1.0.0-rc.12.tgz",
+ "integrity": "sha512-nWwpvUSPkoFmZo0kQazZYOrT7J5DGOJ/+QHHzjvNlooDZED8oH82Yg67HvehPPLAg5fUff7TfWFHQS8IV1n3og==",
+ "cpu": [
+ "s390x"
+ ],
"dev": true,
"license": "MIT",
- "dependencies": {
- "@types/node": "*"
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": "^20.19.0 || >=22.12.0"
}
},
- "node_modules/@types/body-parser": {
- "version": "1.19.5",
- "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.5.tgz",
- "integrity": "sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==",
+ "node_modules/@rolldown/binding-linux-x64-gnu": {
+ "version": "1.0.0-rc.12",
+ "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.0.0-rc.12.tgz",
+ "integrity": "sha512-RNrafz5bcwRy+O9e6P8Z/OCAJW/A+qtBczIqVYwTs14pf4iV1/+eKEjdOUta93q2TsT/FI0XYDP3TCky38LMAg==",
+ "cpu": [
+ "x64"
+ ],
"dev": true,
- "dependencies": {
- "@types/connect": "*",
- "@types/node": "*"
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": "^20.19.0 || >=22.12.0"
}
},
- "node_modules/@types/chai": {
- "version": "4.3.20",
- "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.20.tgz",
- "integrity": "sha512-/pC9HAB5I/xMlc5FP77qjCnI16ChlJfW0tGa0IUcFn38VJrTV6DeZ60NU5KZBtaOZqjdpwTWohz5HU1RrhiYxQ==",
+ "node_modules/@rolldown/binding-linux-x64-musl": {
+ "version": "1.0.0-rc.12",
+ "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.0.0-rc.12.tgz",
+ "integrity": "sha512-Jpw/0iwoKWx3LJ2rc1yjFrj+T7iHZn2JDg1Yny1ma0luviFS4mhAIcd1LFNxK3EYu3DHWCps0ydXQ5i/rrJ2ig==",
+ "cpu": [
+ "x64"
+ ],
"dev": true,
- "license": "MIT"
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": "^20.19.0 || >=22.12.0"
+ }
},
- "node_modules/@types/chai-as-promised": {
- "version": "7.1.8",
- "resolved": "https://registry.npmjs.org/@types/chai-as-promised/-/chai-as-promised-7.1.8.tgz",
- "integrity": "sha512-ThlRVIJhr69FLlh6IctTXFkmhtP3NpMZ2QGq69StYLyKZFp/HOp1VdKZj7RvfNWYYcJ1xlbLGLLWj1UvP5u/Gw==",
+ "node_modules/@rolldown/binding-openharmony-arm64": {
+ "version": "1.0.0-rc.12",
+ "resolved": "https://registry.npmjs.org/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.0.0-rc.12.tgz",
+ "integrity": "sha512-vRugONE4yMfVn0+7lUKdKvN4D5YusEiPilaoO2sgUWpCvrncvWgPMzK00ZFFJuiPgLwgFNP5eSiUlv2tfc+lpA==",
+ "cpu": [
+ "arm64"
+ ],
"dev": true,
- "dependencies": {
- "@types/chai": "*"
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "openharmony"
+ ],
+ "engines": {
+ "node": "^20.19.0 || >=22.12.0"
}
},
- "node_modules/@types/connect": {
- "version": "3.4.38",
- "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz",
- "integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==",
+ "node_modules/@rolldown/binding-wasm32-wasi": {
+ "version": "1.0.0-rc.12",
+ "resolved": "https://registry.npmjs.org/@rolldown/binding-wasm32-wasi/-/binding-wasm32-wasi-1.0.0-rc.12.tgz",
+ "integrity": "sha512-ykGiLr/6kkiHc0XnBfmFJuCjr5ZYKKofkx+chJWDjitX+KsJuAmrzWhwyOMSHzPhzOHOy7u9HlFoa5MoAOJ/Zg==",
+ "cpu": [
+ "wasm32"
+ ],
"dev": true,
"license": "MIT",
+ "optional": true,
"dependencies": {
- "@types/node": "*"
+ "@napi-rs/wasm-runtime": "^1.1.1"
+ },
+ "engines": {
+ "node": ">=14.0.0"
}
},
- "node_modules/@types/cookie": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.4.1.tgz",
- "integrity": "sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q=="
- },
- "node_modules/@types/cookiejar": {
- "version": "2.1.5",
- "resolved": "https://registry.npmjs.org/@types/cookiejar/-/cookiejar-2.1.5.tgz",
- "integrity": "sha512-he+DHOWReW0nghN24E1WUqM0efK4kI9oTqDm6XmK8ZPe2djZ90BSNdGnIyCLzCPw7/pogPlGbzI2wHGGmi4O/Q==",
- "dev": true
- },
- "node_modules/@types/cors": {
- "version": "2.8.19",
- "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.19.tgz",
- "integrity": "sha512-mFNylyeyqN93lfe/9CSxOGREz8cpzAhH+E93xJ4xWQf62V8sQ/24reV2nyzUWM6H6Xji+GGHpkbLe7pVoUEskg==",
+ "node_modules/@rolldown/binding-wasm32-wasi/node_modules/@napi-rs/wasm-runtime": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-1.1.2.tgz",
+ "integrity": "sha512-sNXv5oLJ7ob93xkZ1XnxisYhGYXfaG9f65/ZgYuAu3qt7b3NadcOEhLvx28hv31PgX8SZJRYrAIPQilQmFpLVw==",
+ "dev": true,
"license": "MIT",
+ "optional": true,
"dependencies": {
- "@types/node": "*"
+ "@tybys/wasm-util": "^0.10.1"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/Brooooooklyn"
+ },
+ "peerDependencies": {
+ "@emnapi/core": "^1.7.1",
+ "@emnapi/runtime": "^1.7.1"
}
},
- "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==",
+ "node_modules/@rolldown/binding-wasm32-wasi/node_modules/@tybys/wasm-util": {
+ "version": "0.10.1",
+ "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.1.tgz",
+ "integrity": "sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg==",
"dev": true,
"license": "MIT",
+ "optional": true,
"dependencies": {
- "@types/estree": "*",
- "@types/json-schema": "*"
+ "tslib": "^2.4.0"
}
},
- "node_modules/@types/eslint__js": {
- "version": "8.42.3",
- "resolved": "https://registry.npmjs.org/@types/eslint__js/-/eslint__js-8.42.3.tgz",
- "integrity": "sha512-alfG737uhmPdnvkrLdZLcEKJ/B8s9Y4hrZ+YAdzUeoArBlSUERA2E87ROfOaS4jd/C45fzOoZzidLc1IPwLqOw==",
+ "node_modules/@rolldown/binding-win32-arm64-msvc": {
+ "version": "1.0.0-rc.12",
+ "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.0.0-rc.12.tgz",
+ "integrity": "sha512-5eOND4duWkwx1AzCxadcOrNeighiLwMInEADT0YM7xeEOOFcovWZCq8dadXgcRHSf3Ulh1kFo/qvzoFiCLOL1Q==",
+ "cpu": [
+ "arm64"
+ ],
"dev": true,
"license": "MIT",
- "dependencies": {
- "@types/eslint": "*"
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": "^20.19.0 || >=22.12.0"
}
},
- "node_modules/@types/esrecurse": {
- "version": "4.3.1",
- "resolved": "https://registry.npmjs.org/@types/esrecurse/-/esrecurse-4.3.1.tgz",
- "integrity": "sha512-xJBAbDifo5hpffDBuHl0Y8ywswbiAp/Wi7Y/GtAgSlZyIABppyurxVueOPE8LUQOxdlgi6Zqce7uoEpqNTeiUw==",
+ "node_modules/@rolldown/binding-win32-x64-msvc": {
+ "version": "1.0.0-rc.12",
+ "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.0.0-rc.12.tgz",
+ "integrity": "sha512-PyqoipaswDLAZtot351MLhrlrh6lcZPo2LSYE+VDxbVk24LVKAGOuE4hb8xZQmrPAuEtTZW8E6D2zc5EUZX4Lw==",
+ "cpu": [
+ "x64"
+ ],
"dev": true,
- "license": "MIT"
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": "^20.19.0 || >=22.12.0"
+ }
},
- "node_modules/@types/estree": {
- "version": "1.0.8",
- "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz",
- "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==",
+ "node_modules/@rolldown/pluginutils": {
+ "version": "1.0.0-rc.12",
+ "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-rc.12.tgz",
+ "integrity": "sha512-HHMwmarRKvoFsJorqYlFeFRzXZqCt2ETQlEDOb9aqssrnVBB1/+xgTGtuTrIk5vzLNX1MjMtTf7W9z3tsSbrxw==",
"dev": true,
"license": "MIT"
},
- "node_modules/@types/expect": {
- "version": "1.20.4",
- "resolved": "https://registry.npmjs.org/@types/expect/-/expect-1.20.4.tgz",
- "integrity": "sha512-Q5Vn3yjTDyCMV50TB6VRIbQNxSE4OmZR86VSbGaNpfUolm0iePBB4KdEEHmxoY5sT2+2DIvXW0rvMDP2nHZ4Mg==",
- "dev": true
- },
- "node_modules/@types/express": {
- "version": "5.0.6",
- "resolved": "https://registry.npmjs.org/@types/express/-/express-5.0.6.tgz",
- "integrity": "sha512-sKYVuV7Sv9fbPIt/442koC7+IIwK5olP1KWeD88e/idgoJqDm3JV/YUiPwkoKK92ylff2MGxSz1CSjsXelx0YA==",
+ "node_modules/@sigstore/bundle": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/@sigstore/bundle/-/bundle-4.0.0.tgz",
+ "integrity": "sha512-NwCl5Y0V6Di0NexvkTqdoVfmjTaQwoLM236r89KEojGmq/jMls8S+zb7yOwAPdXvbwfKDlP+lmXgAL4vKSQT+A==",
"dev": true,
- "license": "MIT",
+ "license": "Apache-2.0",
"dependencies": {
- "@types/body-parser": "*",
- "@types/express-serve-static-core": "^5.0.0",
- "@types/serve-static": "^2"
+ "@sigstore/protobuf-specs": "^0.5.0"
+ },
+ "engines": {
+ "node": "^20.17.0 || >=22.9.0"
}
},
- "node_modules/@types/express/node_modules/@types/express-serve-static-core": {
- "version": "5.0.6",
- "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-5.0.6.tgz",
- "integrity": "sha512-3xhRnjJPkULekpSzgtoNYYcTWgEZkp4myc+Saevii5JPnHNvHMRlBSHDbs7Bh1iPPoVTERHEZXyhyLbMEsExsA==",
+ "node_modules/@sigstore/core": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/@sigstore/core/-/core-3.2.0.tgz",
+ "integrity": "sha512-kxHrDQ9YgfrWUSXU0cjsQGv8JykOFZQ9ErNKbFPWzk3Hgpwu8x2hHrQ9IdA8yl+j9RTLTC3sAF3Tdq1IQCP4oA==",
"dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/node": "*",
- "@types/qs": "*",
- "@types/range-parser": "*",
- "@types/send": "*"
+ "license": "Apache-2.0",
+ "engines": {
+ "node": "^20.17.0 || >=22.9.0"
}
},
- "node_modules/@types/glob-stream": {
- "version": "8.0.2",
- "resolved": "https://registry.npmjs.org/@types/glob-stream/-/glob-stream-8.0.2.tgz",
- "integrity": "sha512-kyuRfGE+yiSJWzSO3t74rXxdZNdYfLcllO0IUha4eX1fl40pm9L02Q/TEc3mykTLjoWz4STBNwYnUWdFu3I0DA==",
+ "node_modules/@sigstore/protobuf-specs": {
+ "version": "0.5.0",
+ "resolved": "https://registry.npmjs.org/@sigstore/protobuf-specs/-/protobuf-specs-0.5.0.tgz",
+ "integrity": "sha512-MM8XIwUjN2bwvCg1QvrMtbBmpcSHrkhFSCu1D11NyPvDQ25HEc4oG5/OcQfd/Tlf/OxmKWERDj0zGE23jQaMwA==",
"dev": true,
- "dependencies": {
- "@types/node": "*",
- "@types/picomatch": "*",
- "@types/streamx": "*"
+ "license": "Apache-2.0",
+ "engines": {
+ "node": "^18.17.0 || >=20.5.0"
}
},
- "node_modules/@types/gulp": {
- "version": "4.0.18",
- "resolved": "https://registry.npmjs.org/@types/gulp/-/gulp-4.0.18.tgz",
- "integrity": "sha512-IqkYa4sXkwH2uwqO2aXYOoAisJpLX13BPaS6lmEAoG4BbgOay3qqGQFsT9LMSSQVMQlEKU7wTUW0sPV46V0olw==",
+ "node_modules/@sigstore/sign": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/@sigstore/sign/-/sign-4.1.1.tgz",
+ "integrity": "sha512-Hf4xglukg0XXQ2RiD5vSoLjdPe8OBUPA8XeVjUObheuDcWdYWrnH/BNmxZCzkAy68MzmNCxXLeurJvs6hcP2OQ==",
"dev": true,
- "license": "MIT",
+ "license": "Apache-2.0",
"dependencies": {
- "@types/node": "*",
- "@types/undertaker": ">=1.2.6",
- "@types/vinyl-fs": "*",
- "chokidar": "^3.3.1"
+ "@gar/promise-retry": "^1.0.2",
+ "@sigstore/bundle": "^4.0.0",
+ "@sigstore/core": "^3.2.0",
+ "@sigstore/protobuf-specs": "^0.5.0",
+ "make-fetch-happen": "^15.0.4",
+ "proc-log": "^6.1.0"
+ },
+ "engines": {
+ "node": "^20.17.0 || >=22.9.0"
}
},
- "node_modules/@types/gulp/node_modules/chokidar": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz",
- "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==",
+ "node_modules/@sigstore/sign/node_modules/@npmcli/redact": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/@npmcli/redact/-/redact-4.0.0.tgz",
+ "integrity": "sha512-gOBg5YHMfZy+TfHArfVogwgfBeQnKbbGo3pSUyK/gSI0AVu+pEiDVcKlQb0D8Mg1LNRZILZ6XG8I5dJ4KuAd9Q==",
"dev": true,
+ "license": "ISC",
+ "engines": {
+ "node": "^20.17.0 || >=22.9.0"
+ }
+ },
+ "node_modules/@sigstore/sign/node_modules/make-fetch-happen": {
+ "version": "15.0.5",
+ "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-15.0.5.tgz",
+ "integrity": "sha512-uCbIa8jWWmQZt4dSnEStkVC6gdakiinAm4PiGsywIkguF0eWMdcjDz0ECYhUolFU3pFLOev9VNPCEygydXnddg==",
+ "dev": true,
+ "license": "ISC",
"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"
+ "@gar/promise-retry": "^1.0.0",
+ "@npmcli/agent": "^4.0.0",
+ "@npmcli/redact": "^4.0.0",
+ "cacache": "^20.0.1",
+ "http-cache-semantics": "^4.1.1",
+ "minipass": "^7.0.2",
+ "minipass-fetch": "^5.0.0",
+ "minipass-flush": "^1.0.5",
+ "minipass-pipeline": "^1.2.4",
+ "negotiator": "^1.0.0",
+ "proc-log": "^6.0.0",
+ "ssri": "^13.0.0"
},
"engines": {
- "node": ">= 8.10.0"
- },
- "funding": {
- "url": "https://paulmillr.com/funding/"
- },
- "optionalDependencies": {
- "fsevents": "~2.3.2"
+ "node": "^20.17.0 || >=22.9.0"
}
},
- "node_modules/@types/gulp/node_modules/picomatch": {
- "version": "2.3.2",
- "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.2.tgz",
- "integrity": "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==",
+ "node_modules/@sigstore/sign/node_modules/minipass-fetch": {
+ "version": "5.0.2",
+ "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-5.0.2.tgz",
+ "integrity": "sha512-2d0q2a8eCi2IRg/IGubCNRJoYbA1+YPXAzQVRFmB45gdGZafyivnZ5YSEfo3JikbjGxOdntGFvBQGqaSMXlAFQ==",
"dev": true,
"license": "MIT",
+ "dependencies": {
+ "minipass": "^7.0.3",
+ "minipass-sized": "^2.0.0",
+ "minizlib": "^3.0.1"
+ },
"engines": {
- "node": ">=8.6"
+ "node": "^20.17.0 || >=22.9.0"
},
- "funding": {
- "url": "https://github.com/sponsors/jonschlinkert"
+ "optionalDependencies": {
+ "iconv-lite": "^0.7.2"
}
},
- "node_modules/@types/gulp/node_modules/readdirp": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
- "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
+ "node_modules/@sigstore/sign/node_modules/minipass-sized": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-2.0.0.tgz",
+ "integrity": "sha512-zSsHhto5BcUVM2m1LurnXY6M//cGhVaegT71OfOXoprxT6o780GZd792ea6FfrQkuU4usHZIUczAQMRUE2plzA==",
"dev": true,
+ "license": "ISC",
"dependencies": {
- "picomatch": "^2.2.1"
+ "minipass": "^7.1.2"
},
"engines": {
- "node": ">=8.10.0"
+ "node": ">=8"
}
},
- "node_modules/@types/http-errors": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.5.tgz",
- "integrity": "sha512-r8Tayk8HJnX0FztbZN7oVqGccWgw98T/0neJphO91KkmOzug1KkofZURD4UaD5uH8AqcFLfdPErnBod0u71/qg==",
+ "node_modules/@sigstore/sign/node_modules/proc-log": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-6.1.0.tgz",
+ "integrity": "sha512-iG+GYldRf2BQ0UDUAd6JQ/RwzaQy6mXmsk/IzlYyal4A4SNFw54MeH4/tLkF4I5WoWG9SQwuqWzS99jaFQHBuQ==",
"dev": true,
- "license": "MIT"
+ "license": "ISC",
+ "engines": {
+ "node": "^20.17.0 || >=22.9.0"
+ }
},
- "node_modules/@types/json-schema": {
- "version": "7.0.15",
- "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz",
- "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==",
+ "node_modules/@sigstore/sign/node_modules/ssri": {
+ "version": "13.0.1",
+ "resolved": "https://registry.npmjs.org/ssri/-/ssri-13.0.1.tgz",
+ "integrity": "sha512-QUiRf1+u9wPTL/76GTYlKttDEBWV1ga9ZXW8BG6kfdeyyM8LGPix9gROyg9V2+P0xNyF3X2Go526xKFdMZrHSQ==",
"dev": true,
- "license": "MIT"
+ "license": "ISC",
+ "dependencies": {
+ "minipass": "^7.0.3"
+ },
+ "engines": {
+ "node": "^20.17.0 || >=22.9.0"
+ }
},
- "node_modules/@types/long": {
+ "node_modules/@sigstore/tuf": {
"version": "4.0.2",
- "resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.2.tgz",
- "integrity": "sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA==",
- "dev": true
- },
- "node_modules/@types/methods": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/@types/methods/-/methods-1.1.4.tgz",
- "integrity": "sha512-ymXWVrDiCxTBE3+RIrrP533E70eA+9qu7zdWoHuOmGujkYtzf4HQF96b8nwHLqhuf4ykX61IGRIB38CC6/sImQ==",
- "dev": true
- },
- "node_modules/@types/mime": {
- "version": "1.3.5",
- "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz",
- "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==",
- "dev": true
- },
- "node_modules/@types/minimist": {
- "version": "1.2.5",
- "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.5.tgz",
- "integrity": "sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag==",
+ "resolved": "https://registry.npmjs.org/@sigstore/tuf/-/tuf-4.0.2.tgz",
+ "integrity": "sha512-TCAzTy0xzdP79EnxSjq9KQ3eaR7+FmudLC6eRKknVKZbV7ZNlGLClAAQb/HMNJ5n2OBNk2GT1tEmU0xuPr+SLQ==",
"dev": true,
- "license": "MIT"
- },
- "node_modules/@types/mocha": {
- "version": "10.0.10",
- "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-10.0.10.tgz",
- "integrity": "sha512-xPyYSz1cMPnJQhl0CLMH68j3gprKZaTjG3s5Vi+fDgx+uhG9NOXwbVt52eFS8ECyXhyKcjDLCBEqBExKuiZb7Q==",
- "dev": true
- },
- "node_modules/@types/node": {
- "version": "25.9.1",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-25.9.1.tgz",
- "integrity": "sha512-xfrlY7UD5rMJk3ZVJP8BNzS28J36YJg+xp+LPXV1TdWxr8uMH5A860QNxYDGQe/ylDSgjxE52Q9VnO7p75tJxg==",
- "license": "MIT",
+ "license": "Apache-2.0",
"dependencies": {
- "undici-types": ">=7.24.0 <7.24.7"
+ "@sigstore/protobuf-specs": "^0.5.0",
+ "tuf-js": "^4.1.0"
+ },
+ "engines": {
+ "node": "^20.17.0 || >=22.9.0"
}
},
- "node_modules/@types/normalize-package-data": {
- "version": "2.4.4",
- "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz",
- "integrity": "sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@types/picomatch": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/@types/picomatch/-/picomatch-3.0.1.tgz",
- "integrity": "sha512-1MRgzpzY0hOp9pW/kLRxeQhUWwil6gnrUYd3oEpeYBqp/FexhaCPv3F8LsYr47gtUU45fO2cm1dbwkSrHEo8Uw==",
- "dev": true
- },
- "node_modules/@types/qs": {
- "version": "6.9.17",
- "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.17.tgz",
- "integrity": "sha512-rX4/bPcfmvxHDv0XjfJELTTr+iB+tn032nPILqHm5wbthUUUuVtNGGqzhya9XUxjTP8Fpr0qYgSZZKxGY++svQ==",
- "dev": true
- },
- "node_modules/@types/range-parser": {
- "version": "1.2.7",
- "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.7.tgz",
- "integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==",
- "dev": true
- },
- "node_modules/@types/readable-stream": {
- "version": "4.0.21",
- "resolved": "https://registry.npmjs.org/@types/readable-stream/-/readable-stream-4.0.21.tgz",
- "integrity": "sha512-19eKVv9tugr03IgfXlA9UVUVRbW6IuqRO5B92Dl4a6pT7K8uaGrNS0GkxiZD0BOk6PLuXl5FhWl//eX/pzYdTQ==",
+ "node_modules/@sigstore/verify": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/@sigstore/verify/-/verify-3.1.0.tgz",
+ "integrity": "sha512-mNe0Iigql08YupSOGv197YdHpPPr+EzDZmfCgMc7RPNaZTw5aLN01nBl6CHJOh3BGtnMIj83EeN4butBchc8Ag==",
"dev": true,
- "license": "MIT",
+ "license": "Apache-2.0",
"dependencies": {
- "@types/node": "*"
+ "@sigstore/bundle": "^4.0.0",
+ "@sigstore/core": "^3.1.0",
+ "@sigstore/protobuf-specs": "^0.5.0"
+ },
+ "engines": {
+ "node": "^20.17.0 || >=22.9.0"
}
},
- "node_modules/@types/send": {
- "version": "0.17.4",
- "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.4.tgz",
- "integrity": "sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==",
+ "node_modules/@simple-libs/child-process-utils": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/@simple-libs/child-process-utils/-/child-process-utils-1.0.2.tgz",
+ "integrity": "sha512-/4R8QKnd/8agJynkNdJmNw2MBxuFTRcNFnE5Sg/G+jkSsV8/UBgULMzhizWWW42p8L5H7flImV2ATi79Ove2Tw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@types/mime": "^1",
- "@types/node": "*"
+ "@simple-libs/stream-utils": "^1.2.0"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "funding": {
+ "url": "https://ko-fi.com/dangreen"
}
},
- "node_modules/@types/serve-static": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-2.2.0.tgz",
- "integrity": "sha512-8mam4H1NHLtu7nmtalF7eyBH14QyOASmcxHhSfEoRyr0nP/YdoesEtU+uSRvMe96TW/HPTtkoKqQLl53N7UXMQ==",
+ "node_modules/@simple-libs/stream-utils": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/@simple-libs/stream-utils/-/stream-utils-1.2.0.tgz",
+ "integrity": "sha512-KxXvfapcixpz6rVEB6HPjOUZT22yN6v0vI0urQSk1L8MlEWPDFCZkhw2xmkyoTGYeFw7tWTZd7e3lVzRZRN/EA==",
"dev": true,
"license": "MIT",
- "dependencies": {
- "@types/http-errors": "*",
- "@types/node": "*"
+ "engines": {
+ "node": ">=18"
+ },
+ "funding": {
+ "url": "https://ko-fi.com/dangreen"
}
},
- "node_modules/@types/sinon": {
- "version": "21.0.1",
- "resolved": "https://registry.npmjs.org/@types/sinon/-/sinon-21.0.1.tgz",
- "integrity": "sha512-5yoJSqLbjH8T9V2bksgRayuhpZy+723/z6wBOR+Soe4ZlXC0eW8Na71TeaZPUWDQvM7LYKa9UGFc6LRqxiR5fQ==",
+ "node_modules/@sinclair/typebox": {
+ "version": "0.34.49",
+ "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.34.49.tgz",
+ "integrity": "sha512-brySQQs7Jtn0joV8Xh9ZV/hZb9Ozb0pmazDIASBkYKCjXrXU3mpcFahmK/z4YDhGkQvP9mWJbVyahdtU5wQA+A==",
"dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/sinonjs__fake-timers": "*"
- }
+ "license": "MIT"
},
- "node_modules/@types/sinonjs__fake-timers": {
- "version": "8.1.5",
- "resolved": "https://registry.npmjs.org/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-8.1.5.tgz",
- "integrity": "sha512-mQkU2jY8jJEF7YHjHvsQO8+3ughTL1mcnn96igfhONmR+fUPSKIkefQYpSe8bsly2Ep7oQbn/6VG5/9/0qcArQ==",
- "dev": true
+ "node_modules/@socket.io/component-emitter": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.2.tgz",
+ "integrity": "sha512-9BCxFwvbGg/RsZK9tjXd8s4UcwR0MWeFQ1XEKIQVVvAGJyINdrqKMcTRyLoK8Rse1GjzLV9cwjWV1olXRWEXVA==",
+ "license": "MIT"
},
- "node_modules/@types/streamx": {
- "version": "2.9.5",
- "resolved": "https://registry.npmjs.org/@types/streamx/-/streamx-2.9.5.tgz",
- "integrity": "sha512-IHYsa6jYrck8VEdSwpY141FTTf6D7boPeMq9jy4qazNrFMA4VbRz/sw5LSsfR7jwdDcx0QKWkUexZvsWBC2eIQ==",
+ "node_modules/@sqltools/formatter": {
+ "version": "1.2.5",
+ "resolved": "https://registry.npmjs.org/@sqltools/formatter/-/formatter-1.2.5.tgz",
+ "integrity": "sha512-Uy0+khmZqUrUGm5dmMqVlnvufZRSK0FbYzVgp0UMstm+F5+W2/jnEEQyc9vo1ZR/E5ZI/B1WjjoTqBqwJL6Krw==",
"dev": true,
- "dependencies": {
- "@types/node": "*"
- }
+ "license": "MIT"
},
- "node_modules/@types/superagent": {
- "version": "8.1.9",
- "resolved": "https://registry.npmjs.org/@types/superagent/-/superagent-8.1.9.tgz",
- "integrity": "sha512-pTVjI73witn+9ILmoJdajHGW2jkSaOzhiFYF1Rd3EQ94kymLqB9PjD9ISg7WaALC7+dCHT0FGe9T2LktLq/3GQ==",
+ "node_modules/@standard-schema/spec": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@standard-schema/spec/-/spec-1.1.0.tgz",
+ "integrity": "sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==",
"dev": true,
- "dependencies": {
- "@types/cookiejar": "^2.1.5",
- "@types/methods": "^1.1.4",
- "@types/node": "*",
- "form-data": "^4.0.0"
- }
+ "license": "MIT"
},
- "node_modules/@types/supertest": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/@types/supertest/-/supertest-7.2.0.tgz",
- "integrity": "sha512-uh2Lv57xvggst6lCqNdFAmDSvoMG7M/HDtX4iUCquxQ5EGPtaPM5PL5Hmi7LCvOG8db7YaCPNJEeoI8s/WzIQw==",
- "dev": true,
+ "node_modules/@tokenizer/inflate": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/@tokenizer/inflate/-/inflate-0.4.1.tgz",
+ "integrity": "sha512-2mAv+8pkG6GIZiF1kNg1jAjh27IDxEPKwdGul3snfztFerfPGI1LjDezZp3i7BElXompqEtPmoPx6c2wgtWsOA==",
"license": "MIT",
"dependencies": {
- "@types/methods": "^1.1.4",
- "@types/superagent": "^8.1.0"
- }
- },
- "node_modules/@types/undertaker": {
- "version": "1.2.11",
- "resolved": "https://registry.npmjs.org/@types/undertaker/-/undertaker-1.2.11.tgz",
- "integrity": "sha512-j1Z0V2ByRHr8ZK7eOeGq0LGkkdthNFW0uAZGY22iRkNQNL9/vAV0yFPr1QN3FM/peY5bxs9P+1f0PYJTQVa5iA==",
- "dev": true,
- "dependencies": {
- "@types/node": "*",
- "@types/undertaker-registry": "*",
- "async-done": "~1.3.2"
+ "debug": "^4.4.3",
+ "token-types": "^6.1.1"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/Borewit"
}
},
- "node_modules/@types/undertaker-registry": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/@types/undertaker-registry/-/undertaker-registry-1.0.4.tgz",
- "integrity": "sha512-tW77pHh2TU4uebWXWeEM5laiw8BuJ7pyJYDh6xenOs75nhny2kVgwYbegJ4BoLMYsIrXaBpKYaPdYO3/udG+hg==",
- "dev": true
- },
- "node_modules/@types/validator": {
- "version": "13.15.10",
- "resolved": "https://registry.npmjs.org/@types/validator/-/validator-13.15.10.tgz",
- "integrity": "sha512-T8L6i7wCuyoK8A/ZeLYt1+q0ty3Zb9+qbSSvrIVitzT3YjZqkTZ40IbRsPanlB4h1QB3JVL1SYCdR6ngtFYcuA==",
+ "node_modules/@tokenizer/token": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/@tokenizer/token/-/token-0.3.0.tgz",
+ "integrity": "sha512-OvjF+z51L3ov0OyAU0duzsYuvO01PH7x4t6DJx+guahgTnBHkhJdG7soQeTSFLWN3efnHyibZ4Z8l2EuWwJN3A==",
"license": "MIT"
},
- "node_modules/@types/vinyl": {
- "version": "2.0.12",
- "resolved": "https://registry.npmjs.org/@types/vinyl/-/vinyl-2.0.12.tgz",
- "integrity": "sha512-Sr2fYMBUVGYq8kj3UthXFAu5UN6ZW+rYr4NACjZQJvHvj+c8lYv0CahmZ2P/r7iUkN44gGUBwqxZkrKXYPb7cw==",
- "dev": true,
- "dependencies": {
- "@types/expect": "^1.20.4",
- "@types/node": "*"
- }
- },
- "node_modules/@types/vinyl-fs": {
- "version": "3.0.5",
- "resolved": "https://registry.npmjs.org/@types/vinyl-fs/-/vinyl-fs-3.0.5.tgz",
- "integrity": "sha512-ckYz9giHgV6U10RFuf9WsDQ3X86EFougapxHmmoxLK7e6ICQqO8CE+4V/3lBN148V5N1pb4nQMmMjyScleVsig==",
+ "node_modules/@tootallnate/once": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz",
+ "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==",
"dev": true,
- "dependencies": {
- "@types/glob-stream": "*",
- "@types/node": "*",
- "@types/vinyl": "*"
+ "license": "MIT",
+ "engines": {
+ "node": ">= 6"
}
},
- "node_modules/@types/webidl-conversions": {
- "version": "7.0.3",
- "resolved": "https://registry.npmjs.org/@types/webidl-conversions/-/webidl-conversions-7.0.3.tgz",
- "integrity": "sha512-CiJJvcRtIgzadHCYXw7dqEnMNRjhGZlYK05Mj9OyktqV8uVT8fD2BFOB7S1uwBE3Kj2Z+4UyPmFw/Ixgw/LAlA==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@types/ws": {
- "version": "8.18.1",
- "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.18.1.tgz",
- "integrity": "sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg==",
+ "node_modules/@ts-morph/common": {
+ "version": "0.28.1",
+ "resolved": "https://registry.npmjs.org/@ts-morph/common/-/common-0.28.1.tgz",
+ "integrity": "sha512-W74iWf7ILp1ZKNYXY5qbddNaml7e9Sedv5lvU1V8lftlitkc9Pq1A+jlH23ltDgWYeZFFEqGCD1Ies9hqu3O+g==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@types/node": "*"
+ "minimatch": "^10.0.1",
+ "path-browserify": "^1.0.1",
+ "tinyglobby": "^0.2.14"
}
},
- "node_modules/@typescript-eslint/eslint-plugin": {
- "version": "8.59.3",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.59.3.tgz",
- "integrity": "sha512-PwFvSKsXGShKGW6n5bZOhGHEcCZXM8HofLK9fNsEwZXzFRjoY+XT1Vsf1zgyXdwTr0ZYz1/2tkZ0DBTT9jZjhw==",
+ "node_modules/@ts-morph/common/node_modules/balanced-match": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz",
+ "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==",
"dev": true,
"license": "MIT",
- "dependencies": {
- "@eslint-community/regexpp": "^4.12.2",
- "@typescript-eslint/scope-manager": "8.59.3",
- "@typescript-eslint/type-utils": "8.59.3",
- "@typescript-eslint/utils": "8.59.3",
- "@typescript-eslint/visitor-keys": "8.59.3",
- "ignore": "^7.0.5",
- "natural-compare": "^1.4.0",
- "ts-api-utils": "^2.5.0"
- },
"engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependencies": {
- "@typescript-eslint/parser": "^8.59.3",
- "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0",
- "typescript": ">=4.8.4 <6.1.0"
+ "node": "18 || 20 || >=22"
}
},
- "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/project-service": {
- "version": "8.59.3",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.59.3.tgz",
- "integrity": "sha512-ECiUWa/KYRGDFUqTNehaRgzDshnJfkTABJxVemHk4ko22gcr0ukloKjWvyQ64g8YCV/UI47kN1dbmjf/GaQYng==",
+ "node_modules/@ts-morph/common/node_modules/brace-expansion": {
+ "version": "5.0.5",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.5.tgz",
+ "integrity": "sha512-VZznLgtwhn+Mact9tfiwx64fA9erHH/MCXEUfB/0bX/6Fz6ny5EGTXYltMocqg4xFAQZtnO3DHWWXi8RiuN7cQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@typescript-eslint/tsconfig-utils": "^8.59.3",
- "@typescript-eslint/types": "^8.59.3",
- "debug": "^4.4.3"
+ "balanced-match": "^4.0.2"
},
"engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependencies": {
- "typescript": ">=4.8.4 <6.1.0"
+ "node": "18 || 20 || >=22"
}
},
- "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/scope-manager": {
- "version": "8.59.3",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.59.3.tgz",
- "integrity": "sha512-t2LvZnoEfzKtnPjgeEu41xw5gxq9mQVfYy4OoZ4Vlt0sk3JwxmhCca/AR7DwOiHrjWgjAj6as4AhRLKSDfvZIA==",
+ "node_modules/@ts-morph/common/node_modules/minimatch": {
+ "version": "10.2.5",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.5.tgz",
+ "integrity": "sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==",
"dev": true,
- "license": "MIT",
+ "license": "BlueOak-1.0.0",
"dependencies": {
- "@typescript-eslint/types": "8.59.3",
- "@typescript-eslint/visitor-keys": "8.59.3"
+ "brace-expansion": "^5.0.5"
},
"engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ "node": "18 || 20 || >=22"
},
"funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
+ "url": "https://github.com/sponsors/isaacs"
}
},
- "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/tsconfig-utils": {
- "version": "8.59.3",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.59.3.tgz",
- "integrity": "sha512-PcIJHjmaREXLgIAIzLnSY9VucEzz8FKXsRgFa1DmdGCK/5tJpW03TKJF01Q6VZd1lLdz2sIKPWaDUZN9dp//dw==",
+ "node_modules/@tsconfig/node10": {
+ "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",
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependencies": {
- "typescript": ">=4.8.4 <6.1.0"
- }
+ "license": "MIT"
},
- "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/types": {
- "version": "8.59.3",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.59.3.tgz",
- "integrity": "sha512-ePFoH0g4ludssdRFqqDxQePCxU4WQyRa9+XVwjm7yLn0FKhMeoetC+qBEEI1Eyb1pGSDveTIT09Bvw2WhlGayg==",
+ "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,
- "license": "MIT",
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- }
+ "license": "MIT"
},
- "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/typescript-estree": {
- "version": "8.59.3",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.59.3.tgz",
- "integrity": "sha512-CbRjVRAf7Lr9Kr8RopKcbY45p2VfmmHrm0ygOCYFi7oU8q19m0Fs/6iHS7kNOmwpp+ob07ZVcAqlxUod9lYdmg==",
+ "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,
- "license": "MIT",
- "dependencies": {
- "@typescript-eslint/project-service": "8.59.3",
- "@typescript-eslint/tsconfig-utils": "8.59.3",
- "@typescript-eslint/types": "8.59.3",
- "@typescript-eslint/visitor-keys": "8.59.3",
- "debug": "^4.4.3",
- "minimatch": "^10.2.2",
- "semver": "^7.7.3",
- "tinyglobby": "^0.2.15",
- "ts-api-utils": "^2.5.0"
- },
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependencies": {
- "typescript": ">=4.8.4 <6.1.0"
- }
+ "license": "MIT"
},
- "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/utils": {
- "version": "8.59.3",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.59.3.tgz",
- "integrity": "sha512-JAvT14goBzRzzzZyqq3P9BLArIxTtQURUtFgQ/V7FO+eU+Gg6ES+5ymOPP1wRxXcxAYeivCk4uS3jCKWI1K8Zg==",
+ "node_modules/@tsconfig/node16": {
+ "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/@tufjs/canonical-json": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/@tufjs/canonical-json/-/canonical-json-2.0.0.tgz",
+ "integrity": "sha512-yVtV8zsdo8qFHe+/3kw81dSLyF7D576A5cCFCi4X7B39tWT7SekaEFUnvnWJHz+9qO7qJTah1JbrDjWKqFtdWA==",
"dev": true,
"license": "MIT",
- "dependencies": {
- "@eslint-community/eslint-utils": "^4.9.1",
- "@typescript-eslint/scope-manager": "8.59.3",
- "@typescript-eslint/types": "8.59.3",
- "@typescript-eslint/typescript-estree": "8.59.3"
- },
"engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependencies": {
- "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0",
- "typescript": ">=4.8.4 <6.1.0"
+ "node": "^16.14.0 || >=18.0.0"
}
},
- "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/visitor-keys": {
- "version": "8.59.3",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.59.3.tgz",
- "integrity": "sha512-f1UQF7ggd42YiwI5wGrRaPsa+P0CINBlrkLPmGfpq/u/I/oVtecoEIfFR9ag/oa1sLOsRNZ6xehf6qMZhQGBDg==",
+ "node_modules/@tufjs/models": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/@tufjs/models/-/models-4.1.0.tgz",
+ "integrity": "sha512-Y8cK9aggNRsqJVaKUlEYs4s7CvQ1b1ta2DVPyAimb0I2qhzjNk+A+mxvll/klL0RlfuIUei8BF7YWiua4kQqww==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@typescript-eslint/types": "8.59.3",
- "eslint-visitor-keys": "^5.0.0"
+ "@tufjs/canonical-json": "2.0.0",
+ "minimatch": "^10.1.1"
},
"engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
+ "node": "^20.17.0 || >=22.9.0"
}
},
- "node_modules/@typescript-eslint/eslint-plugin/node_modules/balanced-match": {
+ "node_modules/@tufjs/models/node_modules/balanced-match": {
"version": "4.0.4",
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz",
"integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==",
@@ -5911,10 +5410,10 @@
"node": "18 || 20 || >=22"
}
},
- "node_modules/@typescript-eslint/eslint-plugin/node_modules/brace-expansion": {
- "version": "5.0.6",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.6.tgz",
- "integrity": "sha512-kLpxurY4Z4r9sgMsyG0Z9uzsBlgiU/EFKhj/h91/8yHu0edo7XuixOIH3VcJ8kkxs6/jPzoI6U9Vj3WqbMQ94g==",
+ "node_modules/@tufjs/models/node_modules/brace-expansion": {
+ "version": "5.0.5",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.5.tgz",
+ "integrity": "sha512-VZznLgtwhn+Mact9tfiwx64fA9erHH/MCXEUfB/0bX/6Fz6ny5EGTXYltMocqg4xFAQZtnO3DHWWXi8RiuN7cQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -5924,48 +5423,7 @@
"node": "18 || 20 || >=22"
}
},
- "node_modules/@typescript-eslint/eslint-plugin/node_modules/debug": {
- "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.3"
- },
- "engines": {
- "node": ">=6.0"
- },
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
- }
- },
- "node_modules/@typescript-eslint/eslint-plugin/node_modules/eslint-visitor-keys": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-5.0.1.tgz",
- "integrity": "sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==",
- "dev": true,
- "license": "Apache-2.0",
- "engines": {
- "node": "^20.19.0 || ^22.13.0 || >=24"
- },
- "funding": {
- "url": "https://opencollective.com/eslint"
- }
- },
- "node_modules/@typescript-eslint/eslint-plugin/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",
- "engines": {
- "node": ">= 4"
- }
- },
- "node_modules/@typescript-eslint/eslint-plugin/node_modules/minimatch": {
+ "node_modules/@tufjs/models/node_modules/minimatch": {
"version": "10.2.5",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.5.tgz",
"integrity": "sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==",
@@ -5981,587 +5439,462 @@
"url": "https://github.com/sponsors/isaacs"
}
},
- "node_modules/@typescript-eslint/eslint-plugin/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,
- "license": "MIT"
- },
- "node_modules/@typescript-eslint/parser": {
- "version": "8.59.3",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.59.3.tgz",
- "integrity": "sha512-HPwA+hVkfcriajbNvTmZv4VRauibay+cWArYUYq7u7W7PmGShMxbPxLvrwDme55a6d5alG3nrYfhyJ/G28XlLg==",
+ "node_modules/@tybys/wasm-util": {
+ "version": "0.9.0",
+ "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.9.0.tgz",
+ "integrity": "sha512-6+7nlbMVX/PVDCwaIQ8nTOPveOcFLSt8GcXdx8hD0bt39uWxYT88uXzqTd4fTvqta7oeUJqudepapKNt2DYJFw==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@typescript-eslint/scope-manager": "8.59.3",
- "@typescript-eslint/types": "8.59.3",
- "@typescript-eslint/typescript-estree": "8.59.3",
- "@typescript-eslint/visitor-keys": "8.59.3",
- "debug": "^4.4.3"
- },
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependencies": {
- "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0",
- "typescript": ">=4.8.4 <6.1.0"
+ "tslib": "^2.4.0"
}
},
- "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/project-service": {
- "version": "8.59.3",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.59.3.tgz",
- "integrity": "sha512-ECiUWa/KYRGDFUqTNehaRgzDshnJfkTABJxVemHk4ko22gcr0ukloKjWvyQ64g8YCV/UI47kN1dbmjf/GaQYng==",
+ "node_modules/@types/amqplib": {
+ "version": "0.10.8",
+ "resolved": "https://registry.npmjs.org/@types/amqplib/-/amqplib-0.10.8.tgz",
+ "integrity": "sha512-vtDp8Pk1wsE/AuQ8/Rgtm6KUZYqcnTgNvEHwzCkX8rL7AGsC6zqAfKAAJhUZXFhM/Pp++tbnUHiam/8vVpPztA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@typescript-eslint/tsconfig-utils": "^8.59.3",
- "@typescript-eslint/types": "^8.59.3",
- "debug": "^4.4.3"
- },
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependencies": {
- "typescript": ">=4.8.4 <6.1.0"
+ "@types/node": "*"
}
},
- "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/scope-manager": {
- "version": "8.59.3",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.59.3.tgz",
- "integrity": "sha512-t2LvZnoEfzKtnPjgeEu41xw5gxq9mQVfYy4OoZ4Vlt0sk3JwxmhCca/AR7DwOiHrjWgjAj6as4AhRLKSDfvZIA==",
+ "node_modules/@types/body-parser": {
+ "version": "1.19.6",
+ "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.6.tgz",
+ "integrity": "sha512-HLFeCYgz89uk22N5Qg3dvGvsv46B8GLvKKo1zKG4NybA8U2DiEO3w9lqGg29t/tfLRJpJ6iQxnVw4OnB7MoM9g==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@typescript-eslint/types": "8.59.3",
- "@typescript-eslint/visitor-keys": "8.59.3"
- },
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
+ "@types/connect": "*",
+ "@types/node": "*"
}
},
- "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/tsconfig-utils": {
- "version": "8.59.3",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.59.3.tgz",
- "integrity": "sha512-PcIJHjmaREXLgIAIzLnSY9VucEzz8FKXsRgFa1DmdGCK/5tJpW03TKJF01Q6VZd1lLdz2sIKPWaDUZN9dp//dw==",
+ "node_modules/@types/chai": {
+ "version": "5.2.3",
+ "resolved": "https://registry.npmjs.org/@types/chai/-/chai-5.2.3.tgz",
+ "integrity": "sha512-Mw558oeA9fFbv65/y4mHtXDs9bPnFMZAL/jxdPFUpOHHIXX91mcgEHbS5Lahr+pwZFR8A7GQleRWeI6cGFC2UA==",
"dev": true,
"license": "MIT",
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependencies": {
- "typescript": ">=4.8.4 <6.1.0"
+ "dependencies": {
+ "@types/deep-eql": "*",
+ "assertion-error": "^2.0.1"
}
},
- "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/types": {
- "version": "8.59.3",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.59.3.tgz",
- "integrity": "sha512-ePFoH0g4ludssdRFqqDxQePCxU4WQyRa9+XVwjm7yLn0FKhMeoetC+qBEEI1Eyb1pGSDveTIT09Bvw2WhlGayg==",
+ "node_modules/@types/connect": {
+ "version": "3.4.38",
+ "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz",
+ "integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==",
"dev": true,
"license": "MIT",
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
+ "dependencies": {
+ "@types/node": "*"
}
},
- "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/typescript-estree": {
- "version": "8.59.3",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.59.3.tgz",
- "integrity": "sha512-CbRjVRAf7Lr9Kr8RopKcbY45p2VfmmHrm0ygOCYFi7oU8q19m0Fs/6iHS7kNOmwpp+ob07ZVcAqlxUod9lYdmg==",
+ "node_modules/@types/cookiejar": {
+ "version": "2.1.5",
+ "resolved": "https://registry.npmjs.org/@types/cookiejar/-/cookiejar-2.1.5.tgz",
+ "integrity": "sha512-he+DHOWReW0nghN24E1WUqM0efK4kI9oTqDm6XmK8ZPe2djZ90BSNdGnIyCLzCPw7/pogPlGbzI2wHGGmi4O/Q==",
"dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@types/cors": {
+ "version": "2.8.19",
+ "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.19.tgz",
+ "integrity": "sha512-mFNylyeyqN93lfe/9CSxOGREz8cpzAhH+E93xJ4xWQf62V8sQ/24reV2nyzUWM6H6Xji+GGHpkbLe7pVoUEskg==",
"license": "MIT",
"dependencies": {
- "@typescript-eslint/project-service": "8.59.3",
- "@typescript-eslint/tsconfig-utils": "8.59.3",
- "@typescript-eslint/types": "8.59.3",
- "@typescript-eslint/visitor-keys": "8.59.3",
- "debug": "^4.4.3",
- "minimatch": "^10.2.2",
- "semver": "^7.7.3",
- "tinyglobby": "^0.2.15",
- "ts-api-utils": "^2.5.0"
- },
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependencies": {
- "typescript": ">=4.8.4 <6.1.0"
+ "@types/node": "*"
}
},
- "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/visitor-keys": {
- "version": "8.59.3",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.59.3.tgz",
- "integrity": "sha512-f1UQF7ggd42YiwI5wGrRaPsa+P0CINBlrkLPmGfpq/u/I/oVtecoEIfFR9ag/oa1sLOsRNZ6xehf6qMZhQGBDg==",
+ "node_modules/@types/deep-eql": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/@types/deep-eql/-/deep-eql-4.0.2.tgz",
+ "integrity": "sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==",
"dev": true,
- "license": "MIT",
- "dependencies": {
- "@typescript-eslint/types": "8.59.3",
- "eslint-visitor-keys": "^5.0.0"
- },
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- }
+ "license": "MIT"
},
- "node_modules/@typescript-eslint/parser/node_modules/balanced-match": {
- "version": "4.0.4",
- "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz",
- "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==",
+ "node_modules/@types/estree": {
+ "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",
- "engines": {
- "node": "18 || 20 || >=22"
- }
+ "license": "MIT"
},
- "node_modules/@typescript-eslint/parser/node_modules/brace-expansion": {
- "version": "5.0.6",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.6.tgz",
- "integrity": "sha512-kLpxurY4Z4r9sgMsyG0Z9uzsBlgiU/EFKhj/h91/8yHu0edo7XuixOIH3VcJ8kkxs6/jPzoI6U9Vj3WqbMQ94g==",
+ "node_modules/@types/expect": {
+ "version": "1.20.4",
+ "resolved": "https://registry.npmjs.org/@types/expect/-/expect-1.20.4.tgz",
+ "integrity": "sha512-Q5Vn3yjTDyCMV50TB6VRIbQNxSE4OmZR86VSbGaNpfUolm0iePBB4KdEEHmxoY5sT2+2DIvXW0rvMDP2nHZ4Mg==",
"dev": true,
- "license": "MIT",
- "dependencies": {
- "balanced-match": "^4.0.2"
- },
- "engines": {
- "node": "18 || 20 || >=22"
- }
+ "license": "MIT"
},
- "node_modules/@typescript-eslint/parser/node_modules/debug": {
- "version": "4.4.3",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz",
- "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==",
+ "node_modules/@types/express": {
+ "version": "5.0.6",
+ "resolved": "https://registry.npmjs.org/@types/express/-/express-5.0.6.tgz",
+ "integrity": "sha512-sKYVuV7Sv9fbPIt/442koC7+IIwK5olP1KWeD88e/idgoJqDm3JV/YUiPwkoKK92ylff2MGxSz1CSjsXelx0YA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "ms": "^2.1.3"
- },
- "engines": {
- "node": ">=6.0"
- },
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
- }
- },
- "node_modules/@typescript-eslint/parser/node_modules/eslint-visitor-keys": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-5.0.1.tgz",
- "integrity": "sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==",
- "dev": true,
- "license": "Apache-2.0",
- "engines": {
- "node": "^20.19.0 || ^22.13.0 || >=24"
- },
- "funding": {
- "url": "https://opencollective.com/eslint"
+ "@types/body-parser": "*",
+ "@types/express-serve-static-core": "^5.0.0",
+ "@types/serve-static": "^2"
}
},
- "node_modules/@typescript-eslint/parser/node_modules/minimatch": {
- "version": "10.2.5",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.5.tgz",
- "integrity": "sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==",
+ "node_modules/@types/express-serve-static-core": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-5.1.1.tgz",
+ "integrity": "sha512-v4zIMr/cX7/d2BpAEX3KNKL/JrT1s43s96lLvvdTmza1oEvDudCqK9aF/djc/SWgy8Yh0h30TZx5VpzqFCxk5A==",
"dev": true,
- "license": "BlueOak-1.0.0",
+ "license": "MIT",
"dependencies": {
- "brace-expansion": "^5.0.5"
- },
- "engines": {
- "node": "18 || 20 || >=22"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
+ "@types/node": "*",
+ "@types/qs": "*",
+ "@types/range-parser": "*",
+ "@types/send": "*"
}
},
- "node_modules/@typescript-eslint/parser/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,
- "license": "MIT"
- },
- "node_modules/@typescript-eslint/project-service": {
- "version": "8.58.2",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.58.2.tgz",
- "integrity": "sha512-Cq6UfpZZk15+r87BkIh5rDpi38W4b+Sjnb8wQCPPDDweS/LRCFjCyViEbzHk5Ck3f2QDfgmlxqSa7S7clDtlfg==",
+ "node_modules/@types/glob-stream": {
+ "version": "8.0.3",
+ "resolved": "https://registry.npmjs.org/@types/glob-stream/-/glob-stream-8.0.3.tgz",
+ "integrity": "sha512-vctgrT9AH/GK3TRaIbRUU0TZn12GBU4kzelZdPyJp1Sc8L/6Wrq21UrtN4+x4saqTg6COUIUtFV6JSYcVln/EQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@typescript-eslint/tsconfig-utils": "^8.58.2",
- "@typescript-eslint/types": "^8.58.2",
- "debug": "^4.4.3"
- },
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependencies": {
- "typescript": ">=4.8.4 <6.1.0"
+ "@types/node": "*",
+ "@types/picomatch": "*",
+ "@types/streamx": "*"
}
},
- "node_modules/@typescript-eslint/project-service/node_modules/debug": {
- "version": "4.4.3",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz",
- "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==",
+ "node_modules/@types/gulp": {
+ "version": "4.0.18",
+ "resolved": "https://registry.npmjs.org/@types/gulp/-/gulp-4.0.18.tgz",
+ "integrity": "sha512-IqkYa4sXkwH2uwqO2aXYOoAisJpLX13BPaS6lmEAoG4BbgOay3qqGQFsT9LMSSQVMQlEKU7wTUW0sPV46V0olw==",
"dev": true,
"license": "MIT",
"dependencies": {
- "ms": "^2.1.3"
- },
- "engines": {
- "node": ">=6.0"
- },
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
+ "@types/node": "*",
+ "@types/undertaker": ">=1.2.6",
+ "@types/vinyl-fs": "*",
+ "chokidar": "^3.3.1"
}
},
- "node_modules/@typescript-eslint/project-service/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,
- "license": "MIT"
- },
- "node_modules/@typescript-eslint/scope-manager": {
- "version": "8.58.2",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.58.2.tgz",
- "integrity": "sha512-SgmyvDPexWETQek+qzZnrG6844IaO02UVyOLhI4wpo82dpZJY9+6YZCKAMFzXb7qhx37mFK1QcPQ18tud+vo6Q==",
+ "node_modules/@types/gulp/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,
- "license": "MIT",
+ "license": "ISC",
"dependencies": {
- "@typescript-eslint/types": "8.58.2",
- "@typescript-eslint/visitor-keys": "8.58.2"
- },
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ "normalize-path": "^3.0.0",
+ "picomatch": "^2.0.4"
},
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- }
- },
- "node_modules/@typescript-eslint/tsconfig-utils": {
- "version": "8.58.2",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.58.2.tgz",
- "integrity": "sha512-3SR+RukipDvkkKp/d0jP0dyzuls3DbGmwDpVEc5wqk5f38KFThakqAAO0XMirWAE+kT00oTauTbzMFGPoAzB0A==",
- "dev": true,
- "license": "MIT",
"engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependencies": {
- "typescript": ">=4.8.4 <6.1.0"
+ "node": ">= 8"
}
},
- "node_modules/@typescript-eslint/type-utils": {
- "version": "8.59.3",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.59.3.tgz",
- "integrity": "sha512-g71d8QD8UaiHGvrJwyIS1hCX5r63w6Jll+4VEYhEAHXTDIqX1JgxhTAbEHtKntL9kuc4jRo7/GWw5xfCepSccQ==",
+ "node_modules/@types/gulp/node_modules/chokidar": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz",
+ "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@typescript-eslint/types": "8.59.3",
- "@typescript-eslint/typescript-estree": "8.59.3",
- "@typescript-eslint/utils": "8.59.3",
- "debug": "^4.4.3",
- "ts-api-utils": "^2.5.0"
+ "anymatch": "~3.1.2",
+ "braces": "~3.0.2",
+ "glob-parent": "~5.1.2",
+ "is-binary-path": "~2.1.0",
+ "is-glob": "~4.0.1",
+ "normalize-path": "~3.0.0",
+ "readdirp": "~3.6.0"
},
"engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ "node": ">= 8.10.0"
},
"funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
+ "url": "https://paulmillr.com/funding/"
},
- "peerDependencies": {
- "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0",
- "typescript": ">=4.8.4 <6.1.0"
+ "optionalDependencies": {
+ "fsevents": "~2.3.2"
}
},
- "node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/project-service": {
- "version": "8.59.3",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.59.3.tgz",
- "integrity": "sha512-ECiUWa/KYRGDFUqTNehaRgzDshnJfkTABJxVemHk4ko22gcr0ukloKjWvyQ64g8YCV/UI47kN1dbmjf/GaQYng==",
+ "node_modules/@types/gulp/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,
- "license": "MIT",
+ "license": "ISC",
"dependencies": {
- "@typescript-eslint/tsconfig-utils": "^8.59.3",
- "@typescript-eslint/types": "^8.59.3",
- "debug": "^4.4.3"
+ "is-glob": "^4.0.1"
},
"engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependencies": {
- "typescript": ">=4.8.4 <6.1.0"
+ "node": ">= 6"
}
},
- "node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/scope-manager": {
- "version": "8.59.3",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.59.3.tgz",
- "integrity": "sha512-t2LvZnoEfzKtnPjgeEu41xw5gxq9mQVfYy4OoZ4Vlt0sk3JwxmhCca/AR7DwOiHrjWgjAj6as4AhRLKSDfvZIA==",
+ "node_modules/@types/gulp/node_modules/readdirp": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
+ "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@typescript-eslint/types": "8.59.3",
- "@typescript-eslint/visitor-keys": "8.59.3"
+ "picomatch": "^2.2.1"
},
"engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
+ "node": ">=8.10.0"
}
},
- "node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/tsconfig-utils": {
- "version": "8.59.3",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.59.3.tgz",
- "integrity": "sha512-PcIJHjmaREXLgIAIzLnSY9VucEzz8FKXsRgFa1DmdGCK/5tJpW03TKJF01Q6VZd1lLdz2sIKPWaDUZN9dp//dw==",
+ "node_modules/@types/http-errors": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.5.tgz",
+ "integrity": "sha512-r8Tayk8HJnX0FztbZN7oVqGccWgw98T/0neJphO91KkmOzug1KkofZURD4UaD5uH8AqcFLfdPErnBod0u71/qg==",
"dev": true,
- "license": "MIT",
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependencies": {
- "typescript": ">=4.8.4 <6.1.0"
- }
+ "license": "MIT"
},
- "node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/types": {
- "version": "8.59.3",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.59.3.tgz",
- "integrity": "sha512-ePFoH0g4ludssdRFqqDxQePCxU4WQyRa9+XVwjm7yLn0FKhMeoetC+qBEEI1Eyb1pGSDveTIT09Bvw2WhlGayg==",
+ "node_modules/@types/long": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.2.tgz",
+ "integrity": "sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA==",
"dev": true,
- "license": "MIT",
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- }
+ "license": "MIT"
},
- "node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/typescript-estree": {
- "version": "8.59.3",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.59.3.tgz",
- "integrity": "sha512-CbRjVRAf7Lr9Kr8RopKcbY45p2VfmmHrm0ygOCYFi7oU8q19m0Fs/6iHS7kNOmwpp+ob07ZVcAqlxUod9lYdmg==",
+ "node_modules/@types/methods": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/@types/methods/-/methods-1.1.4.tgz",
+ "integrity": "sha512-ymXWVrDiCxTBE3+RIrrP533E70eA+9qu7zdWoHuOmGujkYtzf4HQF96b8nwHLqhuf4ykX61IGRIB38CC6/sImQ==",
"dev": true,
- "license": "MIT",
- "dependencies": {
- "@typescript-eslint/project-service": "8.59.3",
- "@typescript-eslint/tsconfig-utils": "8.59.3",
- "@typescript-eslint/types": "8.59.3",
- "@typescript-eslint/visitor-keys": "8.59.3",
- "debug": "^4.4.3",
- "minimatch": "^10.2.2",
- "semver": "^7.7.3",
- "tinyglobby": "^0.2.15",
- "ts-api-utils": "^2.5.0"
- },
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependencies": {
- "typescript": ">=4.8.4 <6.1.0"
- }
+ "license": "MIT"
},
- "node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/utils": {
- "version": "8.59.3",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.59.3.tgz",
- "integrity": "sha512-JAvT14goBzRzzzZyqq3P9BLArIxTtQURUtFgQ/V7FO+eU+Gg6ES+5ymOPP1wRxXcxAYeivCk4uS3jCKWI1K8Zg==",
+ "node_modules/@types/minimatch": {
+ "version": "3.0.5",
+ "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz",
+ "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==",
"dev": true,
- "license": "MIT",
- "dependencies": {
- "@eslint-community/eslint-utils": "^4.9.1",
- "@typescript-eslint/scope-manager": "8.59.3",
- "@typescript-eslint/types": "8.59.3",
- "@typescript-eslint/typescript-estree": "8.59.3"
- },
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependencies": {
- "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0",
- "typescript": ">=4.8.4 <6.1.0"
+ "license": "MIT"
+ },
+ "node_modules/@types/minimist": {
+ "version": "1.2.5",
+ "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.5.tgz",
+ "integrity": "sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@types/node": {
+ "version": "25.9.1",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-25.9.1.tgz",
+ "integrity": "sha512-xfrlY7UD5rMJk3ZVJP8BNzS28J36YJg+xp+LPXV1TdWxr8uMH5A860QNxYDGQe/ylDSgjxE52Q9VnO7p75tJxg==",
+ "license": "MIT",
+ "dependencies": {
+ "undici-types": ">=7.24.0 <7.24.7"
}
},
- "node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/visitor-keys": {
- "version": "8.59.3",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.59.3.tgz",
- "integrity": "sha512-f1UQF7ggd42YiwI5wGrRaPsa+P0CINBlrkLPmGfpq/u/I/oVtecoEIfFR9ag/oa1sLOsRNZ6xehf6qMZhQGBDg==",
+ "node_modules/@types/normalize-package-data": {
+ "version": "2.4.4",
+ "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz",
+ "integrity": "sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@types/picomatch": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/@types/picomatch/-/picomatch-4.0.2.tgz",
+ "integrity": "sha512-qHHxQ+P9PysNEGbALT8f8YOSHW0KJu6l2xU8DYY0fu/EmGxXdVnuTLvFUvBgPJMSqXq29SYHveejeAha+4AYgA==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@types/qs": {
+ "version": "6.15.0",
+ "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.15.0.tgz",
+ "integrity": "sha512-JawvT8iBVWpzTrz3EGw9BTQFg3BQNmwERdKE22vlTxawwtbyUSlMppvZYKLZzB5zgACXdXxbD3m1bXaMqP/9ow==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@types/range-parser": {
+ "version": "1.2.7",
+ "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.7.tgz",
+ "integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@types/readable-stream": {
+ "version": "4.0.23",
+ "resolved": "https://registry.npmjs.org/@types/readable-stream/-/readable-stream-4.0.23.tgz",
+ "integrity": "sha512-wwXrtQvbMHxCbBgjHaMGEmImFTQxxpfMOR/ZoQnXxB1woqkUbdLGFDgauo00Py9IudiaqSeiBiulSV9i6XIPig==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@typescript-eslint/types": "8.59.3",
- "eslint-visitor-keys": "^5.0.0"
- },
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
+ "@types/node": "*"
}
},
- "node_modules/@typescript-eslint/type-utils/node_modules/balanced-match": {
- "version": "4.0.4",
- "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz",
- "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==",
+ "node_modules/@types/send": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/@types/send/-/send-1.2.1.tgz",
+ "integrity": "sha512-arsCikDvlU99zl1g69TcAB3mzZPpxgw0UQnaHeC1Nwb015xp8bknZv5rIfri9xTOcMuaVgvabfIRA7PSZVuZIQ==",
"dev": true,
"license": "MIT",
- "engines": {
- "node": "18 || 20 || >=22"
+ "dependencies": {
+ "@types/node": "*"
}
},
- "node_modules/@typescript-eslint/type-utils/node_modules/brace-expansion": {
- "version": "5.0.6",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.6.tgz",
- "integrity": "sha512-kLpxurY4Z4r9sgMsyG0Z9uzsBlgiU/EFKhj/h91/8yHu0edo7XuixOIH3VcJ8kkxs6/jPzoI6U9Vj3WqbMQ94g==",
+ "node_modules/@types/serve-static": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-2.2.0.tgz",
+ "integrity": "sha512-8mam4H1NHLtu7nmtalF7eyBH14QyOASmcxHhSfEoRyr0nP/YdoesEtU+uSRvMe96TW/HPTtkoKqQLl53N7UXMQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "balanced-match": "^4.0.2"
- },
- "engines": {
- "node": "18 || 20 || >=22"
+ "@types/http-errors": "*",
+ "@types/node": "*"
}
},
- "node_modules/@typescript-eslint/type-utils/node_modules/debug": {
- "version": "4.4.3",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz",
- "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==",
+ "node_modules/@types/streamx": {
+ "version": "2.9.5",
+ "resolved": "https://registry.npmjs.org/@types/streamx/-/streamx-2.9.5.tgz",
+ "integrity": "sha512-IHYsa6jYrck8VEdSwpY141FTTf6D7boPeMq9jy4qazNrFMA4VbRz/sw5LSsfR7jwdDcx0QKWkUexZvsWBC2eIQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "ms": "^2.1.3"
- },
- "engines": {
- "node": ">=6.0"
- },
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
+ "@types/node": "*"
}
},
- "node_modules/@typescript-eslint/type-utils/node_modules/eslint-visitor-keys": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-5.0.1.tgz",
- "integrity": "sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==",
+ "node_modules/@types/superagent": {
+ "version": "8.1.9",
+ "resolved": "https://registry.npmjs.org/@types/superagent/-/superagent-8.1.9.tgz",
+ "integrity": "sha512-pTVjI73witn+9ILmoJdajHGW2jkSaOzhiFYF1Rd3EQ94kymLqB9PjD9ISg7WaALC7+dCHT0FGe9T2LktLq/3GQ==",
"dev": true,
- "license": "Apache-2.0",
- "engines": {
- "node": "^20.19.0 || ^22.13.0 || >=24"
- },
- "funding": {
- "url": "https://opencollective.com/eslint"
+ "license": "MIT",
+ "dependencies": {
+ "@types/cookiejar": "^2.1.5",
+ "@types/methods": "^1.1.4",
+ "@types/node": "*",
+ "form-data": "^4.0.0"
}
},
- "node_modules/@typescript-eslint/type-utils/node_modules/minimatch": {
- "version": "10.2.5",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.5.tgz",
- "integrity": "sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==",
+ "node_modules/@types/supertest": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/@types/supertest/-/supertest-7.2.0.tgz",
+ "integrity": "sha512-uh2Lv57xvggst6lCqNdFAmDSvoMG7M/HDtX4iUCquxQ5EGPtaPM5PL5Hmi7LCvOG8db7YaCPNJEeoI8s/WzIQw==",
"dev": true,
- "license": "BlueOak-1.0.0",
+ "license": "MIT",
"dependencies": {
- "brace-expansion": "^5.0.5"
- },
- "engines": {
- "node": "18 || 20 || >=22"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
+ "@types/methods": "^1.1.4",
+ "@types/superagent": "^8.1.0"
}
},
- "node_modules/@typescript-eslint/type-utils/node_modules/ms": {
- "version": "2.1.3",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
- "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
+ "node_modules/@types/undertaker": {
+ "version": "1.2.12",
+ "resolved": "https://registry.npmjs.org/@types/undertaker/-/undertaker-1.2.12.tgz",
+ "integrity": "sha512-52BiBni1srlIx/o7anEB1Y230yr3+21P0utA4VXLyeyeR2gHANKi5kJ/e0FakD4RYEXX0D9dOC7PDrVqL1j98Q==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/node": "*",
+ "@types/undertaker-registry": "*",
+ "async-done": "~1.3.2"
+ }
+ },
+ "node_modules/@types/undertaker-registry": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/@types/undertaker-registry/-/undertaker-registry-1.0.4.tgz",
+ "integrity": "sha512-tW77pHh2TU4uebWXWeEM5laiw8BuJ7pyJYDh6xenOs75nhny2kVgwYbegJ4BoLMYsIrXaBpKYaPdYO3/udG+hg==",
"dev": true,
"license": "MIT"
},
- "node_modules/@typescript-eslint/types": {
+ "node_modules/@types/validator": {
+ "version": "13.15.10",
+ "resolved": "https://registry.npmjs.org/@types/validator/-/validator-13.15.10.tgz",
+ "integrity": "sha512-T8L6i7wCuyoK8A/ZeLYt1+q0ty3Zb9+qbSSvrIVitzT3YjZqkTZ40IbRsPanlB4h1QB3JVL1SYCdR6ngtFYcuA==",
+ "license": "MIT"
+ },
+ "node_modules/@types/vinyl": {
+ "version": "2.0.12",
+ "resolved": "https://registry.npmjs.org/@types/vinyl/-/vinyl-2.0.12.tgz",
+ "integrity": "sha512-Sr2fYMBUVGYq8kj3UthXFAu5UN6ZW+rYr4NACjZQJvHvj+c8lYv0CahmZ2P/r7iUkN44gGUBwqxZkrKXYPb7cw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/expect": "^1.20.4",
+ "@types/node": "*"
+ }
+ },
+ "node_modules/@types/vinyl-fs": {
+ "version": "3.0.7",
+ "resolved": "https://registry.npmjs.org/@types/vinyl-fs/-/vinyl-fs-3.0.7.tgz",
+ "integrity": "sha512-ojGFhBnh5pj5Crf2yBOk3rjJXUX2U4W9z6tZ7hn6pUbQa/J8KH8NrXem0POYVQWI3ifnx4T65DPktuWfxc3iiA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/glob-stream": "*",
+ "@types/node": "*",
+ "@types/vinyl": "*"
+ }
+ },
+ "node_modules/@types/webidl-conversions": {
+ "version": "7.0.3",
+ "resolved": "https://registry.npmjs.org/@types/webidl-conversions/-/webidl-conversions-7.0.3.tgz",
+ "integrity": "sha512-CiJJvcRtIgzadHCYXw7dqEnMNRjhGZlYK05Mj9OyktqV8uVT8fD2BFOB7S1uwBE3Kj2Z+4UyPmFw/Ixgw/LAlA==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@types/whatwg-url": {
+ "version": "13.0.0",
+ "resolved": "https://registry.npmjs.org/@types/whatwg-url/-/whatwg-url-13.0.0.tgz",
+ "integrity": "sha512-N8WXpbE6Wgri7KUSvrmQcqrMllKZ9uxkYWMt+mCSGwNc0Hsw9VQTW7ApqI4XNrx6/SaM2QQJCzMPDEXE058s+Q==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/webidl-conversions": "*"
+ }
+ },
+ "node_modules/@types/ws": {
+ "version": "8.18.1",
+ "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.18.1.tgz",
+ "integrity": "sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/node": "*"
+ }
+ },
+ "node_modules/@typescript-eslint/eslint-plugin": {
"version": "8.58.2",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.58.2.tgz",
- "integrity": "sha512-9TukXyATBQf/Jq9AMQXfvurk+G5R2MwfqQGDR2GzGz28HvY/lXNKGhkY+6IOubwcquikWk5cjlgPvD2uAA7htQ==",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.58.2.tgz",
+ "integrity": "sha512-aC2qc5thQahutKjP+cl8cgN9DWe3ZUqVko30CMSZHnFEHyhOYoZSzkGtAI2mcwZ38xeImDucI4dnqsHiOYuuCw==",
"dev": true,
"license": "MIT",
+ "dependencies": {
+ "@eslint-community/regexpp": "^4.12.2",
+ "@typescript-eslint/scope-manager": "8.58.2",
+ "@typescript-eslint/type-utils": "8.58.2",
+ "@typescript-eslint/utils": "8.58.2",
+ "@typescript-eslint/visitor-keys": "8.58.2",
+ "ignore": "^7.0.5",
+ "natural-compare": "^1.4.0",
+ "ts-api-utils": "^2.5.0"
+ },
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependencies": {
+ "@typescript-eslint/parser": "^8.58.2",
+ "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0",
+ "typescript": ">=4.8.4 <6.1.0"
}
},
- "node_modules/@typescript-eslint/typescript-estree": {
+ "node_modules/@typescript-eslint/parser": {
"version": "8.58.2",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.58.2.tgz",
- "integrity": "sha512-ELGuoofuhhoCvNbQjFFiobFcGgcDCEm0ThWdmO4Z0UzLqPXS3KFvnEZ+SHewwOYHjM09tkzOWXNTv9u6Gqtyuw==",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.58.2.tgz",
+ "integrity": "sha512-/Zb/xaIDfxeJnvishjGdcR4jmr7S+bda8PKNhRGdljDM+elXhlvN0FyPSsMnLmJUrVG9aPO6dof80wjMawsASg==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@typescript-eslint/project-service": "8.58.2",
- "@typescript-eslint/tsconfig-utils": "8.58.2",
+ "@typescript-eslint/scope-manager": "8.58.2",
"@typescript-eslint/types": "8.58.2",
+ "@typescript-eslint/typescript-estree": "8.58.2",
"@typescript-eslint/visitor-keys": "8.58.2",
- "debug": "^4.4.3",
- "minimatch": "^10.2.2",
- "semver": "^7.7.3",
- "tinyglobby": "^0.2.15",
- "ts-api-utils": "^2.5.0"
+ "debug": "^4.4.3"
},
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -6571,48 +5904,155 @@
"url": "https://opencollective.com/typescript-eslint"
},
"peerDependencies": {
+ "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0",
"typescript": ">=4.8.4 <6.1.0"
}
},
- "node_modules/@typescript-eslint/typescript-estree/node_modules/balanced-match": {
- "version": "4.0.4",
- "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz",
- "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==",
+ "node_modules/@typescript-eslint/project-service": {
+ "version": "8.58.2",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.58.2.tgz",
+ "integrity": "sha512-Cq6UfpZZk15+r87BkIh5rDpi38W4b+Sjnb8wQCPPDDweS/LRCFjCyViEbzHk5Ck3f2QDfgmlxqSa7S7clDtlfg==",
"dev": true,
"license": "MIT",
+ "dependencies": {
+ "@typescript-eslint/tsconfig-utils": "^8.58.2",
+ "@typescript-eslint/types": "^8.58.2",
+ "debug": "^4.4.3"
+ },
"engines": {
- "node": "18 || 20 || >=22"
- }
- },
- "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": {
- "version": "5.0.5",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.5.tgz",
- "integrity": "sha512-VZznLgtwhn+Mact9tfiwx64fA9erHH/MCXEUfB/0bX/6Fz6ny5EGTXYltMocqg4xFAQZtnO3DHWWXi8RiuN7cQ==",
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependencies": {
+ "typescript": ">=4.8.4 <6.1.0"
+ }
+ },
+ "node_modules/@typescript-eslint/scope-manager": {
+ "version": "8.58.2",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.58.2.tgz",
+ "integrity": "sha512-SgmyvDPexWETQek+qzZnrG6844IaO02UVyOLhI4wpo82dpZJY9+6YZCKAMFzXb7qhx37mFK1QcPQ18tud+vo6Q==",
"dev": true,
"license": "MIT",
"dependencies": {
- "balanced-match": "^4.0.2"
+ "@typescript-eslint/types": "8.58.2",
+ "@typescript-eslint/visitor-keys": "8.58.2"
},
"engines": {
- "node": "18 || 20 || >=22"
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
}
},
- "node_modules/@typescript-eslint/typescript-estree/node_modules/debug": {
- "version": "4.4.3",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz",
- "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==",
+ "node_modules/@typescript-eslint/tsconfig-utils": {
+ "version": "8.58.2",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.58.2.tgz",
+ "integrity": "sha512-3SR+RukipDvkkKp/d0jP0dyzuls3DbGmwDpVEc5wqk5f38KFThakqAAO0XMirWAE+kT00oTauTbzMFGPoAzB0A==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependencies": {
+ "typescript": ">=4.8.4 <6.1.0"
+ }
+ },
+ "node_modules/@typescript-eslint/type-utils": {
+ "version": "8.58.2",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.58.2.tgz",
+ "integrity": "sha512-Z7EloNR/B389FvabdGeTo2XMs4W9TjtPiO9DAsmT0yom0bwlPyRjkJ1uCdW1DvrrrYP50AJZ9Xc3sByZA9+dcg==",
"dev": true,
"license": "MIT",
"dependencies": {
- "ms": "^2.1.3"
+ "@typescript-eslint/types": "8.58.2",
+ "@typescript-eslint/typescript-estree": "8.58.2",
+ "@typescript-eslint/utils": "8.58.2",
+ "debug": "^4.4.3",
+ "ts-api-utils": "^2.5.0"
},
"engines": {
- "node": ">=6.0"
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
},
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependencies": {
+ "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0",
+ "typescript": ">=4.8.4 <6.1.0"
+ }
+ },
+ "node_modules/@typescript-eslint/types": {
+ "version": "8.58.2",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.58.2.tgz",
+ "integrity": "sha512-9TukXyATBQf/Jq9AMQXfvurk+G5R2MwfqQGDR2GzGz28HvY/lXNKGhkY+6IOubwcquikWk5cjlgPvD2uAA7htQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ }
+ },
+ "node_modules/@typescript-eslint/typescript-estree": {
+ "version": "8.58.2",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.58.2.tgz",
+ "integrity": "sha512-ELGuoofuhhoCvNbQjFFiobFcGgcDCEm0ThWdmO4Z0UzLqPXS3KFvnEZ+SHewwOYHjM09tkzOWXNTv9u6Gqtyuw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@typescript-eslint/project-service": "8.58.2",
+ "@typescript-eslint/tsconfig-utils": "8.58.2",
+ "@typescript-eslint/types": "8.58.2",
+ "@typescript-eslint/visitor-keys": "8.58.2",
+ "debug": "^4.4.3",
+ "minimatch": "^10.2.2",
+ "semver": "^7.7.3",
+ "tinyglobby": "^0.2.15",
+ "ts-api-utils": "^2.5.0"
+ },
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependencies": {
+ "typescript": ">=4.8.4 <6.1.0"
+ }
+ },
+ "node_modules/@typescript-eslint/typescript-estree/node_modules/balanced-match": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz",
+ "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "18 || 20 || >=22"
+ }
+ },
+ "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": {
+ "version": "5.0.6",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.6.tgz",
+ "integrity": "sha512-kLpxurY4Z4r9sgMsyG0Z9uzsBlgiU/EFKhj/h91/8yHu0edo7XuixOIH3VcJ8kkxs6/jPzoI6U9Vj3WqbMQ94g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "balanced-match": "^4.0.2"
+ },
+ "engines": {
+ "node": "18 || 20 || >=22"
}
},
"node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": {
@@ -6631,13 +6071,6 @@
"url": "https://github.com/sponsors/isaacs"
}
},
- "node_modules/@typescript-eslint/typescript-estree/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,
- "license": "MIT"
- },
"node_modules/@typescript-eslint/utils": {
"version": "8.58.2",
"resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.58.2.tgz",
@@ -6693,6 +6126,175 @@
"url": "https://opencollective.com/eslint"
}
},
+ "node_modules/@vitest/coverage-istanbul": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/@vitest/coverage-istanbul/-/coverage-istanbul-4.1.2.tgz",
+ "integrity": "sha512-WSz7+4a7PcMtMNvIP7AXUMffsq4JrWeJaguC8lg6fSQyGxSfaT4Rf81idqwxTT6qX5kjjZw2t9rAnCRRQobSqw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/core": "^7.29.0",
+ "@istanbuljs/schema": "^0.1.3",
+ "@jridgewell/gen-mapping": "^0.3.13",
+ "@jridgewell/trace-mapping": "0.3.31",
+ "istanbul-lib-coverage": "^3.2.2",
+ "istanbul-lib-report": "^3.0.1",
+ "istanbul-reports": "^3.2.0",
+ "magicast": "^0.5.2",
+ "obug": "^2.1.1",
+ "tinyrainbow": "^3.1.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/vitest"
+ },
+ "peerDependencies": {
+ "vitest": "4.1.2"
+ }
+ },
+ "node_modules/@vitest/coverage-v8": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/@vitest/coverage-v8/-/coverage-v8-4.1.2.tgz",
+ "integrity": "sha512-sPK//PHO+kAkScb8XITeB1bf7fsk85Km7+rt4eeuRR3VS1/crD47cmV5wicisJmjNdfeokTZwjMk4Mj2d58Mgg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@bcoe/v8-coverage": "^1.0.2",
+ "@vitest/utils": "4.1.2",
+ "ast-v8-to-istanbul": "^1.0.0",
+ "istanbul-lib-coverage": "^3.2.2",
+ "istanbul-lib-report": "^3.0.1",
+ "istanbul-reports": "^3.2.0",
+ "magicast": "^0.5.2",
+ "obug": "^2.1.1",
+ "std-env": "^4.0.0-rc.1",
+ "tinyrainbow": "^3.1.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/vitest"
+ },
+ "peerDependencies": {
+ "@vitest/browser": "4.1.2",
+ "vitest": "4.1.2"
+ },
+ "peerDependenciesMeta": {
+ "@vitest/browser": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@vitest/expect": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-4.1.2.tgz",
+ "integrity": "sha512-gbu+7B0YgUJ2nkdsRJrFFW6X7NTP44WlhiclHniUhxADQJH5Szt9mZ9hWnJPJ8YwOK5zUOSSlSvyzRf0u1DSBQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@standard-schema/spec": "^1.1.0",
+ "@types/chai": "^5.2.2",
+ "@vitest/spy": "4.1.2",
+ "@vitest/utils": "4.1.2",
+ "chai": "^6.2.2",
+ "tinyrainbow": "^3.1.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/vitest"
+ }
+ },
+ "node_modules/@vitest/mocker": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-4.1.2.tgz",
+ "integrity": "sha512-Ize4iQtEALHDttPRCmN+FKqOl2vxTiNUhzobQFFt/BM1lRUTG7zRCLOykG/6Vo4E4hnUdfVLo5/eqKPukcWW7Q==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@vitest/spy": "4.1.2",
+ "estree-walker": "^3.0.3",
+ "magic-string": "^0.30.21"
+ },
+ "funding": {
+ "url": "https://opencollective.com/vitest"
+ },
+ "peerDependencies": {
+ "msw": "^2.4.9",
+ "vite": "^6.0.0 || ^7.0.0 || ^8.0.0"
+ },
+ "peerDependenciesMeta": {
+ "msw": {
+ "optional": true
+ },
+ "vite": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@vitest/pretty-format": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-4.1.2.tgz",
+ "integrity": "sha512-dwQga8aejqeuB+TvXCMzSQemvV9hNEtDDpgUKDzOmNQayl2OG241PSWeJwKRH3CiC+sESrmoFd49rfnq7T4RnA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "tinyrainbow": "^3.1.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/vitest"
+ }
+ },
+ "node_modules/@vitest/runner": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-4.1.2.tgz",
+ "integrity": "sha512-Gr+FQan34CdiYAwpGJmQG8PgkyFVmARK8/xSijia3eTFgVfpcpztWLuP6FttGNfPLJhaZVP/euvujeNYar36OQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@vitest/utils": "4.1.2",
+ "pathe": "^2.0.3"
+ },
+ "funding": {
+ "url": "https://opencollective.com/vitest"
+ }
+ },
+ "node_modules/@vitest/snapshot": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-4.1.2.tgz",
+ "integrity": "sha512-g7yfUmxYS4mNxk31qbOYsSt2F4m1E02LFqO53Xpzg3zKMhLAPZAjjfyl9e6z7HrW6LvUdTwAQR3HHfLjpko16A==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@vitest/pretty-format": "4.1.2",
+ "@vitest/utils": "4.1.2",
+ "magic-string": "^0.30.21",
+ "pathe": "^2.0.3"
+ },
+ "funding": {
+ "url": "https://opencollective.com/vitest"
+ }
+ },
+ "node_modules/@vitest/spy": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-4.1.2.tgz",
+ "integrity": "sha512-DU4fBnbVCJGNBwVA6xSToNXrkZNSiw59H8tcuUspVMsBDBST4nfvsPsEHDHGtWRRnqBERBQu7TrTKskmjqTXKA==",
+ "dev": true,
+ "license": "MIT",
+ "funding": {
+ "url": "https://opencollective.com/vitest"
+ }
+ },
+ "node_modules/@vitest/utils": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-4.1.2.tgz",
+ "integrity": "sha512-xw2/TiX82lQHA06cgbqRKFb5lCAy3axQ4H4SoUFhUsg+wztiet+co86IAMDtF6Vm1hc7J6j09oh/rgDn+JdKIQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@vitest/pretty-format": "4.1.2",
+ "convert-source-map": "^2.0.0",
+ "tinyrainbow": "^3.1.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/vitest"
+ }
+ },
"node_modules/@whatwg-node/promise-helpers": {
"version": "1.3.2",
"resolved": "https://registry.npmjs.org/@whatwg-node/promise-helpers/-/promise-helpers-1.3.2.tgz",
@@ -6727,6 +6329,30 @@
"node": ">=18.12.0"
}
},
+ "node_modules/@yarnpkg/parsers/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/@yarnpkg/parsers/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/@zkochan/js-yaml": {
"version": "0.0.7",
"resolved": "https://registry.npmjs.org/@zkochan/js-yaml/-/js-yaml-0.0.7.tgz",
@@ -6740,13 +6366,6 @@
"js-yaml": "bin/js-yaml.js"
}
},
- "node_modules/@zkochan/js-yaml/node_modules/argparse": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
- "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
- "dev": true,
- "license": "Python-2.0"
- },
"node_modules/abbrev": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/abbrev/-/abbrev-3.0.1.tgz",
@@ -6762,6 +6381,7 @@
"resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz",
"integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"event-target-shim": "^5.0.0"
},
@@ -6773,15 +6393,16 @@
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/abstract-logging/-/abstract-logging-2.0.1.tgz",
"integrity": "sha512-2BjRTZxTPvheOvGbBslFSYOUkr+SjPtOnrLP33f+VIWLzezQpZcqVg7ja3L4dBXmzzgwT+a029jRx5PCi3JuiA==",
- "dev": true
+ "license": "MIT"
},
"node_modules/accepts": {
- "version": "1.3.8",
- "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz",
- "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/accepts/-/accepts-2.0.0.tgz",
+ "integrity": "sha512-5cvg6CtKwfgdmVqY1WIiXKc3Q1bkRqGLi+2W/6ao+6Y7gu/RCwRuAhGEzh5B4KlszSuTLgZYuqFqo5bImjNKng==",
+ "license": "MIT",
"dependencies": {
- "mime-types": "~2.1.34",
- "negotiator": "0.6.3"
+ "mime-types": "^3.0.0",
+ "negotiator": "^1.0.0"
},
"engines": {
"node": ">= 0.6"
@@ -6800,20 +6421,12 @@
"node": ">=0.4.0"
}
},
- "node_modules/acorn-jsx": {
- "version": "5.3.2",
- "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz",
- "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==",
- "dev": true,
- "peerDependencies": {
- "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0"
- }
- },
"node_modules/acorn-walk": {
- "version": "8.3.4",
- "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.4.tgz",
- "integrity": "sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==",
+ "version": "8.3.5",
+ "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.5.tgz",
+ "integrity": "sha512-HEHNfbars9v4pgpW6SO1KSPkfoS0xVOM/9UzkJltjlsHZmJasxg8aXkuZa7SMf8vKGIBhpUsPluQSqhJFCqebw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"acorn": "^8.11.0"
},
@@ -6829,40 +6442,15 @@
"license": "MIT"
},
"node_modules/agent-base": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz",
- "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==",
- "dev": true,
- "dependencies": {
- "debug": "4"
- },
- "engines": {
- "node": ">= 6.0.0"
- }
- },
- "node_modules/agent-base/node_modules/debug": {
- "version": "4.3.7",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz",
- "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==",
+ "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,
- "dependencies": {
- "ms": "^2.1.3"
- },
+ "license": "MIT",
"engines": {
- "node": ">=6.0"
- },
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
+ "node": ">= 14"
}
},
- "node_modules/agent-base/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/agentkeepalive": {
"version": "4.6.0",
"resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.6.0.tgz",
@@ -6881,6 +6469,7 @@
"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"
@@ -6889,15 +6478,6 @@
"node": ">=8"
}
},
- "node_modules/aggregate-error/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,
- "engines": {
- "node": ">=6"
- }
- },
"node_modules/ajv": {
"version": "8.18.0",
"resolved": "https://registry.npmjs.org/ajv/-/ajv-8.18.0.tgz",
@@ -6918,6 +6498,7 @@
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-3.0.1.tgz",
"integrity": "sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==",
+ "license": "MIT",
"dependencies": {
"ajv": "^8.0.0"
},
@@ -6948,13 +6529,17 @@
}
},
"node_modules/amqplib": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/amqplib/-/amqplib-2.0.1.tgz",
- "integrity": "sha512-a3P2MgfCf9nzVis12VxWEn0dS6hcqve7dlEAhXDtIWR27BlhtMkILOc+H9aeHjDi6i6r94dYKc2Kx2OFe3avvg==",
+ "version": "0.10.9",
+ "resolved": "https://registry.npmjs.org/amqplib/-/amqplib-0.10.9.tgz",
+ "integrity": "sha512-jwSftI4QjS3mizvnSnOrPGYiUnm1vI2OP1iXeOUz5pb74Ua0nbf6nPyyTzuiCLEE3fMpaJORXh2K/TQ08H5xGA==",
"dev": true,
"license": "MIT",
+ "dependencies": {
+ "buffer-more-ints": "~1.0.0",
+ "url-parse": "~1.5.10"
+ },
"engines": {
- "node": ">=18"
+ "node": ">=10"
}
},
"node_modules/ansi-colors": {
@@ -6962,6 +6547,7 @@
"resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz",
"integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=6"
}
@@ -6971,6 +6557,7 @@
"resolved": "https://registry.npmjs.org/ansi-cyan/-/ansi-cyan-0.1.1.tgz",
"integrity": "sha512-eCjan3AVo/SxZ0/MyIYRtkpxIu/H3xZN7URr1vXVrISxeyz8fUFz0FJziamK4sS8I+t35y4rHg1b2PklyBe/7A==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"ansi-wrap": "0.1.0"
},
@@ -6978,11 +6565,28 @@
"node": ">=0.10.0"
}
},
+ "node_modules/ansi-escapes": {
+ "version": "7.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-7.3.0.tgz",
+ "integrity": "sha512-BvU8nYgGQBxcmMuEeUEmNTvrMVjJNSH7RgW24vXexN4Ven6qCvy4TntnvlnwnMLTVlcRQQdbRY8NKnaIoeWDNg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "environment": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/ansi-gray": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/ansi-gray/-/ansi-gray-0.1.1.tgz",
"integrity": "sha512-HrgGIZUl8h2EHuZaU9hTR/cU5nhKxpVE1V6kdGsQ8e4zirElJ5fvtfc8N7Q1oq1aatO275i8pUFUCpNWCAnVWw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"ansi-wrap": "0.1.0"
},
@@ -6995,6 +6599,7 @@
"resolved": "https://registry.npmjs.org/ansi-red/-/ansi-red-0.1.1.tgz",
"integrity": "sha512-ewaIr5y+9CUTGFwZfpECUbFlGcC0GCw1oqR9RI6h1gQCd9Aj2GxSckCnPsVJnmfMZbwFYE+leZGASgkWl06Jow==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"ansi-wrap": "0.1.0"
},
@@ -7003,12 +6608,13 @@
}
},
"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": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
+ "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==",
"dev": true,
+ "license": "MIT",
"engines": {
- "node": ">=8"
+ "node": ">=0.10.0"
}
},
"node_modules/ansi-styles": {
@@ -7016,6 +6622,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"
},
@@ -7031,14 +6638,15 @@
"resolved": "https://registry.npmjs.org/ansi-wrap/-/ansi-wrap-0.1.0.tgz",
"integrity": "sha512-ZyznvL8k/FZeQHr2T6LzcJ/+vBApDnMNZvfVFy3At0knswWd6rJ3/0Hhmpu8oqa6C92npmozs890sX9Dl6q+Qw==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/ansis": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/ansis/-/ansis-4.3.0.tgz",
- "integrity": "sha512-44mvgtPvohuU/70DdY5Oz2AIrLJ9k6/5x4KmoSvPwO+5Moijo0+N9D0fKbbYZQWP1hNm5CpOf+E01jhxG/r8xg==",
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/ansis/-/ansis-4.2.0.tgz",
+ "integrity": "sha512-HqZ5rWlFjGiV0tDm3UxxgNRqsOTniqoKZu0pIAfh7TZQMGuZK+hH0drySty0si0QXj1ieop4+SkSfPZBPPkHig==",
"license": "ISC",
"engines": {
"node": ">=14"
@@ -7048,32 +6656,107 @@
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz",
"integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"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==",
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-1.3.2.tgz",
+ "integrity": "sha512-0XNayC8lTHQ2OI8aljNCN3sSx6hsr/1+rlcDAotXJR7C1oZZHCNsfpbKwMjRA3Uqb5tF1Rae2oloTr4xpq+WjA==",
"dev": true,
+ "license": "ISC",
"dependencies": {
- "normalize-path": "^3.0.0",
- "picomatch": "^2.0.4"
+ "micromatch": "^2.1.5",
+ "normalize-path": "^2.0.0"
+ }
+ },
+ "node_modules/anymatch/node_modules/arr-diff": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz",
+ "integrity": "sha512-dtXTVMkh6VkEEA7OhXnN1Ecb8aAGFdZ1LFxtOCoqj4qkyOJMt7+qs6Ahdy6p/NQCPYsRSXXivhSB/J5E9jmYKA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "arr-flatten": "^1.0.1"
},
"engines": {
- "node": ">= 8"
+ "node": ">=0.10.0"
}
},
- "node_modules/anymatch/node_modules/picomatch": {
- "version": "2.3.2",
- "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.2.tgz",
- "integrity": "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==",
+ "node_modules/anymatch/node_modules/braces": {
+ "version": "1.8.5",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz",
+ "integrity": "sha512-xU7bpz2ytJl1bH9cgIurjpg/n8Gohy9GTw81heDYLJQ4RU60dlyJsa+atVF2pI0yMMvKxI9HkKwjePCj5XI1hw==",
"dev": true,
"license": "MIT",
+ "dependencies": {
+ "expand-range": "^1.8.1",
+ "preserve": "^0.2.0",
+ "repeat-element": "^1.1.2"
+ },
"engines": {
- "node": ">=8.6"
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/anymatch/node_modules/is-extglob": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
+ "integrity": "sha512-7Q+VbVafe6x2T+Tu6NcOf6sRklazEPmBoB3IWk3WdGZM2iGUwU/Oe3Wtq5lSEkDTTlpp8yx+5t4pzO/i9Ty1ww==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/anymatch/node_modules/is-glob": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
+ "integrity": "sha512-a1dBeB19NXsf/E0+FHqkagizel/LQw2DjSQpvQrj3zT+jYPpaUCryPnrQajXKFLCMuf4I6FhRpaGtw4lPrG6Eg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "is-extglob": "^1.0.0"
},
- "funding": {
- "url": "https://github.com/sponsors/jonschlinkert"
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/anymatch/node_modules/micromatch": {
+ "version": "2.3.11",
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz",
+ "integrity": "sha512-LnU2XFEk9xxSJ6rfgAry/ty5qwUTyHYOBU0g4R6tIw5ljwgGIBmiKhRWLw5NpMOnrgUNcDJ4WMp8rl3sYVHLNA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "arr-diff": "^2.0.0",
+ "array-unique": "^0.2.1",
+ "braces": "^1.8.2",
+ "expand-brackets": "^0.1.4",
+ "extglob": "^0.3.1",
+ "filename-regex": "^2.0.0",
+ "is-extglob": "^1.0.0",
+ "is-glob": "^2.0.1",
+ "kind-of": "^3.0.2",
+ "normalize-path": "^2.0.1",
+ "object.omit": "^2.0.0",
+ "parse-glob": "^3.0.4",
+ "regex-cache": "^0.4.2"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/anymatch/node_modules/normalize-path": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
+ "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "remove-trailing-separator": "^1.0.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
}
},
"node_modules/app-root-path": {
@@ -7081,6 +6764,7 @@
"resolved": "https://registry.npmjs.org/app-root-path/-/app-root-path-3.1.0.tgz",
"integrity": "sha512-biN3PwB2gUtjaYy/isrU3aNWI5w+fAfvHkSvCKeQGxhmYpwKFUxudR3Yya+KqVRHBmEDYh+/lTozYCFbmzX4nA==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">= 6.0.0"
}
@@ -7090,6 +6774,7 @@
"resolved": "https://registry.npmjs.org/append-buffer/-/append-buffer-1.0.2.tgz",
"integrity": "sha512-WLbYiXzD3y/ATLZFufV/rZvWdZOs+Z/+5v1rBZ463Jn398pa6kcde27cvozYnBoxXblGZTFfoPpsaEw0orU5BA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"buffer-equal": "^1.0.0"
},
@@ -7101,20 +6786,7 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/append-field/-/append-field-1.0.0.tgz",
"integrity": "sha512-klpgFSWLW1ZEs8svjfb7g4qWY0YS5imI82dTg+QahUvJ8YqAY0P10Uk8tTyh9ZGuYEZEMaeJYCF5BFuX552hsw==",
- "dev": true
- },
- "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"
- },
- "engines": {
- "node": ">=8"
- }
+ "license": "MIT"
},
"node_modules/aproba": {
"version": "2.0.0",
@@ -7123,32 +6795,26 @@
"dev": true,
"license": "ISC"
},
- "node_modules/archy": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz",
- "integrity": "sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw==",
- "dev": true
- },
"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/arr-diff": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
"integrity": "sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=0.10.0"
}
@@ -7158,6 +6824,7 @@
"resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz",
"integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=0.10.0"
}
@@ -7167,6 +6834,7 @@
"resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz",
"integrity": "sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=0.10.0"
}
@@ -7176,6 +6844,7 @@
"resolved": "https://registry.npmjs.org/array-differ/-/array-differ-1.0.0.tgz",
"integrity": "sha512-LeZY+DZDRnvP7eMuQ6LHfCzUGxAAIViUBliK24P3hWXL6y4SortgR6Nim6xrkfSLlmH0+k+9NYNwVC2s53ZrYQ==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=0.10.0"
}
@@ -7194,7 +6863,8 @@
"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
+ "dev": true,
+ "license": "MIT"
},
"node_modules/array-slice": {
"version": "1.1.0",
@@ -7206,11 +6876,22 @@
"node": ">=0.10.0"
}
},
+ "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,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/array-uniq": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz",
"integrity": "sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=0.10.0"
}
@@ -7220,21 +6901,34 @@
"resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz",
"integrity": "sha512-G2n5bG5fSUCpnsXz4+8FUkYsGPkNfLn9YvS66U5qbTIXI2Ynnlo4Bi42bWv+omKUCqz+ejzfClwne0alJWJPhg==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=0.10.0"
}
},
+ "node_modules/arrify": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz",
+ "integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/asap": {
"version": "2.0.6",
"resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz",
"integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/asn1": {
"version": "0.2.6",
"resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz",
"integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"safer-buffer": "~2.1.0"
}
@@ -7244,18 +6938,19 @@
"resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
"integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=0.8"
}
},
"node_modules/assertion-error": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz",
- "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==",
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-2.0.1.tgz",
+ "integrity": "sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==",
"dev": true,
"license": "MIT",
"engines": {
- "node": "*"
+ "node": ">=12"
}
},
"node_modules/assign-symbols": {
@@ -7263,10 +6958,30 @@
"resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz",
"integrity": "sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=0.10.0"
}
},
+ "node_modules/ast-v8-to-istanbul": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/ast-v8-to-istanbul/-/ast-v8-to-istanbul-1.0.0.tgz",
+ "integrity": "sha512-1fSfIwuDICFA4LKkCzRPO7F0hzFf0B7+Xqrl27ynQaa+Rh0e1Es0v6kWHPott3lU10AyAr7oKHa65OppjLn3Rg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jridgewell/trace-mapping": "^0.3.31",
+ "estree-walker": "^3.0.3",
+ "js-tokens": "^10.0.0"
+ }
+ },
+ "node_modules/ast-v8-to-istanbul/node_modules/js-tokens": {
+ "version": "10.0.0",
+ "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-10.0.0.tgz",
+ "integrity": "sha512-lM/UBzQmfJRo9ABXbPWemivdCW8V2G8FHaHdypQaIy523snUjog0W71ayWXTjiR+ixeMyVHN2XcpnTd/liPg/Q==",
+ "dev": true,
+ "license": "MIT"
+ },
"node_modules/async": {
"version": "3.2.6",
"resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz",
@@ -7279,6 +6994,7 @@
"resolved": "https://registry.npmjs.org/async-done/-/async-done-1.3.2.tgz",
"integrity": "sha512-uYkTP8dw2og1tu1nmza1n1CMW0qb8gWWlwqMmLb7MhBVs4BXrFziT6HXUd+/RlRA/i4H9AkofYloUbs1fwMqlw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"end-of-stream": "^1.1.0",
"once": "^1.3.2",
@@ -7299,13 +7015,15 @@
"type": "individual",
"url": "https://paulmillr.com/funding/"
}
- ]
+ ],
+ "license": "MIT"
},
"node_modules/async-retry": {
"version": "1.3.3",
"resolved": "https://registry.npmjs.org/async-retry/-/async-retry-1.3.3.tgz",
"integrity": "sha512-wfr/jstw9xNi/0teMHrRW7dsz3Lt5ARhYNZ2ewpadnhaIp5mbALhOAP+EAdsC7t4Z6wqsDVv9+W6gm1Dk9mEyw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"retry": "0.13.1"
}
@@ -7315,6 +7033,7 @@
"resolved": "https://registry.npmjs.org/async-settle/-/async-settle-2.0.0.tgz",
"integrity": "sha512-Obu/KE8FurfQRN6ODdHN9LuXqwC+JFIM9NRyZqJJ4ZfLJmIYN9Rg0/kb+wF70VV5+fJusTMQlJ1t5rF7J/ETdg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"async-done": "^2.0.0"
},
@@ -7327,6 +7046,7 @@
"resolved": "https://registry.npmjs.org/async-done/-/async-done-2.0.0.tgz",
"integrity": "sha512-j0s3bzYq9yKIVLKGE/tWlCpa3PfFLcrDZLTSVdnnCTGagXuXBJO4SsY9Xdk/fQBirCkH4evW5xOeJXqlAQFdsw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"end-of-stream": "^1.4.4",
"once": "^1.4.0",
@@ -7340,13 +7060,15 @@
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
"integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/atob": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz",
"integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==",
"dev": true,
+ "license": "(MIT OR Apache-2.0)",
"bin": {
"atob": "bin/atob.js"
},
@@ -7358,7 +7080,6 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/atomic-sleep/-/atomic-sleep-1.0.0.tgz",
"integrity": "sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==",
- "dev": true,
"license": "MIT",
"engines": {
"node": ">=8.0.0"
@@ -7369,6 +7090,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"
},
@@ -7380,10 +7102,20 @@
}
},
"node_modules/avvio": {
- "version": "9.1.0",
- "resolved": "https://registry.npmjs.org/avvio/-/avvio-9.1.0.tgz",
- "integrity": "sha512-fYASnYi600CsH/j9EQov7lECAniYiBFiiAtBNuZYLA2leLe9qOvZzqYHFjtIj6gD2VMoMLP14834LFWvr4IfDw==",
- "dev": true,
+ "version": "9.2.0",
+ "resolved": "https://registry.npmjs.org/avvio/-/avvio-9.2.0.tgz",
+ "integrity": "sha512-2t/sy01ArdHHE0vRH5Hsay+RtCZt3dLPji7W7/MMOCEgze5b7SNDC4j5H6FnVgPkI1MTNFGzHdHrVXDDl7QSSQ==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/fastify"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/fastify"
+ }
+ ],
+ "license": "MIT",
"dependencies": {
"@fastify/error": "^4.0.0",
"fastq": "^1.17.1"
@@ -7394,6 +7126,7 @@
"resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
"integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==",
"dev": true,
+ "license": "Apache-2.0",
"engines": {
"node": "*"
}
@@ -7403,6 +7136,7 @@
"resolved": "https://registry.npmjs.org/aws-ssl-profiles/-/aws-ssl-profiles-1.1.2.tgz",
"integrity": "sha512-NZKeq9AfyQvEeNlN0zSYAaWrmBffJh3IELMZfRpJVWgrpEbtEpnjvzqBPf+mxoI287JohRDoa+/nsfqqiZmF6g==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">= 6.0.0"
}
@@ -7411,32 +7145,42 @@
"version": "1.13.2",
"resolved": "https://registry.npmjs.org/aws4/-/aws4-1.13.2.tgz",
"integrity": "sha512-lHe62zvbTB5eEABUVi/AwVh0ZKY9rMMDhmm+eeyuuUQbQ3+J+fONVQOZyj+DdrvD4BY33uYniyRJ4UJIaSKAfw==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/axios": {
- "version": "1.16.0",
- "resolved": "https://registry.npmjs.org/axios/-/axios-1.16.0.tgz",
- "integrity": "sha512-6hp5CwvTPlN2A31g5dxnwAX0orzM7pmCRDLnZSX772mv8WDqICwFjowHuPs04Mc8deIld1+ejhtaMn5vp6b+1w==",
+ "version": "1.14.0",
+ "resolved": "https://registry.npmjs.org/axios/-/axios-1.14.0.tgz",
+ "integrity": "sha512-3Y8yrqLSwjuzpXuZ0oIYZ/XGgLwUIBU3uLvbcpb0pidD9ctpShJd43KSlEEkVQg6DS0G9NKyzOvBfUtDKEyHvQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "follow-redirects": "^1.16.0",
+ "follow-redirects": "^1.15.11",
"form-data": "^4.0.5",
"proxy-from-env": "^2.1.0"
}
},
"node_modules/b4a": {
- "version": "1.6.7",
- "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.6.7.tgz",
- "integrity": "sha512-OnAYlL5b7LEkALw87fUVafQw5rVR9RjwGd4KUwNQ6DrrNmaVaUCgLipfVlzrPQ4tWOR9P0IXGNOx50jYCCdSJg==",
+ "version": "1.8.0",
+ "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.8.0.tgz",
+ "integrity": "sha512-qRuSmNSkGQaHwNbM7J78Wwy+ghLEYF1zNrSeMxj4Kgw6y33O3mXcQ6Ie9fRvfU/YnxWkOchPXbaLb73TkIsfdg==",
"dev": true,
- "license": "Apache-2.0"
+ "license": "Apache-2.0",
+ "peerDependencies": {
+ "react-native-b4a": "*"
+ },
+ "peerDependenciesMeta": {
+ "react-native-b4a": {
+ "optional": true
+ }
+ }
},
"node_modules/bach": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/bach/-/bach-2.0.1.tgz",
"integrity": "sha512-A7bvGMGiTOxGMpNupYl9HQTf0FFDNF4VCmks4PJpFyN1AX2pdKuxuwdvUz2Hu388wcgp+OvGFNsumBfFNkR7eg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"async-done": "^2.0.0",
"async-settle": "^2.0.0",
@@ -7451,6 +7195,7 @@
"resolved": "https://registry.npmjs.org/async-done/-/async-done-2.0.0.tgz",
"integrity": "sha512-j0s3bzYq9yKIVLKGE/tWlCpa3PfFLcrDZLTSVdnnCTGagXuXBJO4SsY9Xdk/fQBirCkH4evW5xOeJXqlAQFdsw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"end-of-stream": "^1.4.4",
"once": "^1.4.0",
@@ -7464,27 +7209,37 @@
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/backo2/-/backo2-1.0.2.tgz",
"integrity": "sha512-zj6Z6M7Eq+PBZ7PQxl5NT665MvJdAkzp0f60nAJ+sLaSCBPMwVak5ZegFbgVCzFcCJTKFoMizvM5Ld7+JrRJHA==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/balanced-match": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
"integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/bare-events": {
- "version": "2.5.4",
- "resolved": "https://registry.npmjs.org/bare-events/-/bare-events-2.5.4.tgz",
- "integrity": "sha512-+gFfDkR8pj4/TrWCGUGWmJIkBwuxPS5F+a5yWjOHQt2hHvNZd5YLzadjmDUtFmMM4y429bnKLa8bYBMHcYdnQA==",
+ "version": "2.8.2",
+ "resolved": "https://registry.npmjs.org/bare-events/-/bare-events-2.8.2.tgz",
+ "integrity": "sha512-riJjyv1/mHLIPX4RwiK+oW9/4c3TEUeORHKefKAKnZ5kyslbN+HXowtbaVEqt4IMUB7OXlfixcs6gsFeo/jhiQ==",
"dev": true,
"license": "Apache-2.0",
- "optional": true
+ "peerDependencies": {
+ "bare-abort-controller": "*"
+ },
+ "peerDependenciesMeta": {
+ "bare-abort-controller": {
+ "optional": true
+ }
+ }
},
"node_modules/base": {
"version": "0.11.2",
"resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz",
"integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"cache-base": "^1.0.1",
"class-utils": "^0.3.5",
@@ -7503,6 +7258,7 @@
"resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
"integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"is-descriptor": "^1.0.0"
},
@@ -7515,6 +7271,7 @@
"resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.3.tgz",
"integrity": "sha512-JCNNGbwWZEVaSPtS45mdtrneRWJFp07LLmykxeFV5F6oBvNF8vHSfJuJgoT472pSfk+Mf8VnlrspaFBHWM8JAw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"is-accessor-descriptor": "^1.0.1",
"is-data-descriptor": "^1.0.1"
@@ -7541,20 +7298,22 @@
"type": "consulting",
"url": "https://feross.org/support"
}
- ]
+ ],
+ "license": "MIT"
},
"node_modules/base64id": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz",
"integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==",
+ "license": "MIT",
"engines": {
"node": "^4.5.0 || >= 5.9"
}
},
"node_modules/baseline-browser-mapping": {
- "version": "2.10.0",
- "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.10.0.tgz",
- "integrity": "sha512-lIyg0szRfYbiy67j9KN8IyeD7q7hcmqnJ1ddWmNt19ItGpNN64mnllmxUNFIOdOm6by97jlL6wfpTTJrmnjWAA==",
+ "version": "2.10.13",
+ "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.10.13.tgz",
+ "integrity": "sha512-BL2sTuHOdy0YT1lYieUxTw/QMtPBC3pmlJC6xk8BBYVv6vcw3SGdKemQ+Xsx9ik2F/lYDO9tqsFQH1r9PFuHKw==",
"dev": true,
"license": "Apache-2.0",
"bin": {
@@ -7569,15 +7328,24 @@
"resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz",
"integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==",
"dev": true,
+ "license": "BSD-3-Clause",
"dependencies": {
"tweetnacl": "^0.14.3"
}
},
+ "node_modules/bcrypt-pbkdf/node_modules/tweetnacl": {
+ "version": "0.14.5",
+ "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
+ "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==",
+ "dev": true,
+ "license": "Unlicense"
+ },
"node_modules/beeper": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/beeper/-/beeper-1.1.1.tgz",
"integrity": "sha512-3vqtKL1N45I5dV0RdssXZG7X6pCqQrWPNOlBPZPrd+QkE2HEhR57Z04m0KtpbsZH73j+a3F8UD1TQnn+ExTvIA==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=0.10.0"
}
@@ -7626,11 +7394,39 @@
"node": "^18.17.0 || >=20.5.0"
}
},
+ "node_modules/bin-links/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/bin-links/node_modules/write-file-atomic": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-6.0.0.tgz",
+ "integrity": "sha512-GmqrO8WJ1NuzJ2DrziEI2o57jKAVIQNf8a18W3nCYU3H7PNWqCCVTeH6/NQE93CIllIgQS98rrmVkYgTX9fFJQ==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "imurmurhash": "^0.1.4",
+ "signal-exit": "^4.0.1"
+ },
+ "engines": {
+ "node": "^18.17.0 || >=20.5.0"
+ }
+ },
"node_modules/binary-extensions": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz",
"integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=8"
},
@@ -7643,38 +7439,63 @@
"resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz",
"integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==",
"dev": true,
+ "license": "MIT",
"optional": true,
"dependencies": {
"file-uri-to-path": "1.0.0"
}
},
"node_modules/bl": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz",
- "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==",
+ "version": "6.1.6",
+ "resolved": "https://registry.npmjs.org/bl/-/bl-6.1.6.tgz",
+ "integrity": "sha512-jLsPgN/YSvPUg9UX0Kd73CXpm2Psg9FxMeCSXnk3WBO3CMT10JMwijubhGfHCnFu6TPn1ei3b975dxv7K2pWVg==",
"dev": true,
"license": "MIT",
"dependencies": {
- "buffer": "^5.5.0",
+ "@types/readable-stream": "^4.0.0",
+ "buffer": "^6.0.3",
"inherits": "^2.0.4",
- "readable-stream": "^3.4.0"
+ "readable-stream": "^4.2.0"
}
},
"node_modules/bl/node_modules/readable-stream": {
- "version": "3.6.2",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
- "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
+ "version": "4.7.0",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.7.0.tgz",
+ "integrity": "sha512-oIGGmcpTLwPga8Bn6/Z75SVaH1z5dUut2ibSyAMVhmUggWpmDn2dapB0n7f8nwaSiRtepAsfJyfXIO5DCVAODg==",
"dev": true,
"license": "MIT",
"dependencies": {
- "inherits": "^2.0.3",
- "string_decoder": "^1.1.1",
- "util-deprecate": "^1.0.1"
+ "abort-controller": "^3.0.0",
+ "buffer": "^6.0.3",
+ "events": "^3.3.0",
+ "process": "^0.11.10",
+ "string_decoder": "^1.3.0"
},
"engines": {
- "node": ">= 6"
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
}
},
+ "node_modules/bl/node_modules/safe-buffer": {
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
+ "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ],
+ "license": "MIT"
+ },
"node_modules/bl/node_modules/string_decoder": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
@@ -7709,82 +7530,12 @@
"url": "https://opencollective.com/express"
}
},
- "node_modules/body-parser/node_modules/debug": {
- "version": "4.4.3",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz",
- "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==",
- "license": "MIT",
- "dependencies": {
- "ms": "^2.1.3"
- },
- "engines": {
- "node": ">=6.0"
- },
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
- }
- },
- "node_modules/body-parser/node_modules/media-typer": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-1.1.0.tgz",
- "integrity": "sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw==",
- "license": "MIT",
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/body-parser/node_modules/mime-db": {
- "version": "1.54.0",
- "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.54.0.tgz",
- "integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==",
- "license": "MIT",
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/body-parser/node_modules/mime-types": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-3.0.2.tgz",
- "integrity": "sha512-Lbgzdk0h4juoQ9fCKXW4by0UJqj+nOOrI9MJ1sSj4nI8aI2eo1qmvQEie4VD1glsS250n15LsWsYtCugiStS5A==",
- "license": "MIT",
- "dependencies": {
- "mime-db": "^1.54.0"
- },
- "engines": {
- "node": ">=18"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/express"
- }
- },
- "node_modules/body-parser/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==",
- "license": "MIT"
- },
- "node_modules/body-parser/node_modules/type-is": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/type-is/-/type-is-2.0.1.tgz",
- "integrity": "sha512-OZs6gsjF4vMp32qrCbiVSkrFmXtG/AZhY3t0iAMrMBiAZyV9oALtXO8hsrHbMXF9x6L3grlFuwW2oAz7cav+Gw==",
- "license": "MIT",
- "dependencies": {
- "content-type": "^1.0.5",
- "media-typer": "^1.1.0",
- "mime-types": "^3.0.0"
- },
- "engines": {
- "node": ">= 0.6"
- }
- },
"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.13",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.13.tgz",
+ "integrity": "sha512-9ZLprWS6EENmhEOpjCYW2c8VkmOvckIJZfkr7rBW6dObmfgJ/L1GpSYW5Hpo9lDz4D1+n0Ckz8rU7FwHDQiG/w==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"balanced-match": "^1.0.0",
"concat-map": "0.0.1"
@@ -7795,6 +7546,7 @@
"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.1.1"
},
@@ -7803,28 +7555,22 @@
}
},
"node_modules/broker-factory": {
- "version": "3.1.8",
- "resolved": "https://registry.npmjs.org/broker-factory/-/broker-factory-3.1.8.tgz",
- "integrity": "sha512-xmVnYN0FZtynhPUmAnN+/MFRdbDi3syCuxWV7o7s78FcIN0pjDtn9mUrVqEgdjQkbfojRhlPWbYbXJkMCyddrg==",
+ "version": "3.1.14",
+ "resolved": "https://registry.npmjs.org/broker-factory/-/broker-factory-3.1.14.tgz",
+ "integrity": "sha512-L45k5HMbPIrMid0nTOZ/UPXG/c0aRuQKVrSDFIb1zOkvfiyHgYmIjc3cSiN1KwQIvRDOtKE0tfb3I9EZ3CmpQQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/runtime": "^7.27.6",
- "fast-unique-numbers": "^9.0.22",
+ "@babel/runtime": "^7.29.2",
+ "fast-unique-numbers": "^9.0.27",
"tslib": "^2.8.1",
- "worker-factory": "^7.0.44"
+ "worker-factory": "^7.0.49"
}
},
- "node_modules/browser-stdout": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz",
- "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==",
- "dev": true
- },
"node_modules/browserslist": {
- "version": "4.28.1",
- "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.1.tgz",
- "integrity": "sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA==",
+ "version": "4.28.2",
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.2.tgz",
+ "integrity": "sha512-48xSriZYYg+8qXna9kwqjIVzuQxi+KYWp2+5nCYnYKPTr0LvD89Jqk2Or5ogxz0NUMfIjhh2lIUX/LyX9B4oIg==",
"dev": true,
"funding": [
{
@@ -7842,11 +7588,11 @@
],
"license": "MIT",
"dependencies": {
- "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"
+ "baseline-browser-mapping": "^2.10.12",
+ "caniuse-lite": "^1.0.30001782",
+ "electron-to-chromium": "^1.5.328",
+ "node-releases": "^2.0.36",
+ "update-browserslist-db": "^1.2.3"
},
"bin": {
"browserslist": "cli.js"
@@ -7855,10 +7601,20 @@
"node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"
}
},
+ "node_modules/bson": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/bson/-/bson-7.2.0.tgz",
+ "integrity": "sha512-YCEo7KjMlbNlyHhz7zAZNDpIpQbd+wOEHJYezv0nMYTn4x31eIUM2yomNNubclAt63dObUzKHWsBLJ9QcZNSnQ==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "engines": {
+ "node": ">=20.19.0"
+ }
+ },
"node_modules/buffer": {
- "version": "5.7.1",
- "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
- "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
+ "version": "6.0.3",
+ "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz",
+ "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==",
"dev": true,
"funding": [
{
@@ -7877,7 +7633,7 @@
"license": "MIT",
"dependencies": {
"base64-js": "^1.3.1",
- "ieee754": "^1.1.13"
+ "ieee754": "^1.2.1"
}
},
"node_modules/buffer-equal": {
@@ -7885,6 +7641,7 @@
"resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-1.0.1.tgz",
"integrity": "sha512-QoV3ptgEaQpvVwbXdSO39iqPQTCxSF7A5U99AxbHYqUdCizL/lH2Z0A2y6nbZucxMEOtNyZfG2s6gsVugGpKkg==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=0.4"
},
@@ -7896,13 +7653,19 @@
"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
+ "license": "MIT"
+ },
+ "node_modules/buffer-more-ints": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/buffer-more-ints/-/buffer-more-ints-1.0.0.tgz",
+ "integrity": "sha512-EMetuGFz5SLsT0QTnXzINh4Ksr+oo4i+UGTXEshiGCQWnsgSs7ZhJ8fzlwQ+OzEMs0MpDAMr1hxnblp5a4vcHg==",
+ "dev": true,
+ "license": "MIT"
},
"node_modules/busboy": {
"version": "1.6.0",
"resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz",
"integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==",
- "dev": true,
"dependencies": {
"streamsearch": "^1.1.0"
},
@@ -7924,14 +7687,15 @@
"version": "3.1.2",
"resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz",
"integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==",
+ "license": "MIT",
"engines": {
"node": ">= 0.8"
}
},
"node_modules/cacache": {
- "version": "20.0.3",
- "resolved": "https://registry.npmjs.org/cacache/-/cacache-20.0.3.tgz",
- "integrity": "sha512-3pUp4e8hv07k1QlijZu6Kn7c9+ZpWWk4j3F8N3xPuCExULobqJydKYOTj1FTq58srkJsXvO7LbGAH4C0ZU3WGw==",
+ "version": "20.0.4",
+ "resolved": "https://registry.npmjs.org/cacache/-/cacache-20.0.4.tgz",
+ "integrity": "sha512-M3Lab8NPYlZU2exsL3bMVvMrMqgwCnMWfdZbK28bn3pK6APT/Te/I8hjRPNu1uwORY9a1eEQoifXbKPQMfMTOA==",
"dev": true,
"license": "ISC",
"dependencies": {
@@ -7944,8 +7708,7 @@
"minipass-flush": "^1.0.5",
"minipass-pipeline": "^1.2.4",
"p-map": "^7.0.2",
- "ssri": "^13.0.0",
- "unique-filename": "^5.0.0"
+ "ssri": "^13.0.0"
},
"engines": {
"node": "^20.17.0 || >=22.9.0"
@@ -7964,111 +7727,38 @@
"node": "^20.17.0 || >=22.9.0"
}
},
- "node_modules/cacache/node_modules/balanced-match": {
- "version": "4.0.4",
- "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz",
- "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==",
+ "node_modules/cacache/node_modules/p-map": {
+ "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",
"engines": {
- "node": "18 || 20 || >=22"
+ "node": ">=18"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/cacache/node_modules/brace-expansion": {
- "version": "5.0.4",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.4.tgz",
- "integrity": "sha512-h+DEnpVvxmfVefa4jFbCf5HdH5YMDXRsmKflpf1pILZWRFlTbJpxeU55nJl4Smt5HQaGzg1o6RHFPJaOqnmBDg==",
+ "node_modules/cacache/node_modules/ssri": {
+ "version": "13.0.1",
+ "resolved": "https://registry.npmjs.org/ssri/-/ssri-13.0.1.tgz",
+ "integrity": "sha512-QUiRf1+u9wPTL/76GTYlKttDEBWV1ga9ZXW8BG6kfdeyyM8LGPix9gROyg9V2+P0xNyF3X2Go526xKFdMZrHSQ==",
"dev": true,
- "license": "MIT",
+ "license": "ISC",
"dependencies": {
- "balanced-match": "^4.0.2"
+ "minipass": "^7.0.3"
},
"engines": {
- "node": "18 || 20 || >=22"
+ "node": "^20.17.0 || >=22.9.0"
}
},
- "node_modules/cacache/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": "20 || >=22"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
- "node_modules/cacache/node_modules/minimatch": {
- "version": "10.2.4",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.4.tgz",
- "integrity": "sha512-oRjTw/97aTBN0RHbYCdtF1MQfvusSIBQM0IZEgzl6426+8jSC0nF1a/GmnVLpfB9yyr6g6FTqWqiZVbxrtaCIg==",
- "dev": true,
- "license": "BlueOak-1.0.0",
- "dependencies": {
- "brace-expansion": "^5.0.2"
- },
- "engines": {
- "node": "18 || 20 || >=22"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
- "node_modules/cacache/node_modules/p-map": {
- "version": "7.0.4",
- "resolved": "https://registry.npmjs.org/p-map/-/p-map-7.0.4.tgz",
- "integrity": "sha512-tkAQEw8ysMzmkhgw8k+1U/iPhWNhykKnSk4Rd5zLoPJCuJaGRPo6YposrZgaxHKzDHdDWWZvE/Sk7hsL2X/CpQ==",
+ "node_modules/cache-base": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz",
+ "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==",
"dev": true,
"license": "MIT",
- "engines": {
- "node": ">=18"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/cacache/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": {
- "lru-cache": "^11.0.0",
- "minipass": "^7.1.2"
- },
- "engines": {
- "node": "20 || >=22"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
- "node_modules/cacache/node_modules/ssri": {
- "version": "13.0.0",
- "resolved": "https://registry.npmjs.org/ssri/-/ssri-13.0.0.tgz",
- "integrity": "sha512-yizwGBpbCn4YomB2lzhZqrHLJoqFGXihNbib3ozhqF/cIp5ue+xSmOQrjNasEE62hFxsCcg/V/z23t4n8jMEng==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "minipass": "^7.0.3"
- },
- "engines": {
- "node": "^20.17.0 || >=22.9.0"
- }
- },
- "node_modules/cache-base": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz",
- "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==",
- "dev": true,
"dependencies": {
"collection-visit": "^1.0.0",
"component-emitter": "^1.2.1",
@@ -8095,71 +7785,6 @@
"keyv": "^5.5.5"
}
},
- "node_modules/cache-manager/node_modules/keyv": {
- "version": "5.5.5",
- "resolved": "https://registry.npmjs.org/keyv/-/keyv-5.5.5.tgz",
- "integrity": "sha512-FA5LmZVF1VziNc0bIdCSA1IoSVnDCqE8HJIZZv2/W8YmoAM50+tnUgJR/gQZwEeIMleuIOnRnHA/UaZRNeV4iQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@keyv/serialize": "^1.1.1"
- }
- },
- "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",
- "package-hash": "^4.0.0",
- "write-file-atomic": "^3.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/caching-transform/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"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/caching-transform/node_modules/semver": {
- "version": "6.3.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
- "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
- "dev": true,
- "license": "ISC",
- "bin": {
- "semver": "bin/semver.js"
- }
- },
- "node_modules/caching-transform/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",
- "signal-exit": "^3.0.2",
- "typedarray-to-buffer": "^3.1.5"
- }
- },
"node_modules/call-bind": {
"version": "1.0.8",
"resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz",
@@ -8213,6 +7838,7 @@
"resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
"integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=6"
}
@@ -8246,9 +7872,9 @@
}
},
"node_modules/caniuse-lite": {
- "version": "1.0.30001775",
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001775.tgz",
- "integrity": "sha512-s3Qv7Lht9zbVKE9XoTyRG6wVDCKdtOFIjBGg3+Yhn6JaytuNKPIjBMTMIY1AnOH3seL5mvF+x33oGAyK3hVt3A==",
+ "version": "1.0.30001784",
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001784.tgz",
+ "integrity": "sha512-WU346nBTklUV9YfUl60fqRbU5ZqyXlqvo1SgigE1OAXK5bFL8LL9q1K7aap3N739l4BvNqnkm3YrGHiY9sfUQw==",
"dev": true,
"funding": [
{
@@ -8270,37 +7896,17 @@
"version": "0.12.0",
"resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
"integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==",
- "dev": true
+ "dev": true,
+ "license": "Apache-2.0"
},
"node_modules/chai": {
- "version": "4.5.0",
- "resolved": "https://registry.npmjs.org/chai/-/chai-4.5.0.tgz",
- "integrity": "sha512-RITGBfijLkBddZvnn8jdqoTypxvqbOLYQkGGxXzeFjVHvudaPw0HNFD9x928/eUwYWd2dPCugVqspGALTZZQKw==",
+ "version": "6.2.2",
+ "resolved": "https://registry.npmjs.org/chai/-/chai-6.2.2.tgz",
+ "integrity": "sha512-NUPRluOfOiTKBKvWPtSD4PhFvWCqOi0BGStNWs57X9js7XGTprSmFoz5F0tWhR4WPjNeR9jXqdC7/UpSJTnlRg==",
"dev": true,
"license": "MIT",
- "dependencies": {
- "assertion-error": "^1.1.0",
- "check-error": "^1.0.3",
- "deep-eql": "^4.1.3",
- "get-func-name": "^2.0.2",
- "loupe": "^2.3.6",
- "pathval": "^1.1.1",
- "type-detect": "^4.1.0"
- },
"engines": {
- "node": ">=4"
- }
- },
- "node_modules/chai-as-promised": {
- "version": "7.1.2",
- "resolved": "https://registry.npmjs.org/chai-as-promised/-/chai-as-promised-7.1.2.tgz",
- "integrity": "sha512-aBDHZxRzYnUYuIAIPBH2s511DjlKPzXNlXSGFC8CwmroWQLfrW0LtE1nK3MAwwNhJPa9raEjNCmRoFpG0Hurdw==",
- "dev": true,
- "dependencies": {
- "check-error": "^1.0.2"
- },
- "peerDependencies": {
- "chai": ">= 2.1.2 < 6"
+ "node": ">=18"
}
},
"node_modules/chalk": {
@@ -8308,6 +7914,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"
@@ -8319,6 +7926,19 @@
"url": "https://github.com/chalk/chalk?sponsor=1"
}
},
+ "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": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/chardet": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/chardet/-/chardet-2.1.1.tgz",
@@ -8326,23 +7946,12 @@
"dev": true,
"license": "MIT"
},
- "node_modules/check-error": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.3.tgz",
- "integrity": "sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==",
- "dev": true,
- "dependencies": {
- "get-func-name": "^2.0.2"
- },
- "engines": {
- "node": "*"
- }
- },
"node_modules/chokidar": {
"version": "4.0.3",
"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz",
"integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"readdirp": "^4.0.1"
},
@@ -8354,18 +7963,19 @@
}
},
"node_modules/chownr": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz",
- "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/chownr/-/chownr-3.0.0.tgz",
+ "integrity": "sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==",
"dev": true,
+ "license": "BlueOak-1.0.0",
"engines": {
- "node": ">=10"
+ "node": ">=18"
}
},
"node_modules/ci-info": {
- "version": "4.3.1",
- "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.3.1.tgz",
- "integrity": "sha512-Wdy2Igu8OcBpI2pZePZ5oWjPC38tmDVx5WKUXKwlLYkA0ozo85sLsLvkBbBn/sZaSCMFOGZJ14fvW9t5/d7kdA==",
+ "version": "3.9.0",
+ "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz",
+ "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==",
"dev": true,
"funding": [
{
@@ -8383,6 +7993,7 @@
"resolved": "https://registry.npmjs.org/clang-format/-/clang-format-1.8.0.tgz",
"integrity": "sha512-pK8gzfu55/lHzIpQ1givIbWfn3eXnU7SfxqIwVgnn5jEM6j4ZJYjpFqFs4iSBPNedzRMmfjYjuQhu657WAXHXw==",
"dev": true,
+ "license": "Apache-2.0",
"dependencies": {
"async": "^3.2.3",
"glob": "^7.0.0",
@@ -8394,16 +8005,40 @@
"git-clang-format": "bin/git-clang-format"
}
},
+ "node_modules/clang-format/node_modules/glob": {
+ "version": "7.2.3",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
+ "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
+ "deprecated": "Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.1.1",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ },
+ "engines": {
+ "node": "*"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
"node_modules/class-transformer": {
"version": "0.5.1",
"resolved": "https://registry.npmjs.org/class-transformer/-/class-transformer-0.5.1.tgz",
- "integrity": "sha512-SQa1Ws6hUbfC98vKGxZH3KFY0Y1lm5Zm0SY8XX9zbK7FJCyVEac3ATW0RIpwzW+oOfmHE5PMPufDG9hCfoEOMw=="
+ "integrity": "sha512-SQa1Ws6hUbfC98vKGxZH3KFY0Y1lm5Zm0SY8XX9zbK7FJCyVEac3ATW0RIpwzW+oOfmHE5PMPufDG9hCfoEOMw==",
+ "license": "MIT"
},
"node_modules/class-utils": {
"version": "0.3.6",
"resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz",
"integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"arr-union": "^3.1.0",
"define-property": "^0.2.5",
@@ -8414,27 +8049,25 @@
"node": ">=0.10.0"
}
},
- "node_modules/class-utils/node_modules/define-property": {
- "version": "0.2.5",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
- "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==",
- "dev": true,
- "dependencies": {
- "is-descriptor": "^0.1.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
"node_modules/class-validator": {
- "version": "0.15.1",
- "resolved": "https://registry.npmjs.org/class-validator/-/class-validator-0.15.1.tgz",
- "integrity": "sha512-LqoS80HBBSCVhz/3KloUly0ovokxpdOLR++Al3J3+dHXWt9sTKlKd4eYtoxhxyUjoe5+UcIM+5k9MIxyBWnRTw==",
+ "version": "0.14.3",
+ "resolved": "https://registry.npmjs.org/class-validator/-/class-validator-0.14.3.tgz",
+ "integrity": "sha512-rXXekcjofVN1LTOSw+u4u9WXVEUvNBVjORW154q/IdmYWy1nMbOU9aNtZB0t8m+FJQ9q91jlr2f9CwwUFdFMRA==",
"license": "MIT",
"dependencies": {
"@types/validator": "^13.15.3",
"libphonenumber-js": "^1.11.1",
- "validator": "^13.15.22"
+ "validator": "^13.15.20"
+ }
+ },
+ "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-color": {
@@ -8442,6 +8075,7 @@
"resolved": "https://registry.npmjs.org/cli-color/-/cli-color-1.4.0.tgz",
"integrity": "sha512-xu6RvQqqrWEo6MPR1eixqGPywhYBHRs653F9jfXB2Hx4jdM/3WxiNE1vppRmxtMIfl16SFYTpYlrnqH/HsK/2w==",
"dev": true,
+ "license": "ISC",
"dependencies": {
"ansi-regex": "^2.1.1",
"d": "1",
@@ -8451,15 +8085,6 @@
"timers-ext": "^0.1.5"
}
},
- "node_modules/cli-color/node_modules/ansi-regex": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
- "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
"node_modules/cli-cursor": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-5.0.0.tgz",
@@ -8481,6 +8106,7 @@
"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",
"dependencies": {
"chalk": "^4.0.0",
"highlight.js": "^10.7.1",
@@ -8502,38 +8128,37 @@
"resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz",
"integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==",
"dev": true,
+ "license": "ISC",
"dependencies": {
"string-width": "^4.2.0",
"strip-ansi": "^6.0.0",
"wrap-ansi": "^7.0.0"
}
},
- "node_modules/cli-highlight/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
- },
- "node_modules/cli-highlight/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==",
+ "node_modules/cli-highlight/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": {
- "parse5": "^6.0.1"
+ "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/cli-highlight/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
- },
"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",
"dependencies": {
"cliui": "^7.0.2",
"escalade": "^3.1.1",
@@ -8552,6 +8177,7 @@
"resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz",
"integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==",
"dev": true,
+ "license": "ISC",
"engines": {
"node": ">=10"
}
@@ -8599,62 +8225,16 @@
"url": "https://github.com/chalk/ansi-regex?sponsor=1"
}
},
- "node_modules/cli-truncate/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==",
+ "node_modules/cli-truncate/node_modules/string-width": {
+ "version": "8.2.1",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-8.2.1.tgz",
+ "integrity": "sha512-IIaP0g3iy9Cyy18w3M9YcaDudujEAVHKt3a3QJg1+sr/oX96TbaGUubG0hJyCjCBThFH+tFpcIyoUHUn1ogaLA==",
"dev": true,
"license": "MIT",
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
- }
- },
- "node_modules/cli-truncate/node_modules/is-fullwidth-code-point": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-5.1.0.tgz",
- "integrity": "sha512-5XHYaSyiqADb4RnZ1Bdad6cPp8Toise4TzEjcOYDHZkTCbKgiUl7WTUCpNWHuxmDt91wnsZBc9xinNzopv3JMQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "get-east-asian-width": "^1.3.1"
- },
- "engines": {
- "node": ">=18"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/cli-truncate/node_modules/slice-ansi": {
- "version": "8.0.0",
- "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-8.0.0.tgz",
- "integrity": "sha512-stxByr12oeeOyY2BlviTNQlYV5xOj47GirPr4yA1hE9JCtxfQN0+tVbkxwCtYDQWhEKWFHsEK48ORg5jrouCAg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ansi-styles": "^6.2.3",
- "is-fullwidth-code-point": "^5.1.0"
- },
- "engines": {
- "node": ">=20"
- },
- "funding": {
- "url": "https://github.com/chalk/slice-ansi?sponsor=1"
- }
- },
- "node_modules/cli-truncate/node_modules/string-width": {
- "version": "8.2.1",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-8.2.1.tgz",
- "integrity": "sha512-IIaP0g3iy9Cyy18w3M9YcaDudujEAVHKt3a3QJg1+sr/oX96TbaGUubG0hJyCjCBThFH+tFpcIyoUHUn1ogaLA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "get-east-asian-width": "^1.5.0",
- "strip-ansi": "^7.1.2"
- },
+ "dependencies": {
+ "get-east-asian-width": "^1.5.0",
+ "strip-ansi": "^7.1.2"
+ },
"engines": {
"node": ">=20"
},
@@ -8693,6 +8273,7 @@
"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.1",
@@ -8702,11 +8283,30 @@
"node": ">=12"
}
},
+ "node_modules/cliui/node_modules/wrap-ansi": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
+ "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
+ "dev": true,
+ "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/clone": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz",
- "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==",
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz",
+ "integrity": "sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=0.8"
}
@@ -8716,6 +8316,7 @@
"resolved": "https://registry.npmjs.org/clone-buffer/-/clone-buffer-1.0.0.tgz",
"integrity": "sha512-KLLTJWrvwIP+OPfMn0x2PheDEP20RPUcGXj/ERegTgdmPEZylALQldygiqrPPu8P45uNuPs7ckmReLY6v/iA5g==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">= 0.10"
}
@@ -8724,60 +8325,27 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-1.0.0.tgz",
"integrity": "sha512-au6ydSpg6nsrigcZ4m8Bc9hxjeW+GJ8xh5G3BJCMt4WXe1H10UNaVOamqQTmrx1kjVuxAHIQSNU6hY4Nsn9/ag==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/cloneable-readable": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/cloneable-readable/-/cloneable-readable-1.1.3.tgz",
"integrity": "sha512-2EF8zTQOxYq70Y4XKtorQupqF0m49MBz2/yf5Bj+MHjvpG3Hy7sImifnqD6UA+TKYxeSV+u6qqQPawN5UvnpKQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"inherits": "^2.0.1",
"process-nextick-args": "^2.0.0",
"readable-stream": "^2.3.5"
}
},
- "node_modules/cloneable-readable/node_modules/isarray": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
- "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==",
- "dev": true
- },
- "node_modules/cloneable-readable/node_modules/readable-stream": {
- "version": "2.3.8",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz",
- "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==",
- "dev": true,
- "dependencies": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.3",
- "isarray": "~1.0.0",
- "process-nextick-args": "~2.0.0",
- "safe-buffer": "~5.1.1",
- "string_decoder": "~1.1.1",
- "util-deprecate": "~1.0.1"
- }
- },
- "node_modules/cloneable-readable/node_modules/safe-buffer": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
- "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
- "dev": true
- },
- "node_modules/cloneable-readable/node_modules/string_decoder": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
- "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
- "dev": true,
- "dependencies": {
- "safe-buffer": "~5.1.0"
- }
- },
"node_modules/cluster-key-slot": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/cluster-key-slot/-/cluster-key-slot-1.1.2.tgz",
"integrity": "sha512-RMr0FhtfXemyinomL4hrWcYJxmX6deFdCxpJzhDttxgO1+bcCnkk+9drydLVDmAMG7NE6aN/fl4F7ucU/90gAA==",
"dev": true,
+ "license": "Apache-2.0",
"engines": {
"node": ">=0.10.0"
}
@@ -8796,13 +8364,15 @@
"version": "13.0.3",
"resolved": "https://registry.npmjs.org/code-block-writer/-/code-block-writer-13.0.3.tgz",
"integrity": "sha512-Oofo0pq3IKnsFtuHqSF7TqBfr71aeyZDVJ0HpmqB7FBM2qEigL0iPONSCZSO9pE9dZTAxANe5XHG9Uy0YMv8cg==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/collection-visit": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz",
"integrity": "sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"map-visit": "^1.0.0",
"object-visit": "^1.0.0"
@@ -8816,6 +8386,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"
},
@@ -8827,13 +8398,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/color-support": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz",
"integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==",
"dev": true,
+ "license": "ISC",
"bin": {
"color-support": "bin.js"
}
@@ -8857,6 +8430,7 @@
"resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
"integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"delayed-stream": "~1.0.0"
},
@@ -8864,18 +8438,12 @@
"node": ">= 0.8"
}
},
- "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"
- },
"node_modules/commist": {
"version": "3.2.0",
"resolved": "https://registry.npmjs.org/commist/-/commist-3.2.0.tgz",
"integrity": "sha512-4PIMoPniho+LqXmpS5d3NuGYncG6XWlkBSVGiWycL22dd42OYdUGil2CWuzklaJoNxyxUSpO4MKIBU94viWNAw==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/common-ancestor-path": {
"version": "1.0.1",
@@ -8884,12 +8452,6 @@
"dev": true,
"license": "ISC"
},
- "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
- },
"node_modules/compare-func": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/compare-func/-/compare-func-2.0.0.tgz",
@@ -8906,6 +8468,7 @@
"resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.1.tgz",
"integrity": "sha512-T0+barUSQRTUQASh8bx02dl+DhF54GtIDY13Y3m9oWTklKbb3Wv974meRpeZ3lp1JpLVECWWNHC4vaG2XHXouQ==",
"dev": true,
+ "license": "MIT",
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
@@ -8914,13 +8477,13 @@
"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/concat-stream": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-2.0.0.tgz",
"integrity": "sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==",
- "dev": true,
"engines": [
"node >= 6.0"
],
@@ -8936,7 +8499,6 @@
"version": "3.6.2",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
"integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
- "dev": true,
"license": "MIT",
"dependencies": {
"inherits": "^2.0.3",
@@ -8947,54 +8509,13 @@
"node": ">= 6"
}
},
- "node_modules/concat-stream/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,
- "license": "MIT",
- "dependencies": {
- "safe-buffer": "~5.2.0"
- }
- },
- "node_modules/concurrently": {
- "version": "9.2.1",
- "resolved": "https://registry.npmjs.org/concurrently/-/concurrently-9.2.1.tgz",
- "integrity": "sha512-fsfrO0MxV64Znoy8/l1vVIjjHa29SZyyqPgQBwhiDcaW8wJc2W3XWVOGx4M3oJBnv/zdUZIIp1gDeS98GzP8Ng==",
- "dev": true,
+ "node_modules/consola": {
+ "version": "3.4.2",
+ "resolved": "https://registry.npmjs.org/consola/-/consola-3.4.2.tgz",
+ "integrity": "sha512-5IKcdX0nnYavi6G7TtOhwkYzyjfJlatbjMjuLSfE2kYT5pMDOilZ4OvMhi637CcDICTmz3wARPoyhqyX1Y+XvA==",
"license": "MIT",
- "dependencies": {
- "chalk": "4.1.2",
- "rxjs": "7.8.2",
- "shell-quote": "1.8.3",
- "supports-color": "8.1.1",
- "tree-kill": "1.2.2",
- "yargs": "17.7.2"
- },
- "bin": {
- "conc": "dist/bin/concurrently.js",
- "concurrently": "dist/bin/concurrently.js"
- },
- "engines": {
- "node": ">=18"
- },
- "funding": {
- "url": "https://github.com/open-cli-tools/concurrently?sponsor=1"
- }
- },
- "node_modules/concurrently/node_modules/supports-color": {
- "version": "8.1.1",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz",
- "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==",
- "dev": true,
- "dependencies": {
- "has-flag": "^4.0.0"
- },
"engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/supports-color?sponsor=1"
+ "node": "^14.18.0 || >=16.10.0"
}
},
"node_modules/console-control-strings": {
@@ -9021,23 +8542,23 @@
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz",
"integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==",
+ "license": "MIT",
"engines": {
"node": ">= 0.6"
}
},
"node_modules/conventional-changelog": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/conventional-changelog/-/conventional-changelog-7.2.0.tgz",
- "integrity": "sha512-BEdgG+vPl53EVlTTk9sZ96aagFp0AQ5pw/ggiQMy2SClLbTo1r0l+8dSg79gkLOO5DS1Lswuhp5fWn6RwE+ivg==",
+ "version": "7.1.1",
+ "resolved": "https://registry.npmjs.org/conventional-changelog/-/conventional-changelog-7.1.1.tgz",
+ "integrity": "sha512-rlqa8Lgh8YzT3Akruk05DR79j5gN9NCglHtJZwpi6vxVeaoagz+84UAtKQj/sT+RsfGaZkt3cdFCjcN6yjr5sw==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@conventional-changelog/git-client": "^2.6.0",
- "@simple-libs/hosted-git-info": "^1.0.2",
+ "@conventional-changelog/git-client": "^2.5.1",
"@types/normalize-package-data": "^2.4.4",
"conventional-changelog-preset-loader": "^5.0.0",
- "conventional-changelog-writer": "^8.3.0",
- "conventional-commits-parser": "^6.3.0",
+ "conventional-changelog-writer": "^8.2.0",
+ "conventional-commits-parser": "^6.2.0",
"fd-package-json": "^2.0.0",
"meow": "^13.0.0",
"normalize-package-data": "^7.0.0"
@@ -9050,16 +8571,16 @@
}
},
"node_modules/conventional-changelog-angular": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-7.0.0.tgz",
- "integrity": "sha512-ROjNchA9LgfNMTTFSIWPzebCwOGFdgkEq45EnvvrmSLvCtAw0HSmrCs7/ty+wAeYUZyNay0YMUNYFTRL72PkBQ==",
+ "version": "8.3.1",
+ "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-8.3.1.tgz",
+ "integrity": "sha512-6gfI3otXK5Ph5DfCOI1dblr+kN3FAm5a97hYoQkqNZxOaYa5WKfXH+AnpsmS+iUH2mgVC2Cg2Qw9m5OKcmNrIg==",
"dev": true,
"license": "ISC",
"dependencies": {
"compare-func": "^2.0.0"
},
"engines": {
- "node": ">=16"
+ "node": ">=18"
}
},
"node_modules/conventional-changelog-core": {
@@ -9140,16 +8661,6 @@
"node": ">=14"
}
},
- "node_modules/conventional-changelog-core/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==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/conventional-changelog-core/node_modules/dateformat": {
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/dateformat/-/dateformat-3.0.3.tgz",
@@ -9194,11 +8705,17 @@
}
},
"node_modules/conventional-changelog-core/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==",
+ "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==",
"dev": true,
- "license": "ISC"
+ "license": "ISC",
+ "dependencies": {
+ "lru-cache": "^6.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
},
"node_modules/conventional-changelog-core/node_modules/locate-path": {
"version": "5.0.0",
@@ -9213,6 +8730,19 @@
"node": ">=8"
}
},
+ "node_modules/conventional-changelog-core/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,
+ "license": "ISC",
+ "dependencies": {
+ "yallist": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
"node_modules/conventional-changelog-core/node_modules/meow": {
"version": "8.1.2",
"resolved": "https://registry.npmjs.org/meow/-/meow-8.1.2.tgz",
@@ -9239,6 +8769,13 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/conventional-changelog-core/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,
+ "license": "ISC"
+ },
"node_modules/conventional-changelog-core/node_modules/meow/node_modules/read-pkg": {
"version": "5.2.0",
"resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz",
@@ -9316,6 +8853,22 @@
"semver": "bin/semver"
}
},
+ "node_modules/conventional-changelog-core/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,
+ "license": "BSD-2-Clause",
+ "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/conventional-changelog-core/node_modules/p-limit": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
@@ -9370,16 +8923,6 @@
"readable-stream": "^3.0.0"
}
},
- "node_modules/conventional-changelog-core/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,
- "license": "MIT",
- "dependencies": {
- "safe-buffer": "~5.2.0"
- }
- },
"node_modules/conventional-changelog-core/node_modules/type-fest": {
"version": "0.18.1",
"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz",
@@ -9393,6 +8936,13 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/conventional-changelog-core/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,
+ "license": "ISC"
+ },
"node_modules/conventional-changelog-core/node_modules/yargs-parser": {
"version": "20.2.9",
"resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz",
@@ -9408,14 +8958,15 @@
"resolved": "https://registry.npmjs.org/conventional-changelog-preset-loader/-/conventional-changelog-preset-loader-5.0.0.tgz",
"integrity": "sha512-SetDSntXLk8Jh1NOAl1Gu5uLiCNSYenB5tm0YVeZKePRIgDW9lQImromTwLa3c/Gae298tsgOM+/CYT9XAl0NA==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=18"
}
},
"node_modules/conventional-changelog-writer": {
- "version": "8.3.0",
- "resolved": "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-8.3.0.tgz",
- "integrity": "sha512-l5hDOHjcTUVtnZJapoqXMCJ3IbyF6oV/vnxKL13AHulFH7mDp4PMJARxI7LWzob6UDDvhxIUWGTNUPW84JabQg==",
+ "version": "8.4.0",
+ "resolved": "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-8.4.0.tgz",
+ "integrity": "sha512-HHBFkk1EECxxmCi4CTu091iuDpQv5/OavuCUAuZmrkWpmYfyD816nom1CvtfXJ/uYfAAjavgHvXHX291tSLK8g==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -9432,45 +8983,10 @@
"node": ">=18"
}
},
- "node_modules/conventional-changelog/node_modules/hosted-git-info": {
- "version": "8.1.0",
- "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-8.1.0.tgz",
- "integrity": "sha512-Rw/B2DNQaPBICNXEm8balFz9a6WpZrkCGpcWFpy7nCj+NyhSdqXipmfvtmWt9xGfp0wZnBxB+iVpLmQMYt47Tw==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "lru-cache": "^10.0.1"
- },
- "engines": {
- "node": "^18.17.0 || >=20.5.0"
- }
- },
- "node_modules/conventional-changelog/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/conventional-changelog/node_modules/normalize-package-data": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-7.0.0.tgz",
- "integrity": "sha512-k6U0gKRIuNCTkwHGZqblCfLfBRh+w1vI6tBo+IeJwq2M8FUiOqhX7GH+GArQGScA7azd1WfyRCvxoXDO3hQDIA==",
- "dev": true,
- "license": "BSD-2-Clause",
- "dependencies": {
- "hosted-git-info": "^8.0.0",
- "semver": "^7.3.5",
- "validate-npm-package-license": "^3.0.4"
- },
- "engines": {
- "node": "^18.17.0 || >=20.5.0"
- }
- },
- "node_modules/conventional-commits-filter": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/conventional-commits-filter/-/conventional-commits-filter-5.0.0.tgz",
- "integrity": "sha512-tQMagCOC59EVgNZcC5zl7XqO30Wki9i9J3acbUvkaosCT6JX3EeFwJD7Qqp4MCikRnzS18WXV3BLIQ66ytu6+Q==",
+ "node_modules/conventional-commits-filter": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/conventional-commits-filter/-/conventional-commits-filter-5.0.0.tgz",
+ "integrity": "sha512-tQMagCOC59EVgNZcC5zl7XqO30Wki9i9J3acbUvkaosCT6JX3EeFwJD7Qqp4MCikRnzS18WXV3BLIQ66ytu6+Q==",
"dev": true,
"license": "MIT",
"engines": {
@@ -9478,9 +8994,9 @@
}
},
"node_modules/conventional-commits-parser": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-6.3.0.tgz",
- "integrity": "sha512-RfOq/Cqy9xV9bOA8N+ZH6DlrDR+5S3Mi0B5kACEjESpE+AviIpAptx9a9cFpWCCvgRtWT+0BbUw+e1BZfts9jg==",
+ "version": "6.4.0",
+ "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-6.4.0.tgz",
+ "integrity": "sha512-tvRg7FIBNlyPzjdG8wWRlPHQJJHI7DylhtRGeU9Lq+JuoPh5BKpPRX83ZdLrvXuOSu5Eo/e7SzOQhU4Hd2Miuw==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -9559,16 +9075,6 @@
"node": ">=14"
}
},
- "node_modules/conventional-recommended-bump/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==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/conventional-recommended-bump/node_modules/find-up": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
@@ -9603,11 +9109,17 @@
}
},
"node_modules/conventional-recommended-bump/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==",
+ "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==",
"dev": true,
- "license": "ISC"
+ "license": "ISC",
+ "dependencies": {
+ "lru-cache": "^6.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
},
"node_modules/conventional-recommended-bump/node_modules/locate-path": {
"version": "5.0.0",
@@ -9622,6 +9134,19 @@
"node": ">=8"
}
},
+ "node_modules/conventional-recommended-bump/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,
+ "license": "ISC",
+ "dependencies": {
+ "yallist": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
"node_modules/conventional-recommended-bump/node_modules/meow": {
"version": "8.1.2",
"resolved": "https://registry.npmjs.org/meow/-/meow-8.1.2.tgz",
@@ -9648,6 +9173,22 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/conventional-recommended-bump/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,
+ "license": "BSD-2-Clause",
+ "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/conventional-recommended-bump/node_modules/p-limit": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
@@ -9721,6 +9262,13 @@
"node": ">=8"
}
},
+ "node_modules/conventional-recommended-bump/node_modules/read-pkg/node_modules/hosted-git-info": {
+ "version": "2.8.9",
+ "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz",
+ "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==",
+ "dev": true,
+ "license": "ISC"
+ },
"node_modules/conventional-recommended-bump/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",
@@ -9734,6 +9282,16 @@
"validate-npm-package-license": "^3.0.1"
}
},
+ "node_modules/conventional-recommended-bump/node_modules/read-pkg/node_modules/semver": {
+ "version": "5.7.2",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz",
+ "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==",
+ "dev": true,
+ "license": "ISC",
+ "bin": {
+ "semver": "bin/semver"
+ }
+ },
"node_modules/conventional-recommended-bump/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",
@@ -9759,16 +9317,6 @@
"node": ">= 6"
}
},
- "node_modules/conventional-recommended-bump/node_modules/semver": {
- "version": "5.7.2",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz",
- "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==",
- "dev": true,
- "license": "ISC",
- "bin": {
- "semver": "bin/semver"
- }
- },
"node_modules/conventional-recommended-bump/node_modules/split2": {
"version": "3.2.2",
"resolved": "https://registry.npmjs.org/split2/-/split2-3.2.2.tgz",
@@ -9779,16 +9327,6 @@
"readable-stream": "^3.0.0"
}
},
- "node_modules/conventional-recommended-bump/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,
- "license": "MIT",
- "dependencies": {
- "safe-buffer": "~5.2.0"
- }
- },
"node_modules/conventional-recommended-bump/node_modules/type-fest": {
"version": "0.18.1",
"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz",
@@ -9802,6 +9340,13 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/conventional-recommended-bump/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,
+ "license": "ISC"
+ },
"node_modules/conventional-recommended-bump/node_modules/yargs-parser": {
"version": "20.2.9",
"resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz",
@@ -9816,15 +9361,25 @@
"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
+ "dev": true,
+ "license": "MIT"
},
"node_modules/cookie": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/cookie/-/cookie-1.0.2.tgz",
- "integrity": "sha512-9Kr/j4O16ISv8zBBhJoi4bXOYNTkFLOqSL3UDB0njXxCXNezjeyVrJyGOWtgfs/q2km1gwBcfH8q1yEGoMYunA==",
- "dev": true,
+ "version": "0.7.2",
+ "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz",
+ "integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==",
+ "license": "MIT",
"engines": {
- "node": ">=18"
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/cookie-signature": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.2.2.tgz",
+ "integrity": "sha512-D76uU73ulSXrD1UXF4KE2TMxVVwhsnCgfAyTg9k8P6KGZjlXKrOLe4dJQKI3Bxi5wjesZoFXJWElNWBjPZMbhg==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.6.0"
}
},
"node_modules/cookiejar": {
@@ -9839,6 +9394,7 @@
"resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz",
"integrity": "sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=0.10.0"
}
@@ -9858,10 +9414,11 @@
}
},
"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
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz",
+ "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==",
+ "dev": true,
+ "license": "MIT"
},
"node_modules/cors": {
"version": "2.8.6",
@@ -9881,9 +9438,9 @@
}
},
"node_modules/cosmiconfig": {
- "version": "9.0.0",
- "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-9.0.0.tgz",
- "integrity": "sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==",
+ "version": "9.0.1",
+ "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-9.0.1.tgz",
+ "integrity": "sha512-hr4ihw+DBqcvrsEDioRO31Z17x71pUYoNe/4h6Z0wB72p7MU7/9gH8Q3s12NFhHPfYBBOV3qyfUxmr/Yn3shnQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -9908,13 +9465,13 @@
}
},
"node_modules/cosmiconfig-typescript-loader": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/cosmiconfig-typescript-loader/-/cosmiconfig-typescript-loader-6.3.0.tgz",
- "integrity": "sha512-Akr82WH1Wfqatyiqpj8HDkO2o2KmJRu1FhKfSNJP3K4IdXwHfEyL7MOb62i1AGQVLtIQM+iCE9CGOtrfhR+mmA==",
+ "version": "6.2.0",
+ "resolved": "https://registry.npmjs.org/cosmiconfig-typescript-loader/-/cosmiconfig-typescript-loader-6.2.0.tgz",
+ "integrity": "sha512-GEN39v7TgdxgIoNcdkRE3uiAzQt3UXLyHbRHD6YoL048XAeOomyxaP+Hh/+2C6C2wYjxJ2onhJcsQp+L4YEkVQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "jiti": "2.6.1"
+ "jiti": "^2.6.1"
},
"engines": {
"node": ">=v18"
@@ -9925,31 +9482,12 @@
"typescript": ">=5"
}
},
- "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,
- "license": "Python-2.0"
- },
- "node_modules/cosmiconfig/node_modules/js-yaml": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz",
- "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "argparse": "^2.0.1"
- },
- "bin": {
- "js-yaml": "bin/js-yaml.js"
- }
- },
"node_modules/coveralls": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/coveralls/-/coveralls-3.1.1.tgz",
"integrity": "sha512-+dxnG2NHncSD1NrqbSM3dn/lE57O6Qf/koe9+I7c+wzkqRmEvcp0kgJdxKInzYzkICKkFMZsX3Vct3++tsF9ww==",
"dev": true,
+ "license": "BSD-2-Clause",
"dependencies": {
"js-yaml": "^3.13.1",
"lcov-parse": "^1.0.0",
@@ -9964,11 +9502,36 @@
"node": ">=6"
}
},
+ "node_modules/coveralls/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/coveralls/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/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
+ "dev": true,
+ "license": "MIT"
},
"node_modules/cross-inspect": {
"version": "1.0.1",
@@ -9998,27 +9561,12 @@
"node": ">= 8"
}
},
- "node_modules/cross-spawn/node_modules/which": {
- "version": "2.0.2",
- "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"
- },
- "bin": {
- "node-which": "bin/node-which"
- },
- "engines": {
- "node": ">= 8"
- }
- },
"node_modules/css": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/css/-/css-3.0.0.tgz",
"integrity": "sha512-DG9pFfwOrzc+hawpmqX/dHYHJG+Bsdb0klhyi1sDneOgGOXy9wQIC8hzyVp1e4NRYDBdxcylvywPkkXCHAzTyQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"inherits": "^2.0.4",
"source-map": "^0.6.1",
@@ -10050,6 +9598,7 @@
"resolved": "https://registry.npmjs.org/d/-/d-1.0.2.tgz",
"integrity": "sha512-MOqHvMWF9/9MX6nza0KgvFH4HpMU0EF5uUDXqX/BtxtU8NfB0QzRtJ8Oe/6SuS4kbhyzVJwjd97EA4PKrzJ8bw==",
"dev": true,
+ "license": "ISC",
"dependencies": {
"es5-ext": "^0.10.64",
"type": "^2.7.2"
@@ -10058,11 +9607,22 @@
"node": ">=0.12"
}
},
+ "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==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/dashdash": {
"version": "1.14.1",
"resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
"integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"assert-plus": "^1.0.0"
},
@@ -10075,6 +9635,7 @@
"resolved": "https://registry.npmjs.org/dateformat/-/dateformat-2.2.0.tgz",
"integrity": "sha512-GODcnWq3YGoTnygPfi02ygEiRxqUxpJwuRHjdhJYuxpcZmDq4rjBiXYmbCCzStxo176ixfLT6i4NPwQooRySnw==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": "*"
}
@@ -10087,12 +9648,20 @@
"license": "MIT"
},
"node_modules/debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "dev": true,
+ "version": "4.4.3",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz",
+ "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==",
+ "license": "MIT",
"dependencies": {
- "ms": "2.0.0"
+ "ms": "^2.1.3"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
}
},
"node_modules/debug-fabulous": {
@@ -10100,6 +9669,7 @@
"resolved": "https://registry.npmjs.org/debug-fabulous/-/debug-fabulous-1.1.0.tgz",
"integrity": "sha512-GZqvGIgKNlUnHUPQhepnUZFIMoi3dgZKQBzKDeL2g7oJF9SNAji/AAu36dusFUas0O+pae74lNeoIPHqXWDkLg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"debug": "3.X",
"memoizee": "0.4.X",
@@ -10111,21 +9681,17 @@
"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/debug-fabulous/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/decamelize": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
"integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=0.10.0"
}
@@ -10162,6 +9728,7 @@
"resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz",
"integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=0.10"
}
@@ -10181,62 +9748,27 @@
}
}
},
- "node_modules/deep-eql": {
- "version": "4.1.4",
- "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.4.tgz",
- "integrity": "sha512-SUwdGfqdKOwxCPeVYjwSyRpJ7Z+fhpwIAtmCUdZIWZ/YP5R9WAsyuSgpLVDi9bjWoN2LXHNss/dk3urXtdQxGg==",
+ "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,
"license": "MIT",
"dependencies": {
- "type-detect": "^4.0.0"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/deep-is": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz",
- "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==",
- "dev": true
- },
- "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"
- },
- "engines": {
- "node": ">=8"
+ "clone": "^1.0.2"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/default-require-extensions/node_modules/strip-bom": {
- "version": "4.0.0",
- "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/defaults": {
+ "node_modules/defaults/node_modules/clone": {
"version": "1.0.4",
- "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz",
- "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==",
+ "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz",
+ "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==",
"dev": true,
"license": "MIT",
- "dependencies": {
- "clone": "^1.0.2"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "engines": {
+ "node": ">=0.8"
}
},
"node_modules/define-data-property": {
@@ -10244,6 +9776,7 @@
"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",
@@ -10271,6 +9804,7 @@
"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",
@@ -10284,36 +9818,24 @@
}
},
"node_modules/define-property": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz",
- "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==",
+ "version": "0.2.5",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "is-descriptor": "^1.0.2",
- "isobject": "^3.0.1"
+ "is-descriptor": "^0.1.0"
},
"engines": {
"node": ">=0.10.0"
}
},
- "node_modules/define-property/node_modules/is-descriptor": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.3.tgz",
- "integrity": "sha512-JCNNGbwWZEVaSPtS45mdtrneRWJFp07LLmykxeFV5F6oBvNF8vHSfJuJgoT472pSfk+Mf8VnlrspaFBHWM8JAw==",
- "dev": true,
- "dependencies": {
- "is-accessor-descriptor": "^1.0.1",
- "is-data-descriptor": "^1.0.1"
- },
- "engines": {
- "node": ">= 0.4"
- }
- },
"node_modules/delayed-stream": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
"integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=0.4.0"
}
@@ -10323,6 +9845,7 @@
"resolved": "https://registry.npmjs.org/delete-empty/-/delete-empty-3.0.0.tgz",
"integrity": "sha512-ZUyiwo76W+DYnKsL3Kim6M/UOavPdBJgDYWOmuQhYaZvJH0AXAHbUNyEDtRbBra8wqqr686+63/0azfEk1ebUQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"ansi-colors": "^4.1.0",
"minimist": "^1.2.0",
@@ -10341,6 +9864,7 @@
"resolved": "https://registry.npmjs.org/denque/-/denque-2.1.0.tgz",
"integrity": "sha512-HVQE3AAb/pxF8fQAoiqpvg9i3evqug3hoiwakOyZAwJm+6vZehbkYXZ0l4JxS+I3QxM97v5aaRNhj8v5oBhekw==",
"dev": true,
+ "license": "Apache-2.0",
"engines": {
"node": ">=0.10"
}
@@ -10349,6 +9873,7 @@
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
"integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==",
+ "license": "MIT",
"engines": {
"node": ">= 0.8"
}
@@ -10364,6 +9889,7 @@
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz",
"integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==",
+ "license": "MIT",
"engines": {
"node": ">=6"
}
@@ -10378,11 +9904,32 @@
"node": ">=0.10.0"
}
},
+ "node_modules/detect-indent": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-5.0.0.tgz",
+ "integrity": "sha512-rlpvsxUtM0PQvy9iZe640/IWwWYyBsTApREbA1pHOpmOUIl9MkP/U4z7vTtg4Oaojvqhxt7sdufnT0EzGaR31g==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/detect-libc": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz",
+ "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/detect-newline": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-2.1.0.tgz",
"integrity": "sha512-CwffZFvlJffUg9zZA0uqrjQayUTC8ob94pnr5sFwaVv3IOmkfUHcWH+jXaQK3askE51Cqe8/9Ql/0uXNwqZ8Zg==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=0.10.0"
}
@@ -10399,10 +9946,11 @@
}
},
"node_modules/diff": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz",
- "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==",
+ "version": "2.2.3",
+ "resolved": "https://registry.npmjs.org/diff/-/diff-2.2.3.tgz",
+ "integrity": "sha512-9wfm3RLzMp/PyTFWuw9liEzdlxsdGixCW0ZTU1XDmtlAkvpVXTPGF8KnfSs0hm3BPbg19OrUPPsRkHXoREpP1g==",
"dev": true,
+ "license": "BSD-3-Clause",
"engines": {
"node": ">=0.3.1"
}
@@ -10421,9 +9969,9 @@
}
},
"node_modules/dotenv": {
- "version": "16.6.1",
- "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.6.1.tgz",
- "integrity": "sha512-uBq4egWHTcTt33a72vpSG0z3HnPuIl6NqYcTrKEg2azoEyl2hpW0zqlxysq2pK9HlDIHyHyakeYaYnSAwd8bow==",
+ "version": "16.4.7",
+ "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.7.tgz",
+ "integrity": "sha512-47qPchRCykZC03FhkYAhrvwU4xDBFIj1QPqaarj6mdM/hgUzfPHcpkHJOn3mJAufFeeAxAzeGsr5X0M4k6fLZQ==",
"dev": true,
"license": "BSD-2-Clause",
"engines": {
@@ -10467,63 +10015,57 @@
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz",
"integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/duplexer2": {
"version": "0.0.2",
"resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.0.2.tgz",
"integrity": "sha512-+AWBwjGadtksxjOQSFDhPNQbed7icNXApT4+2BNpsXzcCBiInq2H9XW0O8sfHFaPmnQRs7cg/P0fAr2IWQSW0g==",
"dev": true,
+ "license": "BSD",
"dependencies": {
"readable-stream": "~1.1.9"
}
},
- "node_modules/duplexify": {
- "version": "3.7.1",
- "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz",
- "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==",
+ "node_modules/duplexer2/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,
- "dependencies": {
- "end-of-stream": "^1.0.0",
- "inherits": "^2.0.1",
- "readable-stream": "^2.0.0",
- "stream-shift": "^1.0.0"
- }
- },
- "node_modules/duplexify/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
+ "license": "MIT"
},
- "node_modules/duplexify/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==",
+ "node_modules/duplexer2/node_modules/readable-stream": {
+ "version": "1.1.14",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
+ "integrity": "sha512-+MeVjFf4L44XUkhM1eYbD8fyEsxcV81pqMSR5gblfcLCHfZvbrqy4/qYHE+/R5HoBUT11WV5O08Cr1n3YXkWVQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"core-util-is": "~1.0.0",
- "inherits": "~2.0.3",
- "isarray": "~1.0.0",
- "process-nextick-args": "~2.0.0",
- "safe-buffer": "~5.1.1",
- "string_decoder": "~1.1.1",
- "util-deprecate": "~1.0.1"
+ "inherits": "~2.0.1",
+ "isarray": "0.0.1",
+ "string_decoder": "~0.10.x"
}
},
- "node_modules/duplexify/node_modules/safe-buffer": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
- "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
- "dev": true
+ "node_modules/duplexer2/node_modules/string_decoder": {
+ "version": "0.10.31",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
+ "integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==",
+ "dev": true,
+ "license": "MIT"
},
- "node_modules/duplexify/node_modules/string_decoder": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
- "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+ "node_modules/duplexify": {
+ "version": "3.7.1",
+ "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz",
+ "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "safe-buffer": "~5.1.0"
+ "end-of-stream": "^1.0.0",
+ "inherits": "^2.0.1",
+ "readable-stream": "^2.0.0",
+ "stream-shift": "^1.0.0"
}
},
"node_modules/each-props": {
@@ -10544,13 +10086,15 @@
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz",
"integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/ecc-jsbn": {
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz",
"integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"jsbn": "~0.1.0",
"safer-buffer": "^2.1.0"
@@ -10559,7 +10103,8 @@
"node_modules/ee-first": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
- "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow=="
+ "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==",
+ "license": "MIT"
},
"node_modules/ejs": {
"version": "3.1.10",
@@ -10578,9 +10123,9 @@
}
},
"node_modules/electron-to-chromium": {
- "version": "1.5.302",
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.302.tgz",
- "integrity": "sha512-sM6HAN2LyK82IyPBpznDRqlTQAtuSaO+ShzFiWTvoMJLHyZ+Y39r8VMfHzwbU8MVBzQ4Wdn85+wlZl2TLGIlwg==",
+ "version": "1.5.330",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.330.tgz",
+ "integrity": "sha512-jFNydB5kFtYUobh4IkWUnXeyDbjf/r9gcUEXe1xcrcUxIGfTdzPXA+ld6zBRbwvgIGVzDll/LTIiDztEtckSnA==",
"dev": true,
"license": "ISC"
},
@@ -10588,12 +10133,14 @@
"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/encodeurl": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz",
"integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==",
+ "license": "MIT",
"engines": {
"node": ">= 0.8"
}
@@ -10624,29 +10171,31 @@
}
},
"node_modules/end-of-stream": {
- "version": "1.4.4",
- "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz",
- "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==",
+ "version": "1.4.5",
+ "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.5.tgz",
+ "integrity": "sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"once": "^1.4.0"
}
},
"node_modules/engine.io": {
- "version": "6.6.2",
- "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.6.2.tgz",
- "integrity": "sha512-gmNvsYi9C8iErnZdVcJnvCpSKbWTt1E8+JZo8b+daLninywUWi5NQ5STSHZ9rFjFO7imNcvb8Pc5pe/wMR5xEw==",
+ "version": "6.6.6",
+ "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.6.6.tgz",
+ "integrity": "sha512-U2SN0w3OpjFRVlrc17E6TMDmH58Xl9rai1MblNjAdwWp07Kk+llmzX0hjDpQdrDGzwmvOtgM5yI+meYX6iZ2xA==",
+ "license": "MIT",
"dependencies": {
- "@types/cookie": "^0.4.1",
"@types/cors": "^2.8.12",
"@types/node": ">=10.0.0",
+ "@types/ws": "^8.5.12",
"accepts": "~1.3.4",
"base64id": "2.0.0",
"cookie": "~0.7.2",
"cors": "~2.8.5",
- "debug": "~4.3.1",
+ "debug": "~4.4.1",
"engine.io-parser": "~5.2.1",
- "ws": "~8.17.1"
+ "ws": "~8.18.3"
},
"engines": {
"node": ">=10.2.0"
@@ -10666,31 +10215,6 @@
"xmlhttprequest-ssl": "~2.1.1"
}
},
- "node_modules/engine.io-client/node_modules/debug": {
- "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.3"
- },
- "engines": {
- "node": ">=6.0"
- },
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
- }
- },
- "node_modules/engine.io-client/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,
- "license": "MIT"
- },
"node_modules/engine.io-client/node_modules/ws": {
"version": "8.18.3",
"resolved": "https://registry.npmjs.org/ws/-/ws-8.18.3.tgz",
@@ -10717,43 +10241,59 @@
"version": "5.2.3",
"resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.2.3.tgz",
"integrity": "sha512-HqD3yTBfnBxIrbnM1DoD6Pcq8NECnh8d4As1Qgh0z5Gg3jRRIqijury0CL3ghu/edArpUYiYqQiDUQBIs4np3Q==",
+ "license": "MIT",
"engines": {
"node": ">=10.0.0"
}
},
- "node_modules/engine.io/node_modules/cookie": {
- "version": "0.7.2",
- "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz",
- "integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==",
+ "node_modules/engine.io/node_modules/accepts": {
+ "version": "1.3.8",
+ "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz",
+ "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==",
+ "license": "MIT",
+ "dependencies": {
+ "mime-types": "~2.1.34",
+ "negotiator": "0.6.3"
+ },
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/engine.io/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==",
+ "license": "MIT",
"engines": {
"node": ">= 0.6"
}
},
- "node_modules/engine.io/node_modules/debug": {
- "version": "4.3.7",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz",
- "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==",
+ "node_modules/engine.io/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==",
+ "license": "MIT",
"dependencies": {
- "ms": "^2.1.3"
+ "mime-db": "1.52.0"
},
"engines": {
- "node": ">=6.0"
- },
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
+ "node": ">= 0.6"
}
},
- "node_modules/engine.io/node_modules/ms": {
- "version": "2.1.3",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
- "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="
+ "node_modules/engine.io/node_modules/negotiator": {
+ "version": "0.6.3",
+ "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz",
+ "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.6"
+ }
},
"node_modules/engine.io/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"
},
@@ -10823,13 +10363,15 @@
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz",
"integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"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==",
+ "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",
"dependencies": {
"is-arrayish": "^0.2.1"
}
@@ -10847,10 +10389,18 @@
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz",
"integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==",
+ "license": "MIT",
"engines": {
"node": ">= 0.4"
}
},
+ "node_modules/es-module-lexer": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-2.0.0.tgz",
+ "integrity": "sha512-5POEcUuZybH7IdmGsD8wlf0AI55wMecM9rVBTI/qEAy2c1kTOm3DjFYjrBdI2K3BaJjJYfYFeRtM0t9ssnRuxw==",
+ "dev": true,
+ "license": "MIT"
+ },
"node_modules/es-object-atoms": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz",
@@ -10879,23 +10429,13 @@
"node": ">= 0.4"
}
},
- "node_modules/es-toolkit": {
- "version": "1.46.1",
- "resolved": "https://registry.npmjs.org/es-toolkit/-/es-toolkit-1.46.1.tgz",
- "integrity": "sha512-5eNtXOs3tbfxXOj04tjjseeWkRWaoCjdEI+96DgwzZoe6c9juL49pXlzAFTI72aWC9Y8p7168g6XIKjh7k6pyQ==",
- "dev": true,
- "license": "MIT",
- "workspaces": [
- "docs",
- "benchmarks"
- ]
- },
"node_modules/es5-ext": {
"version": "0.10.64",
"resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.64.tgz",
"integrity": "sha512-p2snDhiLaXe6dahss1LddxqEm+SkuDvV8dnIQG0MWjyHpcMNfXKPE+/Cc0y+PhxJX3A4xGNeFCj5oc0BUh6deg==",
"dev": true,
"hasInstallScript": true,
+ "license": "ISC",
"dependencies": {
"es6-iterator": "^2.0.3",
"es6-symbol": "^3.1.3",
@@ -10906,18 +10446,12 @@
"node": ">=0.10"
}
},
- "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,
- "license": "MIT"
- },
"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,
+ "license": "MIT",
"dependencies": {
"d": "1",
"es5-ext": "^0.10.35",
@@ -10929,6 +10463,7 @@
"resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.4.tgz",
"integrity": "sha512-U9bFFjX8tFiATgtkJ1zg25+KviIXpgRvRHS8sau3GfhVzThRQrOeksPeT0BWW2MNZs1OEWJ1DPXOQMn0KKRkvg==",
"dev": true,
+ "license": "ISC",
"dependencies": {
"d": "^1.0.2",
"ext": "^1.7.0"
@@ -10942,6 +10477,7 @@
"resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.3.tgz",
"integrity": "sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==",
"dev": true,
+ "license": "ISC",
"dependencies": {
"d": "1",
"es5-ext": "^0.10.46",
@@ -10949,1238 +10485,1391 @@
"es6-symbol": "^3.1.1"
}
},
- "node_modules/escalade": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz",
- "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==",
+ "node_modules/esbuild": {
+ "version": "0.23.1",
+ "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.23.1.tgz",
+ "integrity": "sha512-VVNz/9Sa0bs5SELtn3f7qhJCDPCF5oMEl5cO9/SSinpE9hbPVvxbd572HH5AKiP7WD8INO53GgfDDhRjkylHEg==",
"dev": true,
+ "hasInstallScript": true,
+ "license": "MIT",
+ "bin": {
+ "esbuild": "bin/esbuild"
+ },
"engines": {
- "node": ">=6"
+ "node": ">=18"
+ },
+ "optionalDependencies": {
+ "@esbuild/aix-ppc64": "0.23.1",
+ "@esbuild/android-arm": "0.23.1",
+ "@esbuild/android-arm64": "0.23.1",
+ "@esbuild/android-x64": "0.23.1",
+ "@esbuild/darwin-arm64": "0.23.1",
+ "@esbuild/darwin-x64": "0.23.1",
+ "@esbuild/freebsd-arm64": "0.23.1",
+ "@esbuild/freebsd-x64": "0.23.1",
+ "@esbuild/linux-arm": "0.23.1",
+ "@esbuild/linux-arm64": "0.23.1",
+ "@esbuild/linux-ia32": "0.23.1",
+ "@esbuild/linux-loong64": "0.23.1",
+ "@esbuild/linux-mips64el": "0.23.1",
+ "@esbuild/linux-ppc64": "0.23.1",
+ "@esbuild/linux-riscv64": "0.23.1",
+ "@esbuild/linux-s390x": "0.23.1",
+ "@esbuild/linux-x64": "0.23.1",
+ "@esbuild/netbsd-x64": "0.23.1",
+ "@esbuild/openbsd-arm64": "0.23.1",
+ "@esbuild/openbsd-x64": "0.23.1",
+ "@esbuild/sunos-x64": "0.23.1",
+ "@esbuild/win32-arm64": "0.23.1",
+ "@esbuild/win32-ia32": "0.23.1",
+ "@esbuild/win32-x64": "0.23.1"
+ }
+ },
+ "node_modules/escalade": {
+ "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-html": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
- "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow=="
+ "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==",
+ "license": "MIT"
},
- "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==",
+ "node_modules/eslint-visitor-keys": {
+ "version": "3.4.3",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz",
+ "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==",
"dev": true,
+ "license": "Apache-2.0",
"engines": {
- "node": ">=0.8.0"
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint"
}
},
- "node_modules/eslint": {
- "version": "10.3.0",
- "resolved": "https://registry.npmjs.org/eslint/-/eslint-10.3.0.tgz",
- "integrity": "sha512-XbEXaRva5cF0ZQB8w6MluHA0kZZfV2DuCMJ3ozyEOHLwDpZX2Lmm/7Pp0xdJmI0GL1W05VH5VwIFHEm1Vcw2gw==",
+ "node_modules/esniff": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/esniff/-/esniff-2.0.1.tgz",
+ "integrity": "sha512-kTUIGKQ/mDPFoJ0oVfcmyJn4iBDRptjNVIzwIFR7tqWXdVI9xfA2RMwY/gbSpJG3lkdWNEjLap/NqVHZiJsdfg==",
"dev": true,
- "license": "MIT",
+ "license": "ISC",
"dependencies": {
- "@eslint-community/eslint-utils": "^4.8.0",
- "@eslint-community/regexpp": "^4.12.2",
- "@eslint/config-array": "^0.23.5",
- "@eslint/config-helpers": "^0.5.5",
- "@eslint/core": "^1.2.1",
- "@eslint/plugin-kit": "^0.7.1",
- "@humanfs/node": "^0.16.6",
- "@humanwhocodes/module-importer": "^1.0.1",
- "@humanwhocodes/retry": "^0.4.2",
- "@types/estree": "^1.0.6",
- "ajv": "^6.14.0",
- "cross-spawn": "^7.0.6",
- "debug": "^4.3.2",
- "escape-string-regexp": "^4.0.0",
- "eslint-scope": "^9.1.2",
- "eslint-visitor-keys": "^5.0.1",
- "espree": "^11.2.0",
- "esquery": "^1.7.0",
- "esutils": "^2.0.2",
- "fast-deep-equal": "^3.1.3",
- "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",
- "json-stable-stringify-without-jsonify": "^1.0.1",
- "minimatch": "^10.2.4",
- "natural-compare": "^1.4.0",
- "optionator": "^0.9.3"
- },
- "bin": {
- "eslint": "bin/eslint.js"
+ "d": "^1.0.1",
+ "es5-ext": "^0.10.62",
+ "event-emitter": "^0.3.5",
+ "type": "^2.7.2"
},
"engines": {
- "node": "^20.19.0 || ^22.13.0 || >=24"
- },
- "funding": {
- "url": "https://eslint.org/donate"
- },
- "peerDependencies": {
- "jiti": "*"
- },
- "peerDependenciesMeta": {
- "jiti": {
- "optional": true
- }
+ "node": ">=0.10"
}
},
- "node_modules/eslint-config-prettier": {
- "version": "10.1.8",
- "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-10.1.8.tgz",
- "integrity": "sha512-82GZUjRS0p/jganf6q1rEO25VSoHH0hKPCTrgillPjdI/3bgBhAE1QzHrHTizjpRvy6pGAvKjDJtk2pF9NDq8w==",
+ "node_modules/esprima": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
+ "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
"dev": true,
- "license": "MIT",
+ "license": "BSD-2-Clause",
"bin": {
- "eslint-config-prettier": "bin/cli.js"
- },
- "funding": {
- "url": "https://opencollective.com/eslint-config-prettier"
+ "esparse": "bin/esparse.js",
+ "esvalidate": "bin/esvalidate.js"
},
- "peerDependencies": {
- "eslint": ">=7.0.0"
+ "engines": {
+ "node": ">=4"
}
},
- "node_modules/eslint-plugin-prettier": {
- "version": "5.5.5",
- "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.5.5.tgz",
- "integrity": "sha512-hscXkbqUZ2sPithAuLm5MXL+Wph+U7wHngPBv9OMWwlP8iaflyxpjTYZkmdgB4/vPIhemRlBEoLrH7UC1n7aUw==",
+ "node_modules/estree-walker": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz",
+ "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==",
"dev": true,
"license": "MIT",
"dependencies": {
- "prettier-linter-helpers": "^1.0.1",
- "synckit": "^0.11.12"
- },
+ "@types/estree": "^1.0.0"
+ }
+ },
+ "node_modules/etag": {
+ "version": "1.8.1",
+ "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
+ "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==",
+ "license": "MIT",
"engines": {
- "node": "^14.18.0 || >=16.0.0"
- },
- "funding": {
- "url": "https://opencollective.com/eslint-plugin-prettier"
- },
- "peerDependencies": {
- "@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
- },
- "eslint-config-prettier": {
- "optional": true
- }
+ "node": ">= 0.6"
}
},
- "node_modules/eslint-scope": {
- "version": "9.1.2",
- "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-9.1.2.tgz",
- "integrity": "sha512-xS90H51cKw0jltxmvmHy2Iai1LIqrfbw57b79w/J7MfvDfkIkFZ+kj6zC3BjtUwh150HsSSdxXZcsuv72miDFQ==",
+ "node_modules/event-emitter": {
+ "version": "0.3.5",
+ "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz",
+ "integrity": "sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==",
"dev": true,
- "license": "BSD-2-Clause",
+ "license": "MIT",
"dependencies": {
- "@types/esrecurse": "^4.3.1",
- "@types/estree": "^1.0.8",
- "esrecurse": "^4.3.0",
- "estraverse": "^5.2.0"
- },
- "engines": {
- "node": "^20.19.0 || ^22.13.0 || >=24"
- },
- "funding": {
- "url": "https://opencollective.com/eslint"
+ "d": "1",
+ "es5-ext": "~0.10.14"
}
},
- "node_modules/eslint-visitor-keys": {
- "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==",
+ "node_modules/event-stream": {
+ "version": "3.3.5",
+ "resolved": "https://registry.npmjs.org/event-stream/-/event-stream-3.3.5.tgz",
+ "integrity": "sha512-vyibDcu5JL20Me1fP734QBH/kenBGLZap2n0+XXM7mvuUPzJ20Ydqj1aKcIeMdri1p+PU+4yAKugjN8KCVst+g==",
"dev": true,
- "license": "Apache-2.0",
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "url": "https://opencollective.com/eslint"
+ "license": "MIT",
+ "dependencies": {
+ "duplexer": "^0.1.1",
+ "from": "^0.1.7",
+ "map-stream": "0.0.7",
+ "pause-stream": "^0.0.11",
+ "split": "^1.0.1",
+ "stream-combiner": "^0.2.2",
+ "through": "^2.3.8"
}
},
- "node_modules/eslint/node_modules/ajv": {
- "version": "6.15.0",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.15.0.tgz",
- "integrity": "sha512-fgFx7Hfoq60ytK2c7DhnF8jIvzYgOMxfugjLOSMHjLIPgenqa7S7oaagATUq99mV6IYvN2tRmC0wnTYX6iPbMw==",
+ "node_modules/event-target-shim": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz",
+ "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==",
"dev": true,
"license": "MIT",
- "dependencies": {
- "fast-deep-equal": "^3.1.1",
- "fast-json-stable-stringify": "^2.0.0",
- "json-schema-traverse": "^0.4.1",
- "uri-js": "^4.2.2"
- },
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/epoberezkin"
+ "engines": {
+ "node": ">=6"
}
},
- "node_modules/eslint/node_modules/balanced-match": {
- "version": "4.0.4",
- "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz",
- "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==",
+ "node_modules/eventemitter3": {
+ "version": "5.0.4",
+ "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.4.tgz",
+ "integrity": "sha512-mlsTRyGaPBjPedk6Bvw+aqbsXDtoAyAzm5MO7JgU+yVRyMQ5O8bD4Kcci7BS85f93veegeCPkL8R4GLClnjLFw==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "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",
"engines": {
- "node": "18 || 20 || >=22"
+ "node": ">=0.8.x"
}
},
- "node_modules/eslint/node_modules/brace-expansion": {
- "version": "5.0.5",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.5.tgz",
- "integrity": "sha512-VZznLgtwhn+Mact9tfiwx64fA9erHH/MCXEUfB/0bX/6Fz6ny5EGTXYltMocqg4xFAQZtnO3DHWWXi8RiuN7cQ==",
+ "node_modules/events-universal": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/events-universal/-/events-universal-1.0.1.tgz",
+ "integrity": "sha512-LUd5euvbMLpwOF8m6ivPCbhQeSiYVNb8Vs0fQ8QjXo0JTkEHpz8pxdQf0gStltaPpw0Cca8b39KxvK9cfKRiAw==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "bare-events": "^2.7.0"
+ }
+ },
+ "node_modules/eventsource": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-4.1.0.tgz",
+ "integrity": "sha512-2GuF51iuHX6A9xdTccMTsNb7VO0lHZihApxhvQzJB5A03DvHDd2FQepodbMaztPBmBcE/ox7o2gqaxGhYB9LhQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "balanced-match": "^4.0.2"
+ "eventsource-parser": "^3.0.1"
},
"engines": {
- "node": "18 || 20 || >=22"
+ "node": ">=20.0.0"
}
},
- "node_modules/eslint/node_modules/debug": {
- "version": "4.4.3",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz",
- "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==",
+ "node_modules/eventsource-parser": {
+ "version": "3.0.6",
+ "resolved": "https://registry.npmjs.org/eventsource-parser/-/eventsource-parser-3.0.6.tgz",
+ "integrity": "sha512-Vo1ab+QXPzZ4tCa8SwIHJFaSzy4R6SHf7BY79rFBDf0idraZWAkYrDjDj8uWaSm3S2TK+hJ7/t1CEmZ7jXw+pg==",
"dev": true,
"license": "MIT",
- "dependencies": {
- "ms": "^2.1.3"
- },
"engines": {
- "node": ">=6.0"
- },
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
+ "node": ">=18.0.0"
}
},
- "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==",
+ "node_modules/execa": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/execa/-/execa-5.0.0.tgz",
+ "integrity": "sha512-ov6w/2LCiuyO4RLYGdpFGjkcs0wMTgGE8PrkTHikeUy5iJekXyPIKUjifk5CsE0pt7sMCrMZ3YNqoCj6idQOnQ==",
"dev": true,
"license": "MIT",
+ "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/sponsors/sindresorhus"
+ "url": "https://github.com/sindresorhus/execa?sponsor=1"
}
},
- "node_modules/eslint/node_modules/eslint-visitor-keys": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-5.0.1.tgz",
- "integrity": "sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==",
+ "node_modules/expand-brackets": {
+ "version": "0.1.5",
+ "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz",
+ "integrity": "sha512-hxx03P2dJxss6ceIeri9cmYOT4SRs3Zk3afZwWpOsRqLqprhTR8u++SlC+sFGsQr7WGFPdMF7Gjc1njDLDK6UA==",
"dev": true,
- "license": "Apache-2.0",
- "engines": {
- "node": "^20.19.0 || ^22.13.0 || >=24"
+ "license": "MIT",
+ "dependencies": {
+ "is-posix-bracket": "^0.1.0"
},
- "funding": {
- "url": "https://opencollective.com/eslint"
+ "engines": {
+ "node": ">=0.10.0"
}
},
- "node_modules/eslint/node_modules/espree": {
- "version": "11.2.0",
- "resolved": "https://registry.npmjs.org/espree/-/espree-11.2.0.tgz",
- "integrity": "sha512-7p3DrVEIopW1B1avAGLuCSh1jubc01H2JHc8B4qqGblmg5gI9yumBgACjWo4JlIc04ufug4xJ3SQI8HkS/Rgzw==",
+ "node_modules/expand-range": {
+ "version": "1.8.2",
+ "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz",
+ "integrity": "sha512-AFASGfIlnIbkKPQwX1yHaDjFvh/1gyKJODme52V6IORh69uEYgZp0o9C+qsIGNVEiuuhQU0CSSl++Rlegg1qvA==",
"dev": true,
- "license": "BSD-2-Clause",
+ "license": "MIT",
"dependencies": {
- "acorn": "^8.16.0",
- "acorn-jsx": "^5.3.2",
- "eslint-visitor-keys": "^5.0.1"
+ "fill-range": "^2.1.0"
},
"engines": {
- "node": "^20.19.0 || ^22.13.0 || >=24"
- },
- "funding": {
- "url": "https://opencollective.com/eslint"
+ "node": ">=0.10.0"
}
},
- "node_modules/eslint/node_modules/glob-parent": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
- "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
+ "node_modules/expand-range/node_modules/fill-range": {
+ "version": "2.2.4",
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.4.tgz",
+ "integrity": "sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==",
"dev": true,
- "license": "ISC",
+ "license": "MIT",
"dependencies": {
- "is-glob": "^4.0.3"
+ "is-number": "^2.1.0",
+ "isobject": "^2.0.0",
+ "randomatic": "^3.0.0",
+ "repeat-element": "^1.1.2",
+ "repeat-string": "^1.5.2"
},
"engines": {
- "node": ">=10.13.0"
+ "node": ">=0.10.0"
}
},
- "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,
- "license": "MIT"
- },
- "node_modules/eslint/node_modules/minimatch": {
- "version": "10.2.5",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.5.tgz",
- "integrity": "sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==",
+ "node_modules/expand-range/node_modules/is-number": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz",
+ "integrity": "sha512-QUzH43Gfb9+5yckcrSA0VBDwEtDUchrk4F6tfJZQuNzDJbEDB9cZNzSfXGQ1jqmdDY/kl41lUOWM9syA8z8jlg==",
"dev": true,
- "license": "BlueOak-1.0.0",
+ "license": "MIT",
"dependencies": {
- "brace-expansion": "^5.0.5"
+ "kind-of": "^3.0.2"
},
"engines": {
- "node": "18 || 20 || >=22"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
+ "node": ">=0.10.0"
}
},
- "node_modules/eslint/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,
- "license": "MIT"
- },
- "node_modules/esniff": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/esniff/-/esniff-2.0.1.tgz",
- "integrity": "sha512-kTUIGKQ/mDPFoJ0oVfcmyJn4iBDRptjNVIzwIFR7tqWXdVI9xfA2RMwY/gbSpJG3lkdWNEjLap/NqVHZiJsdfg==",
+ "node_modules/expand-range/node_modules/isobject": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
+ "integrity": "sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "d": "^1.0.1",
- "es5-ext": "^0.10.62",
- "event-emitter": "^0.3.5",
- "type": "^2.7.2"
+ "isarray": "1.0.0"
},
"engines": {
- "node": ">=0.10"
+ "node": ">=0.10.0"
}
},
- "node_modules/espree": {
- "version": "10.4.0",
- "resolved": "https://registry.npmjs.org/espree/-/espree-10.4.0.tgz",
- "integrity": "sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==",
+ "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,
- "license": "BSD-2-Clause",
+ "license": "MIT",
"dependencies": {
- "acorn": "^8.15.0",
- "acorn-jsx": "^5.3.2",
- "eslint-visitor-keys": "^4.2.1"
+ "homedir-polyfill": "^1.0.1"
},
"engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "url": "https://opencollective.com/eslint"
+ "node": ">=0.10.0"
}
},
- "node_modules/esprima": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
- "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
+ "node_modules/expect-type": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/expect-type/-/expect-type-1.3.0.tgz",
+ "integrity": "sha512-knvyeauYhqjOYvQ66MznSMs83wmHrCycNEN6Ao+2AeYEfxUIkuiVxdEa1qlGEPK+We3n0THiDciYSsCcgW/DoA==",
"dev": true,
- "bin": {
- "esparse": "bin/esparse.js",
- "esvalidate": "bin/esvalidate.js"
- },
+ "license": "Apache-2.0",
"engines": {
- "node": ">=4"
+ "node": ">=12.0.0"
}
},
- "node_modules/esquery": {
- "version": "1.7.0",
- "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.7.0.tgz",
- "integrity": "sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==",
+ "node_modules/exponential-backoff": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/exponential-backoff/-/exponential-backoff-3.1.3.tgz",
+ "integrity": "sha512-ZgEeZXj30q+I0EN+CbSSpIyPaJ5HVQD18Z1m+u1FXbAeT94mr1zw50q4q6jiiC447Nl/YTcIYSAftiGqetwXCA==",
"dev": true,
- "license": "BSD-3-Clause",
+ "license": "Apache-2.0"
+ },
+ "node_modules/express": {
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/express/-/express-5.2.1.tgz",
+ "integrity": "sha512-hIS4idWWai69NezIdRt2xFVofaF4j+6INOpJlVOLDO8zXGpUVEVzIYk12UUi2JzjEzWL3IOAxcTubgz9Po0yXw==",
+ "license": "MIT",
"dependencies": {
- "estraverse": "^5.1.0"
+ "accepts": "^2.0.0",
+ "body-parser": "^2.2.1",
+ "content-disposition": "^1.0.0",
+ "content-type": "^1.0.5",
+ "cookie": "^0.7.1",
+ "cookie-signature": "^1.2.1",
+ "debug": "^4.4.0",
+ "depd": "^2.0.0",
+ "encodeurl": "^2.0.0",
+ "escape-html": "^1.0.3",
+ "etag": "^1.8.1",
+ "finalhandler": "^2.1.0",
+ "fresh": "^2.0.0",
+ "http-errors": "^2.0.0",
+ "merge-descriptors": "^2.0.0",
+ "mime-types": "^3.0.0",
+ "on-finished": "^2.4.1",
+ "once": "^1.4.0",
+ "parseurl": "^1.3.3",
+ "proxy-addr": "^2.0.7",
+ "qs": "^6.14.0",
+ "range-parser": "^1.2.1",
+ "router": "^2.2.0",
+ "send": "^1.1.0",
+ "serve-static": "^2.2.0",
+ "statuses": "^2.0.1",
+ "type-is": "^2.0.1",
+ "vary": "^1.1.2"
},
"engines": {
- "node": ">=0.10"
+ "node": ">= 18"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/express"
}
},
- "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==",
+ "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,
- "license": "BSD-2-Clause",
+ "license": "ISC",
"dependencies": {
- "estraverse": "^5.2.0"
- },
- "engines": {
- "node": ">=4.0"
+ "type": "^2.7.2"
}
},
- "node_modules/estraverse": {
- "version": "5.3.0",
- "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
- "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
+ "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,
- "license": "BSD-2-Clause",
- "engines": {
- "node": ">=4.0"
- }
+ "license": "MIT"
},
- "node_modules/esutils": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
- "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
+ "node_modules/extend-shallow": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
+ "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==",
"dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "assign-symbols": "^1.0.0",
+ "is-extendable": "^1.0.1"
+ },
"engines": {
"node": ">=0.10.0"
}
},
- "node_modules/etag": {
- "version": "1.8.1",
- "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
- "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==",
+ "node_modules/extglob": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz",
+ "integrity": "sha512-1FOj1LOwn42TMrruOHGt18HemVnbwAmAak7krWk+wa93KXxGbK+2jpezm+ytJYDaBX0/SPLZFHKM7m+tKobWGg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "is-extglob": "^1.0.0"
+ },
"engines": {
- "node": ">= 0.6"
+ "node": ">=0.10.0"
}
},
- "node_modules/event-emitter": {
- "version": "0.3.5",
- "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz",
- "integrity": "sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==",
+ "node_modules/extglob/node_modules/is-extglob": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
+ "integrity": "sha512-7Q+VbVafe6x2T+Tu6NcOf6sRklazEPmBoB3IWk3WdGZM2iGUwU/Oe3Wtq5lSEkDTTlpp8yx+5t4pzO/i9Ty1ww==",
"dev": true,
- "dependencies": {
- "d": "1",
- "es5-ext": "~0.10.14"
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
}
},
- "node_modules/event-stream": {
- "version": "3.3.5",
- "resolved": "https://registry.npmjs.org/event-stream/-/event-stream-3.3.5.tgz",
- "integrity": "sha512-vyibDcu5JL20Me1fP734QBH/kenBGLZap2n0+XXM7mvuUPzJ20Ydqj1aKcIeMdri1p+PU+4yAKugjN8KCVst+g==",
+ "node_modules/extsprintf": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
+ "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==",
"dev": true,
- "dependencies": {
- "duplexer": "^0.1.1",
- "from": "^0.1.7",
- "map-stream": "0.0.7",
- "pause-stream": "^0.0.11",
- "split": "^1.0.1",
- "stream-combiner": "^0.2.2",
- "through": "^2.3.8"
- }
+ "engines": [
+ "node >=0.6.0"
+ ],
+ "license": "MIT"
},
- "node_modules/event-target-shim": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz",
- "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==",
+ "node_modules/fancy-log": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/fancy-log/-/fancy-log-2.0.0.tgz",
+ "integrity": "sha512-9CzxZbACXMUXW13tS0tI8XsGGmxWzO2DmYrGuBJOJ8k8q2K7hwfJA5qHjuPPe8wtsco33YR9wc+Rlr5wYFvhSA==",
"dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "color-support": "^1.1.3"
+ },
"engines": {
- "node": ">=6"
+ "node": ">=10.13.0"
}
},
- "node_modules/eventemitter3": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.2.tgz",
- "integrity": "sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q==",
- "dev": true
+ "node_modules/fast-decode-uri-component": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/fast-decode-uri-component/-/fast-decode-uri-component-1.0.1.tgz",
+ "integrity": "sha512-WKgKWg5eUxvRZGwW8FvfbaH7AXSh2cL+3j5fMGzUMCxWBJ3dV3a7Wz8y2f/uQ0e3B6WmodD3oS54jTQ9HVTIIg==",
+ "license": "MIT"
},
- "node_modules/events": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz",
- "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==",
+ "node_modules/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==",
+ "license": "MIT"
+ },
+ "node_modules/fast-fifo": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.3.2.tgz",
+ "integrity": "sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==",
"dev": true,
- "engines": {
- "node": ">=0.8.x"
- }
+ "license": "MIT"
},
- "node_modules/eventsource": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-4.1.0.tgz",
- "integrity": "sha512-2GuF51iuHX6A9xdTccMTsNb7VO0lHZihApxhvQzJB5A03DvHDd2FQepodbMaztPBmBcE/ox7o2gqaxGhYB9LhQ==",
+ "node_modules/fast-glob": {
+ "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": {
- "eventsource-parser": "^3.0.1"
+ "@nodelib/fs.stat": "^2.0.2",
+ "@nodelib/fs.walk": "^1.2.3",
+ "glob-parent": "^5.1.2",
+ "merge2": "^1.3.0",
+ "micromatch": "^4.0.8"
},
"engines": {
- "node": ">=20.0.0"
+ "node": ">=8.6.0"
}
},
- "node_modules/eventsource-parser": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/eventsource-parser/-/eventsource-parser-3.0.1.tgz",
- "integrity": "sha512-VARTJ9CYeuQYb0pZEPbzi740OWFgpHe7AYJ2WFZVnUDUQp5Dk2yJUgF36YsZ81cOyxT0QxmXD2EQpapAouzWVA==",
+ "node_modules/fast-glob/node_modules/glob-parent": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
+ "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
"dev": true,
- "license": "MIT",
+ "license": "ISC",
+ "dependencies": {
+ "is-glob": "^4.0.1"
+ },
"engines": {
- "node": ">=18.0.0"
+ "node": ">= 6"
}
},
- "node_modules/execa": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/execa/-/execa-5.0.0.tgz",
- "integrity": "sha512-ov6w/2LCiuyO4RLYGdpFGjkcs0wMTgGE8PrkTHikeUy5iJekXyPIKUjifk5CsE0pt7sMCrMZ3YNqoCj6idQOnQ==",
+ "node_modules/fast-json-stable-stringify": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
+ "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
"dev": true,
+ "license": "MIT"
+ },
+ "node_modules/fast-json-stringify": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/fast-json-stringify/-/fast-json-stringify-6.3.0.tgz",
+ "integrity": "sha512-oRCntNDY/329HJPlmdNLIdogNtt6Vyjb1WuT01Soss3slIdyUp8kAcDU3saQTOquEK8KFVfwIIF7FebxUAu+yA==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/fastify"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/fastify"
+ }
+ ],
"license": "MIT",
"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"
+ "@fastify/merge-json-schemas": "^0.2.0",
+ "ajv": "^8.12.0",
+ "ajv-formats": "^3.0.1",
+ "fast-uri": "^3.0.0",
+ "json-schema-ref-resolver": "^3.0.0",
+ "rfdc": "^1.2.0"
}
},
- "node_modules/expand-brackets": {
- "version": "0.1.5",
- "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz",
- "integrity": "sha512-hxx03P2dJxss6ceIeri9cmYOT4SRs3Zk3afZwWpOsRqLqprhTR8u++SlC+sFGsQr7WGFPdMF7Gjc1njDLDK6UA==",
- "dev": true,
+ "node_modules/fast-querystring": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/fast-querystring/-/fast-querystring-1.1.2.tgz",
+ "integrity": "sha512-g6KuKWmFXc0fID8WWH0jit4g0AGBoJhCkJMb1RmbsSEUNvQ+ZC8D6CUZ+GtF8nMzSPXnhiePyyqqipzNNEnHjg==",
+ "license": "MIT",
"dependencies": {
- "is-posix-bracket": "^0.1.0"
- },
- "engines": {
- "node": ">=0.10.0"
+ "fast-decode-uri-component": "^1.0.1"
}
},
- "node_modules/expand-range": {
- "version": "1.8.2",
- "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz",
- "integrity": "sha512-AFASGfIlnIbkKPQwX1yHaDjFvh/1gyKJODme52V6IORh69uEYgZp0o9C+qsIGNVEiuuhQU0CSSl++Rlegg1qvA==",
+ "node_modules/fast-safe-stringify": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz",
+ "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==",
+ "license": "MIT"
+ },
+ "node_modules/fast-unique-numbers": {
+ "version": "9.0.27",
+ "resolved": "https://registry.npmjs.org/fast-unique-numbers/-/fast-unique-numbers-9.0.27.tgz",
+ "integrity": "sha512-nDA9ADeINN8SA2u2wCtU+siWFTTDqQR37XvgPIDDmboWQeExz7X0mImxuaN+kJddliIqy2FpVRmnvRZ+j8i1/A==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "fill-range": "^2.1.0"
+ "@babel/runtime": "^7.29.2",
+ "tslib": "^2.8.1"
},
"engines": {
- "node": ">=0.10.0"
+ "node": ">=18.2.0"
}
},
- "node_modules/expand-range/node_modules/fill-range": {
- "version": "2.2.4",
- "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.4.tgz",
- "integrity": "sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==",
+ "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==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/fastify"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/fastify"
+ }
+ ],
+ "license": "BSD-3-Clause"
+ },
+ "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==",
"dev": true,
- "dependencies": {
- "is-number": "^2.1.0",
- "isobject": "^2.0.0",
- "randomatic": "^3.0.0",
- "repeat-element": "^1.1.2",
- "repeat-string": "^1.5.2"
- },
+ "license": "MIT",
"engines": {
- "node": ">=0.10.0"
+ "node": ">= 4.9.1"
}
},
- "node_modules/expand-range/node_modules/is-number": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz",
- "integrity": "sha512-QUzH43Gfb9+5yckcrSA0VBDwEtDUchrk4F6tfJZQuNzDJbEDB9cZNzSfXGQ1jqmdDY/kl41lUOWM9syA8z8jlg==",
+ "node_modules/fastify": {
+ "version": "5.7.4",
+ "resolved": "https://registry.npmjs.org/fastify/-/fastify-5.7.4.tgz",
+ "integrity": "sha512-e6l5NsRdaEP8rdD8VR0ErJASeyaRbzXYpmkrpr2SuvuMq6Si3lvsaVy5C+7gLanEkvjpMDzBXWE5HPeb/hgTxA==",
"dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/fastify"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/fastify"
+ }
+ ],
+ "license": "MIT",
"dependencies": {
- "kind-of": "^3.0.2"
- },
- "engines": {
- "node": ">=0.10.0"
+ "@fastify/ajv-compiler": "^4.0.5",
+ "@fastify/error": "^4.0.0",
+ "@fastify/fast-json-stringify-compiler": "^5.0.0",
+ "@fastify/proxy-addr": "^5.0.0",
+ "abstract-logging": "^2.0.1",
+ "avvio": "^9.0.0",
+ "fast-json-stringify": "^6.0.0",
+ "find-my-way": "^9.0.0",
+ "light-my-request": "^6.0.0",
+ "pino": "^10.1.0",
+ "process-warning": "^5.0.0",
+ "rfdc": "^1.3.1",
+ "secure-json-parse": "^4.0.0",
+ "semver": "^7.6.0",
+ "toad-cache": "^3.7.0"
}
},
- "node_modules/expand-range/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/fastify-plugin": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/fastify-plugin/-/fastify-plugin-5.1.0.tgz",
+ "integrity": "sha512-FAIDA8eovSt5qcDgcBvDuX/v0Cjz0ohGhENZ/wpc3y+oZCY2afZ9Baqql3g/lC+OHRnciQol4ww7tuthOb9idw==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/fastify"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/fastify"
+ }
+ ],
+ "license": "MIT"
},
- "node_modules/expand-range/node_modules/isobject": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
- "integrity": "sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==",
+ "node_modules/fastq": {
+ "version": "1.20.1",
+ "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.20.1.tgz",
+ "integrity": "sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw==",
+ "license": "ISC",
+ "dependencies": {
+ "reusify": "^1.0.4"
+ }
+ },
+ "node_modules/fd-package-json": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/fd-package-json/-/fd-package-json-2.0.0.tgz",
+ "integrity": "sha512-jKmm9YtsNXN789RS/0mSzOC1NUq9mkVd65vbSSVsKdjGvYXBuE4oWe2QOEoFeRmJg+lPuZxpmrfFclNhoRMneQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "isarray": "1.0.0"
- },
+ "walk-up-path": "^4.0.0"
+ }
+ },
+ "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.10.0"
+ "node": ">=12.0.0"
+ },
+ "peerDependencies": {
+ "picomatch": "^3 || ^4"
+ },
+ "peerDependenciesMeta": {
+ "picomatch": {
+ "optional": true
+ }
}
},
- "node_modules/expand-range/node_modules/kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==",
+ "node_modules/figures": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz",
+ "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "is-buffer": "^1.1.5"
+ "escape-string-regexp": "^1.0.5"
},
"engines": {
- "node": ">=0.10.0"
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/expand-tilde": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz",
- "integrity": "sha512-A5EmesHW6rfnZ9ysHQjPdJRni0SRar0tjtG5MNtm9n5TUvsYU8oozprtRD4AqHxcZWWlVuAmQo2nWKfN9oyjTw==",
+ "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-type": {
+ "version": "21.3.0",
+ "resolved": "https://registry.npmjs.org/file-type/-/file-type-21.3.0.tgz",
+ "integrity": "sha512-8kPJMIGz1Yt/aPEwOsrR97ZyZaD1Iqm8PClb1nYFclUCkBi0Ma5IsYNQzvSFS9ib51lWyIw5mIT9rWzI/xjpzA==",
+ "license": "MIT",
"dependencies": {
- "homedir-polyfill": "^1.0.1"
+ "@tokenizer/inflate": "^0.4.1",
+ "strtok3": "^10.3.4",
+ "token-types": "^6.1.1",
+ "uint8array-extras": "^1.4.0"
},
"engines": {
- "node": ">=0.10.0"
+ "node": ">=20"
+ },
+ "funding": {
+ "url": "https://github.com/sindresorhus/file-type?sponsor=1"
}
},
- "node_modules/exponential-backoff": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/exponential-backoff/-/exponential-backoff-3.1.3.tgz",
- "integrity": "sha512-ZgEeZXj30q+I0EN+CbSSpIyPaJ5HVQD18Z1m+u1FXbAeT94mr1zw50q4q6jiiC447Nl/YTcIYSAftiGqetwXCA==",
+ "node_modules/file-uri-to-path": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz",
+ "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==",
"dev": true,
- "license": "Apache-2.0"
- },
- "node_modules/express": {
- "version": "5.2.1",
- "resolved": "https://registry.npmjs.org/express/-/express-5.2.1.tgz",
- "integrity": "sha512-hIS4idWWai69NezIdRt2xFVofaF4j+6INOpJlVOLDO8zXGpUVEVzIYk12UUi2JzjEzWL3IOAxcTubgz9Po0yXw==",
"license": "MIT",
- "dependencies": {
- "accepts": "^2.0.0",
- "body-parser": "^2.2.1",
- "content-disposition": "^1.0.0",
- "content-type": "^1.0.5",
- "cookie": "^0.7.1",
- "cookie-signature": "^1.2.1",
+ "optional": true
+ },
+ "node_modules/filelist": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.6.tgz",
+ "integrity": "sha512-5giy2PkLYY1cP39p17Ech+2xlpTRL9HLspOfEgm0L6CwBXBTgsK5ou0JtzYuepxkaQ/tvhCFIJ5uXo0OrM2DxA==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "minimatch": "^5.0.1"
+ }
+ },
+ "node_modules/filelist/node_modules/brace-expansion": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.3.tgz",
+ "integrity": "sha512-MCV/fYJEbqx68aE58kv2cA/kiky1G8vux3OR6/jbS+jIMe/6fJWa0DTzJU7dqijOWYwHi1t29FlfYI9uytqlpA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "balanced-match": "^1.0.0"
+ }
+ },
+ "node_modules/filelist/node_modules/minimatch": {
+ "version": "5.1.9",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.9.tgz",
+ "integrity": "sha512-7o1wEA2RyMP7Iu7GNba9vc0RWWGACJOCZBJX2GJWip0ikV+wcOsgVuY9uE8CPiyQhkGFSlhuSkZPavN7u1c2Fw==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "brace-expansion": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/filename-regex": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz",
+ "integrity": "sha512-BTCqyBaWBTsauvnHiE8i562+EdJj+oUpkqWp2R1iCoR8f6oo8STRu3of7WJJ0TqWtxN50a5YFpzYK4Jj9esYfQ==",
+ "dev": true,
+ "license": "MIT",
+ "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",
+ "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "to-regex-range": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/finalhandler": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-2.1.1.tgz",
+ "integrity": "sha512-S8KoZgRZN+a5rNwqTxlZZePjT/4cnm0ROV70LedRHZ0p8u9fRID0hJUZQpkKLzro8LfmC8sx23bY6tVNxv8pQA==",
+ "license": "MIT",
+ "dependencies": {
"debug": "^4.4.0",
- "depd": "^2.0.0",
"encodeurl": "^2.0.0",
"escape-html": "^1.0.3",
- "etag": "^1.8.1",
- "finalhandler": "^2.1.0",
- "fresh": "^2.0.0",
- "http-errors": "^2.0.0",
- "merge-descriptors": "^2.0.0",
- "mime-types": "^3.0.0",
"on-finished": "^2.4.1",
- "once": "^1.4.0",
"parseurl": "^1.3.3",
- "proxy-addr": "^2.0.7",
- "qs": "^6.14.0",
- "range-parser": "^1.2.1",
- "router": "^2.2.0",
- "send": "^1.1.0",
- "serve-static": "^2.2.0",
- "statuses": "^2.0.1",
- "type-is": "^2.0.1",
- "vary": "^1.1.2"
+ "statuses": "^2.0.1"
},
"engines": {
- "node": ">= 18"
+ "node": ">= 18.0.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/express"
}
},
- "node_modules/express/node_modules/accepts": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/accepts/-/accepts-2.0.0.tgz",
- "integrity": "sha512-5cvg6CtKwfgdmVqY1WIiXKc3Q1bkRqGLi+2W/6ao+6Y7gu/RCwRuAhGEzh5B4KlszSuTLgZYuqFqo5bImjNKng==",
+ "node_modules/find-my-way": {
+ "version": "9.4.0",
+ "resolved": "https://registry.npmjs.org/find-my-way/-/find-my-way-9.4.0.tgz",
+ "integrity": "sha512-5Ye4vHsypZRYtS01ob/iwHzGRUDELlsoCftI/OZFhcLs1M0tkGPcXldE80TAZC5yYuJMBPJQQ43UHlqbJWiX2w==",
+ "dev": true,
"license": "MIT",
"dependencies": {
- "mime-types": "^3.0.0",
- "negotiator": "^1.0.0"
+ "fast-deep-equal": "^3.1.3",
+ "fast-querystring": "^1.0.0",
+ "safe-regex2": "^5.0.0"
},
"engines": {
- "node": ">= 0.6"
+ "node": ">=20"
}
},
- "node_modules/express/node_modules/cookie": {
- "version": "0.7.2",
- "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz",
- "integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==",
+ "node_modules/findup-sync": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-5.0.0.tgz",
+ "integrity": "sha512-MzwXju70AuyflbgeOhzvQWAvvQdo1XL0A9bVvlXsYcFEBM87WR4OakL4OfZq+QRmr+duJubio+UtNQCPsVESzQ==",
+ "dev": true,
"license": "MIT",
+ "dependencies": {
+ "detect-file": "^1.0.0",
+ "is-glob": "^4.0.3",
+ "micromatch": "^4.0.4",
+ "resolve-dir": "^1.0.1"
+ },
"engines": {
- "node": ">= 0.6"
+ "node": ">= 10.13.0"
}
},
- "node_modules/express/node_modules/cookie-signature": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.2.2.tgz",
- "integrity": "sha512-D76uU73ulSXrD1UXF4KE2TMxVVwhsnCgfAyTg9k8P6KGZjlXKrOLe4dJQKI3Bxi5wjesZoFXJWElNWBjPZMbhg==",
+ "node_modules/fined": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/fined/-/fined-2.0.0.tgz",
+ "integrity": "sha512-OFRzsL6ZMHz5s0JrsEr+TpdGNCtrVtnuG3x1yzGNiQHT0yaDnXAj8V/lWcpJVrnoDpcwXcASxAZYbuXda2Y82A==",
+ "dev": true,
"license": "MIT",
+ "dependencies": {
+ "expand-tilde": "^2.0.2",
+ "is-plain-object": "^5.0.0",
+ "object.defaults": "^1.1.0",
+ "object.pick": "^1.3.0",
+ "parse-filepath": "^1.0.2"
+ },
"engines": {
- "node": ">=6.6.0"
+ "node": ">= 10.13.0"
}
},
- "node_modules/express/node_modules/debug": {
- "version": "4.4.0",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz",
- "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==",
+ "node_modules/first-chunk-stream": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/first-chunk-stream/-/first-chunk-stream-2.0.0.tgz",
+ "integrity": "sha512-X8Z+b/0L4lToKYq+lwnKqi9X/Zek0NibLpsJgVsSxpoYq7JtiCtRb5HqKVEjEw/qAb/4AKKRLOwwKHlWNpm2Eg==",
+ "dev": true,
"license": "MIT",
"dependencies": {
- "ms": "^2.1.3"
+ "readable-stream": "^2.0.2"
},
"engines": {
- "node": ">=6.0"
- },
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
+ "node": ">=0.10.0"
}
},
- "node_modules/express/node_modules/media-typer": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-1.1.0.tgz",
- "integrity": "sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw==",
+ "node_modules/flagged-respawn": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/flagged-respawn/-/flagged-respawn-2.0.0.tgz",
+ "integrity": "sha512-Gq/a6YCi8zexmGHMuJwahTGzXlAZAOsbCVKduWXC6TlLCjjFRlExMJc4GC2NYPYZ0r/brw9P7CpRgQmlPVeOoA==",
+ "dev": true,
"license": "MIT",
"engines": {
- "node": ">= 0.8"
+ "node": ">= 10.13.0"
}
},
- "node_modules/express/node_modules/mime-db": {
- "version": "1.54.0",
- "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.54.0.tgz",
- "integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==",
- "license": "MIT",
- "engines": {
- "node": ">= 0.6"
+ "node_modules/flat": {
+ "version": "5.0.2",
+ "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz",
+ "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==",
+ "dev": true,
+ "license": "BSD-3-Clause",
+ "bin": {
+ "flat": "cli.js"
}
},
- "node_modules/express/node_modules/mime-types": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-3.0.1.tgz",
- "integrity": "sha512-xRc4oEhT6eaBpU1XF7AjpOFD+xQmXNB5OVKwp4tqCuBpHLS/ZbBDrc07mYTDqVMg6PfxUjjNp85O6Cd2Z/5HWA==",
+ "node_modules/flush-write-stream": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz",
+ "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==",
+ "dev": true,
"license": "MIT",
"dependencies": {
- "mime-db": "^1.54.0"
- },
- "engines": {
- "node": ">= 0.6"
+ "inherits": "^2.0.3",
+ "readable-stream": "^2.3.6"
}
},
- "node_modules/express/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==",
- "license": "MIT"
- },
- "node_modules/express/node_modules/negotiator": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-1.0.0.tgz",
- "integrity": "sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==",
+ "node_modules/follow-redirects": {
+ "version": "1.15.11",
+ "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.11.tgz",
+ "integrity": "sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "individual",
+ "url": "https://github.com/sponsors/RubenVerborgh"
+ }
+ ],
"license": "MIT",
"engines": {
- "node": ">= 0.6"
+ "node": ">=4.0"
+ },
+ "peerDependenciesMeta": {
+ "debug": {
+ "optional": true
+ }
}
},
- "node_modules/express/node_modules/type-is": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/type-is/-/type-is-2.0.1.tgz",
- "integrity": "sha512-OZs6gsjF4vMp32qrCbiVSkrFmXtG/AZhY3t0iAMrMBiAZyV9oALtXO8hsrHbMXF9x6L3grlFuwW2oAz7cav+Gw==",
+ "node_modules/for-each": {
+ "version": "0.3.5",
+ "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.5.tgz",
+ "integrity": "sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==",
+ "dev": true,
"license": "MIT",
"dependencies": {
- "content-type": "^1.0.5",
- "media-typer": "^1.1.0",
- "mime-types": "^3.0.0"
+ "is-callable": "^1.2.7"
},
"engines": {
- "node": ">= 0.6"
- }
- },
- "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": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
}
},
- "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/extend-shallow": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
- "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==",
+ "node_modules/for-in": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
+ "integrity": "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==",
"dev": true,
- "dependencies": {
- "assign-symbols": "^1.0.0",
- "is-extendable": "^1.0.1"
- },
+ "license": "MIT",
"engines": {
"node": ">=0.10.0"
}
},
- "node_modules/extglob": {
- "version": "0.3.2",
- "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz",
- "integrity": "sha512-1FOj1LOwn42TMrruOHGt18HemVnbwAmAak7krWk+wa93KXxGbK+2jpezm+ytJYDaBX0/SPLZFHKM7m+tKobWGg==",
+ "node_modules/for-own": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz",
+ "integrity": "sha512-0OABksIGrxKK8K4kynWkQ7y1zounQxP+CWnyclVwj81KW3vlLlGUx57DKGcP/LH216GzqnstnPocF16Nxs0Ycg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "is-extglob": "^1.0.0"
+ "for-in": "^1.0.1"
},
"engines": {
"node": ">=0.10.0"
}
},
- "node_modules/extglob/node_modules/is-extglob": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
- "integrity": "sha512-7Q+VbVafe6x2T+Tu6NcOf6sRklazEPmBoB3IWk3WdGZM2iGUwU/Oe3Wtq5lSEkDTTlpp8yx+5t4pzO/i9Ty1ww==",
+ "node_modules/foreground-child": {
+ "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.6",
+ "signal-exit": "^4.0.1"
+ },
"engines": {
- "node": ">=0.10.0"
+ "node": ">=14"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
}
},
- "node_modules/extsprintf": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
- "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==",
+ "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,
- "engines": [
- "node >=0.6.0"
- ]
+ "license": "ISC",
+ "engines": {
+ "node": ">=14"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
},
- "node_modules/fancy-log": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/fancy-log/-/fancy-log-2.0.0.tgz",
- "integrity": "sha512-9CzxZbACXMUXW13tS0tI8XsGGmxWzO2DmYrGuBJOJ8k8q2K7hwfJA5qHjuPPe8wtsco33YR9wc+Rlr5wYFvhSA==",
+ "node_modules/forever-agent": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
+ "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/form-data": {
+ "version": "4.0.5",
+ "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.5.tgz",
+ "integrity": "sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "color-support": "^1.1.3"
+ "asynckit": "^0.4.0",
+ "combined-stream": "^1.0.8",
+ "es-set-tostringtag": "^2.1.0",
+ "hasown": "^2.0.2",
+ "mime-types": "^2.1.12"
},
"engines": {
- "node": ">=10.13.0"
+ "node": ">= 6"
}
},
- "node_modules/fast-decode-uri-component": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/fast-decode-uri-component/-/fast-decode-uri-component-1.0.1.tgz",
- "integrity": "sha512-WKgKWg5eUxvRZGwW8FvfbaH7AXSh2cL+3j5fMGzUMCxWBJ3dV3a7Wz8y2f/uQ0e3B6WmodD3oS54jTQ9HVTIIg==",
- "dev": 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=="
+ "node_modules/form-data/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",
+ "engines": {
+ "node": ">= 0.6"
+ }
},
- "node_modules/fast-diff": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz",
- "integrity": "sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==",
+ "node_modules/form-data/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": "Apache-2.0"
+ "license": "MIT",
+ "dependencies": {
+ "mime-db": "1.52.0"
+ },
+ "engines": {
+ "node": ">= 0.6"
+ }
},
- "node_modules/fast-fifo": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.3.2.tgz",
- "integrity": "sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==",
+ "node_modules/formidable": {
+ "version": "3.5.4",
+ "resolved": "https://registry.npmjs.org/formidable/-/formidable-3.5.4.tgz",
+ "integrity": "sha512-YikH+7CUTOtP44ZTnUhR7Ic2UASBPOqmaRkRKxRbywPTe5VxF7RRCck4af9wutiZ/QKM5nME9Bie2fFaPz5Gug==",
"dev": true,
- "license": "MIT"
+ "license": "MIT",
+ "dependencies": {
+ "@paralleldrive/cuid2": "^2.2.2",
+ "dezalgo": "^1.0.4",
+ "once": "^1.4.0"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ },
+ "funding": {
+ "url": "https://ko-fi.com/tunnckoCore/commissions"
+ }
},
- "node_modules/fast-glob": {
- "version": "3.3.3",
- "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz",
- "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==",
+ "node_modules/forwarded": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz",
+ "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/fragment-cache": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz",
+ "integrity": "sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@nodelib/fs.stat": "^2.0.2",
- "@nodelib/fs.walk": "^1.2.3",
- "glob-parent": "^5.1.2",
- "merge2": "^1.3.0",
- "micromatch": "^4.0.8"
+ "map-cache": "^0.2.2"
},
"engines": {
- "node": ">=8.6.0"
+ "node": ">=0.10.0"
}
},
- "node_modules/fast-json-stable-stringify": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
- "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
- "dev": true
+ "node_modules/fresh": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/fresh/-/fresh-2.0.0.tgz",
+ "integrity": "sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.8"
+ }
},
- "node_modules/fast-json-stringify": {
- "version": "6.4.0",
- "resolved": "https://registry.npmjs.org/fast-json-stringify/-/fast-json-stringify-6.4.0.tgz",
- "integrity": "sha512-ibRCQ0GZKJIQ+P3Et1h0LhPgp3PMTYk0MH8O+kW3lNYsvmaQww5Nn3f1jf73Q0jR1Yz3a1CDP4/NZD3vOajWJQ==",
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/fastify"
- },
- {
- "type": "opencollective",
- "url": "https://opencollective.com/fastify"
- }
- ],
+ "node_modules/from": {
+ "version": "0.1.7",
+ "resolved": "https://registry.npmjs.org/from/-/from-0.1.7.tgz",
+ "integrity": "sha512-twe20eF1OxVxp/ML/kq2p1uc6KvFK/+vs8WjEbeKmV2He22MKm7YF2ANIt+EOqhJ5L3K/SuuPhk0hWQDjOM23g==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/front-matter": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/front-matter/-/front-matter-4.0.2.tgz",
+ "integrity": "sha512-I8ZuJ/qG92NWX8i5x1Y8qyj3vizhXS31OxjKDu3LKP+7/qBgfIKValiZIEwoVoJKUHlhWtYrktkxV1XsX+pPlg==",
+ "dev": true,
"license": "MIT",
"dependencies": {
- "@fastify/merge-json-schemas": "^0.2.0",
- "ajv": "^8.12.0",
- "ajv-formats": "^3.0.1",
- "fast-uri": "^3.0.0",
- "json-schema-ref-resolver": "^3.0.0",
- "rfdc": "^1.2.0"
+ "js-yaml": "^3.13.1"
}
},
- "node_modules/fast-levenshtein": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-3.0.0.tgz",
- "integrity": "sha512-hKKNajm46uNmTlhHSyZkmToAc56uZJwYq7yrciZjqOxnlfQwERDQJmHPUp7m1m9wx8vgOe8IaCKZ5Kv2k1DdCQ==",
+ "node_modules/front-matter/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": {
- "fastest-levenshtein": "^1.0.7"
+ "sprintf-js": "~1.0.2"
}
},
- "node_modules/fast-querystring": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/fast-querystring/-/fast-querystring-1.1.2.tgz",
- "integrity": "sha512-g6KuKWmFXc0fID8WWH0jit4g0AGBoJhCkJMb1RmbsSEUNvQ+ZC8D6CUZ+GtF8nMzSPXnhiePyyqqipzNNEnHjg==",
+ "node_modules/front-matter/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": {
- "fast-decode-uri-component": "^1.0.1"
+ "argparse": "^1.0.7",
+ "esprima": "^4.0.0"
+ },
+ "bin": {
+ "js-yaml": "bin/js-yaml.js"
}
},
- "node_modules/fast-safe-stringify": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz",
- "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA=="
+ "node_modules/fs-constants": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz",
+ "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==",
+ "dev": true,
+ "license": "MIT"
},
- "node_modules/fast-unique-numbers": {
- "version": "9.0.22",
- "resolved": "https://registry.npmjs.org/fast-unique-numbers/-/fast-unique-numbers-9.0.22.tgz",
- "integrity": "sha512-dBR+30yHAqBGvOuxxQdnn2lTLHCO6r/9B+M4yF8mNrzr3u1yiF+YVJ6u3GTyPN/VRWqaE1FcscZDdBgVKmrmQQ==",
+ "node_modules/fs-extra": {
+ "version": "11.3.4",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.4.tgz",
+ "integrity": "sha512-CTXd6rk/M3/ULNQj8FBqBWHYBVYybQ3VPBw0xGKFe3tuH7ytT6ACnvzpIQ3UZtB8yvUKC2cXn1a+x+5EVQLovA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/runtime": "^7.27.6",
- "tslib": "^2.8.1"
+ "graceful-fs": "^4.2.0",
+ "jsonfile": "^6.0.1",
+ "universalify": "^2.0.0"
},
"engines": {
- "node": ">=18.2.0"
+ "node": ">=14.14"
}
},
- "node_modules/fast-uri": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.2.tgz",
- "integrity": "sha512-rVjf7ArG3LTk+FS6Yw81V1DLuZl1bRbNrev6Tmd/9RaroeeRRJhAt7jg/6YFxbvAQXUCavSoZhPPj6oOx+5KjQ==",
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/fastify"
- },
- {
- "type": "opencollective",
- "url": "https://opencollective.com/fastify"
- }
- ],
- "license": "BSD-3-Clause"
- },
- "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/fs-minipass": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-3.0.3.tgz",
+ "integrity": "sha512-XUBA9XClHbnJWSfBzjkm6RvPsyg3sryZt06BEQoXcF7EK/xpGaQYJgQKDJSUH5SGZ76Y7pFx1QBnXz09rU5Fbw==",
"dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "minipass": "^7.0.3"
+ },
"engines": {
- "node": ">= 4.9.1"
+ "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
}
},
- "node_modules/fastify": {
- "version": "5.8.5",
- "resolved": "https://registry.npmjs.org/fastify/-/fastify-5.8.5.tgz",
- "integrity": "sha512-Yqptv59pQzPgQUSIm87hMqHJmdkb1+GPxdE6vW6FRyVE9G86mt7rOghitiU4JHRaTyDUk9pfeKmDeu70lAwM4Q==",
- "dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/fastify"
- },
- {
- "type": "opencollective",
- "url": "https://opencollective.com/fastify"
- }
- ],
+ "node_modules/fs-mkdirp-stream": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/fs-mkdirp-stream/-/fs-mkdirp-stream-2.0.1.tgz",
+ "integrity": "sha512-UTOY+59K6IA94tec8Wjqm0FSh5OVudGNB0NL/P6fB3HiE3bYOY3VYBGijsnOHNkQSwC1FKkU77pmq7xp9CskLw==",
+ "dev": true,
"license": "MIT",
"dependencies": {
- "@fastify/ajv-compiler": "^4.0.5",
- "@fastify/error": "^4.0.0",
- "@fastify/fast-json-stringify-compiler": "^5.0.0",
- "@fastify/proxy-addr": "^5.0.0",
- "abstract-logging": "^2.0.1",
- "avvio": "^9.0.0",
- "fast-json-stringify": "^6.0.0",
- "find-my-way": "^9.0.0",
- "light-my-request": "^6.0.0",
- "pino": "^9.14.0 || ^10.1.0",
- "process-warning": "^5.0.0",
- "rfdc": "^1.3.1",
- "secure-json-parse": "^4.0.0",
- "semver": "^7.6.0",
- "toad-cache": "^3.7.0"
+ "graceful-fs": "^4.2.8",
+ "streamx": "^2.12.0"
+ },
+ "engines": {
+ "node": ">=10.13.0"
}
},
- "node_modules/fastify-plugin": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/fastify-plugin/-/fastify-plugin-5.1.0.tgz",
- "integrity": "sha512-FAIDA8eovSt5qcDgcBvDuX/v0Cjz0ohGhENZ/wpc3y+oZCY2afZ9Baqql3g/lC+OHRnciQol4ww7tuthOb9idw==",
+ "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,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/fastify"
- },
- {
- "type": "opencollective",
- "url": "https://opencollective.com/fastify"
- }
- ],
- "license": "MIT"
+ "license": "ISC"
},
- "node_modules/fastify/node_modules/process-warning": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/process-warning/-/process-warning-5.0.0.tgz",
- "integrity": "sha512-a39t9ApHNx2L4+HBnQKqxxHNs1r7KF+Intd8Q/g1bUh6q0WIp9voPXJ/x0j+ZL45KF1pJd9+q2jLIRMfvEshkA==",
+ "node_modules/fsevents": {
+ "version": "2.3.3",
+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
+ "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
"dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/fastify"
- },
- {
- "type": "opencollective",
- "url": "https://opencollective.com/fastify"
- }
+ "hasInstallScript": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
],
- "license": "MIT"
+ "engines": {
+ "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
+ }
},
- "node_modules/fastq": {
- "version": "1.17.1",
- "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz",
- "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==",
- "dev": true,
- "dependencies": {
- "reusify": "^1.0.4"
+ "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==",
+ "license": "MIT",
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/fd-package-json": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/fd-package-json/-/fd-package-json-2.0.0.tgz",
- "integrity": "sha512-jKmm9YtsNXN789RS/0mSzOC1NUq9mkVd65vbSSVsKdjGvYXBuE4oWe2QOEoFeRmJg+lPuZxpmrfFclNhoRMneQ==",
+ "node_modules/generate-function": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.3.1.tgz",
+ "integrity": "sha512-eeB5GfMNeevm/GRYq20ShmsaGcmI81kIX2K9XQx5miC8KdHaC6Jm0qQ8ZNeGOi7wYB8OsdxKs+Y2oVuTFuVwKQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "walk-up-path": "^4.0.0"
+ "is-property": "^1.0.2"
}
},
- "node_modules/fdir": {
- "version": "6.5.0",
- "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz",
- "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==",
+ "node_modules/gensync": {
+ "version": "1.0.0-beta.2",
+ "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": ">=12.0.0"
- },
- "peerDependencies": {
- "picomatch": "^3 || ^4"
- },
- "peerDependenciesMeta": {
- "picomatch": {
- "optional": true
- }
+ "node": ">=6.9.0"
}
},
- "node_modules/figures": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz",
- "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==",
+ "node_modules/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": "MIT",
- "dependencies": {
- "escape-string-regexp": "^1.0.5"
- },
+ "license": "ISC",
"engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "node": "6.* || 8.* || >= 10.*"
}
},
- "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==",
+ "node_modules/get-east-asian-width": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.6.0.tgz",
+ "integrity": "sha512-QRbvDIbx6YklUe6RxeTeleMR0yv3cYH6PsPZHcnVn7xv7zO1BHN8r0XETu8n6Ye3Q+ahtSarc3WgtNWmehIBfA==",
"dev": true,
- "dependencies": {
- "flat-cache": "^4.0.0"
- },
+ "license": "MIT",
"engines": {
- "node": ">=16.0.0"
+ "node": ">=18"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/file-type": {
- "version": "21.3.4",
- "resolved": "https://registry.npmjs.org/file-type/-/file-type-21.3.4.tgz",
- "integrity": "sha512-Ievi/yy8DS3ygGvT47PjSfdFoX+2isQueoYP1cntFW1JLYAuS4GD7NUPGg4zv2iZfV52uDyk5w5Z0TdpRS6Q1g==",
+ "node_modules/get-intrinsic": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz",
+ "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==",
"license": "MIT",
"dependencies": {
- "@tokenizer/inflate": "^0.4.1",
- "strtok3": "^10.3.4",
- "token-types": "^6.1.1",
- "uint8array-extras": "^1.4.0"
+ "call-bind-apply-helpers": "^1.0.2",
+ "es-define-property": "^1.0.1",
+ "es-errors": "^1.3.0",
+ "es-object-atoms": "^1.1.1",
+ "function-bind": "^1.1.2",
+ "get-proto": "^1.0.1",
+ "gopd": "^1.2.0",
+ "has-symbols": "^1.1.0",
+ "hasown": "^2.0.2",
+ "math-intrinsics": "^1.1.0"
},
"engines": {
- "node": ">=20"
+ "node": ">= 0.4"
},
"funding": {
- "url": "https://github.com/sindresorhus/file-type?sponsor=1"
+ "url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/file-uri-to-path": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz",
- "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==",
- "dev": true,
- "optional": true
- },
- "node_modules/filelist": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.6.tgz",
- "integrity": "sha512-5giy2PkLYY1cP39p17Ech+2xlpTRL9HLspOfEgm0L6CwBXBTgsK5ou0JtzYuepxkaQ/tvhCFIJ5uXo0OrM2DxA==",
+ "node_modules/get-pkg-repo": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/get-pkg-repo/-/get-pkg-repo-4.2.1.tgz",
+ "integrity": "sha512-2+QbHjFRfGB74v/pYWjd5OhU3TDIC2Gv/YKUTk/tCvAz0pkn/Mz6P3uByuBimLOcPvN2jYdScl3xGFSrx0jEcA==",
"dev": true,
- "license": "Apache-2.0",
+ "license": "MIT",
"dependencies": {
- "minimatch": "^5.0.1"
+ "@hutson/parse-repository-url": "^3.0.0",
+ "hosted-git-info": "^4.0.0",
+ "through2": "^2.0.0",
+ "yargs": "^16.2.0"
+ },
+ "bin": {
+ "get-pkg-repo": "src/cli.js"
+ },
+ "engines": {
+ "node": ">=6.9.0"
}
},
- "node_modules/filelist/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==",
+ "node_modules/get-pkg-repo/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": "MIT",
+ "license": "ISC",
"dependencies": {
- "balanced-match": "^1.0.0"
+ "string-width": "^4.2.0",
+ "strip-ansi": "^6.0.0",
+ "wrap-ansi": "^7.0.0"
}
},
- "node_modules/filelist/node_modules/minimatch": {
- "version": "5.1.9",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.9.tgz",
- "integrity": "sha512-7o1wEA2RyMP7Iu7GNba9vc0RWWGACJOCZBJX2GJWip0ikV+wcOsgVuY9uE8CPiyQhkGFSlhuSkZPavN7u1c2Fw==",
+ "node_modules/get-pkg-repo/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==",
"dev": true,
"license": "ISC",
"dependencies": {
- "brace-expansion": "^2.0.1"
+ "lru-cache": "^6.0.0"
},
"engines": {
"node": ">=10"
}
},
- "node_modules/filename-regex": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz",
- "integrity": "sha512-BTCqyBaWBTsauvnHiE8i562+EdJj+oUpkqWp2R1iCoR8f6oo8STRu3of7WJJ0TqWtxN50a5YFpzYK4Jj9esYfQ==",
+ "node_modules/get-pkg-repo/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,
+ "license": "ISC",
+ "dependencies": {
+ "yallist": "^4.0.0"
+ },
"engines": {
- "node": ">=0.10.0"
+ "node": ">=10"
}
},
- "node_modules/fill-range": {
- "version": "7.1.1",
- "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
- "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
+ "node_modules/get-pkg-repo/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": {
- "to-regex-range": "^5.0.1"
+ "ansi-styles": "^4.0.0",
+ "string-width": "^4.1.0",
+ "strip-ansi": "^6.0.0"
},
"engines": {
- "node": ">=8"
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
}
},
- "node_modules/finalhandler": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-2.1.0.tgz",
- "integrity": "sha512-/t88Ty3d5JWQbWYgaOGCCYfXRwV1+be02WqYYlL6h0lEiUAMPM8o8qKGO01YIkOHzka2up08wvgYD0mDiI+q3Q==",
- "license": "MIT",
- "dependencies": {
- "debug": "^4.4.0",
- "encodeurl": "^2.0.0",
- "escape-html": "^1.0.3",
- "on-finished": "^2.4.1",
- "parseurl": "^1.3.3",
- "statuses": "^2.0.1"
- },
- "engines": {
- "node": ">= 0.8"
- }
+ "node_modules/get-pkg-repo/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,
+ "license": "ISC"
},
- "node_modules/finalhandler/node_modules/debug": {
- "version": "4.4.0",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz",
- "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==",
+ "node_modules/get-pkg-repo/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",
"dependencies": {
- "ms": "^2.1.3"
+ "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": ">=6.0"
- },
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
+ "node": ">=10"
}
},
- "node_modules/finalhandler/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==",
- "license": "MIT"
- },
- "node_modules/find-cache-dir": {
- "version": "3.3.2",
- "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz",
- "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==",
+ "node_modules/get-pkg-repo/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": "MIT",
- "dependencies": {
- "commondir": "^1.0.1",
- "make-dir": "^3.0.2",
- "pkg-dir": "^4.1.0"
- },
+ "license": "ISC",
"engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/avajs/find-cache-dir?sponsor=1"
+ "node": ">=10"
}
},
- "node_modules/find-cache-dir/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==",
+ "node_modules/get-port": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/get-port/-/get-port-5.1.1.tgz",
+ "integrity": "sha512-g/Q1aTSDOxFpchXC4i8ZWvxA1lnPqx/JHqcpIw0/LX9T8x/GBbi6YnlN5nhaKIFkT8oFsscUKgDJYxfwfS6QsQ==",
"dev": true,
"license": "MIT",
- "dependencies": {
- "semver": "^6.0.0"
- },
"engines": {
"node": ">=8"
},
@@ -12188,41 +11877,25 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/find-cache-dir/node_modules/semver": {
- "version": "6.3.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
- "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
- "dev": true,
- "license": "ISC",
- "bin": {
- "semver": "bin/semver.js"
- }
- },
- "node_modules/find-my-way": {
- "version": "9.6.0",
- "resolved": "https://registry.npmjs.org/find-my-way/-/find-my-way-9.6.0.tgz",
- "integrity": "sha512-Zf4Xve4RymLl7NgaavNebZ01joJ8MfVerOG43wy7SHLO+r+K0C6d/SE0BiR7AV5V1VOCFlOP7ecdo+I4qmiHrQ==",
- "dev": true,
+ "node_modules/get-proto": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz",
+ "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==",
"license": "MIT",
"dependencies": {
- "fast-deep-equal": "^3.1.3",
- "fast-querystring": "^1.0.0",
- "safe-regex2": "^5.0.0"
+ "dunder-proto": "^1.0.1",
+ "es-object-atoms": "^1.0.0"
},
"engines": {
- "node": ">=20"
+ "node": ">= 0.4"
}
},
- "node_modules/find-up": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
- "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==",
+ "node_modules/get-stream": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.0.tgz",
+ "integrity": "sha512-A1B3Bh1UmL0bidM/YX2NsCOTnGJePL9rO/M+Mw3m9f2gUpfokS0hi5Eah0WSUEWZdZhIZtMjkIYS7mDfOqNHbg==",
"dev": true,
"license": "MIT",
- "dependencies": {
- "locate-path": "^6.0.0",
- "path-exists": "^4.0.0"
- },
"engines": {
"node": ">=10"
},
@@ -12230,1777 +11903,1680 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/findup-sync": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-5.0.0.tgz",
- "integrity": "sha512-MzwXju70AuyflbgeOhzvQWAvvQdo1XL0A9bVvlXsYcFEBM87WR4OakL4OfZq+QRmr+duJubio+UtNQCPsVESzQ==",
+ "node_modules/get-tsconfig": {
+ "version": "4.13.7",
+ "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.13.7.tgz",
+ "integrity": "sha512-7tN6rFgBlMgpBML5j8typ92BKFi2sFQvIdpAqLA2beia5avZDrMs0FLZiM5etShWq5irVyGcGMEA1jcDaK7A/Q==",
"dev": true,
"license": "MIT",
"dependencies": {
- "detect-file": "^1.0.0",
- "is-glob": "^4.0.3",
- "micromatch": "^4.0.4",
- "resolve-dir": "^1.0.1"
+ "resolve-pkg-maps": "^1.0.0"
},
- "engines": {
- "node": ">= 10.13.0"
+ "funding": {
+ "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1"
}
},
- "node_modules/fined": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/fined/-/fined-2.0.0.tgz",
- "integrity": "sha512-OFRzsL6ZMHz5s0JrsEr+TpdGNCtrVtnuG3x1yzGNiQHT0yaDnXAj8V/lWcpJVrnoDpcwXcASxAZYbuXda2Y82A==",
+ "node_modules/get-value": {
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz",
+ "integrity": "sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==",
"dev": true,
"license": "MIT",
- "dependencies": {
- "expand-tilde": "^2.0.2",
- "is-plain-object": "^5.0.0",
- "object.defaults": "^1.1.0",
- "object.pick": "^1.3.0",
- "parse-filepath": "^1.0.2"
- },
"engines": {
- "node": ">= 10.13.0"
+ "node": ">=0.10.0"
}
},
- "node_modules/first-chunk-stream": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/first-chunk-stream/-/first-chunk-stream-2.0.0.tgz",
- "integrity": "sha512-X8Z+b/0L4lToKYq+lwnKqi9X/Zek0NibLpsJgVsSxpoYq7JtiCtRb5HqKVEjEw/qAb/4AKKRLOwwKHlWNpm2Eg==",
+ "node_modules/getpass": {
+ "version": "0.1.7",
+ "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
+ "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "readable-stream": "^2.0.2"
- },
- "engines": {
- "node": ">=0.10.0"
+ "assert-plus": "^1.0.0"
}
},
- "node_modules/first-chunk-stream/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/first-chunk-stream/node_modules/readable-stream": {
- "version": "2.3.8",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz",
- "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==",
+ "node_modules/git-raw-commits": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/git-raw-commits/-/git-raw-commits-5.0.1.tgz",
+ "integrity": "sha512-Y+csSm2GD/PCSh6Isd/WiMjNAydu0VBiG9J7EdQsNA5P9uXvLayqjmTsNlK5Gs9IhblFZqOU0yid5Il5JPoLiQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.3",
- "isarray": "~1.0.0",
- "process-nextick-args": "~2.0.0",
- "safe-buffer": "~5.1.1",
- "string_decoder": "~1.1.1",
- "util-deprecate": "~1.0.1"
+ "@conventional-changelog/git-client": "^2.6.0",
+ "meow": "^13.0.0"
+ },
+ "bin": {
+ "git-raw-commits": "src/cli.js"
+ },
+ "engines": {
+ "node": ">=18"
}
},
- "node_modules/first-chunk-stream/node_modules/safe-buffer": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
- "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
- "dev": true
- },
- "node_modules/first-chunk-stream/node_modules/string_decoder": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
- "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+ "node_modules/git-remote-origin-url": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/git-remote-origin-url/-/git-remote-origin-url-2.0.0.tgz",
+ "integrity": "sha512-eU+GGrZgccNJcsDH5LkXR3PB9M958hxc7sbA8DFJjrv9j4L2P/eZfKhM+QD6wyzpiv+b1BpK0XrYCxkovtjSLw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "safe-buffer": "~5.1.0"
+ "gitconfiglocal": "^1.0.0",
+ "pify": "^2.3.0"
+ },
+ "engines": {
+ "node": ">=4"
}
},
- "node_modules/flagged-respawn": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/flagged-respawn/-/flagged-respawn-2.0.0.tgz",
- "integrity": "sha512-Gq/a6YCi8zexmGHMuJwahTGzXlAZAOsbCVKduWXC6TlLCjjFRlExMJc4GC2NYPYZ0r/brw9P7CpRgQmlPVeOoA==",
+ "node_modules/git-remote-origin-url/node_modules/pify": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+ "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==",
"dev": true,
"license": "MIT",
"engines": {
- "node": ">= 10.13.0"
+ "node": ">=0.10.0"
}
},
- "node_modules/flat": {
- "version": "5.0.2",
- "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz",
- "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==",
+ "node_modules/git-semver-tags": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/git-semver-tags/-/git-semver-tags-5.0.1.tgz",
+ "integrity": "sha512-hIvOeZwRbQ+7YEUmCkHqo8FOLQZCEn18yevLHADlFPZY02KJGsu5FZt9YW/lybfK2uhWFI7Qg/07LekJiTv7iA==",
+ "deprecated": "This package is no longer maintained. For the JavaScript API, please use @conventional-changelog/git-client instead.",
"dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "meow": "^8.1.2",
+ "semver": "^7.0.0"
+ },
"bin": {
- "flat": "cli.js"
+ "git-semver-tags": "cli.js"
+ },
+ "engines": {
+ "node": ">=14"
}
},
- "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==",
+ "node_modules/git-semver-tags/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": {
- "flatted": "^3.2.9",
- "keyv": "^4.5.4"
+ "locate-path": "^5.0.0",
+ "path-exists": "^4.0.0"
},
"engines": {
- "node": ">=16"
+ "node": ">=8"
}
},
- "node_modules/flatted": {
- "version": "3.4.2",
- "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.4.2.tgz",
- "integrity": "sha512-PjDse7RzhcPkIJwy5t7KPWQSZ9cAbzQXcafsetQoD7sOJRQlGikNbx7yZp2OotDnJyrDcbyRq3Ttb18iYOqkxA==",
+ "node_modules/git-semver-tags/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==",
"dev": true,
- "license": "ISC"
+ "license": "ISC",
+ "dependencies": {
+ "lru-cache": "^6.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
},
- "node_modules/flush-write-stream": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz",
- "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==",
+ "node_modules/git-semver-tags/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": {
- "inherits": "^2.0.3",
- "readable-stream": "^2.3.6"
+ "p-locate": "^4.1.0"
+ },
+ "engines": {
+ "node": ">=8"
}
},
- "node_modules/flush-write-stream/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/flush-write-stream/node_modules/readable-stream": {
- "version": "2.3.8",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz",
- "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==",
+ "node_modules/git-semver-tags/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,
+ "license": "ISC",
"dependencies": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.3",
- "isarray": "~1.0.0",
- "process-nextick-args": "~2.0.0",
- "safe-buffer": "~5.1.1",
- "string_decoder": "~1.1.1",
- "util-deprecate": "~1.0.1"
+ "yallist": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=10"
}
},
- "node_modules/flush-write-stream/node_modules/safe-buffer": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
- "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
- "dev": true
- },
- "node_modules/flush-write-stream/node_modules/string_decoder": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
- "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+ "node_modules/git-semver-tags/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,
+ "license": "MIT",
"dependencies": {
- "safe-buffer": "~5.1.0"
+ "@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/follow-redirects": {
- "version": "1.16.0",
- "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.16.0.tgz",
- "integrity": "sha512-y5rN/uOsadFT/JfYwhxRS5R7Qce+g3zG97+JrtFZlC9klX/W5hD7iiLzScI4nZqUS7DNUdhPgw4xI8W2LuXlUw==",
+ "node_modules/git-semver-tags/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,
- "funding": [
- {
- "type": "individual",
- "url": "https://github.com/sponsors/RubenVerborgh"
- }
- ],
- "license": "MIT",
- "engines": {
- "node": ">=4.0"
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "hosted-git-info": "^4.0.1",
+ "is-core-module": "^2.5.0",
+ "semver": "^7.3.4",
+ "validate-npm-package-license": "^3.0.1"
},
- "peerDependenciesMeta": {
- "debug": {
- "optional": true
- }
+ "engines": {
+ "node": ">=10"
}
},
- "node_modules/for-each": {
- "version": "0.3.5",
- "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.5.tgz",
- "integrity": "sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==",
+ "node_modules/git-semver-tags/node_modules/p-limit": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
+ "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
"dev": true,
"license": "MIT",
"dependencies": {
- "is-callable": "^1.2.7"
+ "p-try": "^2.0.0"
},
"engines": {
- "node": ">= 0.4"
+ "node": ">=6"
},
"funding": {
- "url": "https://github.com/sponsors/ljharb"
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/for-in": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
- "integrity": "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==",
+ "node_modules/git-semver-tags/node_modules/p-locate": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
+ "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
"dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "p-limit": "^2.2.0"
+ },
"engines": {
- "node": ">=0.10.0"
+ "node": ">=8"
}
},
- "node_modules/for-own": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz",
- "integrity": "sha512-0OABksIGrxKK8K4kynWkQ7y1zounQxP+CWnyclVwj81KW3vlLlGUx57DKGcP/LH216GzqnstnPocF16Nxs0Ycg==",
+ "node_modules/git-semver-tags/node_modules/read-pkg": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz",
+ "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==",
"dev": true,
"license": "MIT",
"dependencies": {
- "for-in": "^1.0.1"
+ "@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": ">=0.10.0"
+ "node": ">=8"
}
},
- "node_modules/foreground-child": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz",
- "integrity": "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==",
+ "node_modules/git-semver-tags/node_modules/read-pkg-up": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz",
+ "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==",
"dev": true,
- "license": "ISC",
+ "license": "MIT",
"dependencies": {
- "cross-spawn": "^7.0.6",
- "signal-exit": "^4.0.1"
+ "find-up": "^4.1.0",
+ "read-pkg": "^5.2.0",
+ "type-fest": "^0.8.1"
},
"engines": {
- "node": ">=14"
+ "node": ">=8"
},
"funding": {
- "url": "https://github.com/sponsors/isaacs"
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
- "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==",
+ "node_modules/git-semver-tags/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,
+ "license": "(MIT OR CC0-1.0)",
"engines": {
- "node": ">=14"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
+ "node": ">=8"
}
},
- "node_modules/forever-agent": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
- "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==",
+ "node_modules/git-semver-tags/node_modules/read-pkg/node_modules/hosted-git-info": {
+ "version": "2.8.9",
+ "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz",
+ "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==",
"dev": true,
- "engines": {
- "node": "*"
- }
+ "license": "ISC"
},
- "node_modules/form-data": {
- "version": "4.0.5",
- "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.5.tgz",
- "integrity": "sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==",
+ "node_modules/git-semver-tags/node_modules/read-pkg/node_modules/normalize-package-data": {
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz",
+ "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==",
"dev": true,
- "license": "MIT",
+ "license": "BSD-2-Clause",
"dependencies": {
- "asynckit": "^0.4.0",
- "combined-stream": "^1.0.8",
- "es-set-tostringtag": "^2.1.0",
- "hasown": "^2.0.2",
- "mime-types": "^2.1.12"
- },
- "engines": {
- "node": ">= 6"
+ "hosted-git-info": "^2.1.4",
+ "resolve": "^1.10.0",
+ "semver": "2 || 3 || 4 || 5",
+ "validate-npm-package-license": "^3.0.1"
}
},
- "node_modules/formidable": {
- "version": "3.5.4",
- "resolved": "https://registry.npmjs.org/formidable/-/formidable-3.5.4.tgz",
- "integrity": "sha512-YikH+7CUTOtP44ZTnUhR7Ic2UASBPOqmaRkRKxRbywPTe5VxF7RRCck4af9wutiZ/QKM5nME9Bie2fFaPz5Gug==",
+ "node_modules/git-semver-tags/node_modules/read-pkg/node_modules/semver": {
+ "version": "5.7.2",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz",
+ "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==",
"dev": true,
- "license": "MIT",
- "dependencies": {
- "@paralleldrive/cuid2": "^2.2.2",
- "dezalgo": "^1.0.4",
- "once": "^1.4.0"
- },
- "engines": {
- "node": ">=14.0.0"
- },
- "funding": {
- "url": "https://ko-fi.com/tunnckoCore/commissions"
+ "license": "ISC",
+ "bin": {
+ "semver": "bin/semver"
}
},
- "node_modules/forwarded": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz",
- "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==",
+ "node_modules/git-semver-tags/node_modules/read-pkg/node_modules/type-fest": {
+ "version": "0.6.0",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz",
+ "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==",
+ "dev": true,
+ "license": "(MIT OR CC0-1.0)",
"engines": {
- "node": ">= 0.6"
+ "node": ">=8"
}
},
- "node_modules/fragment-cache": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz",
- "integrity": "sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==",
+ "node_modules/git-semver-tags/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==",
"dev": true,
- "dependencies": {
- "map-cache": "^0.2.2"
- },
+ "license": "(MIT OR CC0-1.0)",
"engines": {
- "node": ">=0.10.0"
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/fresh": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/fresh/-/fresh-2.0.0.tgz",
- "integrity": "sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A==",
+ "node_modules/git-semver-tags/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,
+ "license": "ISC"
+ },
+ "node_modules/git-semver-tags/node_modules/yargs-parser": {
+ "version": "20.2.9",
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz",
+ "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==",
+ "dev": true,
+ "license": "ISC",
"engines": {
- "node": ">= 0.8"
+ "node": ">=10"
}
},
- "node_modules/from": {
- "version": "0.1.7",
- "resolved": "https://registry.npmjs.org/from/-/from-0.1.7.tgz",
- "integrity": "sha512-twe20eF1OxVxp/ML/kq2p1uc6KvFK/+vs8WjEbeKmV2He22MKm7YF2ANIt+EOqhJ5L3K/SuuPhk0hWQDjOM23g==",
- "dev": true
- },
- "node_modules/fromentries": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/fromentries/-/fromentries-1.3.2.tgz",
- "integrity": "sha512-cHEpEQHUg0f8XdtZCc2ZAhrHzKzT0MrFUTcvx+hfxYu7rGMDc5SKoXFh+n4YigxsHXRzc6OrCshdR1bWH6HHyg==",
+ "node_modules/git-up": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/git-up/-/git-up-7.0.0.tgz",
+ "integrity": "sha512-ONdIrbBCFusq1Oy0sC71F5azx8bVkvtZtMJAsv+a6lz5YAmbNnLD6HAB4gptHZVLPR8S2/kVN6Gab7lryq5+lQ==",
"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": "MIT"
+ "license": "MIT",
+ "dependencies": {
+ "is-ssh": "^1.4.0",
+ "parse-url": "^8.1.0"
+ }
},
- "node_modules/front-matter": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/front-matter/-/front-matter-4.0.2.tgz",
- "integrity": "sha512-I8ZuJ/qG92NWX8i5x1Y8qyj3vizhXS31OxjKDu3LKP+7/qBgfIKValiZIEwoVoJKUHlhWtYrktkxV1XsX+pPlg==",
+ "node_modules/git-url-parse": {
+ "version": "14.0.0",
+ "resolved": "https://registry.npmjs.org/git-url-parse/-/git-url-parse-14.0.0.tgz",
+ "integrity": "sha512-NnLweV+2A4nCvn4U/m2AoYu0pPKlsmhK9cknG7IMwsjFY1S2jxM+mAhsDxyxfCIGfGaD+dozsyX4b6vkYc83yQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "js-yaml": "^3.13.1"
+ "git-up": "^7.0.0"
}
},
- "node_modules/fs-constants": {
+ "node_modules/gitconfiglocal": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz",
- "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/fs-extra": {
- "version": "11.3.4",
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.4.tgz",
- "integrity": "sha512-CTXd6rk/M3/ULNQj8FBqBWHYBVYybQ3VPBw0xGKFe3tuH7ytT6ACnvzpIQ3UZtB8yvUKC2cXn1a+x+5EVQLovA==",
+ "resolved": "https://registry.npmjs.org/gitconfiglocal/-/gitconfiglocal-1.0.0.tgz",
+ "integrity": "sha512-spLUXeTAVHxDtKsJc8FkFVgFtMdEN9qPGpL23VfSHx4fP4+Ds097IXLvymbnDH8FnmxX5Nr9bPw3A+AQ6mWEaQ==",
"dev": true,
- "license": "MIT",
+ "license": "BSD",
"dependencies": {
- "graceful-fs": "^4.2.0",
- "jsonfile": "^6.0.1",
- "universalify": "^2.0.0"
- },
- "engines": {
- "node": ">=14.14"
+ "ini": "^1.3.2"
}
},
- "node_modules/fs-minipass": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-3.0.3.tgz",
- "integrity": "sha512-XUBA9XClHbnJWSfBzjkm6RvPsyg3sryZt06BEQoXcF7EK/xpGaQYJgQKDJSUH5SGZ76Y7pFx1QBnXz09rU5Fbw==",
+ "node_modules/gitconfiglocal/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",
+ "license": "ISC"
+ },
+ "node_modules/glob": {
+ "version": "13.0.6",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-13.0.6.tgz",
+ "integrity": "sha512-Wjlyrolmm8uDpm/ogGyXZXb1Z+Ca2B8NbJwqBVg0axK9GbBeoS7yGV6vjXnYdGm6X53iehEuxxbyiKp8QmN4Vw==",
+ "dev": true,
+ "license": "BlueOak-1.0.0",
"dependencies": {
- "minipass": "^7.0.3"
+ "minimatch": "^10.2.2",
+ "minipass": "^7.1.3",
+ "path-scurry": "^2.0.2"
},
"engines": {
- "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+ "node": "18 || 20 || >=22"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
}
},
- "node_modules/fs-mkdirp-stream": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/fs-mkdirp-stream/-/fs-mkdirp-stream-2.0.1.tgz",
- "integrity": "sha512-UTOY+59K6IA94tec8Wjqm0FSh5OVudGNB0NL/P6fB3HiE3bYOY3VYBGijsnOHNkQSwC1FKkU77pmq7xp9CskLw==",
+ "node_modules/glob-base": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz",
+ "integrity": "sha512-ab1S1g1EbO7YzauaJLkgLp7DZVAqj9M/dvKlTt8DkXA2tiOIcSMrlVI2J1RZyB5iJVccEscjGn+kpOG9788MHA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "graceful-fs": "^4.2.8",
- "streamx": "^2.12.0"
+ "glob-parent": "^2.0.0",
+ "is-glob": "^2.0.0"
},
"engines": {
- "node": ">=10.13.0"
+ "node": ">=0.10.0"
}
},
- "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
- },
- "node_modules/fsevents": {
- "version": "2.3.3",
- "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
- "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
+ "node_modules/glob-base/node_modules/glob-parent": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz",
+ "integrity": "sha512-JDYOvfxio/t42HKdxkAYaCiBN7oYiuxykOxKxdaUW5Qn0zaYN3gRQWolrwdnf0shM9/EP0ebuuTmyoXNr1cC5w==",
"dev": true,
- "hasInstallScript": true,
- "optional": true,
- "os": [
- "darwin"
- ],
- "engines": {
- "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==",
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
+ "license": "ISC",
+ "dependencies": {
+ "is-glob": "^2.0.0"
}
},
- "node_modules/generate-function": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.3.1.tgz",
- "integrity": "sha512-eeB5GfMNeevm/GRYq20ShmsaGcmI81kIX2K9XQx5miC8KdHaC6Jm0qQ8ZNeGOi7wYB8OsdxKs+Y2oVuTFuVwKQ==",
+ "node_modules/glob-base/node_modules/is-extglob": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
+ "integrity": "sha512-7Q+VbVafe6x2T+Tu6NcOf6sRklazEPmBoB3IWk3WdGZM2iGUwU/Oe3Wtq5lSEkDTTlpp8yx+5t4pzO/i9Ty1ww==",
"dev": true,
- "dependencies": {
- "is-property": "^1.0.2"
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
}
},
- "node_modules/gensync": {
- "version": "1.0.0-beta.2",
- "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz",
- "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==",
+ "node_modules/glob-base/node_modules/is-glob": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
+ "integrity": "sha512-a1dBeB19NXsf/E0+FHqkagizel/LQw2DjSQpvQrj3zT+jYPpaUCryPnrQajXKFLCMuf4I6FhRpaGtw4lPrG6Eg==",
"dev": true,
"license": "MIT",
+ "dependencies": {
+ "is-extglob": "^1.0.0"
+ },
"engines": {
- "node": ">=6.9.0"
+ "node": ">=0.10.0"
}
},
- "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==",
+ "node_modules/glob-parent": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
+ "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
"dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "is-glob": "^4.0.3"
+ },
"engines": {
- "node": "6.* || 8.* || >= 10.*"
+ "node": ">=10.13.0"
}
},
- "node_modules/get-east-asian-width": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.5.0.tgz",
- "integrity": "sha512-CQ+bEO+Tva/qlmw24dCejulK5pMzVnUOFOijVogd3KQs07HnRIgp8TGipvCCRT06xeYEbpbgwaCxglFyiuIcmA==",
+ "node_modules/glob-stream": {
+ "version": "8.0.3",
+ "resolved": "https://registry.npmjs.org/glob-stream/-/glob-stream-8.0.3.tgz",
+ "integrity": "sha512-fqZVj22LtFJkHODT+M4N1RJQ3TjnnQhfE9GwZI8qXscYarnhpip70poMldRnP8ipQ/w0B621kOhfc53/J9bd/A==",
"dev": true,
"license": "MIT",
- "engines": {
- "node": ">=18"
+ "dependencies": {
+ "@gulpjs/to-absolute-glob": "^4.0.0",
+ "anymatch": "^3.1.3",
+ "fastq": "^1.13.0",
+ "glob-parent": "^6.0.2",
+ "is-glob": "^4.0.3",
+ "is-negated-glob": "^1.0.0",
+ "normalize-path": "^3.0.0",
+ "streamx": "^2.12.5"
},
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "engines": {
+ "node": ">=10.13.0"
}
},
- "node_modules/get-func-name": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.2.tgz",
- "integrity": "sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==",
+ "node_modules/glob-stream/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,
+ "license": "ISC",
+ "dependencies": {
+ "normalize-path": "^3.0.0",
+ "picomatch": "^2.0.4"
+ },
"engines": {
- "node": "*"
+ "node": ">= 8"
}
},
- "node_modules/get-intrinsic": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz",
- "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==",
+ "node_modules/glob-watcher": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/glob-watcher/-/glob-watcher-6.0.0.tgz",
+ "integrity": "sha512-wGM28Ehmcnk2NqRORXFOTOR064L4imSw3EeOqU5bIwUf62eXGwg89WivH6VMahL8zlQHeodzvHpXplrqzrz3Nw==",
+ "dev": true,
"license": "MIT",
"dependencies": {
- "call-bind-apply-helpers": "^1.0.2",
- "es-define-property": "^1.0.1",
- "es-errors": "^1.3.0",
- "es-object-atoms": "^1.1.1",
- "function-bind": "^1.1.2",
- "get-proto": "^1.0.1",
- "gopd": "^1.2.0",
- "has-symbols": "^1.1.0",
- "hasown": "^2.0.2",
- "math-intrinsics": "^1.1.0"
+ "async-done": "^2.0.0",
+ "chokidar": "^3.5.3"
},
"engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
+ "node": ">= 10.13.0"
}
},
- "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==",
+ "node_modules/glob-watcher/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,
- "license": "MIT",
+ "license": "ISC",
+ "dependencies": {
+ "normalize-path": "^3.0.0",
+ "picomatch": "^2.0.4"
+ },
"engines": {
- "node": ">=8.0.0"
+ "node": ">= 8"
}
},
- "node_modules/get-pkg-repo": {
- "version": "4.2.1",
- "resolved": "https://registry.npmjs.org/get-pkg-repo/-/get-pkg-repo-4.2.1.tgz",
- "integrity": "sha512-2+QbHjFRfGB74v/pYWjd5OhU3TDIC2Gv/YKUTk/tCvAz0pkn/Mz6P3uByuBimLOcPvN2jYdScl3xGFSrx0jEcA==",
+ "node_modules/glob-watcher/node_modules/async-done": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/async-done/-/async-done-2.0.0.tgz",
+ "integrity": "sha512-j0s3bzYq9yKIVLKGE/tWlCpa3PfFLcrDZLTSVdnnCTGagXuXBJO4SsY9Xdk/fQBirCkH4evW5xOeJXqlAQFdsw==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@hutson/parse-repository-url": "^3.0.0",
- "hosted-git-info": "^4.0.0",
- "through2": "^2.0.0",
- "yargs": "^16.2.0"
- },
- "bin": {
- "get-pkg-repo": "src/cli.js"
+ "end-of-stream": "^1.4.4",
+ "once": "^1.4.0",
+ "stream-exhaust": "^1.0.2"
},
"engines": {
- "node": ">=6.9.0"
+ "node": ">= 10.13.0"
}
},
- "node_modules/get-pkg-repo/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",
- "dependencies": {
- "string-width": "^4.2.0",
- "strip-ansi": "^6.0.0",
- "wrap-ansi": "^7.0.0"
- }
- },
- "node_modules/get-pkg-repo/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==",
+ "node_modules/glob-watcher/node_modules/chokidar": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz",
+ "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==",
"dev": true,
- "license": "ISC",
+ "license": "MIT",
"dependencies": {
- "lru-cache": "^6.0.0"
+ "anymatch": "~3.1.2",
+ "braces": "~3.0.2",
+ "glob-parent": "~5.1.2",
+ "is-binary-path": "~2.1.0",
+ "is-glob": "~4.0.1",
+ "normalize-path": "~3.0.0",
+ "readdirp": "~3.6.0"
},
"engines": {
- "node": ">=10"
+ "node": ">= 8.10.0"
+ },
+ "funding": {
+ "url": "https://paulmillr.com/funding/"
+ },
+ "optionalDependencies": {
+ "fsevents": "~2.3.2"
}
},
- "node_modules/get-pkg-repo/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/glob-watcher/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,
"license": "ISC",
"dependencies": {
- "yallist": "^4.0.0"
+ "is-glob": "^4.0.1"
},
"engines": {
- "node": ">=10"
+ "node": ">= 6"
}
},
- "node_modules/get-pkg-repo/node_modules/yargs": {
- "version": "16.2.0",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz",
- "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==",
+ "node_modules/glob-watcher/node_modules/readdirp": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
+ "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
"dev": true,
"license": "MIT",
"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"
+ "picomatch": "^2.2.1"
},
"engines": {
- "node": ">=10"
+ "node": ">=8.10.0"
}
},
- "node_modules/get-pkg-repo/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==",
+ "node_modules/glob/node_modules/balanced-match": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz",
+ "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==",
"dev": true,
- "license": "ISC",
+ "license": "MIT",
"engines": {
- "node": ">=10"
+ "node": "18 || 20 || >=22"
}
},
- "node_modules/get-proto": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz",
- "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==",
+ "node_modules/glob/node_modules/brace-expansion": {
+ "version": "5.0.5",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.5.tgz",
+ "integrity": "sha512-VZznLgtwhn+Mact9tfiwx64fA9erHH/MCXEUfB/0bX/6Fz6ny5EGTXYltMocqg4xFAQZtnO3DHWWXi8RiuN7cQ==",
+ "dev": true,
"license": "MIT",
"dependencies": {
- "dunder-proto": "^1.0.1",
- "es-object-atoms": "^1.0.0"
+ "balanced-match": "^4.0.2"
},
"engines": {
- "node": ">= 0.4"
+ "node": "18 || 20 || >=22"
}
},
- "node_modules/get-stream": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.0.tgz",
- "integrity": "sha512-A1B3Bh1UmL0bidM/YX2NsCOTnGJePL9rO/M+Mw3m9f2gUpfokS0hi5Eah0WSUEWZdZhIZtMjkIYS7mDfOqNHbg==",
+ "node_modules/glob/node_modules/minimatch": {
+ "version": "10.2.5",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.5.tgz",
+ "integrity": "sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==",
"dev": true,
- "license": "MIT",
+ "license": "BlueOak-1.0.0",
+ "dependencies": {
+ "brace-expansion": "^5.0.5"
+ },
"engines": {
- "node": ">=10"
+ "node": "18 || 20 || >=22"
},
"funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/get-value": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz",
- "integrity": "sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/getpass": {
- "version": "0.1.7",
- "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
- "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==",
- "dev": true,
- "dependencies": {
- "assert-plus": "^1.0.0"
+ "url": "https://github.com/sponsors/isaacs"
}
},
- "node_modules/git-raw-commits": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/git-raw-commits/-/git-raw-commits-5.0.1.tgz",
- "integrity": "sha512-Y+csSm2GD/PCSh6Isd/WiMjNAydu0VBiG9J7EdQsNA5P9uXvLayqjmTsNlK5Gs9IhblFZqOU0yid5Il5JPoLiQ==",
+ "node_modules/global-directory": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/global-directory/-/global-directory-4.0.1.tgz",
+ "integrity": "sha512-wHTUcDUoZ1H5/0iVqEudYW4/kAlN5cZ3j/bXn0Dpbizl9iaUVeWSHqiOjsgk6OW2bkLclbBjzewBz6weQ1zA2Q==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@conventional-changelog/git-client": "^2.6.0",
- "meow": "^13.0.0"
- },
- "bin": {
- "git-raw-commits": "src/cli.js"
+ "ini": "4.1.1"
},
"engines": {
"node": ">=18"
- }
- },
- "node_modules/git-remote-origin-url": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/git-remote-origin-url/-/git-remote-origin-url-2.0.0.tgz",
- "integrity": "sha512-eU+GGrZgccNJcsDH5LkXR3PB9M958hxc7sbA8DFJjrv9j4L2P/eZfKhM+QD6wyzpiv+b1BpK0XrYCxkovtjSLw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "gitconfiglocal": "^1.0.0",
- "pify": "^2.3.0"
},
- "engines": {
- "node": ">=4"
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/git-semver-tags": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/git-semver-tags/-/git-semver-tags-5.0.1.tgz",
- "integrity": "sha512-hIvOeZwRbQ+7YEUmCkHqo8FOLQZCEn18yevLHADlFPZY02KJGsu5FZt9YW/lybfK2uhWFI7Qg/07LekJiTv7iA==",
- "deprecated": "This package is no longer maintained. For the JavaScript API, please use @conventional-changelog/git-client instead.",
+ "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,
"license": "MIT",
"dependencies": {
- "meow": "^8.1.2",
- "semver": "^7.0.0"
- },
- "bin": {
- "git-semver-tags": "cli.js"
+ "global-prefix": "^1.0.1",
+ "is-windows": "^1.0.1",
+ "resolve-dir": "^1.0.0"
},
"engines": {
- "node": ">=14"
+ "node": ">=0.10.0"
}
},
- "node_modules/git-semver-tags/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==",
+ "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==",
"dev": true,
"license": "MIT",
"dependencies": {
- "locate-path": "^5.0.0",
- "path-exists": "^4.0.0"
+ "expand-tilde": "^2.0.2",
+ "homedir-polyfill": "^1.0.1",
+ "ini": "^1.3.4",
+ "is-windows": "^1.0.1",
+ "which": "^1.2.14"
},
"engines": {
- "node": ">=8"
+ "node": ">=0.10.0"
}
},
- "node_modules/git-semver-tags/node_modules/hosted-git-info": {
- "version": "2.8.9",
- "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz",
- "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==",
+ "node_modules/global-prefix/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"
},
- "node_modules/git-semver-tags/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==",
+ "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,
- "license": "MIT",
+ "license": "ISC",
"dependencies": {
- "p-locate": "^4.1.0"
+ "isexe": "^2.0.0"
},
- "engines": {
- "node": ">=8"
+ "bin": {
+ "which": "bin/which"
}
},
- "node_modules/git-semver-tags/node_modules/meow": {
- "version": "8.1.2",
- "resolved": "https://registry.npmjs.org/meow/-/meow-8.1.2.tgz",
- "integrity": "sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q==",
+ "node_modules/glogg": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/glogg/-/glogg-2.2.0.tgz",
+ "integrity": "sha512-eWv1ds/zAlz+M1ioHsyKJomfY7jbDDPpwSkv14KQj89bycx1nvK5/2Cj/T9g7kzJcX5Bc7Yv22FjfBZS/jl94A==",
"dev": true,
"license": "MIT",
"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"
+ "sparkles": "^2.1.0"
},
"engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "node": ">= 10.13.0"
}
},
- "node_modules/git-semver-tags/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,
+ "node_modules/gopd": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz",
+ "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==",
"license": "MIT",
- "dependencies": {
- "p-try": "^2.0.0"
- },
"engines": {
- "node": ">=6"
+ "node": ">= 0.4"
},
"funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/git-semver-tags/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==",
+ "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,
- "license": "MIT",
- "dependencies": {
- "p-limit": "^2.2.0"
- },
+ "license": "ISC"
+ },
+ "node_modules/graphql": {
+ "version": "16.12.0",
+ "resolved": "https://registry.npmjs.org/graphql/-/graphql-16.12.0.tgz",
+ "integrity": "sha512-DKKrynuQRne0PNpEbzuEdHlYOMksHSUI8Zc9Unei5gTsMNA2/vMpoMz/yKba50pejK56qj98qM0SjYxAKi13gQ==",
+ "dev": true,
+ "license": "MIT",
"engines": {
- "node": ">=8"
+ "node": "^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0"
}
},
- "node_modules/git-semver-tags/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==",
+ "node_modules/graphql-subscriptions": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/graphql-subscriptions/-/graphql-subscriptions-3.0.0.tgz",
+ "integrity": "sha512-kZCdevgmzDjGAOqH7GlDmQXYAkuHoKpMlJrqF40HMPhUhM5ZWSFSxCwD/nSi6AkaijmMfsFhoJRGJ27UseCvRA==",
"dev": true,
"license": "MIT",
- "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"
+ "peerDependencies": {
+ "graphql": "^15.7.2 || ^16.0.0"
}
},
- "node_modules/git-semver-tags/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==",
+ "node_modules/graphql-tag": {
+ "version": "2.12.6",
+ "resolved": "https://registry.npmjs.org/graphql-tag/-/graphql-tag-2.12.6.tgz",
+ "integrity": "sha512-FdSNcu2QQcWnM2VNvSCCDCVS5PpPqpzgFT8+GXzqJuoDd0CBncxCY278u4mhRO7tMgo2JjgJA5aZ+nWSQ/Z+xg==",
"dev": true,
"license": "MIT",
"dependencies": {
- "find-up": "^4.1.0",
- "read-pkg": "^5.2.0",
- "type-fest": "^0.8.1"
+ "tslib": "^2.1.0"
},
"engines": {
- "node": ">=8"
+ "node": ">=10"
},
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "peerDependencies": {
+ "graphql": "^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0"
}
},
- "node_modules/git-semver-tags/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==",
+ "node_modules/graphql-ws": {
+ "version": "6.0.8",
+ "resolved": "https://registry.npmjs.org/graphql-ws/-/graphql-ws-6.0.8.tgz",
+ "integrity": "sha512-m3EOaNsUBXwAnkBWbzPfe0Nq8pXUfxsWnolC54sru3FzHvhTZL0Ouf/BoQsaGAXqM+YPerXOJ47BUnmgmoupCw==",
"dev": true,
- "license": "(MIT OR CC0-1.0)",
+ "license": "MIT",
"engines": {
- "node": ">=8"
+ "node": ">=20"
+ },
+ "peerDependencies": {
+ "@fastify/websocket": "^10 || ^11",
+ "crossws": "~0.3",
+ "graphql": "^15.10.1 || ^16",
+ "ws": "^8"
+ },
+ "peerDependenciesMeta": {
+ "@fastify/websocket": {
+ "optional": true
+ },
+ "crossws": {
+ "optional": true
+ },
+ "ws": {
+ "optional": true
+ }
}
},
- "node_modules/git-semver-tags/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==",
+ "node_modules/gulp": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/gulp/-/gulp-5.0.1.tgz",
+ "integrity": "sha512-PErok3DZSA5WGMd6XXV3IRNO0mlB+wW3OzhFJLEec1jSERg2j1bxJ6e5Fh6N6fn3FH2T9AP4UYNb/pYlADB9sA==",
"dev": true,
- "license": "BSD-2-Clause",
+ "license": "MIT",
"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/git-semver-tags/node_modules/read-pkg/node_modules/semver": {
- "version": "5.7.2",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz",
- "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==",
- "dev": true,
- "license": "ISC",
+ "glob-watcher": "^6.0.0",
+ "gulp-cli": "^3.1.0",
+ "undertaker": "^2.0.0",
+ "vinyl-fs": "^4.0.2"
+ },
"bin": {
- "semver": "bin/semver"
- }
- },
- "node_modules/git-semver-tags/node_modules/read-pkg/node_modules/type-fest": {
- "version": "0.6.0",
- "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz",
- "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==",
- "dev": true,
- "license": "(MIT OR CC0-1.0)",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/git-semver-tags/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==",
- "dev": true,
- "license": "(MIT OR CC0-1.0)",
- "engines": {
- "node": ">=10"
+ "gulp": "bin/gulp.js"
},
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/git-semver-tags/node_modules/yargs-parser": {
- "version": "20.2.9",
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz",
- "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==",
- "dev": true,
- "license": "ISC",
"engines": {
- "node": ">=10"
+ "node": ">=10.13.0"
}
},
- "node_modules/git-up": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/git-up/-/git-up-7.0.0.tgz",
- "integrity": "sha512-ONdIrbBCFusq1Oy0sC71F5azx8bVkvtZtMJAsv+a6lz5YAmbNnLD6HAB4gptHZVLPR8S2/kVN6Gab7lryq5+lQ==",
+ "node_modules/gulp-clang-format": {
+ "version": "1.0.27",
+ "resolved": "https://registry.npmjs.org/gulp-clang-format/-/gulp-clang-format-1.0.27.tgz",
+ "integrity": "sha512-Jj4PGuNXKdqVCh9fijvL7wdzma5TQRJz1vv8FjOjnSkfq3s/mvbdE/jq+5HG1c/q+jcYkXTEGkYT3CrdnJOLaQ==",
"dev": true,
- "license": "MIT",
+ "license": "Apache-2.0",
"dependencies": {
- "is-ssh": "^1.4.0",
- "parse-url": "^8.1.0"
+ "clang-format": "^1.0.32",
+ "fancy-log": "^1.3.2",
+ "gulp-diff": "^1.0.0",
+ "plugin-error": "^1.0.1",
+ "stream-combiner2": "^1.1.1",
+ "through2": "^2.0.3"
}
},
- "node_modules/git-url-parse": {
- "version": "14.0.0",
- "resolved": "https://registry.npmjs.org/git-url-parse/-/git-url-parse-14.0.0.tgz",
- "integrity": "sha512-NnLweV+2A4nCvn4U/m2AoYu0pPKlsmhK9cknG7IMwsjFY1S2jxM+mAhsDxyxfCIGfGaD+dozsyX4b6vkYc83yQ==",
+ "node_modules/gulp-clang-format/node_modules/fancy-log": {
+ "version": "1.3.3",
+ "resolved": "https://registry.npmjs.org/fancy-log/-/fancy-log-1.3.3.tgz",
+ "integrity": "sha512-k9oEhlyc0FrVh25qYuSELjr8oxsCoc4/LEZfg2iJJrfEk/tZL9bCoJE47gqAvI2m/AUjluCS4+3I0eTx8n3AEw==",
"dev": true,
"license": "MIT",
"dependencies": {
- "git-up": "^7.0.0"
- }
- },
- "node_modules/gitconfiglocal": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/gitconfiglocal/-/gitconfiglocal-1.0.0.tgz",
- "integrity": "sha512-spLUXeTAVHxDtKsJc8FkFVgFtMdEN9qPGpL23VfSHx4fP4+Ds097IXLvymbnDH8FnmxX5Nr9bPw3A+AQ6mWEaQ==",
- "dev": true,
- "license": "BSD",
- "dependencies": {
- "ini": "^1.3.2"
+ "ansi-gray": "^0.1.1",
+ "color-support": "^1.1.3",
+ "parse-node-version": "^1.0.0",
+ "time-stamp": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.10"
}
},
- "node_modules/gitconfiglocal/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"
- },
- "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",
+ "node_modules/gulp-clean": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/gulp-clean/-/gulp-clean-0.4.0.tgz",
+ "integrity": "sha512-DARK8rNMo4lHOFLGTiHEJdf19GuoBDHqGUaypz+fOhrvOs3iFO7ntdYtdpNxv+AzSJBx/JfypF0yEj9ks1IStQ==",
"dev": true,
+ "license": "MIT",
"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"
+ "fancy-log": "^1.3.2",
+ "plugin-error": "^0.1.2",
+ "rimraf": "^2.6.2",
+ "through2": "^2.0.3",
+ "vinyl": "^2.1.0"
},
"engines": {
- "node": "*"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
+ "node": ">=0.9"
}
},
- "node_modules/glob-base": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz",
- "integrity": "sha512-ab1S1g1EbO7YzauaJLkgLp7DZVAqj9M/dvKlTt8DkXA2tiOIcSMrlVI2J1RZyB5iJVccEscjGn+kpOG9788MHA==",
+ "node_modules/gulp-clean/node_modules/arr-diff": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-1.1.0.tgz",
+ "integrity": "sha512-OQwDZUqYaQwyyhDJHThmzId8daf4/RFNLaeh3AevmSeZ5Y7ug4Ga/yKc6l6kTZOBW781rCj103ZuTh8GAsB3+Q==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "glob-parent": "^2.0.0",
- "is-glob": "^2.0.0"
+ "arr-flatten": "^1.0.1",
+ "array-slice": "^0.2.3"
},
"engines": {
"node": ">=0.10.0"
}
},
- "node_modules/glob-base/node_modules/glob-parent": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz",
- "integrity": "sha512-JDYOvfxio/t42HKdxkAYaCiBN7oYiuxykOxKxdaUW5Qn0zaYN3gRQWolrwdnf0shM9/EP0ebuuTmyoXNr1cC5w==",
+ "node_modules/gulp-clean/node_modules/arr-union": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-2.1.0.tgz",
+ "integrity": "sha512-t5db90jq+qdgk8aFnxEkjqta0B/GHrM1pxzuuZz2zWsOXc5nKu3t+76s/PQBA8FTcM/ipspIH9jWG4OxCBc2eA==",
"dev": true,
- "dependencies": {
- "is-glob": "^2.0.0"
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
}
},
- "node_modules/glob-base/node_modules/is-extglob": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
- "integrity": "sha512-7Q+VbVafe6x2T+Tu6NcOf6sRklazEPmBoB3IWk3WdGZM2iGUwU/Oe3Wtq5lSEkDTTlpp8yx+5t4pzO/i9Ty1ww==",
+ "node_modules/gulp-clean/node_modules/array-slice": {
+ "version": "0.2.3",
+ "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-0.2.3.tgz",
+ "integrity": "sha512-rlVfZW/1Ph2SNySXwR9QYkChp8EkOEiTMO5Vwx60usw04i4nWemkm9RXmQqgkQFaLHsqLuADvjp6IfgL9l2M8Q==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=0.10.0"
}
},
- "node_modules/glob-base/node_modules/is-glob": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
- "integrity": "sha512-a1dBeB19NXsf/E0+FHqkagizel/LQw2DjSQpvQrj3zT+jYPpaUCryPnrQajXKFLCMuf4I6FhRpaGtw4lPrG6Eg==",
+ "node_modules/gulp-clean/node_modules/extend-shallow": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-1.1.4.tgz",
+ "integrity": "sha512-L7AGmkO6jhDkEBBGWlLtftA80Xq8DipnrRPr0pyi7GQLXkaq9JYA4xF4z6qnadIC6euiTDKco0cGSU9muw+WTw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "is-extglob": "^1.0.0"
+ "kind-of": "^1.1.0"
},
"engines": {
"node": ">=0.10.0"
}
},
- "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/gulp-clean/node_modules/fancy-log": {
+ "version": "1.3.3",
+ "resolved": "https://registry.npmjs.org/fancy-log/-/fancy-log-1.3.3.tgz",
+ "integrity": "sha512-k9oEhlyc0FrVh25qYuSELjr8oxsCoc4/LEZfg2iJJrfEk/tZL9bCoJE47gqAvI2m/AUjluCS4+3I0eTx8n3AEw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "is-glob": "^4.0.1"
+ "ansi-gray": "^0.1.1",
+ "color-support": "^1.1.3",
+ "parse-node-version": "^1.0.0",
+ "time-stamp": "^1.0.0"
},
"engines": {
- "node": ">= 6"
+ "node": ">= 0.10"
}
},
- "node_modules/glob-stream": {
- "version": "8.0.3",
- "resolved": "https://registry.npmjs.org/glob-stream/-/glob-stream-8.0.3.tgz",
- "integrity": "sha512-fqZVj22LtFJkHODT+M4N1RJQ3TjnnQhfE9GwZI8qXscYarnhpip70poMldRnP8ipQ/w0B621kOhfc53/J9bd/A==",
+ "node_modules/gulp-clean/node_modules/kind-of": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-1.1.0.tgz",
+ "integrity": "sha512-aUH6ElPnMGon2/YkxRIigV32MOpTVcoXQ1Oo8aYn40s+sJ3j+0gFZsT8HKDcxNy7Fi9zuquWtGaGAahOdv5p/g==",
"dev": true,
"license": "MIT",
- "dependencies": {
- "@gulpjs/to-absolute-glob": "^4.0.0",
- "anymatch": "^3.1.3",
- "fastq": "^1.13.0",
- "glob-parent": "^6.0.2",
- "is-glob": "^4.0.3",
- "is-negated-glob": "^1.0.0",
- "normalize-path": "^3.0.0",
- "streamx": "^2.12.5"
- },
"engines": {
- "node": ">=10.13.0"
+ "node": ">=0.10.0"
}
},
- "node_modules/glob-stream/node_modules/glob-parent": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
- "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
+ "node_modules/gulp-clean/node_modules/plugin-error": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/plugin-error/-/plugin-error-0.1.2.tgz",
+ "integrity": "sha512-WzZHcm4+GO34sjFMxQMqZbsz3xiNEgonCskQ9v+IroMmYgk/tas8dG+Hr2D6IbRPybZ12oWpzE/w3cGJ6FJzOw==",
"dev": true,
- "license": "ISC",
+ "license": "MIT",
"dependencies": {
- "is-glob": "^4.0.3"
+ "ansi-cyan": "^0.1.1",
+ "ansi-red": "^0.1.1",
+ "arr-diff": "^1.0.1",
+ "arr-union": "^2.0.1",
+ "extend-shallow": "^1.1.2"
},
"engines": {
- "node": ">=10.13.0"
+ "node": ">=0.10.0"
}
},
- "node_modules/glob-watcher": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/glob-watcher/-/glob-watcher-6.0.0.tgz",
- "integrity": "sha512-wGM28Ehmcnk2NqRORXFOTOR064L4imSw3EeOqU5bIwUf62eXGwg89WivH6VMahL8zlQHeodzvHpXplrqzrz3Nw==",
+ "node_modules/gulp-cli": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/gulp-cli/-/gulp-cli-3.1.0.tgz",
+ "integrity": "sha512-zZzwlmEsTfXcxRKiCHsdyjZZnFvXWM4v1NqBJSYbuApkvVKivjcmOS2qruAJ+PkEHLFavcDKH40DPc1+t12a9Q==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "async-done": "^2.0.0",
- "chokidar": "^3.5.3"
+ "@gulpjs/messages": "^1.1.0",
+ "chalk": "^4.1.2",
+ "copy-props": "^4.0.0",
+ "gulplog": "^2.2.0",
+ "interpret": "^3.1.1",
+ "liftoff": "^5.0.1",
+ "mute-stdout": "^2.0.0",
+ "replace-homedir": "^2.0.0",
+ "semver-greatest-satisfied-range": "^2.0.0",
+ "string-width": "^4.2.3",
+ "v8flags": "^4.0.0",
+ "yargs": "^16.2.0"
+ },
+ "bin": {
+ "gulp": "bin/gulp.js"
},
"engines": {
- "node": ">= 10.13.0"
+ "node": ">=10.13.0"
}
},
- "node_modules/glob-watcher/node_modules/async-done": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/async-done/-/async-done-2.0.0.tgz",
- "integrity": "sha512-j0s3bzYq9yKIVLKGE/tWlCpa3PfFLcrDZLTSVdnnCTGagXuXBJO4SsY9Xdk/fQBirCkH4evW5xOeJXqlAQFdsw==",
+ "node_modules/gulp-cli/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",
"dependencies": {
- "end-of-stream": "^1.4.4",
- "once": "^1.4.0",
- "stream-exhaust": "^1.0.2"
- },
- "engines": {
- "node": ">= 10.13.0"
+ "string-width": "^4.2.0",
+ "strip-ansi": "^6.0.0",
+ "wrap-ansi": "^7.0.0"
}
},
- "node_modules/glob-watcher/node_modules/chokidar": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz",
- "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==",
+ "node_modules/gulp-cli/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": {
- "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"
+ "ansi-styles": "^4.0.0",
+ "string-width": "^4.1.0",
+ "strip-ansi": "^6.0.0"
},
"engines": {
- "node": ">= 8.10.0"
+ "node": ">=10"
},
"funding": {
- "url": "https://paulmillr.com/funding/"
- },
- "optionalDependencies": {
- "fsevents": "~2.3.2"
+ "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
}
},
- "node_modules/glob-watcher/node_modules/picomatch": {
- "version": "2.3.2",
- "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.2.tgz",
- "integrity": "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==",
+ "node_modules/gulp-cli/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",
- "engines": {
- "node": ">=8.6"
+ "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"
},
- "funding": {
- "url": "https://github.com/sponsors/jonschlinkert"
+ "engines": {
+ "node": ">=10"
}
},
- "node_modules/glob-watcher/node_modules/readdirp": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
- "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
+ "node_modules/gulp-cli/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,
- "dependencies": {
- "picomatch": "^2.2.1"
- },
+ "license": "ISC",
"engines": {
- "node": ">=8.10.0"
+ "node": ">=10"
}
},
- "node_modules/global-directory": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/global-directory/-/global-directory-5.0.0.tgz",
- "integrity": "sha512-1pgFdhK3J2LeM+dVf2Pd424yHx2ou338lC0ErNP2hPx4j8eW1Sp0XqSjNxtk6Tc4Kr5wlWtSvz8cn2yb7/SG/w==",
+ "node_modules/gulp-diff": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/gulp-diff/-/gulp-diff-1.0.0.tgz",
+ "integrity": "sha512-d4dwx2A1dzPTUS9kWl8WaWRhXshZHoQqbEy7x5tzDqN4V2C3dLh82BH7Plr10vjYtiqd+LitU0sX2f61mex3cQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "ini": "6.0.0"
- },
- "engines": {
- "node": ">=20"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "cli-color": "^1.0.0",
+ "diff": "^2.0.2",
+ "event-stream": "^3.1.5",
+ "gulp-util": "^3.0.6",
+ "through2": "^2.0.0"
}
},
- "node_modules/global-modules": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz",
- "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==",
+ "node_modules/gulp-sourcemaps": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/gulp-sourcemaps/-/gulp-sourcemaps-3.0.0.tgz",
+ "integrity": "sha512-RqvUckJkuYqy4VaIH60RMal4ZtG0IbQ6PXMNkNsshEGJ9cldUPRb/YCgboYae+CLAs1HQNb4ADTKCx65HInquQ==",
"dev": true,
- "license": "MIT",
+ "license": "ISC",
"dependencies": {
- "global-prefix": "^1.0.1",
- "is-windows": "^1.0.1",
- "resolve-dir": "^1.0.0"
+ "@gulp-sourcemaps/identity-map": "^2.0.1",
+ "@gulp-sourcemaps/map-sources": "^1.0.0",
+ "acorn": "^6.4.1",
+ "convert-source-map": "^1.0.0",
+ "css": "^3.0.0",
+ "debug-fabulous": "^1.0.0",
+ "detect-newline": "^2.0.0",
+ "graceful-fs": "^4.0.0",
+ "source-map": "^0.6.0",
+ "strip-bom-string": "^1.0.0",
+ "through2": "^2.0.0"
},
"engines": {
- "node": ">=0.10.0"
+ "node": ">= 6"
}
},
- "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/gulp-sourcemaps/node_modules/acorn": {
+ "version": "6.4.2",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz",
+ "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==",
"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"
+ "bin": {
+ "acorn": "bin/acorn"
},
"engines": {
- "node": ">=0.10.0"
+ "node": ">=0.4.0"
}
},
- "node_modules/global-prefix/node_modules/ini": {
- "version": "1.3.8",
- "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz",
- "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==",
+ "node_modules/gulp-sourcemaps/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": "ISC"
+ "license": "MIT"
},
- "node_modules/globals": {
- "version": "17.6.0",
- "resolved": "https://registry.npmjs.org/globals/-/globals-17.6.0.tgz",
- "integrity": "sha512-sepffkT8stwnIYbsMBpoCHJuJM5l98FUF2AnE07hfvE0m/qp3R586hw4jF4uadbhvg1ooIdzuu7CsfD2jzCaNA==",
+ "node_modules/gulp-typescript": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/gulp-typescript/-/gulp-typescript-5.0.1.tgz",
+ "integrity": "sha512-YuMMlylyJtUSHG1/wuSVTrZp60k1dMEFKYOvDf7OvbAJWrDtxxD4oZon4ancdWwzjj30ztiidhe4VXJniF0pIQ==",
"dev": true,
"license": "MIT",
+ "dependencies": {
+ "ansi-colors": "^3.0.5",
+ "plugin-error": "^1.0.1",
+ "source-map": "^0.7.3",
+ "through2": "^3.0.0",
+ "vinyl": "^2.1.0",
+ "vinyl-fs": "^3.0.3"
+ },
"engines": {
- "node": ">=18"
+ "node": ">= 8"
},
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "peerDependencies": {
+ "typescript": "~2.7.1 || >=2.8.0-dev || >=2.9.0-dev || ~3.0.0 || >=3.0.0-dev || >=3.1.0-dev || >= 3.2.0-dev || >= 3.3.0-dev"
}
},
- "node_modules/glogg": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/glogg/-/glogg-2.2.0.tgz",
- "integrity": "sha512-eWv1ds/zAlz+M1ioHsyKJomfY7jbDDPpwSkv14KQj89bycx1nvK5/2Cj/T9g7kzJcX5Bc7Yv22FjfBZS/jl94A==",
+ "node_modules/gulp-typescript/node_modules/ansi-colors": {
+ "version": "3.2.4",
+ "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz",
+ "integrity": "sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==",
"dev": true,
"license": "MIT",
- "dependencies": {
- "sparkles": "^2.1.0"
- },
- "engines": {
- "node": ">= 10.13.0"
- }
- },
- "node_modules/gopd": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz",
- "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==",
- "license": "MIT",
"engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
+ "node": ">=6"
}
},
- "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
+ "node_modules/gulp-typescript/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/graphql": {
- "version": "16.14.0",
- "resolved": "https://registry.npmjs.org/graphql/-/graphql-16.14.0.tgz",
- "integrity": "sha512-BBvQ/406p+4CZbTpCbVPSxfzrZrbnuWSP1ELYgyS6B+hNeKzgrdB4JczCa5VZUBQrDa9hUngm0KnexY6pJRN5Q==",
+ "node_modules/gulp-typescript/node_modules/fs-mkdirp-stream": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/fs-mkdirp-stream/-/fs-mkdirp-stream-1.0.0.tgz",
+ "integrity": "sha512-+vSd9frUnapVC2RZYfL3FCB2p3g4TBhaUmrsWlSudsGdnxIuUvBB2QM1VZeBtc49QFwrp+wQLrDs3+xxDgI5gQ==",
"dev": true,
"license": "MIT",
+ "dependencies": {
+ "graceful-fs": "^4.1.11",
+ "through2": "^2.0.3"
+ },
"engines": {
- "node": "^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0"
+ "node": ">= 0.10"
}
},
- "node_modules/graphql-subscriptions": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/graphql-subscriptions/-/graphql-subscriptions-3.0.0.tgz",
- "integrity": "sha512-kZCdevgmzDjGAOqH7GlDmQXYAkuHoKpMlJrqF40HMPhUhM5ZWSFSxCwD/nSi6AkaijmMfsFhoJRGJ27UseCvRA==",
+ "node_modules/gulp-typescript/node_modules/fs-mkdirp-stream/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,
- "peerDependencies": {
- "graphql": "^15.7.2 || ^16.0.0"
+ "license": "MIT",
+ "dependencies": {
+ "readable-stream": "~2.3.6",
+ "xtend": "~4.0.1"
}
},
- "node_modules/graphql-tag": {
- "version": "2.12.6",
- "resolved": "https://registry.npmjs.org/graphql-tag/-/graphql-tag-2.12.6.tgz",
- "integrity": "sha512-FdSNcu2QQcWnM2VNvSCCDCVS5PpPqpzgFT8+GXzqJuoDd0CBncxCY278u4mhRO7tMgo2JjgJA5aZ+nWSQ/Z+xg==",
+ "node_modules/gulp-typescript/node_modules/glob": {
+ "version": "7.2.3",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
+ "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
+ "deprecated": "Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me",
"dev": true,
+ "license": "ISC",
"dependencies": {
- "tslib": "^2.1.0"
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.1.1",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
},
"engines": {
- "node": ">=10"
+ "node": "*"
},
- "peerDependencies": {
- "graphql": "^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0"
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
}
},
- "node_modules/graphql-ws": {
- "version": "6.0.8",
- "resolved": "https://registry.npmjs.org/graphql-ws/-/graphql-ws-6.0.8.tgz",
- "integrity": "sha512-m3EOaNsUBXwAnkBWbzPfe0Nq8pXUfxsWnolC54sru3FzHvhTZL0Ouf/BoQsaGAXqM+YPerXOJ47BUnmgmoupCw==",
+ "node_modules/gulp-typescript/node_modules/glob-parent": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz",
+ "integrity": "sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA==",
"dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=20"
- },
- "peerDependencies": {
- "@fastify/websocket": "^10 || ^11",
- "crossws": "~0.3",
- "graphql": "^15.10.1 || ^16",
- "ws": "^8"
- },
- "peerDependenciesMeta": {
- "@fastify/websocket": {
- "optional": true
- },
- "crossws": {
- "optional": true
- },
- "ws": {
- "optional": true
- }
+ "license": "ISC",
+ "dependencies": {
+ "is-glob": "^3.1.0",
+ "path-dirname": "^1.0.0"
}
},
- "node_modules/gulp": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/gulp/-/gulp-5.0.1.tgz",
- "integrity": "sha512-PErok3DZSA5WGMd6XXV3IRNO0mlB+wW3OzhFJLEec1jSERg2j1bxJ6e5Fh6N6fn3FH2T9AP4UYNb/pYlADB9sA==",
+ "node_modules/gulp-typescript/node_modules/glob-stream": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/glob-stream/-/glob-stream-6.1.0.tgz",
+ "integrity": "sha512-uMbLGAP3S2aDOHUDfdoYcdIePUCfysbAd0IAoWVZbeGU/oNQ8asHVSshLDJUPWxfzj8zsCG7/XeHPHTtow0nsw==",
"dev": true,
"license": "MIT",
"dependencies": {
- "glob-watcher": "^6.0.0",
- "gulp-cli": "^3.1.0",
- "undertaker": "^2.0.0",
- "vinyl-fs": "^4.0.2"
- },
- "bin": {
- "gulp": "bin/gulp.js"
+ "extend": "^3.0.0",
+ "glob": "^7.1.1",
+ "glob-parent": "^3.1.0",
+ "is-negated-glob": "^1.0.0",
+ "ordered-read-streams": "^1.0.0",
+ "pumpify": "^1.3.5",
+ "readable-stream": "^2.1.5",
+ "remove-trailing-separator": "^1.0.1",
+ "to-absolute-glob": "^2.0.0",
+ "unique-stream": "^2.0.2"
},
"engines": {
- "node": ">=10.13.0"
- }
- },
- "node_modules/gulp-clang-format": {
- "version": "1.0.27",
- "resolved": "https://registry.npmjs.org/gulp-clang-format/-/gulp-clang-format-1.0.27.tgz",
- "integrity": "sha512-Jj4PGuNXKdqVCh9fijvL7wdzma5TQRJz1vv8FjOjnSkfq3s/mvbdE/jq+5HG1c/q+jcYkXTEGkYT3CrdnJOLaQ==",
- "dev": true,
- "dependencies": {
- "clang-format": "^1.0.32",
- "fancy-log": "^1.3.2",
- "gulp-diff": "^1.0.0",
- "plugin-error": "^1.0.1",
- "stream-combiner2": "^1.1.1",
- "through2": "^2.0.3"
+ "node": ">= 0.10"
}
},
- "node_modules/gulp-clang-format/node_modules/fancy-log": {
- "version": "1.3.3",
- "resolved": "https://registry.npmjs.org/fancy-log/-/fancy-log-1.3.3.tgz",
- "integrity": "sha512-k9oEhlyc0FrVh25qYuSELjr8oxsCoc4/LEZfg2iJJrfEk/tZL9bCoJE47gqAvI2m/AUjluCS4+3I0eTx8n3AEw==",
+ "node_modules/gulp-typescript/node_modules/is-glob": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
+ "integrity": "sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "ansi-gray": "^0.1.1",
- "color-support": "^1.1.3",
- "parse-node-version": "^1.0.0",
- "time-stamp": "^1.0.0"
+ "is-extglob": "^2.1.0"
},
"engines": {
- "node": ">= 0.10"
+ "node": ">=0.10.0"
}
},
- "node_modules/gulp-clean": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/gulp-clean/-/gulp-clean-0.4.0.tgz",
- "integrity": "sha512-DARK8rNMo4lHOFLGTiHEJdf19GuoBDHqGUaypz+fOhrvOs3iFO7ntdYtdpNxv+AzSJBx/JfypF0yEj9ks1IStQ==",
+ "node_modules/gulp-typescript/node_modules/lead": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/lead/-/lead-1.0.0.tgz",
+ "integrity": "sha512-IpSVCk9AYvLHo5ctcIXxOBpMWUe+4TKN3VPWAKUbJikkmsGp0VrSM8IttVc32D6J4WUsiPE6aEFRNmIoF/gdow==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "fancy-log": "^1.3.2",
- "plugin-error": "^0.1.2",
- "rimraf": "^2.6.2",
- "through2": "^2.0.3",
- "vinyl": "^2.1.0"
+ "flush-write-stream": "^1.0.2"
},
"engines": {
- "node": ">=0.9"
+ "node": ">= 0.10"
}
},
- "node_modules/gulp-clean/node_modules/arr-diff": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-1.1.0.tgz",
- "integrity": "sha512-OQwDZUqYaQwyyhDJHThmzId8daf4/RFNLaeh3AevmSeZ5Y7ug4Ga/yKc6l6kTZOBW781rCj103ZuTh8GAsB3+Q==",
+ "node_modules/gulp-typescript/node_modules/normalize-path": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
+ "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "arr-flatten": "^1.0.1",
- "array-slice": "^0.2.3"
+ "remove-trailing-separator": "^1.0.1"
},
"engines": {
"node": ">=0.10.0"
}
},
- "node_modules/gulp-clean/node_modules/arr-union": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-2.1.0.tgz",
- "integrity": "sha512-t5db90jq+qdgk8aFnxEkjqta0B/GHrM1pxzuuZz2zWsOXc5nKu3t+76s/PQBA8FTcM/ipspIH9jWG4OxCBc2eA==",
+ "node_modules/gulp-typescript/node_modules/now-and-later": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/now-and-later/-/now-and-later-2.0.1.tgz",
+ "integrity": "sha512-KGvQ0cB70AQfg107Xvs/Fbu+dGmZoTRJp2TaPwcwQm3/7PteUyN2BCgk8KBMPGBUXZdVwyWS8fDCGFygBm19UQ==",
"dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "once": "^1.3.2"
+ },
"engines": {
- "node": ">=0.10.0"
+ "node": ">= 0.10"
}
},
- "node_modules/gulp-clean/node_modules/array-slice": {
- "version": "0.2.3",
- "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-0.2.3.tgz",
- "integrity": "sha512-rlVfZW/1Ph2SNySXwR9QYkChp8EkOEiTMO5Vwx60usw04i4nWemkm9RXmQqgkQFaLHsqLuADvjp6IfgL9l2M8Q==",
+ "node_modules/gulp-typescript/node_modules/resolve-options": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/resolve-options/-/resolve-options-1.1.0.tgz",
+ "integrity": "sha512-NYDgziiroVeDC29xq7bp/CacZERYsA9bXYd1ZmcJlF3BcrZv5pTb4NG7SjdyKDnXZ84aC4vo2u6sNKIA1LCu/A==",
"dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "value-or-function": "^3.0.0"
+ },
"engines": {
- "node": ">=0.10.0"
+ "node": ">= 0.10"
}
},
- "node_modules/gulp-clean/node_modules/clone": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz",
- "integrity": "sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==",
+ "node_modules/gulp-typescript/node_modules/source-map": {
+ "version": "0.7.6",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.6.tgz",
+ "integrity": "sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==",
"dev": true,
+ "license": "BSD-3-Clause",
"engines": {
- "node": ">=0.8"
+ "node": ">= 12"
}
},
- "node_modules/gulp-clean/node_modules/extend-shallow": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-1.1.4.tgz",
- "integrity": "sha512-L7AGmkO6jhDkEBBGWlLtftA80Xq8DipnrRPr0pyi7GQLXkaq9JYA4xF4z6qnadIC6euiTDKco0cGSU9muw+WTw==",
+ "node_modules/gulp-typescript/node_modules/through2": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.2.tgz",
+ "integrity": "sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "kind-of": "^1.1.0"
- },
- "engines": {
- "node": ">=0.10.0"
+ "inherits": "^2.0.4",
+ "readable-stream": "2 || 3"
}
},
- "node_modules/gulp-clean/node_modules/fancy-log": {
- "version": "1.3.3",
- "resolved": "https://registry.npmjs.org/fancy-log/-/fancy-log-1.3.3.tgz",
- "integrity": "sha512-k9oEhlyc0FrVh25qYuSELjr8oxsCoc4/LEZfg2iJJrfEk/tZL9bCoJE47gqAvI2m/AUjluCS4+3I0eTx8n3AEw==",
+ "node_modules/gulp-typescript/node_modules/to-through": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/to-through/-/to-through-2.0.0.tgz",
+ "integrity": "sha512-+QIz37Ly7acM4EMdw2PRN389OneM5+d844tirkGp4dPKzI5OE72V9OsbFp+CIYJDahZ41ZV05hNtcPAQUAm9/Q==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "ansi-gray": "^0.1.1",
- "color-support": "^1.1.3",
- "parse-node-version": "^1.0.0",
- "time-stamp": "^1.0.0"
+ "through2": "^2.0.3"
},
"engines": {
"node": ">= 0.10"
}
},
- "node_modules/gulp-clean/node_modules/plugin-error": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/plugin-error/-/plugin-error-0.1.2.tgz",
- "integrity": "sha512-WzZHcm4+GO34sjFMxQMqZbsz3xiNEgonCskQ9v+IroMmYgk/tas8dG+Hr2D6IbRPybZ12oWpzE/w3cGJ6FJzOw==",
+ "node_modules/gulp-typescript/node_modules/to-through/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",
"dependencies": {
- "ansi-cyan": "^0.1.1",
- "ansi-red": "^0.1.1",
- "arr-diff": "^1.0.1",
- "arr-union": "^2.0.1",
- "extend-shallow": "^1.1.2"
- },
- "engines": {
- "node": ">=0.10.0"
+ "readable-stream": "~2.3.6",
+ "xtend": "~4.0.1"
}
},
- "node_modules/gulp-clean/node_modules/replace-ext": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.1.tgz",
- "integrity": "sha512-yD5BHCe7quCgBph4rMQ+0KkIRKwWCrHDOX1p1Gp6HwjPM5kVoCdKGNhN7ydqqsX6lJEnQDKZ/tFMiEdQ1dvPEw==",
+ "node_modules/gulp-typescript/node_modules/value-or-function": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/value-or-function/-/value-or-function-3.0.0.tgz",
+ "integrity": "sha512-jdBB2FrWvQC/pnPtIqcLsMaQgjhdb6B7tk1MMyTKapox+tQZbdRP4uLxu/JY0t7fbfDCUMnuelzEYv5GsxHhdg==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">= 0.10"
}
},
- "node_modules/gulp-clean/node_modules/vinyl": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-2.2.1.tgz",
- "integrity": "sha512-LII3bXRFBZLlezoG5FfZVcXflZgWP/4dCwKtxd5ky9+LOtM4CS3bIRQsmR1KMnMW07jpE8fqR2lcxPZ+8sJIcw==",
+ "node_modules/gulp-typescript/node_modules/vinyl-fs": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-3.0.3.tgz",
+ "integrity": "sha512-vIu34EkyNyJxmP0jscNzWBSygh7VWhqun6RmqVfXePrOwi9lhvRs//dOaGOTRUQr4tx7/zd26Tk5WeSVZitgng==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "clone": "^2.1.1",
- "clone-buffer": "^1.0.0",
- "clone-stats": "^1.0.0",
- "cloneable-readable": "^1.0.0",
- "remove-trailing-separator": "^1.0.1",
- "replace-ext": "^1.0.0"
+ "fs-mkdirp-stream": "^1.0.0",
+ "glob-stream": "^6.1.0",
+ "graceful-fs": "^4.0.0",
+ "is-valid-glob": "^1.0.0",
+ "lazystream": "^1.0.0",
+ "lead": "^1.0.0",
+ "object.assign": "^4.0.4",
+ "pumpify": "^1.3.5",
+ "readable-stream": "^2.3.3",
+ "remove-bom-buffer": "^3.0.0",
+ "remove-bom-stream": "^1.2.0",
+ "resolve-options": "^1.1.0",
+ "through2": "^2.0.0",
+ "to-through": "^2.0.0",
+ "value-or-function": "^3.0.0",
+ "vinyl": "^2.0.0",
+ "vinyl-sourcemap": "^1.1.0"
},
"engines": {
"node": ">= 0.10"
}
},
- "node_modules/gulp-cli": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/gulp-cli/-/gulp-cli-3.1.0.tgz",
- "integrity": "sha512-zZzwlmEsTfXcxRKiCHsdyjZZnFvXWM4v1NqBJSYbuApkvVKivjcmOS2qruAJ+PkEHLFavcDKH40DPc1+t12a9Q==",
+ "node_modules/gulp-typescript/node_modules/vinyl-fs/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",
"dependencies": {
- "@gulpjs/messages": "^1.1.0",
- "chalk": "^4.1.2",
- "copy-props": "^4.0.0",
- "gulplog": "^2.2.0",
- "interpret": "^3.1.1",
- "liftoff": "^5.0.1",
- "mute-stdout": "^2.0.0",
- "replace-homedir": "^2.0.0",
- "semver-greatest-satisfied-range": "^2.0.0",
- "string-width": "^4.2.3",
- "v8flags": "^4.0.0",
- "yargs": "^16.2.0"
- },
- "bin": {
- "gulp": "bin/gulp.js"
- },
- "engines": {
- "node": ">=10.13.0"
+ "readable-stream": "~2.3.6",
+ "xtend": "~4.0.1"
}
},
- "node_modules/gulp-cli/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==",
+ "node_modules/gulp-typescript/node_modules/vinyl-sourcemap": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/vinyl-sourcemap/-/vinyl-sourcemap-1.1.0.tgz",
+ "integrity": "sha512-NiibMgt6VJGJmyw7vtzhctDcfKch4e4n9TBeoWlirb7FMg9/1Ov9k+A5ZRAtywBpRPiyECvQRQllYM8dECegVA==",
"dev": true,
- "license": "ISC",
+ "license": "MIT",
"dependencies": {
- "string-width": "^4.2.0",
- "strip-ansi": "^6.0.0",
- "wrap-ansi": "^7.0.0"
+ "append-buffer": "^1.0.2",
+ "convert-source-map": "^1.5.0",
+ "graceful-fs": "^4.1.6",
+ "normalize-path": "^2.1.1",
+ "now-and-later": "^2.0.0",
+ "remove-bom-buffer": "^3.0.0",
+ "vinyl": "^2.0.0"
+ },
+ "engines": {
+ "node": ">= 0.10"
}
},
- "node_modules/gulp-cli/node_modules/yargs": {
- "version": "16.2.0",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz",
- "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==",
+ "node_modules/gulp-util": {
+ "version": "3.0.8",
+ "resolved": "https://registry.npmjs.org/gulp-util/-/gulp-util-3.0.8.tgz",
+ "integrity": "sha512-q5oWPc12lwSFS9h/4VIjG+1NuNDlJ48ywV2JKItY4Ycc/n1fXJeYPVQsfu5ZrhQi7FGSDBalwUCLar/GyHXKGw==",
+ "deprecated": "gulp-util is deprecated - replace it, following the guidelines at https://medium.com/gulpjs/gulp-util-ca3b1f9f9ac5",
"dev": true,
"license": "MIT",
"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"
+ "array-differ": "^1.0.0",
+ "array-uniq": "^1.0.2",
+ "beeper": "^1.0.0",
+ "chalk": "^1.0.0",
+ "dateformat": "^2.0.0",
+ "fancy-log": "^1.1.0",
+ "gulplog": "^1.0.0",
+ "has-gulplog": "^0.1.0",
+ "lodash._reescape": "^3.0.0",
+ "lodash._reevaluate": "^3.0.0",
+ "lodash._reinterpolate": "^3.0.0",
+ "lodash.template": "^3.0.0",
+ "minimist": "^1.1.0",
+ "multipipe": "^0.1.2",
+ "object-assign": "^3.0.0",
+ "replace-ext": "0.0.1",
+ "through2": "^2.0.0",
+ "vinyl": "^0.5.0"
},
"engines": {
- "node": ">=10"
+ "node": ">=0.10"
}
},
- "node_modules/gulp-cli/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==",
+ "node_modules/gulp-util/node_modules/ansi-styles": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
+ "integrity": "sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==",
"dev": true,
- "license": "ISC",
+ "license": "MIT",
"engines": {
- "node": ">=10"
+ "node": ">=0.10.0"
}
},
- "node_modules/gulp-diff": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/gulp-diff/-/gulp-diff-1.0.0.tgz",
- "integrity": "sha512-d4dwx2A1dzPTUS9kWl8WaWRhXshZHoQqbEy7x5tzDqN4V2C3dLh82BH7Plr10vjYtiqd+LitU0sX2f61mex3cQ==",
+ "node_modules/gulp-util/node_modules/chalk": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+ "integrity": "sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "cli-color": "^1.0.0",
- "diff": "^2.0.2",
- "event-stream": "^3.1.5",
- "gulp-util": "^3.0.6",
- "through2": "^2.0.0"
+ "ansi-styles": "^2.2.1",
+ "escape-string-regexp": "^1.0.2",
+ "has-ansi": "^2.0.0",
+ "strip-ansi": "^3.0.0",
+ "supports-color": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
}
},
- "node_modules/gulp-diff/node_modules/diff": {
- "version": "2.2.3",
- "resolved": "https://registry.npmjs.org/diff/-/diff-2.2.3.tgz",
- "integrity": "sha512-9wfm3RLzMp/PyTFWuw9liEzdlxsdGixCW0ZTU1XDmtlAkvpVXTPGF8KnfSs0hm3BPbg19OrUPPsRkHXoREpP1g==",
+ "node_modules/gulp-util/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,
+ "license": "MIT",
"engines": {
- "node": ">=0.3.1"
+ "node": ">=0.8"
}
},
- "node_modules/gulp-sourcemaps": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/gulp-sourcemaps/-/gulp-sourcemaps-3.0.0.tgz",
- "integrity": "sha512-RqvUckJkuYqy4VaIH60RMal4ZtG0IbQ6PXMNkNsshEGJ9cldUPRb/YCgboYae+CLAs1HQNb4ADTKCx65HInquQ==",
+ "node_modules/gulp-util/node_modules/clone-stats": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz",
+ "integrity": "sha512-dhUqc57gSMCo6TX85FLfe51eC/s+Im2MLkAgJwfaRRexR2tA4dd3eLEW4L6efzHc2iNorrRRXITifnDLlRrhaA==",
"dev": true,
- "dependencies": {
- "@gulp-sourcemaps/identity-map": "^2.0.1",
- "@gulp-sourcemaps/map-sources": "^1.0.0",
- "acorn": "^6.4.1",
- "convert-source-map": "^1.0.0",
- "css": "^3.0.0",
- "debug-fabulous": "^1.0.0",
- "detect-newline": "^2.0.0",
- "graceful-fs": "^4.0.0",
- "source-map": "^0.6.0",
- "strip-bom-string": "^1.0.0",
- "through2": "^2.0.0"
- },
+ "license": "MIT"
+ },
+ "node_modules/gulp-util/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": ">= 6"
+ "node": ">=0.8.0"
}
},
- "node_modules/gulp-sourcemaps/node_modules/acorn": {
- "version": "6.4.2",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz",
- "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==",
+ "node_modules/gulp-util/node_modules/fancy-log": {
+ "version": "1.3.3",
+ "resolved": "https://registry.npmjs.org/fancy-log/-/fancy-log-1.3.3.tgz",
+ "integrity": "sha512-k9oEhlyc0FrVh25qYuSELjr8oxsCoc4/LEZfg2iJJrfEk/tZL9bCoJE47gqAvI2m/AUjluCS4+3I0eTx8n3AEw==",
"dev": true,
- "bin": {
- "acorn": "bin/acorn"
+ "license": "MIT",
+ "dependencies": {
+ "ansi-gray": "^0.1.1",
+ "color-support": "^1.1.3",
+ "parse-node-version": "^1.0.0",
+ "time-stamp": "^1.0.0"
},
"engines": {
- "node": ">=0.4.0"
+ "node": ">= 0.10"
}
},
- "node_modules/gulp-sourcemaps/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/gulp-typescript": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/gulp-typescript/-/gulp-typescript-5.0.1.tgz",
- "integrity": "sha512-YuMMlylyJtUSHG1/wuSVTrZp60k1dMEFKYOvDf7OvbAJWrDtxxD4oZon4ancdWwzjj30ztiidhe4VXJniF0pIQ==",
+ "node_modules/gulp-util/node_modules/glogg": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/glogg/-/glogg-1.0.2.tgz",
+ "integrity": "sha512-5mwUoSuBk44Y4EshyiqcH95ZntbDdTQqA3QYSrxmzj28Ai0vXBGMH1ApSANH14j2sIRtqCEyg6PfsuP7ElOEDA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "ansi-colors": "^3.0.5",
- "plugin-error": "^1.0.1",
- "source-map": "^0.7.3",
- "through2": "^3.0.0",
- "vinyl": "^2.1.0",
- "vinyl-fs": "^3.0.3"
+ "sparkles": "^1.0.0"
},
"engines": {
- "node": ">= 8"
- },
- "peerDependencies": {
- "typescript": "~2.7.1 || >=2.8.0-dev || >=2.9.0-dev || ~3.0.0 || >=3.0.0-dev || >=3.1.0-dev || >= 3.2.0-dev || >= 3.3.0-dev"
+ "node": ">= 0.10"
}
},
- "node_modules/gulp-typescript/node_modules/ansi-colors": {
- "version": "3.2.4",
- "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz",
- "integrity": "sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==",
+ "node_modules/gulp-util/node_modules/gulplog": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/gulplog/-/gulplog-1.0.0.tgz",
+ "integrity": "sha512-hm6N8nrm3Y08jXie48jsC55eCZz9mnb4OirAStEk2deqeyhXU3C1otDVh+ccttMuc1sBi6RX6ZJ720hs9RCvgw==",
"dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "glogg": "^1.0.0"
+ },
"engines": {
- "node": ">=6"
+ "node": ">= 0.10"
}
},
- "node_modules/gulp-typescript/node_modules/clone": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz",
- "integrity": "sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==",
+ "node_modules/gulp-util/node_modules/object-assign": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-3.0.0.tgz",
+ "integrity": "sha512-jHP15vXVGeVh1HuaA2wY6lxk+whK/x4KBG88VXeRma7CCun7iGD5qPc4eYykQ9sdQvg8jkwFKsSxHln2ybW3xQ==",
"dev": true,
+ "license": "MIT",
"engines": {
- "node": ">=0.8"
+ "node": ">=0.10.0"
}
},
- "node_modules/gulp-typescript/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/gulp-typescript/node_modules/fs-mkdirp-stream": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/fs-mkdirp-stream/-/fs-mkdirp-stream-1.0.0.tgz",
- "integrity": "sha512-+vSd9frUnapVC2RZYfL3FCB2p3g4TBhaUmrsWlSudsGdnxIuUvBB2QM1VZeBtc49QFwrp+wQLrDs3+xxDgI5gQ==",
+ "node_modules/gulp-util/node_modules/sparkles": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/sparkles/-/sparkles-1.0.1.tgz",
+ "integrity": "sha512-dSO0DDYUahUt/0/pD/Is3VIm5TGJjludZ0HVymmhYF6eNA53PVLhnUk0znSYbH8IYBuJdCE+1luR22jNLMaQdw==",
"dev": true,
- "dependencies": {
- "graceful-fs": "^4.1.11",
- "through2": "^2.0.3"
- },
+ "license": "MIT",
"engines": {
"node": ">= 0.10"
}
},
- "node_modules/gulp-typescript/node_modules/fs-mkdirp-stream/node_modules/readable-stream": {
- "version": "2.3.8",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz",
- "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==",
+ "node_modules/gulp-util/node_modules/strip-ansi": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
+ "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.3",
- "isarray": "~1.0.0",
- "process-nextick-args": "~2.0.0",
- "safe-buffer": "~5.1.1",
- "string_decoder": "~1.1.1",
- "util-deprecate": "~1.0.1"
+ "ansi-regex": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
}
},
- "node_modules/gulp-typescript/node_modules/fs-mkdirp-stream/node_modules/safe-buffer": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
- "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
- "dev": true
- },
- "node_modules/gulp-typescript/node_modules/fs-mkdirp-stream/node_modules/string_decoder": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
- "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+ "node_modules/gulp-util/node_modules/supports-color": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
+ "integrity": "sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==",
"dev": true,
- "dependencies": {
- "safe-buffer": "~5.1.0"
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.8.0"
}
},
- "node_modules/gulp-typescript/node_modules/fs-mkdirp-stream/node_modules/through2": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz",
- "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==",
+ "node_modules/gulp-util/node_modules/vinyl": {
+ "version": "0.5.3",
+ "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.5.3.tgz",
+ "integrity": "sha512-P5zdf3WB9uzr7IFoVQ2wZTmUwHL8cMZWJGzLBNCHNZ3NB6HTMsYABtt7z8tAGIINLXyAob9B9a1yzVGMFOYKEA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "readable-stream": "~2.3.6",
- "xtend": "~4.0.1"
+ "clone": "^1.0.0",
+ "clone-stats": "^0.0.1",
+ "replace-ext": "0.0.1"
+ },
+ "engines": {
+ "node": ">= 0.9"
}
},
- "node_modules/gulp-typescript/node_modules/glob-parent": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz",
- "integrity": "sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA==",
+ "node_modules/gulp-watch": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/gulp-watch/-/gulp-watch-5.0.1.tgz",
+ "integrity": "sha512-HnTSBdzAOFIT4wmXYPDUn783TaYAq9bpaN05vuZNP5eni3z3aRx0NAKbjhhMYtcq76x4R1wf4oORDGdlrEjuog==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "is-glob": "^3.1.0",
- "path-dirname": "^1.0.0"
+ "ansi-colors": "1.1.0",
+ "anymatch": "^1.3.0",
+ "chokidar": "^2.0.0",
+ "fancy-log": "1.3.2",
+ "glob-parent": "^3.0.1",
+ "object-assign": "^4.1.0",
+ "path-is-absolute": "^1.0.1",
+ "plugin-error": "1.0.1",
+ "readable-stream": "^2.2.2",
+ "slash": "^1.0.0",
+ "vinyl": "^2.1.0",
+ "vinyl-file": "^2.0.0"
}
},
- "node_modules/gulp-typescript/node_modules/glob-stream": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/glob-stream/-/glob-stream-6.1.0.tgz",
- "integrity": "sha512-uMbLGAP3S2aDOHUDfdoYcdIePUCfysbAd0IAoWVZbeGU/oNQ8asHVSshLDJUPWxfzj8zsCG7/XeHPHTtow0nsw==",
+ "node_modules/gulp-watch/node_modules/ansi-colors": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-1.1.0.tgz",
+ "integrity": "sha512-SFKX67auSNoVR38N3L+nvsPjOE0bybKTYbkf5tRvushrAPQ9V75huw0ZxBkKVeRU9kqH3d6HA4xTckbwZ4ixmA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "extend": "^3.0.0",
- "glob": "^7.1.1",
- "glob-parent": "^3.1.0",
- "is-negated-glob": "^1.0.0",
- "ordered-read-streams": "^1.0.0",
- "pumpify": "^1.3.5",
- "readable-stream": "^2.1.5",
- "remove-trailing-separator": "^1.0.1",
- "to-absolute-glob": "^2.0.0",
- "unique-stream": "^2.0.2"
+ "ansi-wrap": "^0.1.0"
},
"engines": {
- "node": ">= 0.10"
+ "node": ">=0.10.0"
}
},
- "node_modules/gulp-typescript/node_modules/glob-stream/node_modules/readable-stream": {
- "version": "2.3.8",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz",
- "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==",
+ "node_modules/gulp-watch/node_modules/array-unique": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
+ "integrity": "sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==",
"dev": true,
- "dependencies": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.3",
- "isarray": "~1.0.0",
- "process-nextick-args": "~2.0.0",
- "safe-buffer": "~5.1.1",
- "string_decoder": "~1.1.1",
- "util-deprecate": "~1.0.1"
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
}
},
- "node_modules/gulp-typescript/node_modules/glob-stream/node_modules/safe-buffer": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
- "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
- "dev": true
- },
- "node_modules/gulp-typescript/node_modules/glob-stream/node_modules/string_decoder": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
- "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+ "node_modules/gulp-watch/node_modules/binary-extensions": {
+ "version": "1.13.1",
+ "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz",
+ "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==",
"dev": true,
- "dependencies": {
- "safe-buffer": "~5.1.0"
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
}
},
- "node_modules/gulp-typescript/node_modules/is-glob": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
- "integrity": "sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw==",
+ "node_modules/gulp-watch/node_modules/braces": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
+ "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "is-extglob": "^2.1.0"
+ "arr-flatten": "^1.1.0",
+ "array-unique": "^0.3.2",
+ "extend-shallow": "^2.0.1",
+ "fill-range": "^4.0.0",
+ "isobject": "^3.0.1",
+ "repeat-element": "^1.1.2",
+ "snapdragon": "^0.8.1",
+ "snapdragon-node": "^2.0.1",
+ "split-string": "^3.0.2",
+ "to-regex": "^3.0.1"
},
"engines": {
"node": ">=0.10.0"
}
},
- "node_modules/gulp-typescript/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/gulp-typescript/node_modules/lead": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/lead/-/lead-1.0.0.tgz",
- "integrity": "sha512-IpSVCk9AYvLHo5ctcIXxOBpMWUe+4TKN3VPWAKUbJikkmsGp0VrSM8IttVc32D6J4WUsiPE6aEFRNmIoF/gdow==",
+ "node_modules/gulp-watch/node_modules/chokidar": {
+ "version": "2.1.8",
+ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz",
+ "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "flush-write-stream": "^1.0.2"
+ "anymatch": "^2.0.0",
+ "async-each": "^1.0.1",
+ "braces": "^2.3.2",
+ "glob-parent": "^3.1.0",
+ "inherits": "^2.0.3",
+ "is-binary-path": "^1.0.0",
+ "is-glob": "^4.0.0",
+ "normalize-path": "^3.0.0",
+ "path-is-absolute": "^1.0.0",
+ "readdirp": "^2.2.1",
+ "upath": "^1.1.1"
},
- "engines": {
- "node": ">= 0.10"
+ "optionalDependencies": {
+ "fsevents": "^1.2.7"
}
},
- "node_modules/gulp-typescript/node_modules/normalize-path": {
+ "node_modules/gulp-watch/node_modules/chokidar/node_modules/anymatch": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz",
+ "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "micromatch": "^3.1.4",
+ "normalize-path": "^2.1.1"
+ }
+ },
+ "node_modules/gulp-watch/node_modules/chokidar/node_modules/anymatch/node_modules/normalize-path": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
"integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"remove-trailing-separator": "^1.0.1"
},
@@ -14008,2703 +13584,2629 @@
"node": ">=0.10.0"
}
},
- "node_modules/gulp-typescript/node_modules/now-and-later": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/now-and-later/-/now-and-later-2.0.1.tgz",
- "integrity": "sha512-KGvQ0cB70AQfg107Xvs/Fbu+dGmZoTRJp2TaPwcwQm3/7PteUyN2BCgk8KBMPGBUXZdVwyWS8fDCGFygBm19UQ==",
+ "node_modules/gulp-watch/node_modules/debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "once": "^1.3.2"
- },
- "engines": {
- "node": ">= 0.10"
+ "ms": "2.0.0"
}
},
- "node_modules/gulp-typescript/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==",
+ "node_modules/gulp-watch/node_modules/define-property": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz",
+ "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "inherits": "^2.0.3",
- "string_decoder": "^1.1.1",
- "util-deprecate": "^1.0.1"
+ "is-descriptor": "^1.0.2",
+ "isobject": "^3.0.1"
},
"engines": {
- "node": ">= 6"
+ "node": ">=0.10.0"
}
},
- "node_modules/gulp-typescript/node_modules/replace-ext": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.1.tgz",
- "integrity": "sha512-yD5BHCe7quCgBph4rMQ+0KkIRKwWCrHDOX1p1Gp6HwjPM5kVoCdKGNhN7ydqqsX6lJEnQDKZ/tFMiEdQ1dvPEw==",
+ "node_modules/gulp-watch/node_modules/expand-brackets": {
+ "version": "2.1.4",
+ "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz",
+ "integrity": "sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==",
"dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "debug": "^2.3.3",
+ "define-property": "^0.2.5",
+ "extend-shallow": "^2.0.1",
+ "posix-character-classes": "^0.1.0",
+ "regex-not": "^1.0.0",
+ "snapdragon": "^0.8.1",
+ "to-regex": "^3.0.1"
+ },
"engines": {
- "node": ">= 0.10"
+ "node": ">=0.10.0"
}
},
- "node_modules/gulp-typescript/node_modules/resolve-options": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/resolve-options/-/resolve-options-1.1.0.tgz",
- "integrity": "sha512-NYDgziiroVeDC29xq7bp/CacZERYsA9bXYd1ZmcJlF3BcrZv5pTb4NG7SjdyKDnXZ84aC4vo2u6sNKIA1LCu/A==",
+ "node_modules/gulp-watch/node_modules/expand-brackets/node_modules/define-property": {
+ "version": "0.2.5",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "value-or-function": "^3.0.0"
+ "is-descriptor": "^0.1.0"
},
"engines": {
- "node": ">= 0.10"
+ "node": ">=0.10.0"
}
},
- "node_modules/gulp-typescript/node_modules/source-map": {
- "version": "0.7.4",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz",
- "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==",
+ "node_modules/gulp-watch/node_modules/expand-brackets/node_modules/is-descriptor": {
+ "version": "0.1.7",
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz",
+ "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==",
"dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "is-accessor-descriptor": "^1.0.1",
+ "is-data-descriptor": "^1.0.1"
+ },
"engines": {
- "node": ">= 8"
+ "node": ">= 0.4"
}
},
- "node_modules/gulp-typescript/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==",
+ "node_modules/gulp-watch/node_modules/extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "safe-buffer": "~5.2.0"
+ "is-extendable": "^0.1.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
}
},
- "node_modules/gulp-typescript/node_modules/through2": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.2.tgz",
- "integrity": "sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ==",
+ "node_modules/gulp-watch/node_modules/extglob": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz",
+ "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "inherits": "^2.0.4",
- "readable-stream": "2 || 3"
+ "array-unique": "^0.3.2",
+ "define-property": "^1.0.0",
+ "expand-brackets": "^2.1.4",
+ "extend-shallow": "^2.0.1",
+ "fragment-cache": "^0.2.1",
+ "regex-not": "^1.0.0",
+ "snapdragon": "^0.8.1",
+ "to-regex": "^3.0.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
}
},
- "node_modules/gulp-typescript/node_modules/to-through": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/to-through/-/to-through-2.0.0.tgz",
- "integrity": "sha512-+QIz37Ly7acM4EMdw2PRN389OneM5+d844tirkGp4dPKzI5OE72V9OsbFp+CIYJDahZ41ZV05hNtcPAQUAm9/Q==",
+ "node_modules/gulp-watch/node_modules/extglob/node_modules/define-property": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
+ "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "through2": "^2.0.3"
+ "is-descriptor": "^1.0.0"
},
"engines": {
- "node": ">= 0.10"
+ "node": ">=0.10.0"
}
},
- "node_modules/gulp-typescript/node_modules/to-through/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==",
+ "node_modules/gulp-watch/node_modules/fancy-log": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/fancy-log/-/fancy-log-1.3.2.tgz",
+ "integrity": "sha512-7E6IFy84FpO6jcnzEsCcoxDleHpMTFzncmCXXBIVYq1/Oakqnbc/lTKPJyyW6edGeC/rnZmV78hJe7SuoZo0aQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.3",
- "isarray": "~1.0.0",
- "process-nextick-args": "~2.0.0",
- "safe-buffer": "~5.1.1",
- "string_decoder": "~1.1.1",
- "util-deprecate": "~1.0.1"
+ "ansi-gray": "^0.1.1",
+ "color-support": "^1.1.3",
+ "time-stamp": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.10"
}
},
- "node_modules/gulp-typescript/node_modules/to-through/node_modules/safe-buffer": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
- "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
- "dev": true
- },
- "node_modules/gulp-typescript/node_modules/to-through/node_modules/string_decoder": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
- "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+ "node_modules/gulp-watch/node_modules/fill-range": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
+ "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "safe-buffer": "~5.1.0"
+ "extend-shallow": "^2.0.1",
+ "is-number": "^3.0.0",
+ "repeat-string": "^1.6.1",
+ "to-regex-range": "^2.1.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
}
},
- "node_modules/gulp-typescript/node_modules/to-through/node_modules/through2": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz",
- "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==",
+ "node_modules/gulp-watch/node_modules/fsevents": {
+ "version": "1.2.13",
+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz",
+ "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==",
+ "deprecated": "Upgrade to fsevents v2 to mitigate potential security issues",
"dev": true,
+ "hasInstallScript": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
"dependencies": {
- "readable-stream": "~2.3.6",
- "xtend": "~4.0.1"
+ "bindings": "^1.5.0",
+ "nan": "^2.12.1"
+ },
+ "engines": {
+ "node": ">= 4.0"
}
},
- "node_modules/gulp-typescript/node_modules/value-or-function": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/value-or-function/-/value-or-function-3.0.0.tgz",
- "integrity": "sha512-jdBB2FrWvQC/pnPtIqcLsMaQgjhdb6B7tk1MMyTKapox+tQZbdRP4uLxu/JY0t7fbfDCUMnuelzEYv5GsxHhdg==",
+ "node_modules/gulp-watch/node_modules/glob-parent": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz",
+ "integrity": "sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA==",
"dev": true,
- "engines": {
- "node": ">= 0.10"
+ "license": "ISC",
+ "dependencies": {
+ "is-glob": "^3.1.0",
+ "path-dirname": "^1.0.0"
}
},
- "node_modules/gulp-typescript/node_modules/vinyl": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-2.2.1.tgz",
- "integrity": "sha512-LII3bXRFBZLlezoG5FfZVcXflZgWP/4dCwKtxd5ky9+LOtM4CS3bIRQsmR1KMnMW07jpE8fqR2lcxPZ+8sJIcw==",
+ "node_modules/gulp-watch/node_modules/glob-parent/node_modules/is-glob": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
+ "integrity": "sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "clone": "^2.1.1",
- "clone-buffer": "^1.0.0",
- "clone-stats": "^1.0.0",
- "cloneable-readable": "^1.0.0",
- "remove-trailing-separator": "^1.0.1",
- "replace-ext": "^1.0.0"
+ "is-extglob": "^2.1.0"
},
"engines": {
- "node": ">= 0.10"
+ "node": ">=0.10.0"
}
},
- "node_modules/gulp-typescript/node_modules/vinyl-fs": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-3.0.3.tgz",
- "integrity": "sha512-vIu34EkyNyJxmP0jscNzWBSygh7VWhqun6RmqVfXePrOwi9lhvRs//dOaGOTRUQr4tx7/zd26Tk5WeSVZitgng==",
+ "node_modules/gulp-watch/node_modules/is-binary-path": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz",
+ "integrity": "sha512-9fRVlXc0uCxEDj1nQzaWONSpbTfx0FmJfzHF7pwlI8DkWGoHBBea4Pg5Ky0ojwwxQmnSifgbKkI06Qv0Ljgj+Q==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "fs-mkdirp-stream": "^1.0.0",
- "glob-stream": "^6.1.0",
- "graceful-fs": "^4.0.0",
- "is-valid-glob": "^1.0.0",
- "lazystream": "^1.0.0",
- "lead": "^1.0.0",
- "object.assign": "^4.0.4",
- "pumpify": "^1.3.5",
- "readable-stream": "^2.3.3",
- "remove-bom-buffer": "^3.0.0",
- "remove-bom-stream": "^1.2.0",
- "resolve-options": "^1.1.0",
- "through2": "^2.0.0",
- "to-through": "^2.0.0",
- "value-or-function": "^3.0.0",
- "vinyl": "^2.0.0",
- "vinyl-sourcemap": "^1.1.0"
+ "binary-extensions": "^1.0.0"
},
"engines": {
- "node": ">= 0.10"
+ "node": ">=0.10.0"
}
},
- "node_modules/gulp-typescript/node_modules/vinyl-fs/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==",
+ "node_modules/gulp-watch/node_modules/is-descriptor": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.3.tgz",
+ "integrity": "sha512-JCNNGbwWZEVaSPtS45mdtrneRWJFp07LLmykxeFV5F6oBvNF8vHSfJuJgoT472pSfk+Mf8VnlrspaFBHWM8JAw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.3",
- "isarray": "~1.0.0",
- "process-nextick-args": "~2.0.0",
- "safe-buffer": "~5.1.1",
- "string_decoder": "~1.1.1",
- "util-deprecate": "~1.0.1"
+ "is-accessor-descriptor": "^1.0.1",
+ "is-data-descriptor": "^1.0.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
}
},
- "node_modules/gulp-typescript/node_modules/vinyl-fs/node_modules/safe-buffer": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
- "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
- "dev": true
- },
- "node_modules/gulp-typescript/node_modules/vinyl-fs/node_modules/string_decoder": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
- "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+ "node_modules/gulp-watch/node_modules/is-extendable": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
+ "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==",
"dev": true,
- "dependencies": {
- "safe-buffer": "~5.1.0"
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
}
},
- "node_modules/gulp-typescript/node_modules/vinyl-fs/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,
- "dependencies": {
- "readable-stream": "~2.3.6",
- "xtend": "~4.0.1"
- }
- },
- "node_modules/gulp-typescript/node_modules/vinyl-sourcemap": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/vinyl-sourcemap/-/vinyl-sourcemap-1.1.0.tgz",
- "integrity": "sha512-NiibMgt6VJGJmyw7vtzhctDcfKch4e4n9TBeoWlirb7FMg9/1Ov9k+A5ZRAtywBpRPiyECvQRQllYM8dECegVA==",
+ "node_modules/gulp-watch/node_modules/is-number": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
+ "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "append-buffer": "^1.0.2",
- "convert-source-map": "^1.5.0",
- "graceful-fs": "^4.1.6",
- "normalize-path": "^2.1.1",
- "now-and-later": "^2.0.0",
- "remove-bom-buffer": "^3.0.0",
- "vinyl": "^2.0.0"
+ "kind-of": "^3.0.2"
},
"engines": {
- "node": ">= 0.10"
+ "node": ">=0.10.0"
}
},
- "node_modules/gulp-util": {
- "version": "3.0.8",
- "resolved": "https://registry.npmjs.org/gulp-util/-/gulp-util-3.0.8.tgz",
- "integrity": "sha512-q5oWPc12lwSFS9h/4VIjG+1NuNDlJ48ywV2JKItY4Ycc/n1fXJeYPVQsfu5ZrhQi7FGSDBalwUCLar/GyHXKGw==",
- "deprecated": "gulp-util is deprecated - replace it, following the guidelines at https://medium.com/gulpjs/gulp-util-ca3b1f9f9ac5",
+ "node_modules/gulp-watch/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,
+ "license": "MIT",
"dependencies": {
- "array-differ": "^1.0.0",
- "array-uniq": "^1.0.2",
- "beeper": "^1.0.0",
- "chalk": "^1.0.0",
- "dateformat": "^2.0.0",
- "fancy-log": "^1.1.0",
- "gulplog": "^1.0.0",
- "has-gulplog": "^0.1.0",
- "lodash._reescape": "^3.0.0",
- "lodash._reevaluate": "^3.0.0",
- "lodash._reinterpolate": "^3.0.0",
- "lodash.template": "^3.0.0",
- "minimist": "^1.1.0",
- "multipipe": "^0.1.2",
- "object-assign": "^3.0.0",
- "replace-ext": "0.0.1",
- "through2": "^2.0.0",
- "vinyl": "^0.5.0"
+ "isobject": "^3.0.1"
},
- "engines": {
- "node": ">=0.10"
- }
- },
- "node_modules/gulp-util/node_modules/ansi-regex": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
- "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==",
- "dev": true,
"engines": {
"node": ">=0.10.0"
}
},
- "node_modules/gulp-util/node_modules/ansi-styles": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
- "integrity": "sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==",
+ "node_modules/gulp-watch/node_modules/micromatch": {
+ "version": "3.1.10",
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
+ "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
"dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "arr-diff": "^4.0.0",
+ "array-unique": "^0.3.2",
+ "braces": "^2.3.1",
+ "define-property": "^2.0.2",
+ "extend-shallow": "^3.0.2",
+ "extglob": "^2.0.4",
+ "fragment-cache": "^0.2.1",
+ "kind-of": "^6.0.2",
+ "nanomatch": "^1.2.9",
+ "object.pick": "^1.3.0",
+ "regex-not": "^1.0.0",
+ "snapdragon": "^0.8.1",
+ "to-regex": "^3.0.2"
+ },
"engines": {
"node": ">=0.10.0"
}
},
- "node_modules/gulp-util/node_modules/chalk": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
- "integrity": "sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==",
+ "node_modules/gulp-watch/node_modules/micromatch/node_modules/extend-shallow": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
+ "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "ansi-styles": "^2.2.1",
- "escape-string-regexp": "^1.0.2",
- "has-ansi": "^2.0.0",
- "strip-ansi": "^3.0.0",
- "supports-color": "^2.0.0"
+ "assign-symbols": "^1.0.0",
+ "is-extendable": "^1.0.1"
},
"engines": {
"node": ">=0.10.0"
}
},
- "node_modules/gulp-util/node_modules/clone-stats": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz",
- "integrity": "sha512-dhUqc57gSMCo6TX85FLfe51eC/s+Im2MLkAgJwfaRRexR2tA4dd3eLEW4L6efzHc2iNorrRRXITifnDLlRrhaA==",
- "dev": true
- },
- "node_modules/gulp-util/node_modules/fancy-log": {
- "version": "1.3.3",
- "resolved": "https://registry.npmjs.org/fancy-log/-/fancy-log-1.3.3.tgz",
- "integrity": "sha512-k9oEhlyc0FrVh25qYuSELjr8oxsCoc4/LEZfg2iJJrfEk/tZL9bCoJE47gqAvI2m/AUjluCS4+3I0eTx8n3AEw==",
+ "node_modules/gulp-watch/node_modules/micromatch/node_modules/is-extendable": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
+ "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "ansi-gray": "^0.1.1",
- "color-support": "^1.1.3",
- "parse-node-version": "^1.0.0",
- "time-stamp": "^1.0.0"
+ "is-plain-object": "^2.0.4"
},
"engines": {
- "node": ">= 0.10"
+ "node": ">=0.10.0"
}
},
- "node_modules/gulp-util/node_modules/glogg": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/glogg/-/glogg-1.0.2.tgz",
- "integrity": "sha512-5mwUoSuBk44Y4EshyiqcH95ZntbDdTQqA3QYSrxmzj28Ai0vXBGMH1ApSANH14j2sIRtqCEyg6PfsuP7ElOEDA==",
+ "node_modules/gulp-watch/node_modules/micromatch/node_modules/kind-of": {
+ "version": "6.0.3",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
+ "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
"dev": true,
- "dependencies": {
- "sparkles": "^1.0.0"
- },
+ "license": "MIT",
"engines": {
- "node": ">= 0.10"
+ "node": ">=0.10.0"
}
},
- "node_modules/gulp-util/node_modules/gulplog": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/gulplog/-/gulplog-1.0.0.tgz",
- "integrity": "sha512-hm6N8nrm3Y08jXie48jsC55eCZz9mnb4OirAStEk2deqeyhXU3C1otDVh+ccttMuc1sBi6RX6ZJ720hs9RCvgw==",
+ "node_modules/gulp-watch/node_modules/ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
"dev": true,
+ "license": "MIT"
+ },
+ "node_modules/gulp-watch/node_modules/readdirp": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz",
+ "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==",
+ "dev": true,
+ "license": "MIT",
"dependencies": {
- "glogg": "^1.0.0"
+ "graceful-fs": "^4.1.11",
+ "micromatch": "^3.1.10",
+ "readable-stream": "^2.0.2"
},
"engines": {
- "node": ">= 0.10"
+ "node": ">=0.10"
}
},
- "node_modules/gulp-util/node_modules/object-assign": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-3.0.0.tgz",
- "integrity": "sha512-jHP15vXVGeVh1HuaA2wY6lxk+whK/x4KBG88VXeRma7CCun7iGD5qPc4eYykQ9sdQvg8jkwFKsSxHln2ybW3xQ==",
+ "node_modules/gulp-watch/node_modules/to-regex-range": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz",
+ "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==",
"dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "is-number": "^3.0.0",
+ "repeat-string": "^1.6.1"
+ },
"engines": {
"node": ">=0.10.0"
}
},
- "node_modules/gulp-util/node_modules/replace-ext": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz",
- "integrity": "sha512-AFBWBy9EVRTa/LhEcG8QDP3FvpwZqmvN2QFDuJswFeaVhWnZMp8q3E6Zd90SR04PlIwfGdyVjNyLPyen/ek5CQ==",
+ "node_modules/gulp-watch/node_modules/upath": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz",
+ "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==",
"dev": true,
+ "license": "MIT",
"engines": {
- "node": ">= 0.4"
+ "node": ">=4",
+ "yarn": "*"
}
},
- "node_modules/gulp-util/node_modules/sparkles": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/sparkles/-/sparkles-1.0.1.tgz",
- "integrity": "sha512-dSO0DDYUahUt/0/pD/Is3VIm5TGJjludZ0HVymmhYF6eNA53PVLhnUk0znSYbH8IYBuJdCE+1luR22jNLMaQdw==",
+ "node_modules/gulplog": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/gulplog/-/gulplog-2.2.0.tgz",
+ "integrity": "sha512-V2FaKiOhpR3DRXZuYdRLn/qiY0yI5XmqbTKrYbdemJ+xOh2d2MOweI/XFgMzd/9+1twdvMwllnZbWZNJ+BOm4A==",
"dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "glogg": "^2.2.0"
+ },
"engines": {
- "node": ">= 0.10"
+ "node": ">= 10.13.0"
}
},
- "node_modules/gulp-util/node_modules/strip-ansi": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
- "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==",
+ "node_modules/handlebars": {
+ "version": "4.7.9",
+ "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.9.tgz",
+ "integrity": "sha512-4E71E0rpOaQuJR2A3xDZ+GM1HyWYv1clR58tC8emQNeQe3RH7MAzSbat+V0wG78LQBo6m6bzSG/L4pBuCsgnUQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "ansi-regex": "^2.0.0"
+ "minimist": "^1.2.5",
+ "neo-async": "^2.6.2",
+ "source-map": "^0.6.1",
+ "wordwrap": "^1.0.0"
+ },
+ "bin": {
+ "handlebars": "bin/handlebars"
},
"engines": {
- "node": ">=0.10.0"
+ "node": ">=0.4.7"
+ },
+ "optionalDependencies": {
+ "uglify-js": "^3.1.4"
}
},
- "node_modules/gulp-util/node_modules/supports-color": {
+ "node_modules/har-schema": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
- "integrity": "sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==",
+ "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz",
+ "integrity": "sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==",
"dev": true,
+ "license": "ISC",
"engines": {
- "node": ">=0.8.0"
+ "node": ">=4"
}
},
- "node_modules/gulp-util/node_modules/vinyl": {
- "version": "0.5.3",
- "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.5.3.tgz",
- "integrity": "sha512-P5zdf3WB9uzr7IFoVQ2wZTmUwHL8cMZWJGzLBNCHNZ3NB6HTMsYABtt7z8tAGIINLXyAob9B9a1yzVGMFOYKEA==",
+ "node_modules/har-validator": {
+ "version": "5.1.5",
+ "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz",
+ "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==",
+ "deprecated": "this library is no longer supported",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "clone": "^1.0.0",
- "clone-stats": "^0.0.1",
- "replace-ext": "0.0.1"
+ "ajv": "^6.12.3",
+ "har-schema": "^2.0.0"
},
"engines": {
- "node": ">= 0.9"
+ "node": ">=6"
}
},
- "node_modules/gulp-watch": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/gulp-watch/-/gulp-watch-5.0.1.tgz",
- "integrity": "sha512-HnTSBdzAOFIT4wmXYPDUn783TaYAq9bpaN05vuZNP5eni3z3aRx0NAKbjhhMYtcq76x4R1wf4oORDGdlrEjuog==",
+ "node_modules/har-validator/node_modules/ajv": {
+ "version": "6.14.0",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.14.0.tgz",
+ "integrity": "sha512-IWrosm/yrn43eiKqkfkHis7QioDleaXQHdDVPKg0FSwwd/DuvyX79TZnFOnYpB7dcsFAMmtFztZuXPDvSePkFw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "ansi-colors": "1.1.0",
- "anymatch": "^1.3.0",
- "chokidar": "^2.0.0",
- "fancy-log": "1.3.2",
- "glob-parent": "^3.0.1",
- "object-assign": "^4.1.0",
- "path-is-absolute": "^1.0.1",
- "plugin-error": "1.0.1",
- "readable-stream": "^2.2.2",
- "slash": "^1.0.0",
- "vinyl": "^2.1.0",
- "vinyl-file": "^2.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"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/epoberezkin"
}
},
- "node_modules/gulp-watch/node_modules/ansi-colors": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-1.1.0.tgz",
- "integrity": "sha512-SFKX67auSNoVR38N3L+nvsPjOE0bybKTYbkf5tRvushrAPQ9V75huw0ZxBkKVeRU9kqH3d6HA4xTckbwZ4ixmA==",
+ "node_modules/har-validator/node_modules/json-schema-traverse": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
+ "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
"dev": true,
- "dependencies": {
- "ansi-wrap": "^0.1.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
+ "license": "MIT"
},
- "node_modules/gulp-watch/node_modules/anymatch": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-1.3.2.tgz",
- "integrity": "sha512-0XNayC8lTHQ2OI8aljNCN3sSx6hsr/1+rlcDAotXJR7C1oZZHCNsfpbKwMjRA3Uqb5tF1Rae2oloTr4xpq+WjA==",
+ "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,
- "dependencies": {
- "micromatch": "^2.1.5",
- "normalize-path": "^2.0.0"
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
}
},
- "node_modules/gulp-watch/node_modules/arr-diff": {
+ "node_modules/has-ansi": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz",
- "integrity": "sha512-dtXTVMkh6VkEEA7OhXnN1Ecb8aAGFdZ1LFxtOCoqj4qkyOJMt7+qs6Ahdy6p/NQCPYsRSXXivhSB/J5E9jmYKA==",
+ "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
+ "integrity": "sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "arr-flatten": "^1.0.1"
+ "ansi-regex": "^2.0.0"
},
"engines": {
"node": ">=0.10.0"
}
},
- "node_modules/gulp-watch/node_modules/binary-extensions": {
- "version": "1.13.1",
- "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz",
- "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==",
+ "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": ">=0.10.0"
+ "node": ">=8"
}
},
- "node_modules/gulp-watch/node_modules/braces": {
- "version": "1.8.5",
- "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz",
- "integrity": "sha512-xU7bpz2ytJl1bH9cgIurjpg/n8Gohy9GTw81heDYLJQ4RU60dlyJsa+atVF2pI0yMMvKxI9HkKwjePCj5XI1hw==",
+ "node_modules/has-gulplog": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/has-gulplog/-/has-gulplog-0.1.0.tgz",
+ "integrity": "sha512-+F4GzLjwHNNDEAJW2DC1xXfEoPkRDmUdJ7CBYw4MpqtDwOnqdImJl7GWlpqx+Wko6//J8uKTnIe4wZSv7yCqmw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "expand-range": "^1.8.1",
- "preserve": "^0.2.0",
- "repeat-element": "^1.1.2"
+ "sparkles": "^1.0.0"
},
"engines": {
- "node": ">=0.10.0"
+ "node": ">= 0.10"
}
},
- "node_modules/gulp-watch/node_modules/chokidar": {
- "version": "2.1.8",
- "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz",
- "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==",
+ "node_modules/has-gulplog/node_modules/sparkles": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/sparkles/-/sparkles-1.0.1.tgz",
+ "integrity": "sha512-dSO0DDYUahUt/0/pD/Is3VIm5TGJjludZ0HVymmhYF6eNA53PVLhnUk0znSYbH8IYBuJdCE+1luR22jNLMaQdw==",
"dev": true,
- "dependencies": {
- "anymatch": "^2.0.0",
- "async-each": "^1.0.1",
- "braces": "^2.3.2",
- "glob-parent": "^3.1.0",
- "inherits": "^2.0.3",
- "is-binary-path": "^1.0.0",
- "is-glob": "^4.0.0",
- "normalize-path": "^3.0.0",
- "path-is-absolute": "^1.0.0",
- "readdirp": "^2.2.1",
- "upath": "^1.1.1"
- },
- "optionalDependencies": {
- "fsevents": "^1.2.7"
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.10"
}
},
- "node_modules/gulp-watch/node_modules/chokidar/node_modules/anymatch": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz",
- "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==",
+ "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==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "micromatch": "^3.1.4",
- "normalize-path": "^2.1.1"
+ "es-define-property": "^1.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/gulp-watch/node_modules/chokidar/node_modules/anymatch/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==",
+ "node_modules/has-symbols": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz",
+ "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "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==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "remove-trailing-separator": "^1.0.1"
+ "has-symbols": "^1.0.3"
},
"engines": {
- "node": ">=0.10.0"
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/gulp-watch/node_modules/chokidar/node_modules/arr-diff": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
- "integrity": "sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==",
+ "node_modules/has-unicode": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz",
+ "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==",
"dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
+ "license": "ISC"
},
- "node_modules/gulp-watch/node_modules/chokidar/node_modules/array-unique": {
- "version": "0.3.2",
- "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
- "integrity": "sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==",
+ "node_modules/has-value": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz",
+ "integrity": "sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==",
"dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "get-value": "^2.0.6",
+ "has-values": "^1.0.0",
+ "isobject": "^3.0.0"
+ },
"engines": {
"node": ">=0.10.0"
}
},
- "node_modules/gulp-watch/node_modules/chokidar/node_modules/braces": {
- "version": "2.3.2",
- "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
- "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
+ "node_modules/has-values": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz",
+ "integrity": "sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "arr-flatten": "^1.1.0",
- "array-unique": "^0.3.2",
- "extend-shallow": "^2.0.1",
- "fill-range": "^4.0.0",
- "isobject": "^3.0.1",
- "repeat-element": "^1.1.2",
- "snapdragon": "^0.8.1",
- "snapdragon-node": "^2.0.1",
- "split-string": "^3.0.2",
- "to-regex": "^3.0.1"
+ "is-number": "^3.0.0",
+ "kind-of": "^4.0.0"
},
"engines": {
"node": ">=0.10.0"
}
},
- "node_modules/gulp-watch/node_modules/chokidar/node_modules/braces/node_modules/extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==",
+ "node_modules/has-values/node_modules/is-number": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
+ "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "is-extendable": "^0.1.0"
+ "kind-of": "^3.0.2"
},
"engines": {
"node": ">=0.10.0"
}
},
- "node_modules/gulp-watch/node_modules/chokidar/node_modules/expand-brackets": {
- "version": "2.1.4",
- "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz",
- "integrity": "sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==",
+ "node_modules/has-values/node_modules/is-number/node_modules/kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "debug": "^2.3.3",
- "define-property": "^0.2.5",
- "extend-shallow": "^2.0.1",
- "posix-character-classes": "^0.1.0",
- "regex-not": "^1.0.0",
- "snapdragon": "^0.8.1",
- "to-regex": "^3.0.1"
+ "is-buffer": "^1.1.5"
},
"engines": {
"node": ">=0.10.0"
}
},
- "node_modules/gulp-watch/node_modules/chokidar/node_modules/expand-brackets/node_modules/define-property": {
- "version": "0.2.5",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
- "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==",
+ "node_modules/has-values/node_modules/kind-of": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz",
+ "integrity": "sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "is-descriptor": "^0.1.0"
+ "is-buffer": "^1.1.5"
},
"engines": {
"node": ">=0.10.0"
}
},
- "node_modules/gulp-watch/node_modules/chokidar/node_modules/expand-brackets/node_modules/extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==",
+ "node_modules/hashery": {
+ "version": "1.5.1",
+ "resolved": "https://registry.npmjs.org/hashery/-/hashery-1.5.1.tgz",
+ "integrity": "sha512-iZyKG96/JwPz1N55vj2Ie2vXbhu440zfUfJvSwEqEbeLluk7NnapfGqa7LH0mOsnDxTF85Mx8/dyR6HfqcbmbQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "is-extendable": "^0.1.0"
+ "hookified": "^1.15.0"
},
"engines": {
- "node": ">=0.10.0"
+ "node": ">=20"
}
},
- "node_modules/gulp-watch/node_modules/chokidar/node_modules/expand-brackets/node_modules/is-descriptor": {
- "version": "0.1.7",
- "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz",
- "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==",
- "dev": true,
+ "node_modules/hasown": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz",
+ "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==",
+ "license": "MIT",
"dependencies": {
- "is-accessor-descriptor": "^1.0.1",
- "is-data-descriptor": "^1.0.1"
+ "function-bind": "^1.1.2"
},
"engines": {
"node": ">= 0.4"
}
},
- "node_modules/gulp-watch/node_modules/chokidar/node_modules/extglob": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz",
- "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==",
+ "node_modules/help-me": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/help-me/-/help-me-5.0.0.tgz",
+ "integrity": "sha512-7xgomUX6ADmcYzFik0HzAxh/73YlKR9bmFzf51CZwR+b6YtzU2m0u49hQCqV6SvlqIqsaxovfwdvbnsw3b/zpg==",
"dev": true,
- "dependencies": {
- "array-unique": "^0.3.2",
- "define-property": "^1.0.0",
- "expand-brackets": "^2.1.4",
- "extend-shallow": "^2.0.1",
- "fragment-cache": "^0.2.1",
- "regex-not": "^1.0.0",
- "snapdragon": "^0.8.1",
- "to-regex": "^3.0.1"
- },
- "engines": {
- "node": ">=0.10.0"
- }
+ "license": "MIT"
},
- "node_modules/gulp-watch/node_modules/chokidar/node_modules/extglob/node_modules/define-property": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
- "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==",
+ "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": {
- "is-descriptor": "^1.0.0"
- },
+ "license": "BSD-3-Clause",
"engines": {
- "node": ">=0.10.0"
+ "node": "*"
}
},
- "node_modules/gulp-watch/node_modules/chokidar/node_modules/extglob/node_modules/extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==",
+ "node_modules/homedir-polyfill": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz",
+ "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "is-extendable": "^0.1.0"
+ "parse-passwd": "^1.0.0"
},
"engines": {
"node": ">=0.10.0"
}
},
- "node_modules/gulp-watch/node_modules/chokidar/node_modules/is-extglob": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
- "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
+ "node_modules/hookified": {
+ "version": "1.15.1",
+ "resolved": "https://registry.npmjs.org/hookified/-/hookified-1.15.1.tgz",
+ "integrity": "sha512-MvG/clsADq1GPM2KGo2nyfaWVyn9naPiXrqIe4jYjXNZQt238kWyOGrsyc/DmRAQ+Re6yeo6yX/yoNCG5KAEVg==",
"dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
+ "license": "MIT"
},
- "node_modules/gulp-watch/node_modules/chokidar/node_modules/is-glob": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
- "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
+ "node_modules/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": {
- "is-extglob": "^2.1.1"
+ "lru-cache": "^11.1.0"
},
"engines": {
- "node": ">=0.10.0"
+ "node": "^20.17.0 || >=22.9.0"
}
},
- "node_modules/gulp-watch/node_modules/chokidar/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/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,
- "engines": {
- "node": ">=0.10.0"
- }
+ "license": "MIT"
},
- "node_modules/gulp-watch/node_modules/chokidar/node_modules/micromatch": {
- "version": "3.1.10",
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
- "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
+ "node_modules/http-cache-semantics": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.2.0.tgz",
+ "integrity": "sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ==",
"dev": true,
+ "license": "BSD-2-Clause"
+ },
+ "node_modules/http-errors": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.1.tgz",
+ "integrity": "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==",
+ "license": "MIT",
"dependencies": {
- "arr-diff": "^4.0.0",
- "array-unique": "^0.3.2",
- "braces": "^2.3.1",
- "define-property": "^2.0.2",
- "extend-shallow": "^3.0.2",
- "extglob": "^2.0.4",
- "fragment-cache": "^0.2.1",
- "kind-of": "^6.0.2",
- "nanomatch": "^1.2.9",
- "object.pick": "^1.3.0",
- "regex-not": "^1.0.0",
- "snapdragon": "^0.8.1",
- "to-regex": "^3.0.2"
+ "depd": "~2.0.0",
+ "inherits": "~2.0.4",
+ "setprototypeof": "~1.2.0",
+ "statuses": "~2.0.2",
+ "toidentifier": "~1.0.1"
},
"engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/gulp-watch/node_modules/chokidar/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==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/gulp-watch/node_modules/clone": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz",
- "integrity": "sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==",
- "dev": true,
- "engines": {
- "node": ">=0.8"
+ "node": ">= 0.8"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/express"
}
},
- "node_modules/gulp-watch/node_modules/fancy-log": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/fancy-log/-/fancy-log-1.3.2.tgz",
- "integrity": "sha512-7E6IFy84FpO6jcnzEsCcoxDleHpMTFzncmCXXBIVYq1/Oakqnbc/lTKPJyyW6edGeC/rnZmV78hJe7SuoZo0aQ==",
+ "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",
"dependencies": {
- "ansi-gray": "^0.1.1",
- "color-support": "^1.1.3",
- "time-stamp": "^1.0.0"
+ "agent-base": "^7.1.0",
+ "debug": "^4.3.4"
},
"engines": {
- "node": ">= 0.10"
+ "node": ">= 14"
}
},
- "node_modules/gulp-watch/node_modules/fill-range": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
- "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==",
+ "node_modules/http-signature": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz",
+ "integrity": "sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "extend-shallow": "^2.0.1",
- "is-number": "^3.0.0",
- "repeat-string": "^1.6.1",
- "to-regex-range": "^2.1.0"
+ "assert-plus": "^1.0.0",
+ "jsprim": "^1.2.2",
+ "sshpk": "^1.7.0"
},
"engines": {
- "node": ">=0.10.0"
+ "node": ">=0.8",
+ "npm": ">=1.3.7"
}
},
- "node_modules/gulp-watch/node_modules/fill-range/node_modules/extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==",
+ "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",
"dependencies": {
- "is-extendable": "^0.1.0"
+ "agent-base": "^7.1.2",
+ "debug": "4"
},
"engines": {
- "node": ">=0.10.0"
+ "node": ">= 14"
}
},
- "node_modules/gulp-watch/node_modules/fsevents": {
- "version": "1.2.13",
- "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz",
- "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==",
- "deprecated": "Upgrade to fsevents v2 to mitigate potential security issues",
+ "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,
- "hasInstallScript": true,
- "optional": true,
- "os": [
- "darwin"
- ],
- "dependencies": {
- "bindings": "^1.5.0",
- "nan": "^2.12.1"
- },
+ "license": "Apache-2.0",
"engines": {
- "node": ">= 4.0"
+ "node": ">=10.17.0"
}
},
- "node_modules/gulp-watch/node_modules/glob-parent": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz",
- "integrity": "sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA==",
+ "node_modules/humanize-ms": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz",
+ "integrity": "sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "is-glob": "^3.1.0",
- "path-dirname": "^1.0.0"
- }
- },
- "node_modules/gulp-watch/node_modules/glob-parent/node_modules/is-extglob": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
- "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
+ "ms": "^2.0.0"
}
},
- "node_modules/gulp-watch/node_modules/glob-parent/node_modules/is-glob": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
- "integrity": "sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw==",
+ "node_modules/husky": {
+ "version": "9.1.7",
+ "resolved": "https://registry.npmjs.org/husky/-/husky-9.1.7.tgz",
+ "integrity": "sha512-5gs5ytaNjBrh5Ow3zrvdUUY+0VxIuWVL4i9irt6friV+BqdCfmV11CQTWMiBYWHbXhco+J1kHfTOUkePhCDvMA==",
"dev": true,
- "dependencies": {
- "is-extglob": "^2.1.0"
+ "license": "MIT",
+ "bin": {
+ "husky": "bin.js"
},
"engines": {
- "node": ">=0.10.0"
+ "node": ">=18"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/typicode"
}
},
- "node_modules/gulp-watch/node_modules/is-binary-path": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz",
- "integrity": "sha512-9fRVlXc0uCxEDj1nQzaWONSpbTfx0FmJfzHF7pwlI8DkWGoHBBea4Pg5Ky0ojwwxQmnSifgbKkI06Qv0Ljgj+Q==",
- "dev": true,
+ "node_modules/iconv-lite": {
+ "version": "0.7.2",
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.7.2.tgz",
+ "integrity": "sha512-im9DjEDQ55s9fL4EYzOAv0yMqmMBSZp6G0VvFyTMPKWxiSBHUj9NW/qqLmXUwXrrM7AvqSlTCfvqRb0cM8yYqw==",
+ "license": "MIT",
"dependencies": {
- "binary-extensions": "^1.0.0"
+ "safer-buffer": ">= 2.1.2 < 3.0.0"
},
"engines": {
"node": ">=0.10.0"
- }
- },
- "node_modules/gulp-watch/node_modules/is-descriptor": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.3.tgz",
- "integrity": "sha512-JCNNGbwWZEVaSPtS45mdtrneRWJFp07LLmykxeFV5F6oBvNF8vHSfJuJgoT472pSfk+Mf8VnlrspaFBHWM8JAw==",
- "dev": true,
- "dependencies": {
- "is-accessor-descriptor": "^1.0.1",
- "is-data-descriptor": "^1.0.1"
},
- "engines": {
- "node": ">= 0.4"
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/express"
}
},
- "node_modules/gulp-watch/node_modules/is-extendable": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
- "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
+ "node_modules/ieee754": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
+ "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ],
+ "license": "BSD-3-Clause"
},
- "node_modules/gulp-watch/node_modules/is-extglob": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
- "integrity": "sha512-7Q+VbVafe6x2T+Tu6NcOf6sRklazEPmBoB3IWk3WdGZM2iGUwU/Oe3Wtq5lSEkDTTlpp8yx+5t4pzO/i9Ty1ww==",
+ "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",
"engines": {
- "node": ">=0.10.0"
+ "node": ">= 4"
}
},
- "node_modules/gulp-watch/node_modules/is-glob": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
- "integrity": "sha512-a1dBeB19NXsf/E0+FHqkagizel/LQw2DjSQpvQrj3zT+jYPpaUCryPnrQajXKFLCMuf4I6FhRpaGtw4lPrG6Eg==",
+ "node_modules/ignore-walk": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-8.0.0.tgz",
+ "integrity": "sha512-FCeMZT4NiRQGh+YkeKMtWrOmBgWjHjMJ26WQWrRQyoyzqevdaGSakUaJW5xQYmjLlUVk2qUnCjYVBax9EKKg8A==",
"dev": true,
+ "license": "ISC",
"dependencies": {
- "is-extglob": "^1.0.0"
+ "minimatch": "^10.0.3"
},
"engines": {
- "node": ">=0.10.0"
+ "node": "^20.17.0 || >=22.9.0"
}
},
- "node_modules/gulp-watch/node_modules/is-number": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
- "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==",
+ "node_modules/ignore-walk/node_modules/balanced-match": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz",
+ "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==",
"dev": true,
- "dependencies": {
- "kind-of": "^3.0.2"
- },
+ "license": "MIT",
"engines": {
- "node": ">=0.10.0"
+ "node": "18 || 20 || >=22"
}
},
- "node_modules/gulp-watch/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/gulp-watch/node_modules/kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==",
+ "node_modules/ignore-walk/node_modules/brace-expansion": {
+ "version": "5.0.5",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.5.tgz",
+ "integrity": "sha512-VZznLgtwhn+Mact9tfiwx64fA9erHH/MCXEUfB/0bX/6Fz6ny5EGTXYltMocqg4xFAQZtnO3DHWWXi8RiuN7cQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "is-buffer": "^1.1.5"
+ "balanced-match": "^4.0.2"
},
"engines": {
- "node": ">=0.10.0"
+ "node": "18 || 20 || >=22"
}
},
- "node_modules/gulp-watch/node_modules/micromatch": {
- "version": "2.3.11",
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz",
- "integrity": "sha512-LnU2XFEk9xxSJ6rfgAry/ty5qwUTyHYOBU0g4R6tIw5ljwgGIBmiKhRWLw5NpMOnrgUNcDJ4WMp8rl3sYVHLNA==",
+ "node_modules/ignore-walk/node_modules/minimatch": {
+ "version": "10.2.5",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.5.tgz",
+ "integrity": "sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==",
"dev": true,
+ "license": "BlueOak-1.0.0",
"dependencies": {
- "arr-diff": "^2.0.0",
- "array-unique": "^0.2.1",
- "braces": "^1.8.2",
- "expand-brackets": "^0.1.4",
- "extglob": "^0.3.1",
- "filename-regex": "^2.0.0",
- "is-extglob": "^1.0.0",
- "is-glob": "^2.0.1",
- "kind-of": "^3.0.2",
- "normalize-path": "^2.0.1",
- "object.omit": "^2.0.0",
- "parse-glob": "^3.0.4",
- "regex-cache": "^0.4.2"
+ "brace-expansion": "^5.0.5"
},
"engines": {
- "node": ">=0.10.0"
+ "node": "18 || 20 || >=22"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
}
},
- "node_modules/gulp-watch/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==",
+ "node_modules/import-fresh": {
+ "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": {
- "remove-trailing-separator": "^1.0.1"
+ "parent-module": "^1.0.0",
+ "resolve-from": "^4.0.0"
},
"engines": {
- "node": ">=0.10.0"
+ "node": ">=6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/gulp-watch/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==",
+ "node_modules/import-fresh/node_modules/resolve-from": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
+ "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
"dev": true,
- "dependencies": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.3",
- "isarray": "~1.0.0",
- "process-nextick-args": "~2.0.0",
- "safe-buffer": "~5.1.1",
- "string_decoder": "~1.1.1",
- "util-deprecate": "~1.0.1"
+ "license": "MIT",
+ "engines": {
+ "node": ">=4"
}
},
- "node_modules/gulp-watch/node_modules/readdirp": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz",
- "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==",
+ "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,
+ "license": "MIT",
"dependencies": {
- "graceful-fs": "^4.1.11",
- "micromatch": "^3.1.10",
- "readable-stream": "^2.0.2"
+ "pkg-dir": "^4.2.0",
+ "resolve-cwd": "^3.0.0"
+ },
+ "bin": {
+ "import-local-fixture": "fixtures/cli.js"
},
"engines": {
- "node": ">=0.10"
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/gulp-watch/node_modules/readdirp/node_modules/arr-diff": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
- "integrity": "sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==",
+ "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": ">=0.10.0"
+ "license": "MIT",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
}
},
- "node_modules/gulp-watch/node_modules/readdirp/node_modules/array-unique": {
- "version": "0.3.2",
- "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
- "integrity": "sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==",
+ "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": ">=0.10.0"
+ "node": ">=0.8.19"
}
},
- "node_modules/gulp-watch/node_modules/readdirp/node_modules/braces": {
- "version": "2.3.2",
- "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
- "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
+ "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": {
- "arr-flatten": "^1.1.0",
- "array-unique": "^0.3.2",
- "extend-shallow": "^2.0.1",
- "fill-range": "^4.0.0",
- "isobject": "^3.0.1",
- "repeat-element": "^1.1.2",
- "snapdragon": "^0.8.1",
- "snapdragon-node": "^2.0.1",
- "split-string": "^3.0.2",
- "to-regex": "^3.0.1"
- },
+ "license": "MIT",
"engines": {
- "node": ">=0.10.0"
+ "node": ">=8"
}
},
- "node_modules/gulp-watch/node_modules/readdirp/node_modules/braces/node_modules/extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==",
+ "node_modules/infer-owner": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz",
+ "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==",
"dev": true,
- "dependencies": {
- "is-extendable": "^0.1.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
+ "license": "ISC"
},
- "node_modules/gulp-watch/node_modules/readdirp/node_modules/expand-brackets": {
- "version": "2.1.4",
- "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz",
- "integrity": "sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==",
+ "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": "ISC",
"dependencies": {
- "debug": "^2.3.3",
- "define-property": "^0.2.5",
- "extend-shallow": "^2.0.1",
- "posix-character-classes": "^0.1.0",
- "regex-not": "^1.0.0",
- "snapdragon": "^0.8.1",
- "to-regex": "^3.0.1"
- },
- "engines": {
- "node": ">=0.10.0"
+ "once": "^1.3.0",
+ "wrappy": "1"
}
},
- "node_modules/gulp-watch/node_modules/readdirp/node_modules/expand-brackets/node_modules/define-property": {
- "version": "0.2.5",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
- "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==",
+ "node_modules/inherits": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
+ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
+ "license": "ISC"
+ },
+ "node_modules/ini": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/ini/-/ini-4.1.1.tgz",
+ "integrity": "sha512-QQnnxNyfvmHFIsj7gkPcYymR8Jdw/o7mp5ZFihxn6h8Ci6fh3Dx4E1gPjpQEpIuPo9XVNY/ZUwh4BPMjGyL01g==",
"dev": true,
- "dependencies": {
- "is-descriptor": "^0.1.0"
- },
+ "license": "ISC",
"engines": {
- "node": ">=0.10.0"
+ "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
}
},
- "node_modules/gulp-watch/node_modules/readdirp/node_modules/expand-brackets/node_modules/extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==",
- "dev": true,
- "dependencies": {
- "is-extendable": "^0.1.0"
+ "node_modules/init-package-json": {
+ "version": "8.2.2",
+ "resolved": "https://registry.npmjs.org/init-package-json/-/init-package-json-8.2.2.tgz",
+ "integrity": "sha512-pXVMn67Jdw2hPKLCuJZj62NC9B2OIDd1R3JwZXTHXuEnfN3Uq5kJbKOSld6YEU+KOGfMD82EzxFTYz5o0SSJoA==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "@npmcli/package-json": "^7.0.0",
+ "npm-package-arg": "^13.0.0",
+ "promzard": "^2.0.0",
+ "read": "^4.0.0",
+ "semver": "^7.7.2",
+ "validate-npm-package-license": "^3.0.4",
+ "validate-npm-package-name": "^6.0.2"
},
"engines": {
- "node": ">=0.10.0"
+ "node": "^20.17.0 || >=22.9.0"
}
},
- "node_modules/gulp-watch/node_modules/readdirp/node_modules/expand-brackets/node_modules/is-descriptor": {
- "version": "0.1.7",
- "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz",
- "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==",
+ "node_modules/inquirer": {
+ "version": "12.9.6",
+ "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-12.9.6.tgz",
+ "integrity": "sha512-603xXOgyfxhuis4nfnWaZrMaotNT0Km9XwwBNWUKbIDqeCY89jGr2F9YPEMiNhU6XjIP4VoWISMBFfcc5NgrTw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "is-accessor-descriptor": "^1.0.1",
- "is-data-descriptor": "^1.0.1"
+ "@inquirer/ansi": "^1.0.0",
+ "@inquirer/core": "^10.2.2",
+ "@inquirer/prompts": "^7.8.6",
+ "@inquirer/type": "^3.0.8",
+ "mute-stream": "^2.0.0",
+ "run-async": "^4.0.5",
+ "rxjs": "^7.8.2"
},
"engines": {
- "node": ">= 0.4"
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "@types/node": ">=18"
+ },
+ "peerDependenciesMeta": {
+ "@types/node": {
+ "optional": true
+ }
}
},
- "node_modules/gulp-watch/node_modules/readdirp/node_modules/extglob": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz",
- "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==",
+ "node_modules/interpret": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/interpret/-/interpret-3.1.1.tgz",
+ "integrity": "sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ==",
"dev": true,
- "dependencies": {
- "array-unique": "^0.3.2",
- "define-property": "^1.0.0",
- "expand-brackets": "^2.1.4",
- "extend-shallow": "^2.0.1",
- "fragment-cache": "^0.2.1",
- "regex-not": "^1.0.0",
- "snapdragon": "^0.8.1",
- "to-regex": "^3.0.1"
- },
+ "license": "MIT",
"engines": {
- "node": ">=0.10.0"
+ "node": ">=10.13.0"
}
},
- "node_modules/gulp-watch/node_modules/readdirp/node_modules/extglob/node_modules/define-property": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
- "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==",
+ "node_modules/ioredis": {
+ "version": "5.9.3",
+ "resolved": "https://registry.npmjs.org/ioredis/-/ioredis-5.9.3.tgz",
+ "integrity": "sha512-VI5tMCdeoxZWU5vjHWsiE/Su76JGhBvWF1MJnV9ZtGltHk9BmD48oDq8Tj8haZ85aceXZMxLNDQZRVo5QKNgXA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "is-descriptor": "^1.0.0"
+ "@ioredis/commands": "1.5.0",
+ "cluster-key-slot": "^1.1.0",
+ "debug": "^4.3.4",
+ "denque": "^2.1.0",
+ "lodash.defaults": "^4.2.0",
+ "lodash.isarguments": "^3.1.0",
+ "redis-errors": "^1.2.0",
+ "redis-parser": "^3.0.0",
+ "standard-as-callback": "^2.1.0"
},
"engines": {
- "node": ">=0.10.0"
+ "node": ">=12.22.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/ioredis"
}
},
- "node_modules/gulp-watch/node_modules/readdirp/node_modules/extglob/node_modules/extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==",
+ "node_modules/ip-address": {
+ "version": "10.1.0",
+ "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-10.1.0.tgz",
+ "integrity": "sha512-XXADHxXmvT9+CRxhXg56LJovE+bmWnEWB78LB83VZTprKTmaC5QfruXocxzTZ2Kl0DNwKuBdlIhjL8LeY8Sf8Q==",
"dev": true,
- "dependencies": {
- "is-extendable": "^0.1.0"
- },
+ "license": "MIT",
"engines": {
- "node": ">=0.10.0"
+ "node": ">= 12"
}
},
- "node_modules/gulp-watch/node_modules/readdirp/node_modules/kind-of": {
- "version": "6.0.3",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
- "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
- "dev": true,
+ "node_modules/ipaddr.js": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.3.0.tgz",
+ "integrity": "sha512-Zv/pA+ciVFbCSBBjGfaKUya/CcGmUHzTydLMaTwrUUEM2DIEO3iZvueGxmacvmN50fGpGVKeTXpb2LcYQxeVdg==",
+ "license": "MIT",
"engines": {
- "node": ">=0.10.0"
+ "node": ">= 10"
}
},
- "node_modules/gulp-watch/node_modules/readdirp/node_modules/micromatch": {
- "version": "3.1.10",
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
- "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
+ "node_modules/is-absolute": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-1.0.0.tgz",
+ "integrity": "sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "arr-diff": "^4.0.0",
- "array-unique": "^0.3.2",
- "braces": "^2.3.1",
- "define-property": "^2.0.2",
- "extend-shallow": "^3.0.2",
- "extglob": "^2.0.4",
- "fragment-cache": "^0.2.1",
- "kind-of": "^6.0.2",
- "nanomatch": "^1.2.9",
- "object.pick": "^1.3.0",
- "regex-not": "^1.0.0",
- "snapdragon": "^0.8.1",
- "to-regex": "^3.0.2"
+ "is-relative": "^1.0.0",
+ "is-windows": "^1.0.1"
},
"engines": {
"node": ">=0.10.0"
}
},
- "node_modules/gulp-watch/node_modules/replace-ext": {
+ "node_modules/is-accessor-descriptor": {
"version": "1.0.1",
- "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.1.tgz",
- "integrity": "sha512-yD5BHCe7quCgBph4rMQ+0KkIRKwWCrHDOX1p1Gp6HwjPM5kVoCdKGNhN7ydqqsX6lJEnQDKZ/tFMiEdQ1dvPEw==",
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.1.tgz",
+ "integrity": "sha512-YBUanLI8Yoihw923YeFUS5fs0fF2f5TSFTNiYAAzhhDscDa3lEqYuz1pDOEP5KvX94I9ey3vsqjJcLVFVU+3QA==",
"dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "hasown": "^2.0.0"
+ },
"engines": {
"node": ">= 0.10"
}
},
- "node_modules/gulp-watch/node_modules/safe-buffer": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
- "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
- "dev": true
- },
- "node_modules/gulp-watch/node_modules/string_decoder": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
- "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+ "node_modules/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,
- "dependencies": {
- "safe-buffer": "~5.1.0"
- }
+ "license": "MIT"
},
- "node_modules/gulp-watch/node_modules/to-regex-range": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz",
- "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==",
+ "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,
+ "license": "MIT",
"dependencies": {
- "is-number": "^3.0.0",
- "repeat-string": "^1.6.1"
+ "binary-extensions": "^2.0.0"
},
"engines": {
- "node": ">=0.10.0"
+ "node": ">=8"
}
},
- "node_modules/gulp-watch/node_modules/vinyl": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-2.2.1.tgz",
- "integrity": "sha512-LII3bXRFBZLlezoG5FfZVcXflZgWP/4dCwKtxd5ky9+LOtM4CS3bIRQsmR1KMnMW07jpE8fqR2lcxPZ+8sJIcw==",
+ "node_modules/is-buffer": {
+ "version": "1.1.6",
+ "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
+ "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",
"dev": true,
- "dependencies": {
- "clone": "^2.1.1",
- "clone-buffer": "^1.0.0",
- "clone-stats": "^1.0.0",
- "cloneable-readable": "^1.0.0",
- "remove-trailing-separator": "^1.0.1",
- "replace-ext": "^1.0.0"
- },
- "engines": {
- "node": ">= 0.10"
- }
+ "license": "MIT"
},
- "node_modules/gulplog": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/gulplog/-/gulplog-2.2.0.tgz",
- "integrity": "sha512-V2FaKiOhpR3DRXZuYdRLn/qiY0yI5XmqbTKrYbdemJ+xOh2d2MOweI/XFgMzd/9+1twdvMwllnZbWZNJ+BOm4A==",
+ "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",
- "dependencies": {
- "glogg": "^2.2.0"
- },
"engines": {
- "node": ">= 10.13.0"
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/handlebars": {
- "version": "4.7.9",
- "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.9.tgz",
- "integrity": "sha512-4E71E0rpOaQuJR2A3xDZ+GM1HyWYv1clR58tC8emQNeQe3RH7MAzSbat+V0wG78LQBo6m6bzSG/L4pBuCsgnUQ==",
+ "node_modules/is-ci": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.1.tgz",
+ "integrity": "sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "minimist": "^1.2.5",
- "neo-async": "^2.6.2",
- "source-map": "^0.6.1",
- "wordwrap": "^1.0.0"
+ "ci-info": "^3.2.0"
},
"bin": {
- "handlebars": "bin/handlebars"
- },
- "engines": {
- "node": ">=0.4.7"
- },
- "optionalDependencies": {
- "uglify-js": "^3.1.4"
+ "is-ci": "bin.js"
}
},
- "node_modules/har-schema": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz",
- "integrity": "sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==",
+ "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": ">=4"
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/har-validator": {
- "version": "5.1.5",
- "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz",
- "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==",
- "deprecated": "this library is no longer supported",
+ "node_modules/is-data-descriptor": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.1.tgz",
+ "integrity": "sha512-bc4NlCDiCr28U4aEsQ3Qs2491gVq4V8G7MQyws968ImqjKuYtTJXrl7Vq7jsN7Ly/C3xj5KWFrY7sHNeDkAzXw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "ajv": "^6.12.3",
- "har-schema": "^2.0.0"
+ "hasown": "^2.0.0"
},
"engines": {
- "node": ">=6"
+ "node": ">= 0.4"
}
},
- "node_modules/har-validator/node_modules/ajv": {
- "version": "6.14.0",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.14.0.tgz",
- "integrity": "sha512-IWrosm/yrn43eiKqkfkHis7QioDleaXQHdDVPKg0FSwwd/DuvyX79TZnFOnYpB7dcsFAMmtFztZuXPDvSePkFw==",
+ "node_modules/is-descriptor": {
+ "version": "0.1.7",
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz",
+ "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==",
"dev": true,
"license": "MIT",
"dependencies": {
- "fast-deep-equal": "^3.1.1",
- "fast-json-stable-stringify": "^2.0.0",
- "json-schema-traverse": "^0.4.1",
- "uri-js": "^4.2.2"
+ "is-accessor-descriptor": "^1.0.1",
+ "is-data-descriptor": "^1.0.1"
},
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/epoberezkin"
- }
- },
- "node_modules/har-validator/node_modules/json-schema-traverse": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
- "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
- "dev": true
- },
- "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,
- "license": "MIT",
"engines": {
- "node": ">=6"
+ "node": ">= 0.4"
}
},
- "node_modules/has-ansi": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
- "integrity": "sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==",
+ "node_modules/is-docker": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz",
+ "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==",
"dev": true,
- "dependencies": {
- "ansi-regex": "^2.0.0"
+ "license": "MIT",
+ "bin": {
+ "is-docker": "cli.js"
},
"engines": {
- "node": ">=0.10.0"
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/has-ansi/node_modules/ansi-regex": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
- "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==",
+ "node_modules/is-dotfile": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz",
+ "integrity": "sha512-9YclgOGtN/f8zx0Pr4FQYMdibBiTaH3sn52vjYip4ZSf6C4/6RfTEZ+MR4GvKhCxdPh21Bg42/WL55f6KSnKpg==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=0.10.0"
}
},
- "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/has-gulplog": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/has-gulplog/-/has-gulplog-0.1.0.tgz",
- "integrity": "sha512-+F4GzLjwHNNDEAJW2DC1xXfEoPkRDmUdJ7CBYw4MpqtDwOnqdImJl7GWlpqx+Wko6//J8uKTnIe4wZSv7yCqmw==",
+ "node_modules/is-equal-shallow": {
+ "version": "0.1.3",
+ "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz",
+ "integrity": "sha512-0EygVC5qPvIyb+gSz7zdD5/AAoS6Qrx1e//6N4yv4oNm30kqvdmG66oZFWVlQHUWe5OjP08FuTw2IdT0EOTcYA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "sparkles": "^1.0.0"
+ "is-primitive": "^2.0.0"
},
"engines": {
- "node": ">= 0.10"
+ "node": ">=0.10.0"
}
},
- "node_modules/has-gulplog/node_modules/sparkles": {
+ "node_modules/is-extendable": {
"version": "1.0.1",
- "resolved": "https://registry.npmjs.org/sparkles/-/sparkles-1.0.1.tgz",
- "integrity": "sha512-dSO0DDYUahUt/0/pD/Is3VIm5TGJjludZ0HVymmhYF6eNA53PVLhnUk0znSYbH8IYBuJdCE+1luR22jNLMaQdw==",
+ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
+ "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
"dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "is-plain-object": "^2.0.4"
+ },
"engines": {
- "node": ">= 0.10"
+ "node": ">=0.10.0"
}
},
- "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/is-extendable/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,
+ "license": "MIT",
"dependencies": {
- "es-define-property": "^1.0.0"
+ "isobject": "^3.0.1"
},
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
+ "engines": {
+ "node": ">=0.10.0"
}
},
- "node_modules/has-symbols": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz",
- "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==",
+ "node_modules/is-extglob": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
+ "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
+ "dev": true,
"license": "MIT",
"engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
+ "node": ">=0.10.0"
}
},
- "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/is-fullwidth-code-point": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-5.1.0.tgz",
+ "integrity": "sha512-5XHYaSyiqADb4RnZ1Bdad6cPp8Toise4TzEjcOYDHZkTCbKgiUl7WTUCpNWHuxmDt91wnsZBc9xinNzopv3JMQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "has-symbols": "^1.0.3"
+ "get-east-asian-width": "^1.3.1"
},
"engines": {
- "node": ">= 0.4"
+ "node": ">=18"
},
"funding": {
- "url": "https://github.com/sponsors/ljharb"
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/has-unicode": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz",
- "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==",
- "dev": true,
- "license": "ISC"
- },
- "node_modules/has-value": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz",
- "integrity": "sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==",
+ "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": {
- "get-value": "^2.0.6",
- "has-values": "^1.0.0",
- "isobject": "^3.0.0"
+ "is-extglob": "^2.1.1"
},
"engines": {
"node": ">=0.10.0"
}
},
- "node_modules/has-values": {
+ "node_modules/is-interactive": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz",
- "integrity": "sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==",
+ "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz",
+ "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==",
"dev": true,
- "dependencies": {
- "is-number": "^3.0.0",
- "kind-of": "^4.0.0"
- },
+ "license": "MIT",
"engines": {
- "node": ">=0.10.0"
+ "node": ">=8"
}
},
- "node_modules/has-values/node_modules/is-number": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
- "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==",
+ "node_modules/is-lambda": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz",
+ "integrity": "sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==",
"dev": true,
- "dependencies": {
- "kind-of": "^3.0.2"
- },
+ "license": "MIT"
+ },
+ "node_modules/is-negated-glob": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-negated-glob/-/is-negated-glob-1.0.0.tgz",
+ "integrity": "sha512-czXVVn/QEmgvej1f50BZ648vUI+em0xqMq2Sn+QncCLN4zj1UAxlT+kw/6ggQTOaZPd1HqKQGEqbpQVtJucWug==",
+ "dev": true,
+ "license": "MIT",
"engines": {
"node": ">=0.10.0"
}
},
- "node_modules/has-values/node_modules/is-number/node_modules/kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==",
+ "node_modules/is-number": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
+ "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
"dev": true,
- "dependencies": {
- "is-buffer": "^1.1.5"
- },
+ "license": "MIT",
"engines": {
- "node": ">=0.10.0"
+ "node": ">=0.12.0"
}
},
- "node_modules/has-values/node_modules/kind-of": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz",
- "integrity": "sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==",
+ "node_modules/is-obj": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz",
+ "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==",
"dev": true,
- "dependencies": {
- "is-buffer": "^1.1.5"
- },
+ "license": "MIT",
"engines": {
- "node": ">=0.10.0"
+ "node": ">=8"
}
},
- "node_modules/hasha": {
- "version": "5.2.2",
- "resolved": "https://registry.npmjs.org/hasha/-/hasha-5.2.2.tgz",
- "integrity": "sha512-Hrp5vIK/xr5SkeN2onO32H0MgNZ0f17HRNH39WfL0SYUNOTZ5Lz1TJ8Pajo/87dYGEFlLMm7mIc/k/s6Bvz9HQ==",
+ "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": {
- "is-stream": "^2.0.0",
- "type-fest": "^0.8.0"
- },
"engines": {
- "node": ">=8"
+ "node": ">=12"
},
"funding": {
"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==",
+ "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,
- "license": "(MIT OR CC0-1.0)",
+ "license": "MIT",
"engines": {
- "node": ">=8"
+ "node": ">=0.10.0"
}
},
- "node_modules/hashery": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/hashery/-/hashery-1.3.0.tgz",
- "integrity": "sha512-fWltioiy5zsSAs9ouEnvhsVJeAXRybGCNNv0lvzpzNOSDbULXRy7ivFWwCCv4I5Am6kSo75hmbsCduOoc2/K4w==",
+ "node_modules/is-posix-bracket": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz",
+ "integrity": "sha512-Yu68oeXJ7LeWNmZ3Zov/xg/oDBnBK2RNxwYY1ilNJX+tKKZqgPK+qOn/Gs9jEu66KDY9Netf5XLKNGzas/vPfQ==",
"dev": true,
"license": "MIT",
- "dependencies": {
- "hookified": "^1.13.0"
- },
- "engines": {
- "node": ">=20"
- }
- },
- "node_modules/hasown": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz",
- "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==",
- "dependencies": {
- "function-bind": "^1.1.2"
- },
"engines": {
- "node": ">= 0.4"
+ "node": ">=0.10.0"
}
},
- "node_modules/he": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz",
- "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==",
+ "node_modules/is-primitive": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz",
+ "integrity": "sha512-N3w1tFaRfk3UrPfqeRyD+GYDASU3W5VinKhlORy8EWVf/sIdDL9GAcew85XmktCfH+ngG7SRXEVDoO18WMdB/Q==",
"dev": true,
- "bin": {
- "he": "bin/he"
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
}
},
- "node_modules/help-me": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/help-me/-/help-me-5.0.0.tgz",
- "integrity": "sha512-7xgomUX6ADmcYzFik0HzAxh/73YlKR9bmFzf51CZwR+b6YtzU2m0u49hQCqV6SvlqIqsaxovfwdvbnsw3b/zpg==",
- "dev": true
+ "node_modules/is-promise": {
+ "version": "2.2.2",
+ "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.2.2.tgz",
+ "integrity": "sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==",
+ "dev": true,
+ "license": "MIT"
},
- "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==",
+ "node_modules/is-property": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz",
+ "integrity": "sha512-Ks/IoX00TtClbGQr4TWXemAnktAQvYB7HzcCxDGqEZU6oCmb2INHuOoKxbtR+HFkmYWBKv/dOZtGRiAjDhj92g==",
"dev": true,
- "engines": {
- "node": "*"
- }
+ "license": "MIT"
},
- "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/is-relative": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz",
+ "integrity": "sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "parse-passwd": "^1.0.0"
+ "is-unc-path": "^1.0.0"
},
"engines": {
"node": ">=0.10.0"
}
},
- "node_modules/hookified": {
- "version": "1.13.0",
- "resolved": "https://registry.npmjs.org/hookified/-/hookified-1.13.0.tgz",
- "integrity": "sha512-6sPYUY8olshgM/1LDNW4QZQN0IqgKhtl/1C8koNZBJrKLBk3AZl6chQtNwpNztvfiApHMEwMHek5rv993PRbWw==",
+ "node_modules/is-ssh": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/is-ssh/-/is-ssh-1.4.1.tgz",
+ "integrity": "sha512-JNeu1wQsHjyHgn9NcWTaXq6zWSR6hqE0++zhfZlkFBbScNkyvxCdeV8sRkSBaeLKxmbpR21brail63ACNxJ0Tg==",
"dev": true,
- "license": "MIT"
+ "license": "MIT",
+ "dependencies": {
+ "protocols": "^2.0.1"
+ }
},
- "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==",
+ "node_modules/is-stream": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz",
+ "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==",
"dev": true,
- "license": "ISC",
- "dependencies": {
- "lru-cache": "^11.1.0"
- },
+ "license": "MIT",
"engines": {
- "node": "^20.17.0 || >=22.9.0"
+ "node": ">=8"
}
},
- "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/http-cache-semantics": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz",
- "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==",
- "dev": true
- },
- "node_modules/http-errors": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.1.tgz",
- "integrity": "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==",
+ "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,
"license": "MIT",
"dependencies": {
- "depd": "~2.0.0",
- "inherits": "~2.0.4",
- "setprototypeof": "~1.2.0",
- "statuses": "~2.0.2",
- "toidentifier": "~1.0.1"
+ "text-extensions": "^1.0.0"
},
"engines": {
- "node": ">= 0.8"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/express"
+ "node": ">=0.10.0"
}
},
- "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==",
+ "node_modules/is-typed-array": {
+ "version": "1.1.15",
+ "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.15.tgz",
+ "integrity": "sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "agent-base": "^7.1.0",
- "debug": "^4.3.4"
+ "which-typed-array": "^1.1.16"
},
"engines": {
- "node": ">= 14"
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/http-proxy-agent/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==",
+ "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,
+ "license": "MIT"
+ },
+ "node_modules/is-unc-path": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz",
+ "integrity": "sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==",
"dev": true,
"license": "MIT",
+ "dependencies": {
+ "unc-path-regex": "^0.1.2"
+ },
"engines": {
- "node": ">= 14"
+ "node": ">=0.10.0"
}
},
- "node_modules/http-proxy-agent/node_modules/debug": {
- "version": "4.4.1",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz",
- "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==",
+ "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",
- "dependencies": {
- "ms": "^2.1.3"
- },
"engines": {
- "node": ">=6.0"
+ "node": ">=10"
},
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/http-proxy-agent/node_modules/ms": {
- "version": "2.1.3",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
- "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
+ "node_modules/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,
"license": "MIT"
},
- "node_modules/http-signature": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz",
- "integrity": "sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==",
+ "node_modules/is-valid-glob": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-valid-glob/-/is-valid-glob-1.0.0.tgz",
+ "integrity": "sha512-AhiROmoEFDSsjx8hW+5sGwgKVIORcXnrlAx/R0ZSeaPw70Vw0CqkGBBhHGL58Uox2eXnU1AnvXJl1XlyedO5bA==",
"dev": true,
- "dependencies": {
- "assert-plus": "^1.0.0",
- "jsprim": "^1.2.2",
- "sshpk": "^1.7.0"
- },
+ "license": "MIT",
"engines": {
- "node": ">=0.8",
- "npm": ">=1.3.7"
+ "node": ">=0.10.0"
}
},
- "node_modules/https-proxy-agent": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz",
- "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==",
+ "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,
- "dependencies": {
- "agent-base": "6",
- "debug": "4"
- },
+ "license": "MIT",
"engines": {
- "node": ">= 6"
+ "node": ">=0.10.0"
}
},
- "node_modules/https-proxy-agent/node_modules/debug": {
- "version": "4.3.7",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz",
- "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==",
+ "node_modules/is-wsl": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz",
+ "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "ms": "^2.1.3"
+ "is-docker": "^2.0.0"
},
"engines": {
- "node": ">=6.0"
- },
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
+ "node": ">=8"
}
},
- "node_modules/https-proxy-agent/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/isarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==",
+ "dev": true,
+ "license": "MIT"
},
- "node_modules/human-signals": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz",
- "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==",
+ "node_modules/isexe": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
+ "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/isobject": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+ "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==",
"dev": true,
+ "license": "MIT",
"engines": {
- "node": ">=10.17.0"
+ "node": ">=0.10.0"
}
},
- "node_modules/humanize-ms": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz",
- "integrity": "sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==",
+ "node_modules/isstream": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
+ "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==",
"dev": true,
- "dependencies": {
- "ms": "^2.0.0"
- }
+ "license": "MIT"
},
- "node_modules/husky": {
- "version": "9.1.7",
- "resolved": "https://registry.npmjs.org/husky/-/husky-9.1.7.tgz",
- "integrity": "sha512-5gs5ytaNjBrh5Ow3zrvdUUY+0VxIuWVL4i9irt6friV+BqdCfmV11CQTWMiBYWHbXhco+J1kHfTOUkePhCDvMA==",
+ "node_modules/istanbul-lib-coverage": {
+ "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,
- "bin": {
- "husky": "bin.js"
- },
+ "license": "BSD-3-Clause",
"engines": {
- "node": ">=18"
- },
- "funding": {
- "url": "https://github.com/sponsors/typicode"
+ "node": ">=8"
}
},
- "node_modules/iconv-lite": {
- "version": "0.7.2",
- "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.7.2.tgz",
- "integrity": "sha512-im9DjEDQ55s9fL4EYzOAv0yMqmMBSZp6G0VvFyTMPKWxiSBHUj9NW/qqLmXUwXrrM7AvqSlTCfvqRb0cM8yYqw==",
- "license": "MIT",
+ "node_modules/istanbul-lib-report": {
+ "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": {
- "safer-buffer": ">= 2.1.2 < 3.0.0"
+ "istanbul-lib-coverage": "^3.0.0",
+ "make-dir": "^4.0.0",
+ "supports-color": "^7.1.0"
},
"engines": {
- "node": ">=0.10.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/express"
+ "node": ">=10"
}
},
- "node_modules/ieee754": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
- "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==",
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ]
- },
- "node_modules/ignore": {
- "version": "5.3.2",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz",
- "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==",
+ "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"
+ },
"engines": {
- "node": ">= 4"
+ "node": ">=8"
}
},
- "node_modules/ignore-walk": {
- "version": "8.0.0",
- "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-8.0.0.tgz",
- "integrity": "sha512-FCeMZT4NiRQGh+YkeKMtWrOmBgWjHjMJ26WQWrRQyoyzqevdaGSakUaJW5xQYmjLlUVk2qUnCjYVBax9EKKg8A==",
+ "node_modules/istanbul-reports": {
+ "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": "ISC",
+ "license": "BSD-3-Clause",
"dependencies": {
- "minimatch": "^10.0.3"
+ "html-escaper": "^2.0.0",
+ "istanbul-lib-report": "^3.0.0"
},
"engines": {
- "node": "^20.17.0 || >=22.9.0"
+ "node": ">=8"
}
},
- "node_modules/ignore-walk/node_modules/balanced-match": {
- "version": "4.0.4",
- "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz",
- "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==",
+ "node_modules/iterall": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/iterall/-/iterall-1.3.0.tgz",
+ "integrity": "sha512-QZ9qOMdF+QLHxy1QIpUHUU1D5pS2CG2P69LF6L6CPjPYA/XMOmKV3PZpawHoAjHNyB0swdVTRxdYT4tbBbxqwg==",
"dev": true,
- "license": "MIT",
- "engines": {
- "node": "18 || 20 || >=22"
- }
+ "license": "MIT"
},
- "node_modules/ignore-walk/node_modules/brace-expansion": {
- "version": "5.0.4",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.4.tgz",
- "integrity": "sha512-h+DEnpVvxmfVefa4jFbCf5HdH5YMDXRsmKflpf1pILZWRFlTbJpxeU55nJl4Smt5HQaGzg1o6RHFPJaOqnmBDg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "balanced-match": "^4.0.2"
- },
+ "node_modules/iterare": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/iterare/-/iterare-1.2.1.tgz",
+ "integrity": "sha512-RKYVTCjAnRthyJes037NX/IiqeidgN1xc3j1RjFfECFp28A1GVwK9nA+i0rJPaHqSZwygLzRnFlzUuHFoWWy+Q==",
+ "license": "ISC",
"engines": {
- "node": "18 || 20 || >=22"
+ "node": ">=6"
}
},
- "node_modules/ignore-walk/node_modules/minimatch": {
- "version": "10.2.4",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.4.tgz",
- "integrity": "sha512-oRjTw/97aTBN0RHbYCdtF1MQfvusSIBQM0IZEgzl6426+8jSC0nF1a/GmnVLpfB9yyr6g6FTqWqiZVbxrtaCIg==",
+ "node_modules/jackspeak": {
+ "version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-4.2.3.tgz",
+ "integrity": "sha512-ykkVRwrYvFm1nb2AJfKKYPr0emF6IiXDYUaFx4Zn9ZuIH7MrzEZ3sD5RlqGXNRpHtvUHJyOnCEFxOlNDtGo7wg==",
"dev": true,
"license": "BlueOak-1.0.0",
"dependencies": {
- "brace-expansion": "^5.0.2"
+ "@isaacs/cliui": "^9.0.0"
},
"engines": {
- "node": "18 || 20 || >=22"
+ "node": "20 || >=22"
},
"funding": {
"url": "https://github.com/sponsors/isaacs"
}
},
- "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==",
+ "node_modules/jake": {
+ "version": "10.9.4",
+ "resolved": "https://registry.npmjs.org/jake/-/jake-10.9.4.tgz",
+ "integrity": "sha512-wpHYzhxiVQL+IV05BLE2Xn34zW1S223hvjtqk0+gsPrwd/8JNLXJgZZM/iPFsYc1xyphF+6M6EvdE5E9MBGkDA==",
"dev": true,
+ "license": "Apache-2.0",
"dependencies": {
- "parent-module": "^1.0.0",
- "resolve-from": "^4.0.0"
+ "async": "^3.2.6",
+ "filelist": "^1.0.4",
+ "picocolors": "^1.1.1"
},
- "engines": {
- "node": ">=6"
+ "bin": {
+ "jake": "bin/cli.js"
},
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/import-fresh/node_modules/resolve-from": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
- "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
- "dev": true,
"engines": {
- "node": ">=4"
+ "node": ">=10"
}
},
- "node_modules/import-local": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz",
- "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==",
+ "node_modules/jest-diff": {
+ "version": "30.3.0",
+ "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-30.3.0.tgz",
+ "integrity": "sha512-n3q4PDQjS4LrKxfWB3Z5KNk1XjXtZTBwQp71OP0Jo03Z6V60x++K5L8k6ZrW8MY8pOFylZvHM0zsjS1RqlHJZQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "pkg-dir": "^4.2.0",
- "resolve-cwd": "^3.0.0"
- },
- "bin": {
- "import-local-fixture": "fixtures/cli.js"
+ "@jest/diff-sequences": "30.3.0",
+ "@jest/get-type": "30.1.0",
+ "chalk": "^4.1.2",
+ "pretty-format": "30.3.0"
},
"engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
}
},
- "node_modules/imurmurhash": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
- "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==",
+ "node_modules/jiti": {
+ "version": "2.6.1",
+ "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.6.1.tgz",
+ "integrity": "sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==",
"dev": true,
- "engines": {
- "node": ">=0.8.19"
+ "license": "MIT",
+ "bin": {
+ "jiti": "lib/jiti-cli.mjs"
}
},
- "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==",
+ "node_modules/js-sdsl": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.3.0.tgz",
+ "integrity": "sha512-mifzlm2+5nZ+lEcLJMoBK0/IH/bDg8XnJfd/Wq6IP+xoCjLZsTOnV2QpxlVbX9bMnkl5PdEjNtBJ9Cj1NjifhQ==",
"dev": true,
- "engines": {
- "node": ">=8"
+ "license": "MIT",
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/js-sdsl"
}
},
- "node_modules/infer-owner": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz",
- "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==",
- "dev": true
+ "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,
+ "license": "MIT"
},
- "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.",
+ "node_modules/js-yaml": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz",
+ "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "once": "^1.3.0",
- "wrappy": "1"
+ "argparse": "^2.0.1"
+ },
+ "bin": {
+ "js-yaml": "bin/js-yaml.js"
}
},
- "node_modules/inherits": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
- "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
+ "node_modules/jsbn": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
+ "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==",
+ "dev": true,
+ "license": "MIT"
},
- "node_modules/ini": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/ini/-/ini-6.0.0.tgz",
- "integrity": "sha512-IBTdIkzZNOpqm7q3dRqJvMaldXjDHWkEDfrwGEQTs5eaQMWV+djAhR+wahyNNMAa+qpbDUhBMVt4ZKNwpPm7xQ==",
+ "node_modules/jsesc": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz",
+ "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==",
"dev": true,
- "license": "ISC",
+ "license": "MIT",
+ "bin": {
+ "jsesc": "bin/jsesc"
+ },
"engines": {
- "node": "^20.17.0 || >=22.9.0"
+ "node": ">=6"
}
},
- "node_modules/init-package-json": {
- "version": "8.2.2",
- "resolved": "https://registry.npmjs.org/init-package-json/-/init-package-json-8.2.2.tgz",
- "integrity": "sha512-pXVMn67Jdw2hPKLCuJZj62NC9B2OIDd1R3JwZXTHXuEnfN3Uq5kJbKOSld6YEU+KOGfMD82EzxFTYz5o0SSJoA==",
+ "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": "ISC",
- "dependencies": {
- "@npmcli/package-json": "^7.0.0",
- "npm-package-arg": "^13.0.0",
- "promzard": "^2.0.0",
- "read": "^4.0.0",
- "semver": "^7.7.2",
- "validate-npm-package-license": "^3.0.4",
- "validate-npm-package-name": "^6.0.2"
- },
+ "license": "MIT"
+ },
+ "node_modules/json-parse-even-better-errors": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-5.0.0.tgz",
+ "integrity": "sha512-ZF1nxZ28VhQouRWhUcVlUIN3qwSgPuswK05s/HIaoetAoE/9tngVmCHjSxmSQPav1nd+lPtTL0YZ/2AFdR/iYQ==",
+ "dev": true,
+ "license": "MIT",
"engines": {
"node": "^20.17.0 || >=22.9.0"
}
},
- "node_modules/inquirer": {
- "version": "12.9.6",
- "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-12.9.6.tgz",
- "integrity": "sha512-603xXOgyfxhuis4nfnWaZrMaotNT0Km9XwwBNWUKbIDqeCY89jGr2F9YPEMiNhU6XjIP4VoWISMBFfcc5NgrTw==",
+ "node_modules/json-schema": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz",
+ "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==",
"dev": true,
+ "license": "(AFL-2.1 OR BSD-3-Clause)"
+ },
+ "node_modules/json-schema-ref-resolver": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/json-schema-ref-resolver/-/json-schema-ref-resolver-3.0.0.tgz",
+ "integrity": "sha512-hOrZIVL5jyYFjzk7+y7n5JDzGlU8rfWDuYyHwGa2WA8/pcmMHezp2xsVwxrebD/Q9t8Nc5DboieySDpCp4WG4A==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/fastify"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/fastify"
+ }
+ ],
"license": "MIT",
"dependencies": {
- "@inquirer/ansi": "^1.0.0",
- "@inquirer/core": "^10.2.2",
- "@inquirer/prompts": "^7.8.6",
- "@inquirer/type": "^3.0.8",
- "mute-stream": "^2.0.0",
- "run-async": "^4.0.5",
- "rxjs": "^7.8.2"
- },
- "engines": {
- "node": ">=18"
- },
- "peerDependencies": {
- "@types/node": ">=18"
- },
- "peerDependenciesMeta": {
- "@types/node": {
- "optional": true
- }
+ "dequal": "^2.0.3"
}
},
- "node_modules/interpret": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/interpret/-/interpret-3.1.1.tgz",
- "integrity": "sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ==",
+ "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==",
+ "license": "MIT"
+ },
+ "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,
- "license": "MIT",
- "engines": {
- "node": ">=10.13.0"
- }
+ "license": "MIT"
},
- "node_modules/ioredis": {
- "version": "5.10.1",
- "resolved": "https://registry.npmjs.org/ioredis/-/ioredis-5.10.1.tgz",
- "integrity": "sha512-HuEDBTI70aYdx1v6U97SbNx9F1+svQKBDo30o0b9fw055LMepzpOOd0Ccg9Q6tbqmBSJaMuY0fB7yw9/vjBYCA==",
+ "node_modules/json-stringify-nice": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/json-stringify-nice/-/json-stringify-nice-1.1.4.tgz",
+ "integrity": "sha512-5Z5RFW63yxReJ7vANgW6eZFGWaQvnPE3WNmZoOJrSkGju2etKA2L5rrOa1sm877TVTFt57A80BH1bArcmlLfPw==",
"dev": true,
- "license": "MIT",
- "dependencies": {
- "@ioredis/commands": "1.5.1",
- "cluster-key-slot": "^1.1.0",
- "debug": "^4.3.4",
- "denque": "^2.1.0",
- "lodash.defaults": "^4.2.0",
- "lodash.isarguments": "^3.1.0",
- "redis-errors": "^1.2.0",
- "redis-parser": "^3.0.0",
- "standard-as-callback": "^2.1.0"
- },
- "engines": {
- "node": ">=12.22.0"
- },
+ "license": "ISC",
"funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/ioredis"
+ "url": "https://github.com/sponsors/isaacs"
}
},
- "node_modules/ioredis/node_modules/debug": {
- "version": "4.4.3",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz",
- "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==",
+ "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,
+ "license": "ISC"
+ },
+ "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",
- "dependencies": {
- "ms": "^2.1.3"
+ "bin": {
+ "json5": "lib/cli.js"
},
"engines": {
- "node": ">=6.0"
- },
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
+ "node": ">=6"
}
},
- "node_modules/ioredis/node_modules/ms": {
- "version": "2.1.3",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
- "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
+ "node_modules/jsonc-parser": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz",
+ "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==",
"dev": true,
"license": "MIT"
},
- "node_modules/ip-address": {
- "version": "10.2.0",
- "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-10.2.0.tgz",
- "integrity": "sha512-/+S6j4E9AHvW9SWMSEY9Xfy66O5PWvVEJ08O0y5JGyEKQpojb0K0GKpz/v5HJ/G0vi3D2sjGK78119oXZeE0qA==",
+ "node_modules/jsonfile": {
+ "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",
- "engines": {
- "node": ">= 12"
+ "dependencies": {
+ "universalify": "^2.0.0"
+ },
+ "optionalDependencies": {
+ "graceful-fs": "^4.1.6"
}
},
- "node_modules/ipaddr.js": {
- "version": "1.9.1",
- "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz",
- "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==",
- "engines": {
- "node": ">= 0.10"
- }
+ "node_modules/jsonparse": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz",
+ "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==",
+ "dev": true,
+ "engines": [
+ "node >= 0.2.0"
+ ],
+ "license": "MIT"
},
- "node_modules/is-absolute": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-1.0.0.tgz",
- "integrity": "sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==",
+ "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)",
"dependencies": {
- "is-relative": "^1.0.0",
- "is-windows": "^1.0.1"
+ "jsonparse": "^1.2.0",
+ "through": ">=2.2.7 <3"
+ },
+ "bin": {
+ "JSONStream": "bin.js"
},
"engines": {
- "node": ">=0.10.0"
+ "node": "*"
}
},
- "node_modules/is-accessor-descriptor": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.1.tgz",
- "integrity": "sha512-YBUanLI8Yoihw923YeFUS5fs0fF2f5TSFTNiYAAzhhDscDa3lEqYuz1pDOEP5KvX94I9ey3vsqjJcLVFVU+3QA==",
+ "node_modules/jsprim": {
+ "version": "1.4.2",
+ "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz",
+ "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "hasown": "^2.0.0"
+ "assert-plus": "1.0.0",
+ "extsprintf": "1.3.0",
+ "json-schema": "0.4.0",
+ "verror": "1.10.0"
},
"engines": {
- "node": ">= 0.10"
+ "node": ">=0.6.0"
}
},
- "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/just-diff": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/just-diff/-/just-diff-6.0.2.tgz",
+ "integrity": "sha512-S59eriX5u3/QhMNq3v/gm8Kd0w8OS6Tz2FS1NG4blv+z0MuQcBRJyFWjdovM0Rad4/P4aUPFtnkNjMjyMlMSYA==",
+ "dev": true,
+ "license": "MIT"
},
- "node_modules/is-binary-path": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
- "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
+ "node_modules/just-diff-apply": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/just-diff-apply/-/just-diff-apply-5.5.0.tgz",
+ "integrity": "sha512-OYTthRfSh55WOItVqwpefPtNt2VdKsq5AnAK6apdtR6yCH8pr0CmSr710J0Mf+WdQy7K/OzMy7K2MgAfdQURDw==",
"dev": true,
- "dependencies": {
- "binary-extensions": "^2.0.0"
- },
+ "license": "MIT"
+ },
+ "node_modules/kafkajs": {
+ "version": "2.2.4",
+ "resolved": "https://registry.npmjs.org/kafkajs/-/kafkajs-2.2.4.tgz",
+ "integrity": "sha512-j/YeapB1vfPT2iOIUn/vxdyKEuhuY2PxMBvf5JWux6iSaukAccrMtXEY/Lb7OvavDhOWME589bpLrEdnVHjfjA==",
+ "dev": true,
+ "license": "MIT",
"engines": {
- "node": ">=8"
+ "node": ">=14.0.0"
}
},
- "node_modules/is-buffer": {
- "version": "1.1.6",
- "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
- "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",
- "dev": true
- },
- "node_modules/is-callable": {
- "version": "1.2.7",
- "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz",
- "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==",
+ "node_modules/kareem": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/kareem/-/kareem-3.3.0.tgz",
+ "integrity": "sha512-kpSuLD3/7RenBnjnJdOHXCKC8dTd1JzeOiJhN0necWWci6cC+qX+VuwPnMVgb+a4+KNJSfgqahpnfWaeDXCimw==",
"dev": true,
+ "license": "Apache-2.0",
"engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
+ "node": ">=18.0.0"
}
},
- "node_modules/is-ci": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.1.tgz",
- "integrity": "sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==",
+ "node_modules/keyv": {
+ "version": "5.6.0",
+ "resolved": "https://registry.npmjs.org/keyv/-/keyv-5.6.0.tgz",
+ "integrity": "sha512-CYDD3SOtsHtyXeEORYRx2qBtpDJFjRTGXUtmNEMGyzYOKj1TE3tycdlho7kA1Ufx9OYWZzg52QFBGALTirzDSw==",
"dev": true,
"license": "MIT",
"dependencies": {
- "ci-info": "^3.2.0"
- },
- "bin": {
- "is-ci": "bin.js"
+ "@keyv/serialize": "^1.1.1"
}
},
- "node_modules/is-ci/node_modules/ci-info": {
- "version": "3.9.0",
- "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz",
- "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==",
+ "node_modules/kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==",
"dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/sibiraj-s"
- }
- ],
"license": "MIT",
+ "dependencies": {
+ "is-buffer": "^1.1.5"
+ },
"engines": {
- "node": ">=8"
+ "node": ">=0.10.0"
}
},
- "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==",
+ "node_modules/last-run": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/last-run/-/last-run-2.0.0.tgz",
+ "integrity": "sha512-j+y6WhTLN4Itnf9j5ZQos1BGPCS8DAwmgMroR3OzfxAsBxam0hMw7J8M3KqZl0pLQJ1jNnwIexg5DYpC/ctwEQ==",
"dev": true,
"license": "MIT",
- "dependencies": {
- "hasown": "^2.0.2"
- },
"engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
+ "node": ">= 10.13.0"
}
},
- "node_modules/is-data-descriptor": {
+ "node_modules/lazystream": {
"version": "1.0.1",
- "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.1.tgz",
- "integrity": "sha512-bc4NlCDiCr28U4aEsQ3Qs2491gVq4V8G7MQyws968ImqjKuYtTJXrl7Vq7jsN7Ly/C3xj5KWFrY7sHNeDkAzXw==",
+ "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.1.tgz",
+ "integrity": "sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "hasown": "^2.0.0"
+ "readable-stream": "^2.0.5"
},
"engines": {
- "node": ">= 0.4"
+ "node": ">= 0.6.3"
}
},
- "node_modules/is-descriptor": {
- "version": "0.1.7",
- "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz",
- "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==",
+ "node_modules/lcov-parse": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/lcov-parse/-/lcov-parse-1.0.0.tgz",
+ "integrity": "sha512-aprLII/vPzuQvYZnDRU78Fns9I2Ag3gi4Ipga/hxnVMCZC8DnR2nI7XBqrPoywGfxqIx/DgarGvDJZAD3YBTgQ==",
"dev": true,
- "dependencies": {
- "is-accessor-descriptor": "^1.0.1",
- "is-data-descriptor": "^1.0.1"
- },
+ "license": "BSD-3-Clause",
+ "bin": {
+ "lcov-parse": "bin/cli.js"
+ }
+ },
+ "node_modules/lead": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/lead/-/lead-4.0.0.tgz",
+ "integrity": "sha512-DpMa59o5uGUWWjruMp71e6knmwKU3jRBBn1kjuLWN9EeIOxNeSAwvHf03WIl8g/ZMR2oSQC9ej3yeLBwdDc/pg==",
+ "dev": true,
+ "license": "MIT",
"engines": {
- "node": ">= 0.4"
+ "node": ">=10.13.0"
}
},
- "node_modules/is-docker": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz",
- "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==",
+ "node_modules/lerna": {
+ "version": "9.0.4",
+ "resolved": "https://registry.npmjs.org/lerna/-/lerna-9.0.4.tgz",
+ "integrity": "sha512-wKy9TOkkdCWPWET0R5o7mh7J0KuNNjxE0g+qTruNAt5ffWwy54wfWiJtWyDSMOrcGDt6gtisDBTKniOqK/sJvw==",
"dev": true,
"license": "MIT",
+ "dependencies": {
+ "@lerna/create": "9.0.4",
+ "@npmcli/arborist": "9.1.6",
+ "@npmcli/package-json": "7.0.2",
+ "@npmcli/run-script": "10.0.3",
+ "@nx/devkit": ">=21.5.2 < 23.0.0",
+ "@octokit/plugin-enterprise-rest": "6.0.1",
+ "@octokit/rest": "20.1.2",
+ "aproba": "2.0.0",
+ "byte-size": "8.1.1",
+ "chalk": "4.1.0",
+ "cmd-shim": "6.0.3",
+ "color-support": "1.1.3",
+ "columnify": "1.6.0",
+ "console-control-strings": "^1.1.0",
+ "conventional-changelog-angular": "7.0.0",
+ "conventional-changelog-core": "5.0.1",
+ "conventional-recommended-bump": "7.0.1",
+ "cosmiconfig": "9.0.0",
+ "dedent": "1.5.3",
+ "envinfo": "7.13.0",
+ "execa": "5.0.0",
+ "fs-extra": "^11.2.0",
+ "get-port": "5.1.1",
+ "get-stream": "6.0.0",
+ "git-url-parse": "14.0.0",
+ "glob-parent": "6.0.2",
+ "has-unicode": "2.0.1",
+ "import-local": "3.1.0",
+ "ini": "^1.3.8",
+ "init-package-json": "8.2.2",
+ "inquirer": "12.9.6",
+ "is-ci": "3.0.1",
+ "is-stream": "2.0.0",
+ "jest-diff": ">=30.0.0 < 31",
+ "js-yaml": "4.1.1",
+ "libnpmaccess": "10.0.3",
+ "libnpmpublish": "11.1.2",
+ "load-json-file": "6.2.0",
+ "make-dir": "4.0.0",
+ "make-fetch-happen": "15.0.2",
+ "minimatch": "3.0.5",
+ "multimatch": "5.0.0",
+ "npm-package-arg": "13.0.1",
+ "npm-packlist": "10.0.3",
+ "npm-registry-fetch": "19.1.0",
+ "nx": ">=21.5.3 < 23.0.0",
+ "p-map": "4.0.0",
+ "p-map-series": "2.1.0",
+ "p-pipe": "3.1.0",
+ "p-queue": "6.6.2",
+ "p-reduce": "2.1.0",
+ "p-waterfall": "2.1.1",
+ "pacote": "21.0.1",
+ "pify": "5.0.0",
+ "read-cmd-shim": "4.0.0",
+ "resolve-from": "5.0.0",
+ "rimraf": "^6.1.2",
+ "semver": "7.7.2",
+ "set-blocking": "^2.0.0",
+ "signal-exit": "3.0.7",
+ "slash": "3.0.0",
+ "ssri": "12.0.0",
+ "string-width": "^4.2.3",
+ "tar": "7.5.7",
+ "temp-dir": "1.0.0",
+ "through": "2.3.8",
+ "tinyglobby": "0.2.12",
+ "typescript": ">=3 < 6",
+ "upath": "2.0.1",
+ "uuid": "^11.1.0",
+ "validate-npm-package-license": "3.0.4",
+ "validate-npm-package-name": "6.0.2",
+ "wide-align": "1.1.5",
+ "write-file-atomic": "5.0.1",
+ "write-pkg": "4.0.0",
+ "yargs": "17.7.2",
+ "yargs-parser": "21.1.1"
+ },
"bin": {
- "is-docker": "cli.js"
+ "lerna": "dist/cli.js"
},
"engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "node": "^20.19.0 || ^22.12.0 || >=24.0.0"
}
},
- "node_modules/is-dotfile": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz",
- "integrity": "sha512-9YclgOGtN/f8zx0Pr4FQYMdibBiTaH3sn52vjYip4ZSf6C4/6RfTEZ+MR4GvKhCxdPh21Bg42/WL55f6KSnKpg==",
+ "node_modules/lerna-changelog": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/lerna-changelog/-/lerna-changelog-2.2.0.tgz",
+ "integrity": "sha512-yjYNAHrbnw8xYFKmYWJEP52Tk4xSdlNmzpYr26+3glbSGDmpe8UMo8f9DlEntjGufL+opup421oVTXcLshwAaQ==",
"dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "chalk": "^4.0.0",
+ "cli-highlight": "^2.1.11",
+ "execa": "^5.0.0",
+ "hosted-git-info": "^4.0.0",
+ "make-fetch-happen": "^9.0.0",
+ "p-map": "^3.0.0",
+ "progress": "^2.0.0",
+ "yargs": "^17.1.0"
+ },
+ "bin": {
+ "lerna-changelog": "bin/cli.js"
+ },
"engines": {
- "node": ">=0.10.0"
+ "node": "12.* || 14.* || >= 16"
}
},
- "node_modules/is-equal-shallow": {
- "version": "0.1.3",
- "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz",
- "integrity": "sha512-0EygVC5qPvIyb+gSz7zdD5/AAoS6Qrx1e//6N4yv4oNm30kqvdmG66oZFWVlQHUWe5OjP08FuTw2IdT0EOTcYA==",
+ "node_modules/lerna-changelog/node_modules/@npmcli/fs": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-1.1.1.tgz",
+ "integrity": "sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ==",
"dev": true,
+ "license": "ISC",
"dependencies": {
- "is-primitive": "^2.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
+ "@gar/promisify": "^1.0.1",
+ "semver": "^7.3.5"
}
},
- "node_modules/is-extendable": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
- "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
+ "node_modules/lerna-changelog/node_modules/agent-base": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz",
+ "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "is-plain-object": "^2.0.4"
+ "debug": "4"
},
"engines": {
- "node": ">=0.10.0"
+ "node": ">= 6.0.0"
}
},
- "node_modules/is-extendable/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==",
+ "node_modules/lerna-changelog/node_modules/cacache": {
+ "version": "15.3.0",
+ "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.3.0.tgz",
+ "integrity": "sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==",
"dev": true,
+ "license": "ISC",
"dependencies": {
- "isobject": "^3.0.1"
+ "@npmcli/fs": "^1.0.0",
+ "@npmcli/move-file": "^1.0.1",
+ "chownr": "^2.0.0",
+ "fs-minipass": "^2.0.0",
+ "glob": "^7.1.4",
+ "infer-owner": "^1.0.4",
+ "lru-cache": "^6.0.0",
+ "minipass": "^3.1.1",
+ "minipass-collect": "^1.0.2",
+ "minipass-flush": "^1.0.5",
+ "minipass-pipeline": "^1.2.2",
+ "mkdirp": "^1.0.3",
+ "p-map": "^4.0.0",
+ "promise-inflight": "^1.0.1",
+ "rimraf": "^3.0.2",
+ "ssri": "^8.0.1",
+ "tar": "^6.0.2",
+ "unique-filename": "^1.1.1"
},
"engines": {
- "node": ">=0.10.0"
+ "node": ">= 10"
}
},
- "node_modules/is-extglob": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
- "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
+ "node_modules/lerna-changelog/node_modules/cacache/node_modules/p-map": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz",
+ "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==",
"dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "aggregate-error": "^3.0.0"
+ },
"engines": {
- "node": ">=0.10.0"
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
- "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/lerna-changelog/node_modules/chownr": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz",
+ "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==",
"dev": true,
+ "license": "ISC",
"engines": {
- "node": ">=8"
+ "node": ">=10"
}
},
- "node_modules/is-glob": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
- "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
+ "node_modules/lerna-changelog/node_modules/fs-minipass": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz",
+ "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==",
"dev": true,
+ "license": "ISC",
"dependencies": {
- "is-extglob": "^2.1.1"
+ "minipass": "^3.0.0"
},
"engines": {
- "node": ">=0.10.0"
+ "node": ">= 8"
}
},
- "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==",
+ "node_modules/lerna-changelog/node_modules/glob": {
+ "version": "7.2.3",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
+ "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
+ "deprecated": "Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me",
"dev": true,
- "license": "MIT",
+ "license": "ISC",
+ "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": ">=8"
+ "node": "*"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
}
},
- "node_modules/is-lambda": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz",
- "integrity": "sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==",
- "dev": true
- },
- "node_modules/is-negated-glob": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-negated-glob/-/is-negated-glob-1.0.0.tgz",
- "integrity": "sha512-czXVVn/QEmgvej1f50BZ648vUI+em0xqMq2Sn+QncCLN4zj1UAxlT+kw/6ggQTOaZPd1HqKQGEqbpQVtJucWug==",
+ "node_modules/lerna-changelog/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==",
"dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "lru-cache": "^6.0.0"
+ },
"engines": {
- "node": ">=0.10.0"
+ "node": ">=10"
}
},
- "node_modules/is-number": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
- "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
+ "node_modules/lerna-changelog/node_modules/http-proxy-agent": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz",
+ "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==",
"dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@tootallnate/once": "1",
+ "agent-base": "6",
+ "debug": "4"
+ },
"engines": {
- "node": ">=0.12.0"
+ "node": ">= 6"
}
},
- "node_modules/is-obj": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz",
- "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==",
+ "node_modules/lerna-changelog/node_modules/https-proxy-agent": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz",
+ "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==",
"dev": true,
"license": "MIT",
+ "dependencies": {
+ "agent-base": "6",
+ "debug": "4"
+ },
"engines": {
- "node": ">=8"
+ "node": ">= 6"
}
},
- "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==",
+ "node_modules/lerna-changelog/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,
- "license": "MIT",
+ "license": "ISC",
+ "dependencies": {
+ "yallist": "^4.0.0"
+ },
"engines": {
- "node": ">=8"
+ "node": ">=10"
}
},
- "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/lerna-changelog/node_modules/make-fetch-happen": {
+ "version": "9.1.0",
+ "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-9.1.0.tgz",
+ "integrity": "sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg==",
"dev": true,
- "license": "MIT",
+ "license": "ISC",
+ "dependencies": {
+ "agentkeepalive": "^4.1.3",
+ "cacache": "^15.2.0",
+ "http-cache-semantics": "^4.1.0",
+ "http-proxy-agent": "^4.0.1",
+ "https-proxy-agent": "^5.0.0",
+ "is-lambda": "^1.0.1",
+ "lru-cache": "^6.0.0",
+ "minipass": "^3.1.3",
+ "minipass-collect": "^1.0.2",
+ "minipass-fetch": "^1.3.2",
+ "minipass-flush": "^1.0.5",
+ "minipass-pipeline": "^1.2.4",
+ "negotiator": "^0.6.2",
+ "promise-retry": "^2.0.1",
+ "socks-proxy-agent": "^6.0.0",
+ "ssri": "^8.0.0"
+ },
"engines": {
- "node": ">=0.10.0"
+ "node": ">= 10"
}
},
- "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/lerna-changelog/node_modules/minipass": {
+ "version": "3.3.6",
+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz",
+ "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==",
"dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "yallist": "^4.0.0"
+ },
"engines": {
- "node": ">=0.10.0"
+ "node": ">=8"
}
},
- "node_modules/is-posix-bracket": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz",
- "integrity": "sha512-Yu68oeXJ7LeWNmZ3Zov/xg/oDBnBK2RNxwYY1ilNJX+tKKZqgPK+qOn/Gs9jEu66KDY9Netf5XLKNGzas/vPfQ==",
+ "node_modules/lerna-changelog/node_modules/minipass-collect": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz",
+ "integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==",
"dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "minipass": "^3.0.0"
+ },
"engines": {
- "node": ">=0.10.0"
+ "node": ">= 8"
}
},
- "node_modules/is-primitive": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz",
- "integrity": "sha512-N3w1tFaRfk3UrPfqeRyD+GYDASU3W5VinKhlORy8EWVf/sIdDL9GAcew85XmktCfH+ngG7SRXEVDoO18WMdB/Q==",
+ "node_modules/lerna-changelog/node_modules/minipass-fetch": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-1.4.1.tgz",
+ "integrity": "sha512-CGH1eblLq26Y15+Azk7ey4xh0J/XfJfrCox5LDJiKqI2Q2iwOLOKrlmIaODiSQS8d18jalF6y2K2ePUm0CmShw==",
"dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "minipass": "^3.1.0",
+ "minipass-sized": "^1.0.3",
+ "minizlib": "^2.0.0"
+ },
"engines": {
- "node": ">=0.10.0"
+ "node": ">=8"
+ },
+ "optionalDependencies": {
+ "encoding": "^0.1.12"
}
},
- "node_modules/is-promise": {
- "version": "2.2.2",
- "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.2.2.tgz",
- "integrity": "sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==",
- "dev": true
- },
- "node_modules/is-property": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz",
- "integrity": "sha512-Ks/IoX00TtClbGQr4TWXemAnktAQvYB7HzcCxDGqEZU6oCmb2INHuOoKxbtR+HFkmYWBKv/dOZtGRiAjDhj92g==",
- "dev": true
- },
- "node_modules/is-relative": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz",
- "integrity": "sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==",
+ "node_modules/lerna-changelog/node_modules/minizlib": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz",
+ "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "is-unc-path": "^1.0.0"
+ "minipass": "^3.0.0",
+ "yallist": "^4.0.0"
},
"engines": {
- "node": ">=0.10.0"
+ "node": ">= 8"
}
},
- "node_modules/is-ssh": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/is-ssh/-/is-ssh-1.4.1.tgz",
- "integrity": "sha512-JNeu1wQsHjyHgn9NcWTaXq6zWSR6hqE0++zhfZlkFBbScNkyvxCdeV8sRkSBaeLKxmbpR21brail63ACNxJ0Tg==",
+ "node_modules/lerna-changelog/node_modules/mkdirp": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
+ "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
"dev": true,
"license": "MIT",
- "dependencies": {
- "protocols": "^2.0.1"
+ "bin": {
+ "mkdirp": "bin/cmd.js"
+ },
+ "engines": {
+ "node": ">=10"
}
},
- "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/lerna-changelog/node_modules/negotiator": {
+ "version": "0.6.4",
+ "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.4.tgz",
+ "integrity": "sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==",
"dev": true,
"license": "MIT",
"engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "node": ">= 0.6"
}
},
- "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==",
+ "node_modules/lerna-changelog/node_modules/p-map": {
+ "version": "3.0.0",
+ "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": {
- "text-extensions": "^1.0.0"
+ "aggregate-error": "^3.0.0"
},
"engines": {
- "node": ">=0.10.0"
+ "node": ">=8"
}
},
- "node_modules/is-typed-array": {
- "version": "1.1.15",
- "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.15.tgz",
- "integrity": "sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==",
+ "node_modules/lerna-changelog/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": "MIT",
+ "license": "ISC",
"dependencies": {
- "which-typed-array": "^1.1.16"
+ "glob": "^7.1.3"
},
- "engines": {
- "node": ">= 0.4"
+ "bin": {
+ "rimraf": "bin.js"
},
"funding": {
- "url": "https://github.com/sponsors/ljharb"
+ "url": "https://github.com/sponsors/isaacs"
}
},
- "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
- },
- "node_modules/is-unc-path": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz",
- "integrity": "sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==",
+ "node_modules/lerna-changelog/node_modules/socks-proxy-agent": {
+ "version": "6.2.1",
+ "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.2.1.tgz",
+ "integrity": "sha512-a6KW9G+6B3nWZ1yB8G7pJwL3ggLy1uTzKAgCb7ttblwqdz9fMGJUuTy3uFzEP48FAs9FLILlmzDlE2JJhVQaXQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "unc-path-regex": "^0.1.2"
+ "agent-base": "^6.0.2",
+ "debug": "^4.3.3",
+ "socks": "^2.6.2"
},
"engines": {
- "node": ">=0.10.0"
+ "node": ">= 10"
}
},
- "node_modules/is-unicode-supported": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz",
- "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==",
+ "node_modules/lerna-changelog/node_modules/ssri": {
+ "version": "8.0.1",
+ "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz",
+ "integrity": "sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==",
"dev": true,
- "engines": {
- "node": ">=10"
+ "license": "ISC",
+ "dependencies": {
+ "minipass": "^3.1.1"
},
- "funding": {
- "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-valid-glob": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-valid-glob/-/is-valid-glob-1.0.0.tgz",
- "integrity": "sha512-AhiROmoEFDSsjx8hW+5sGwgKVIORcXnrlAx/R0ZSeaPw70Vw0CqkGBBhHGL58Uox2eXnU1AnvXJl1XlyedO5bA==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "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,
"engines": {
- "node": ">=0.10.0"
+ "node": ">= 8"
}
},
- "node_modules/is-wsl": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz",
- "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==",
+ "node_modules/lerna-changelog/node_modules/tar": {
+ "version": "6.2.1",
+ "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.1.tgz",
+ "integrity": "sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==",
+ "deprecated": "Old versions of tar are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me",
"dev": true,
- "license": "MIT",
+ "license": "ISC",
"dependencies": {
- "is-docker": "^2.0.0"
+ "chownr": "^2.0.0",
+ "fs-minipass": "^2.0.0",
+ "minipass": "^5.0.0",
+ "minizlib": "^2.1.1",
+ "mkdirp": "^1.0.3",
+ "yallist": "^4.0.0"
},
"engines": {
- "node": ">=8"
- }
- },
- "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
- },
- "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"
+ "node": ">=10"
}
},
- "node_modules/isstream": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
- "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==",
- "dev": true
- },
- "node_modules/istanbul-lib-coverage": {
- "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==",
+ "node_modules/lerna-changelog/node_modules/tar/node_modules/minipass": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz",
+ "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==",
"dev": true,
- "license": "BSD-3-Clause",
+ "license": "ISC",
"engines": {
"node": ">=8"
}
},
- "node_modules/istanbul-lib-hook": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-3.0.0.tgz",
- "integrity": "sha512-Pt/uge1Q9s+5VAZ+pCo16TYMWPBIl+oaNIjgLQxcX0itS6ueeaA+pEfThZpH8WxhFgCiEb8sAJY6MdUKgiIWaQ==",
+ "node_modules/lerna-changelog/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,
- "license": "BSD-3-Clause",
- "dependencies": {
- "append-transform": "^2.0.0"
- },
- "engines": {
- "node": ">=8"
- }
+ "license": "ISC"
},
- "node_modules/istanbul-lib-instrument": {
- "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==",
+ "node_modules/lerna/node_modules/chalk": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz",
+ "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==",
"dev": true,
- "license": "BSD-3-Clause",
+ "license": "MIT",
"dependencies": {
- "@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"
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
},
"engines": {
"node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
}
},
- "node_modules/istanbul-lib-processinfo": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/istanbul-lib-processinfo/-/istanbul-lib-processinfo-3.0.0.tgz",
- "integrity": "sha512-P7nLXRRlo7Sqinty6lNa7+4o9jBUYGpqtejqCOZKfgXlRoxY/QArflcB86YO500Ahj4pDJEG34JjMRbQgePLnQ==",
+ "node_modules/lerna/node_modules/conventional-changelog-angular": {
+ "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",
"dependencies": {
- "archy": "^1.0.0",
- "cross-spawn": "^7.0.3",
- "istanbul-lib-coverage": "^3.2.0",
- "p-map": "^3.0.0",
- "rimraf": "^6.1.3",
- "uuid": "^8.3.2"
+ "compare-func": "^2.0.0"
},
"engines": {
- "node": "20 || >=22"
- }
- },
- "node_modules/istanbul-lib-processinfo/node_modules/balanced-match": {
- "version": "4.0.4",
- "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz",
- "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": "18 || 20 || >=22"
+ "node": ">=16"
}
},
- "node_modules/istanbul-lib-processinfo/node_modules/brace-expansion": {
- "version": "5.0.4",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.4.tgz",
- "integrity": "sha512-h+DEnpVvxmfVefa4jFbCf5HdH5YMDXRsmKflpf1pILZWRFlTbJpxeU55nJl4Smt5HQaGzg1o6RHFPJaOqnmBDg==",
+ "node_modules/lerna/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",
"dependencies": {
- "balanced-match": "^4.0.2"
- },
- "engines": {
- "node": "18 || 20 || >=22"
- }
- },
- "node_modules/istanbul-lib-processinfo/node_modules/glob": {
- "version": "13.0.6",
- "resolved": "https://registry.npmjs.org/glob/-/glob-13.0.6.tgz",
- "integrity": "sha512-Wjlyrolmm8uDpm/ogGyXZXb1Z+Ca2B8NbJwqBVg0axK9GbBeoS7yGV6vjXnYdGm6X53iehEuxxbyiKp8QmN4Vw==",
- "dev": true,
- "license": "BlueOak-1.0.0",
- "dependencies": {
- "minimatch": "^10.2.2",
- "minipass": "^7.1.3",
- "path-scurry": "^2.0.2"
+ "env-paths": "^2.2.1",
+ "import-fresh": "^3.3.0",
+ "js-yaml": "^4.1.0",
+ "parse-json": "^5.2.0"
},
"engines": {
- "node": "18 || 20 || >=22"
+ "node": ">=14"
},
"funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
- "node_modules/istanbul-lib-processinfo/node_modules/minimatch": {
- "version": "10.2.4",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.4.tgz",
- "integrity": "sha512-oRjTw/97aTBN0RHbYCdtF1MQfvusSIBQM0IZEgzl6426+8jSC0nF1a/GmnVLpfB9yyr6g6FTqWqiZVbxrtaCIg==",
- "dev": true,
- "license": "BlueOak-1.0.0",
- "dependencies": {
- "brace-expansion": "^5.0.2"
+ "url": "https://github.com/sponsors/d-fischer"
},
- "engines": {
- "node": "18 || 20 || >=22"
+ "peerDependencies": {
+ "typescript": ">=4.9.5"
},
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
}
},
- "node_modules/istanbul-lib-processinfo/node_modules/p-map": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz",
- "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==",
+ "node_modules/lerna/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": "MIT",
+ "license": "ISC"
+ },
+ "node_modules/lerna/node_modules/minimatch": {
+ "version": "3.0.5",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.5.tgz",
+ "integrity": "sha512-tUpxzX0VAzJHjLu0xUfFv1gwVp9ba3IOuRAVH2EGuRW8a5emA2FlACLqiT/lDVtS1W+TGNwqz3sWaNyLgDJWuw==",
+ "dev": true,
+ "license": "ISC",
"dependencies": {
- "aggregate-error": "^3.0.0"
+ "brace-expansion": "^1.1.7"
},
"engines": {
- "node": ">=8"
+ "node": "*"
}
},
- "node_modules/istanbul-lib-processinfo/node_modules/path-scurry": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.2.tgz",
- "integrity": "sha512-3O/iVVsJAPsOnpwWIeD+d6z/7PmqApyQePUtCndjatj/9I5LylHvt5qluFaBT3I5h3r1ejfR056c+FCv+NnNXg==",
+ "node_modules/lerna/node_modules/picomatch": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz",
+ "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==",
"dev": true,
- "license": "BlueOak-1.0.0",
- "dependencies": {
- "lru-cache": "^11.0.0",
- "minipass": "^7.1.2"
- },
+ "license": "MIT",
"engines": {
- "node": "18 || 20 || >=22"
+ "node": ">=12"
},
"funding": {
- "url": "https://github.com/sponsors/isaacs"
+ "url": "https://github.com/sponsors/jonschlinkert"
}
},
- "node_modules/istanbul-lib-processinfo/node_modules/rimraf": {
+ "node_modules/lerna/node_modules/rimraf": {
"version": "6.1.3",
"resolved": "https://registry.npmjs.org/rimraf/-/rimraf-6.1.3.tgz",
"integrity": "sha512-LKg+Cr2ZF61fkcaK1UdkH2yEBBKnYjTyWzTJT6KNPcSPaiT7HSdhtMXQuN5wkTX0Xu72KQ1l8S42rlmexS2hSA==",
@@ -16724,234 +16226,166 @@
"url": "https://github.com/sponsors/isaacs"
}
},
- "node_modules/istanbul-lib-processinfo/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==",
+ "node_modules/lerna/node_modules/semver": {
+ "version": "7.7.2",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz",
+ "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==",
"dev": true,
- "license": "MIT",
+ "license": "ISC",
"bin": {
- "uuid": "dist/bin/uuid"
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
}
},
- "node_modules/istanbul-lib-report": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz",
- "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==",
+ "node_modules/lerna/node_modules/slash": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
+ "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
"dev": true,
- "license": "BSD-3-Clause",
- "dependencies": {
- "istanbul-lib-coverage": "^3.0.0",
- "make-dir": "^4.0.0",
- "supports-color": "^7.1.0"
- },
+ "license": "MIT",
"engines": {
- "node": ">=10"
+ "node": ">=8"
}
},
- "node_modules/istanbul-lib-source-maps": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz",
- "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==",
+ "node_modules/lerna/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": "BSD-3-Clause",
+ "license": "MIT",
"dependencies": {
- "debug": "^4.1.1",
- "istanbul-lib-coverage": "^3.0.0",
- "source-map": "^0.6.1"
+ "has-flag": "^4.0.0"
},
"engines": {
- "node": ">=10"
+ "node": ">=8"
}
},
- "node_modules/istanbul-lib-source-maps/node_modules/debug": {
- "version": "4.4.0",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz",
- "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==",
+ "node_modules/lerna/node_modules/tinyglobby": {
+ "version": "0.2.12",
+ "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.12.tgz",
+ "integrity": "sha512-qkf4trmKSIiMTs/E63cxH+ojC2unam7rJ0WrauAzpT3ECNTxGRMlaXxVbfxMUC/w0LaYk6jQ4y/nGR9uBO3tww==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "ms": "^2.1.3"
+ "fdir": "^6.4.3",
+ "picomatch": "^4.0.2"
},
"engines": {
- "node": ">=6.0"
+ "node": ">=12.0.0"
},
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
+ "funding": {
+ "url": "https://github.com/sponsors/SuperchupuDev"
}
},
- "node_modules/istanbul-lib-source-maps/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/istanbul-reports": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.2.0.tgz",
- "integrity": "sha512-HGYWWS/ehqTV3xN10i23tkPkpH46MLCIMFNCaaKNavAXTF1RkqxawEPtnjnGZ6XKSInBKkiOA5BKS+aZiY3AvA==",
+ "node_modules/lerna/node_modules/typescript": {
+ "version": "5.9.3",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz",
+ "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==",
"dev": true,
- "license": "BSD-3-Clause",
- "dependencies": {
- "html-escaper": "^2.0.0",
- "istanbul-lib-report": "^3.0.0"
+ "license": "Apache-2.0",
+ "bin": {
+ "tsc": "bin/tsc",
+ "tsserver": "bin/tsserver"
},
"engines": {
- "node": ">=8"
- }
- },
- "node_modules/iterall": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/iterall/-/iterall-1.3.0.tgz",
- "integrity": "sha512-QZ9qOMdF+QLHxy1QIpUHUU1D5pS2CG2P69LF6L6CPjPYA/XMOmKV3PZpawHoAjHNyB0swdVTRxdYT4tbBbxqwg==",
- "dev": true
- },
- "node_modules/iterare": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/iterare/-/iterare-1.2.1.tgz",
- "integrity": "sha512-RKYVTCjAnRthyJes037NX/IiqeidgN1xc3j1RjFfECFp28A1GVwK9nA+i0rJPaHqSZwygLzRnFlzUuHFoWWy+Q==",
- "engines": {
- "node": ">=6"
+ "node": ">=14.17"
}
},
- "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==",
+ "node_modules/lerna/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": {
- "@isaacs/cliui": "^8.0.2"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- },
- "optionalDependencies": {
- "@pkgjs/parseargs": "^0.11.0"
+ "funding": [
+ "https://github.com/sponsors/broofa",
+ "https://github.com/sponsors/ctavan"
+ ],
+ "license": "MIT",
+ "bin": {
+ "uuid": "dist/esm/bin/uuid"
}
},
- "node_modules/jake": {
- "version": "10.9.4",
- "resolved": "https://registry.npmjs.org/jake/-/jake-10.9.4.tgz",
- "integrity": "sha512-wpHYzhxiVQL+IV05BLE2Xn34zW1S223hvjtqk0+gsPrwd/8JNLXJgZZM/iPFsYc1xyphF+6M6EvdE5E9MBGkDA==",
+ "node_modules/libnpmaccess": {
+ "version": "10.0.3",
+ "resolved": "https://registry.npmjs.org/libnpmaccess/-/libnpmaccess-10.0.3.tgz",
+ "integrity": "sha512-JPHTfWJxIK+NVPdNMNGnkz4XGX56iijPbe0qFWbdt68HL+kIvSzh+euBL8npLZvl2fpaxo+1eZSdoG15f5YdIQ==",
"dev": true,
- "license": "Apache-2.0",
+ "license": "ISC",
"dependencies": {
- "async": "^3.2.6",
- "filelist": "^1.0.4",
- "picocolors": "^1.1.1"
- },
- "bin": {
- "jake": "bin/cli.js"
+ "npm-package-arg": "^13.0.0",
+ "npm-registry-fetch": "^19.0.0"
},
"engines": {
- "node": ">=10"
+ "node": "^20.17.0 || >=22.9.0"
}
},
- "node_modules/jest-diff": {
- "version": "30.3.0",
- "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-30.3.0.tgz",
- "integrity": "sha512-n3q4PDQjS4LrKxfWB3Z5KNk1XjXtZTBwQp71OP0Jo03Z6V60x++K5L8k6ZrW8MY8pOFylZvHM0zsjS1RqlHJZQ==",
+ "node_modules/libnpmpublish": {
+ "version": "11.1.2",
+ "resolved": "https://registry.npmjs.org/libnpmpublish/-/libnpmpublish-11.1.2.tgz",
+ "integrity": "sha512-tNcU3cLH7toloAzhOOrBDhjzgbxpyuYvkf+BPPnnJCdc5EIcdJ8JcT+SglvCQKKyZ6m9dVXtCVlJcA6csxKdEA==",
"dev": true,
- "license": "MIT",
+ "license": "ISC",
"dependencies": {
- "@jest/diff-sequences": "30.3.0",
- "@jest/get-type": "30.1.0",
- "chalk": "^4.1.2",
- "pretty-format": "30.3.0"
+ "@npmcli/package-json": "^7.0.0",
+ "ci-info": "^4.0.0",
+ "npm-package-arg": "^13.0.0",
+ "npm-registry-fetch": "^19.0.0",
+ "proc-log": "^5.0.0",
+ "semver": "^7.3.7",
+ "sigstore": "^4.0.0",
+ "ssri": "^12.0.0"
},
"engines": {
- "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
+ "node": "^20.17.0 || >=22.9.0"
}
},
- "node_modules/jiti": {
- "version": "2.6.1",
- "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.6.1.tgz",
- "integrity": "sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==",
+ "node_modules/libnpmpublish/node_modules/ci-info": {
+ "version": "4.4.0",
+ "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.4.0.tgz",
+ "integrity": "sha512-77PSwercCZU2Fc4sX94eF8k8Pxte6JAwL4/ICZLFjJLqegs7kCuAsqqj/70NQF6TvDpgFjkubQB2FW2ZZddvQg==",
"dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/sibiraj-s"
+ }
+ ],
"license": "MIT",
- "bin": {
- "jiti": "lib/jiti-cli.mjs"
- }
- },
- "node_modules/js-sdsl": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.3.0.tgz",
- "integrity": "sha512-mifzlm2+5nZ+lEcLJMoBK0/IH/bDg8XnJfd/Wq6IP+xoCjLZsTOnV2QpxlVbX9bMnkl5PdEjNtBJ9Cj1NjifhQ==",
- "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
- },
- "node_modules/js-yaml": {
- "version": "3.14.1",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz",
- "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==",
- "dev": true,
- "dependencies": {
- "argparse": "^1.0.7",
- "esprima": "^4.0.0"
- },
- "bin": {
- "js-yaml": "bin/js-yaml.js"
+ "engines": {
+ "node": ">=8"
}
},
- "node_modules/jsbn": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
- "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==",
- "dev": true
+ "node_modules/libphonenumber-js": {
+ "version": "1.12.41",
+ "resolved": "https://registry.npmjs.org/libphonenumber-js/-/libphonenumber-js-1.12.41.tgz",
+ "integrity": "sha512-lsmMmGXBxXIK/VMLEj0kL6MtUs1kBGj1nTCzi6zgQoG1DEwqwt2DQyHxcLykceIxAnfE3hya7NuIh6PpC6S3fA==",
+ "license": "MIT"
},
- "node_modules/jsesc": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz",
- "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==",
+ "node_modules/liftoff": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/liftoff/-/liftoff-5.0.1.tgz",
+ "integrity": "sha512-wwLXMbuxSF8gMvubFcFRp56lkFV69twvbU5vDPbaw+Q+/rF8j0HKjGbIdlSi+LuJm9jf7k9PB+nTxnsLMPcv2Q==",
"dev": true,
"license": "MIT",
- "bin": {
- "jsesc": "bin/jsesc"
+ "dependencies": {
+ "extend": "^3.0.2",
+ "findup-sync": "^5.0.0",
+ "fined": "^2.0.0",
+ "flagged-respawn": "^2.0.0",
+ "is-plain-object": "^5.0.0",
+ "rechoir": "^0.8.0",
+ "resolve": "^1.20.0"
},
"engines": {
- "node": ">=6"
+ "node": ">=10.13.0"
}
},
- "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
- },
- "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"
- },
- "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,
- "license": "MIT"
- },
- "node_modules/json-schema": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz",
- "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==",
- "dev": true
- },
- "node_modules/json-schema-ref-resolver": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/json-schema-ref-resolver/-/json-schema-ref-resolver-3.0.0.tgz",
- "integrity": "sha512-hOrZIVL5jyYFjzk7+y7n5JDzGlU8rfWDuYyHwGa2WA8/pcmMHezp2xsVwxrebD/Q9t8Nc5DboieySDpCp4WG4A==",
+ "node_modules/light-my-request": {
+ "version": "6.6.0",
+ "resolved": "https://registry.npmjs.org/light-my-request/-/light-my-request-6.6.0.tgz",
+ "integrity": "sha512-CHYbu8RtboSIoVsHZ6Ye4cj4Aw/yg2oAFimlF7mNvfDV192LR7nDiKtSIfCuLT7KokPSTn/9kfVLm5OGN0A28A==",
"funding": [
{
"type": "github",
@@ -16962,3712 +16396,2464 @@
"url": "https://opencollective.com/fastify"
}
],
- "license": "MIT",
+ "license": "BSD-3-Clause",
"dependencies": {
- "dequal": "^2.0.3"
+ "cookie": "^1.0.1",
+ "process-warning": "^4.0.0",
+ "set-cookie-parser": "^2.6.0"
}
},
- "node_modules/json-schema-traverse": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
- "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug=="
- },
- "node_modules/json-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
- },
- "node_modules/json-stringify-nice": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/json-stringify-nice/-/json-stringify-nice-1.1.4.tgz",
- "integrity": "sha512-5Z5RFW63yxReJ7vANgW6eZFGWaQvnPE3WNmZoOJrSkGju2etKA2L5rrOa1sm877TVTFt57A80BH1bArcmlLfPw==",
- "dev": true,
- "license": "ISC",
+ "node_modules/light-my-request/node_modules/cookie": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/cookie/-/cookie-1.1.1.tgz",
+ "integrity": "sha512-ei8Aos7ja0weRpFzJnEA9UHJ/7XQmqglbRwnf2ATjcB9Wq874VKH9kfjjirM6UhU2/E5fFYadylyhFldcqSidQ==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=18"
+ },
"funding": {
- "url": "https://github.com/sponsors/isaacs"
+ "type": "opencollective",
+ "url": "https://opencollective.com/express"
}
},
- "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
+ "node_modules/light-my-request/node_modules/process-warning": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/process-warning/-/process-warning-4.0.1.tgz",
+ "integrity": "sha512-3c2LzQ3rY9d0hc1emcsHhfT9Jwz0cChib/QN89oME2R451w5fy3f0afAhERFZAwrbDU43wk12d0ORBpDVME50Q==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/fastify"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/fastify"
+ }
+ ],
+ "license": "MIT"
},
- "node_modules/json5": {
- "version": "2.2.3",
- "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz",
- "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==",
+ "node_modules/lightningcss": {
+ "version": "1.32.0",
+ "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.32.0.tgz",
+ "integrity": "sha512-NXYBzinNrblfraPGyrbPoD19C1h9lfI/1mzgWYvXUTe414Gz/X1FD2XBZSZM7rRTrMA8JL3OtAaGifrIKhQ5yQ==",
"dev": true,
- "license": "MIT",
- "bin": {
- "json5": "lib/cli.js"
+ "license": "MPL-2.0",
+ "dependencies": {
+ "detect-libc": "^2.0.3"
},
"engines": {
- "node": ">=6"
- }
- },
- "node_modules/jsonc-parser": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz",
- "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/jsonfile": {
- "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"
+ "node": ">= 12.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
},
"optionalDependencies": {
- "graceful-fs": "^4.1.6"
- }
- },
- "node_modules/jsonparse": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz",
- "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==",
- "dev": true,
- "engines": [
- "node >= 0.2.0"
- ]
- },
- "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==",
+ "lightningcss-android-arm64": "1.32.0",
+ "lightningcss-darwin-arm64": "1.32.0",
+ "lightningcss-darwin-x64": "1.32.0",
+ "lightningcss-freebsd-x64": "1.32.0",
+ "lightningcss-linux-arm-gnueabihf": "1.32.0",
+ "lightningcss-linux-arm64-gnu": "1.32.0",
+ "lightningcss-linux-arm64-musl": "1.32.0",
+ "lightningcss-linux-x64-gnu": "1.32.0",
+ "lightningcss-linux-x64-musl": "1.32.0",
+ "lightningcss-win32-arm64-msvc": "1.32.0",
+ "lightningcss-win32-x64-msvc": "1.32.0"
+ }
+ },
+ "node_modules/lightningcss-android-arm64": {
+ "version": "1.32.0",
+ "resolved": "https://registry.npmjs.org/lightningcss-android-arm64/-/lightningcss-android-arm64-1.32.0.tgz",
+ "integrity": "sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg==",
+ "cpu": [
+ "arm64"
+ ],
"dev": true,
- "license": "(MIT OR Apache-2.0)",
- "dependencies": {
- "jsonparse": "^1.2.0",
- "through": ">=2.2.7 <3"
- },
- "bin": {
- "JSONStream": "bin.js"
- },
+ "license": "MPL-2.0",
+ "optional": true,
+ "os": [
+ "android"
+ ],
"engines": {
- "node": "*"
+ "node": ">= 12.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
}
},
- "node_modules/jsprim": {
- "version": "1.4.2",
- "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz",
- "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==",
+ "node_modules/lightningcss-darwin-arm64": {
+ "version": "1.32.0",
+ "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.32.0.tgz",
+ "integrity": "sha512-RzeG9Ju5bag2Bv1/lwlVJvBE3q6TtXskdZLLCyfg5pt+HLz9BqlICO7LZM7VHNTTn/5PRhHFBSjk5lc4cmscPQ==",
+ "cpu": [
+ "arm64"
+ ],
"dev": true,
- "dependencies": {
- "assert-plus": "1.0.0",
- "extsprintf": "1.3.0",
- "json-schema": "0.4.0",
- "verror": "1.10.0"
- },
+ "license": "MPL-2.0",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
"engines": {
- "node": ">=0.6.0"
+ "node": ">= 12.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
}
},
- "node_modules/just-diff": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/just-diff/-/just-diff-6.0.2.tgz",
- "integrity": "sha512-S59eriX5u3/QhMNq3v/gm8Kd0w8OS6Tz2FS1NG4blv+z0MuQcBRJyFWjdovM0Rad4/P4aUPFtnkNjMjyMlMSYA==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/just-diff-apply": {
- "version": "5.5.0",
- "resolved": "https://registry.npmjs.org/just-diff-apply/-/just-diff-apply-5.5.0.tgz",
- "integrity": "sha512-OYTthRfSh55WOItVqwpefPtNt2VdKsq5AnAK6apdtR6yCH8pr0CmSr710J0Mf+WdQy7K/OzMy7K2MgAfdQURDw==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/kafkajs": {
- "version": "2.2.4",
- "resolved": "https://registry.npmjs.org/kafkajs/-/kafkajs-2.2.4.tgz",
- "integrity": "sha512-j/YeapB1vfPT2iOIUn/vxdyKEuhuY2PxMBvf5JWux6iSaukAccrMtXEY/Lb7OvavDhOWME589bpLrEdnVHjfjA==",
+ "node_modules/lightningcss-darwin-x64": {
+ "version": "1.32.0",
+ "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.32.0.tgz",
+ "integrity": "sha512-U+QsBp2m/s2wqpUYT/6wnlagdZbtZdndSmut/NJqlCcMLTWp5muCrID+K5UJ6jqD2BFshejCYXniPDbNh73V8w==",
+ "cpu": [
+ "x64"
+ ],
"dev": true,
+ "license": "MPL-2.0",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
"engines": {
- "node": ">=14.0.0"
+ "node": ">= 12.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
}
},
- "node_modules/kareem": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/kareem/-/kareem-3.3.0.tgz",
- "integrity": "sha512-kpSuLD3/7RenBnjnJdOHXCKC8dTd1JzeOiJhN0necWWci6cC+qX+VuwPnMVgb+a4+KNJSfgqahpnfWaeDXCimw==",
+ "node_modules/lightningcss-freebsd-x64": {
+ "version": "1.32.0",
+ "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.32.0.tgz",
+ "integrity": "sha512-JCTigedEksZk3tHTTthnMdVfGf61Fky8Ji2E4YjUTEQX14xiy/lTzXnu1vwiZe3bYe0q+SpsSH/CTeDXK6WHig==",
+ "cpu": [
+ "x64"
+ ],
"dev": true,
- "license": "Apache-2.0",
+ "license": "MPL-2.0",
+ "optional": true,
+ "os": [
+ "freebsd"
+ ],
"engines": {
- "node": ">=18.0.0"
+ "node": ">= 12.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
}
},
- "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==",
+ "node_modules/lightningcss-linux-arm-gnueabihf": {
+ "version": "1.32.0",
+ "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.32.0.tgz",
+ "integrity": "sha512-x6rnnpRa2GL0zQOkt6rts3YDPzduLpWvwAF6EMhXFVZXD4tPrBkEFqzGowzCsIWsPjqSK+tyNEODUBXeeVHSkw==",
+ "cpu": [
+ "arm"
+ ],
"dev": true,
- "dependencies": {
- "json-buffer": "3.0.1"
+ "license": "MPL-2.0",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 12.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
}
},
- "node_modules/kind-of": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-1.1.0.tgz",
- "integrity": "sha512-aUH6ElPnMGon2/YkxRIigV32MOpTVcoXQ1Oo8aYn40s+sJ3j+0gFZsT8HKDcxNy7Fi9zuquWtGaGAahOdv5p/g==",
+ "node_modules/lightningcss-linux-arm64-gnu": {
+ "version": "1.32.0",
+ "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.32.0.tgz",
+ "integrity": "sha512-0nnMyoyOLRJXfbMOilaSRcLH3Jw5z9HDNGfT/gwCPgaDjnx0i8w7vBzFLFR1f6CMLKF8gVbebmkUN3fa/kQJpQ==",
+ "cpu": [
+ "arm64"
+ ],
"dev": true,
+ "license": "MPL-2.0",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
"engines": {
- "node": ">=0.10.0"
+ "node": ">= 12.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
}
},
- "node_modules/last-run": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/last-run/-/last-run-2.0.0.tgz",
- "integrity": "sha512-j+y6WhTLN4Itnf9j5ZQos1BGPCS8DAwmgMroR3OzfxAsBxam0hMw7J8M3KqZl0pLQJ1jNnwIexg5DYpC/ctwEQ==",
+ "node_modules/lightningcss-linux-arm64-musl": {
+ "version": "1.32.0",
+ "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.32.0.tgz",
+ "integrity": "sha512-UpQkoenr4UJEzgVIYpI80lDFvRmPVg6oqboNHfoH4CQIfNA+HOrZ7Mo7KZP02dC6LjghPQJeBsvXhJod/wnIBg==",
+ "cpu": [
+ "arm64"
+ ],
"dev": true,
+ "license": "MPL-2.0",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
"engines": {
- "node": ">= 10.13.0"
+ "node": ">= 12.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
}
},
- "node_modules/lazystream": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.1.tgz",
- "integrity": "sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==",
+ "node_modules/lightningcss-linux-x64-gnu": {
+ "version": "1.32.0",
+ "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.32.0.tgz",
+ "integrity": "sha512-V7Qr52IhZmdKPVr+Vtw8o+WLsQJYCTd8loIfpDaMRWGUZfBOYEJeyJIkqGIDMZPwPx24pUMfwSxxI8phr/MbOA==",
+ "cpu": [
+ "x64"
+ ],
"dev": true,
- "dependencies": {
- "readable-stream": "^2.0.5"
- },
+ "license": "MPL-2.0",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
"engines": {
- "node": ">= 0.6.3"
+ "node": ">= 12.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
}
},
- "node_modules/lazystream/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/lazystream/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==",
+ "node_modules/lightningcss-linux-x64-musl": {
+ "version": "1.32.0",
+ "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.32.0.tgz",
+ "integrity": "sha512-bYcLp+Vb0awsiXg/80uCRezCYHNg1/l3mt0gzHnWV9XP1W5sKa5/TCdGWaR/zBM2PeF/HbsQv/j2URNOiVuxWg==",
+ "cpu": [
+ "x64"
+ ],
"dev": true,
- "dependencies": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.3",
- "isarray": "~1.0.0",
- "process-nextick-args": "~2.0.0",
- "safe-buffer": "~5.1.1",
- "string_decoder": "~1.1.1",
- "util-deprecate": "~1.0.1"
+ "license": "MPL-2.0",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 12.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
}
},
- "node_modules/lazystream/node_modules/safe-buffer": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
- "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
- "dev": true
- },
- "node_modules/lazystream/node_modules/string_decoder": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
- "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+ "node_modules/lightningcss-win32-arm64-msvc": {
+ "version": "1.32.0",
+ "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.32.0.tgz",
+ "integrity": "sha512-8SbC8BR40pS6baCM8sbtYDSwEVQd4JlFTOlaD3gWGHfThTcABnNDBda6eTZeqbofalIJhFx0qKzgHJmcPTnGdw==",
+ "cpu": [
+ "arm64"
+ ],
"dev": true,
- "dependencies": {
- "safe-buffer": "~5.1.0"
+ "license": "MPL-2.0",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">= 12.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
}
},
- "node_modules/lcov-parse": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/lcov-parse/-/lcov-parse-1.0.0.tgz",
- "integrity": "sha512-aprLII/vPzuQvYZnDRU78Fns9I2Ag3gi4Ipga/hxnVMCZC8DnR2nI7XBqrPoywGfxqIx/DgarGvDJZAD3YBTgQ==",
+ "node_modules/lightningcss-win32-x64-msvc": {
+ "version": "1.32.0",
+ "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.32.0.tgz",
+ "integrity": "sha512-Amq9B/SoZYdDi1kFrojnoqPLxYhQ4Wo5XiL8EVJrVsB8ARoC1PWW6VGtT0WKCemjy8aC+louJnjS7U18x3b06Q==",
+ "cpu": [
+ "x64"
+ ],
"dev": true,
- "bin": {
- "lcov-parse": "bin/cli.js"
+ "license": "MPL-2.0",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">= 12.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
}
},
- "node_modules/lead": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/lead/-/lead-4.0.0.tgz",
- "integrity": "sha512-DpMa59o5uGUWWjruMp71e6knmwKU3jRBBn1kjuLWN9EeIOxNeSAwvHf03WIl8g/ZMR2oSQC9ej3yeLBwdDc/pg==",
+ "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,
"license": "MIT",
"engines": {
- "node": ">=10.13.0"
+ "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
}
},
- "node_modules/lerna": {
- "version": "9.0.7",
- "resolved": "https://registry.npmjs.org/lerna/-/lerna-9.0.7.tgz",
- "integrity": "sha512-PMjbSWYfwL1yZ5c1D2PZuFyzmtYhLdn0f76uG8L25g6eYy34j+2jPb4Q6USx1UJvxVtxkdVEeAAWS/WxgJ8VZA==",
+ "node_modules/lint-staged": {
+ "version": "17.0.5",
+ "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-17.0.5.tgz",
+ "integrity": "sha512-d12yC+/e8RhBjZtaxZn71FyrgU/P5e+uAPifhCLwdosQZP/zamSdKRWDC30ocVIbzDKiFG1McHc/LUgB92GIPw==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@npmcli/arborist": "9.1.6",
- "@npmcli/package-json": "7.0.2",
- "@npmcli/run-script": "10.0.3",
- "@nx/devkit": ">=21.5.2 < 23.0.0",
- "@octokit/plugin-enterprise-rest": "6.0.1",
- "@octokit/rest": "20.1.2",
- "aproba": "2.0.0",
- "byte-size": "8.1.1",
- "chalk": "4.1.0",
- "ci-info": "4.3.1",
- "cmd-shim": "6.0.3",
- "color-support": "1.1.3",
- "columnify": "1.6.0",
- "console-control-strings": "^1.1.0",
- "conventional-changelog-angular": "7.0.0",
- "conventional-changelog-core": "5.0.1",
- "conventional-recommended-bump": "7.0.1",
- "cosmiconfig": "9.0.0",
- "dedent": "1.5.3",
- "envinfo": "7.13.0",
- "execa": "5.0.0",
- "fs-extra": "^11.2.0",
- "get-stream": "6.0.0",
- "git-url-parse": "14.0.0",
- "glob-parent": "6.0.2",
- "has-unicode": "2.0.1",
- "import-local": "3.1.0",
- "ini": "^1.3.8",
- "init-package-json": "8.2.2",
- "inquirer": "12.9.6",
- "is-ci": "3.0.1",
- "jest-diff": ">=30.0.0 < 31",
- "js-yaml": "4.1.1",
- "libnpmaccess": "10.0.3",
- "libnpmpublish": "11.1.2",
- "load-json-file": "6.2.0",
- "make-fetch-happen": "15.0.2",
- "minimatch": "3.1.4",
- "npm-package-arg": "13.0.1",
- "npm-packlist": "10.0.3",
- "npm-registry-fetch": "19.1.0",
- "nx": ">=21.5.3 < 23.0.0",
- "p-map": "4.0.0",
- "p-map-series": "2.1.0",
- "p-pipe": "3.1.0",
- "p-queue": "6.6.2",
- "p-reduce": "2.1.0",
- "p-waterfall": "2.1.1",
- "pacote": "21.0.1",
- "read-cmd-shim": "4.0.0",
- "semver": "7.7.2",
- "signal-exit": "3.0.7",
- "slash": "3.0.0",
- "ssri": "12.0.0",
- "string-width": "^4.2.3",
- "tar": "7.5.11",
- "through": "2.3.8",
- "tinyglobby": "0.2.12",
- "typescript": ">=3 < 6",
- "upath": "2.0.1",
- "validate-npm-package-license": "3.0.4",
- "validate-npm-package-name": "6.0.2",
- "wide-align": "1.1.5",
- "write-file-atomic": "5.0.1",
- "yargs": "17.7.2",
- "yargs-parser": "21.1.1"
+ "listr2": "^10.2.1",
+ "picomatch": "^4.0.4",
+ "string-argv": "^0.3.2",
+ "tinyexec": "^1.1.2"
},
"bin": {
- "lerna": "dist/cli.js"
+ "lint-staged": "bin/lint-staged.js"
},
"engines": {
- "node": "^20.19.0 || ^22.12.0 || >=24.0.0"
- }
- },
- "node_modules/lerna-changelog": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/lerna-changelog/-/lerna-changelog-2.2.0.tgz",
- "integrity": "sha512-yjYNAHrbnw8xYFKmYWJEP52Tk4xSdlNmzpYr26+3glbSGDmpe8UMo8f9DlEntjGufL+opup421oVTXcLshwAaQ==",
- "dev": true,
- "dependencies": {
- "chalk": "^4.0.0",
- "cli-highlight": "^2.1.11",
- "execa": "^5.0.0",
- "hosted-git-info": "^4.0.0",
- "make-fetch-happen": "^9.0.0",
- "p-map": "^3.0.0",
- "progress": "^2.0.0",
- "yargs": "^17.1.0"
+ "node": ">=22.22.1"
},
- "bin": {
- "lerna-changelog": "bin/cli.js"
+ "funding": {
+ "url": "https://opencollective.com/lint-staged"
},
- "engines": {
- "node": "12.* || 14.* || >= 16"
+ "optionalDependencies": {
+ "yaml": "^2.8.4"
}
},
- "node_modules/lerna-changelog/node_modules/@npmcli/fs": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-1.1.1.tgz",
- "integrity": "sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ==",
+ "node_modules/lint-staged/node_modules/picomatch": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz",
+ "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==",
"dev": true,
- "dependencies": {
- "@gar/promisify": "^1.0.1",
- "semver": "^7.3.5"
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/jonschlinkert"
}
},
- "node_modules/lerna-changelog/node_modules/cacache": {
- "version": "15.3.0",
- "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.3.0.tgz",
- "integrity": "sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==",
+ "node_modules/listr2": {
+ "version": "10.2.1",
+ "resolved": "https://registry.npmjs.org/listr2/-/listr2-10.2.1.tgz",
+ "integrity": "sha512-7I5knELsJKTUjXG+A6BkKAiGkW1i25fNa/xlUl9hFtk15WbE9jndA89xu5FzQKrY5llajE1hfZZFMILXkDHk/Q==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@npmcli/fs": "^1.0.0",
- "@npmcli/move-file": "^1.0.1",
- "chownr": "^2.0.0",
- "fs-minipass": "^2.0.0",
- "glob": "^7.1.4",
- "infer-owner": "^1.0.4",
- "lru-cache": "^6.0.0",
- "minipass": "^3.1.1",
- "minipass-collect": "^1.0.2",
- "minipass-flush": "^1.0.5",
- "minipass-pipeline": "^1.2.2",
- "mkdirp": "^1.0.3",
- "p-map": "^4.0.0",
- "promise-inflight": "^1.0.1",
- "rimraf": "^3.0.2",
- "ssri": "^8.0.1",
- "tar": "^6.0.2",
- "unique-filename": "^1.1.1"
+ "cli-truncate": "^5.2.0",
+ "eventemitter3": "^5.0.4",
+ "log-update": "^6.1.0",
+ "rfdc": "^1.4.1",
+ "wrap-ansi": "^10.0.0"
},
"engines": {
- "node": ">= 10"
+ "node": ">=22.13.0"
}
},
- "node_modules/lerna-changelog/node_modules/cacache/node_modules/p-map": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz",
- "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==",
+ "node_modules/listr2/node_modules/ansi-regex": {
+ "version": "6.2.2",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz",
+ "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==",
"dev": true,
- "dependencies": {
- "aggregate-error": "^3.0.0"
- },
+ "license": "MIT",
"engines": {
- "node": ">=10"
+ "node": ">=12"
},
"funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "url": "https://github.com/chalk/ansi-regex?sponsor=1"
}
},
- "node_modules/lerna-changelog/node_modules/debug": {
- "version": "4.3.7",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz",
- "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==",
+ "node_modules/listr2/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": {
- "ms": "^2.1.3"
- },
+ "license": "MIT",
"engines": {
- "node": ">=6.0"
+ "node": ">=12"
},
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
}
},
- "node_modules/lerna-changelog/node_modules/execa": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz",
- "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==",
+ "node_modules/listr2/node_modules/string-width": {
+ "version": "8.2.1",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-8.2.1.tgz",
+ "integrity": "sha512-IIaP0g3iy9Cyy18w3M9YcaDudujEAVHKt3a3QJg1+sr/oX96TbaGUubG0hJyCjCBThFH+tFpcIyoUHUn1ogaLA==",
"dev": true,
+ "license": "MIT",
"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"
+ "get-east-asian-width": "^1.5.0",
+ "strip-ansi": "^7.1.2"
},
"engines": {
- "node": ">=10"
+ "node": ">=20"
},
"funding": {
- "url": "https://github.com/sindresorhus/execa?sponsor=1"
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/lerna-changelog/node_modules/fs-minipass": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz",
- "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==",
+ "node_modules/listr2/node_modules/strip-ansi": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.2.0.tgz",
+ "integrity": "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "minipass": "^3.0.0"
+ "ansi-regex": "^6.2.2"
},
"engines": {
- "node": ">= 8"
- }
- },
- "node_modules/lerna-changelog/node_modules/get-stream": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz",
- "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==",
- "dev": true,
- "engines": {
- "node": ">=10"
+ "node": ">=12"
},
"funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "url": "https://github.com/chalk/strip-ansi?sponsor=1"
}
},
- "node_modules/lerna-changelog/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==",
+ "node_modules/listr2/node_modules/wrap-ansi": {
+ "version": "10.0.0",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-10.0.0.tgz",
+ "integrity": "sha512-SGcvg80f0wUy2/fXES19feHMz8E0JoXv2uNgHOu4Dgi2OrCy1lqwFYEJz1BLbDI0exjPMe/ZdzZ/YpGECBG/aQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "lru-cache": "^6.0.0"
+ "ansi-styles": "^6.2.3",
+ "string-width": "^8.2.0",
+ "strip-ansi": "^7.1.2"
},
"engines": {
- "node": ">=10"
- }
- },
- "node_modules/lerna-changelog/node_modules/http-proxy-agent": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz",
- "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==",
- "dev": true,
- "dependencies": {
- "@tootallnate/once": "1",
- "agent-base": "6",
- "debug": "4"
+ "node": ">=20"
},
- "engines": {
- "node": ">= 6"
+ "funding": {
+ "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
}
},
- "node_modules/lerna-changelog/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/lerna-changelog/node_modules/make-fetch-happen": {
- "version": "9.1.0",
- "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-9.1.0.tgz",
- "integrity": "sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg==",
- "dev": true,
- "dependencies": {
- "agentkeepalive": "^4.1.3",
- "cacache": "^15.2.0",
- "http-cache-semantics": "^4.1.0",
- "http-proxy-agent": "^4.0.1",
- "https-proxy-agent": "^5.0.0",
- "is-lambda": "^1.0.1",
- "lru-cache": "^6.0.0",
- "minipass": "^3.1.3",
- "minipass-collect": "^1.0.2",
- "minipass-fetch": "^1.3.2",
- "minipass-flush": "^1.0.5",
- "minipass-pipeline": "^1.2.4",
- "negotiator": "^0.6.2",
- "promise-retry": "^2.0.1",
- "socks-proxy-agent": "^6.0.0",
- "ssri": "^8.0.0"
- },
- "engines": {
- "node": ">= 10"
- }
- },
- "node_modules/lerna-changelog/node_modules/minipass": {
- "version": "3.3.6",
- "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz",
- "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==",
- "dev": true,
- "dependencies": {
- "yallist": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/lerna-changelog/node_modules/minipass-collect": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz",
- "integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==",
- "dev": true,
- "dependencies": {
- "minipass": "^3.0.0"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/lerna-changelog/node_modules/minipass-fetch": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-1.4.1.tgz",
- "integrity": "sha512-CGH1eblLq26Y15+Azk7ey4xh0J/XfJfrCox5LDJiKqI2Q2iwOLOKrlmIaODiSQS8d18jalF6y2K2ePUm0CmShw==",
- "dev": true,
- "dependencies": {
- "minipass": "^3.1.0",
- "minipass-sized": "^1.0.3",
- "minizlib": "^2.0.0"
- },
- "engines": {
- "node": ">=8"
- },
- "optionalDependencies": {
- "encoding": "^0.1.12"
- }
- },
- "node_modules/lerna-changelog/node_modules/mkdirp": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
- "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
- "dev": true,
- "bin": {
- "mkdirp": "bin/cmd.js"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/lerna-changelog/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/lerna-changelog/node_modules/p-map": {
- "version": "3.0.0",
- "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,
- "dependencies": {
- "aggregate-error": "^3.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/lerna-changelog/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,
- "dependencies": {
- "glob": "^7.1.3"
- },
- "bin": {
- "rimraf": "bin.js"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
- "node_modules/lerna-changelog/node_modules/socks-proxy-agent": {
- "version": "6.2.1",
- "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.2.1.tgz",
- "integrity": "sha512-a6KW9G+6B3nWZ1yB8G7pJwL3ggLy1uTzKAgCb7ttblwqdz9fMGJUuTy3uFzEP48FAs9FLILlmzDlE2JJhVQaXQ==",
- "dev": true,
- "dependencies": {
- "agent-base": "^6.0.2",
- "debug": "^4.3.3",
- "socks": "^2.6.2"
- },
- "engines": {
- "node": ">= 10"
- }
- },
- "node_modules/lerna-changelog/node_modules/ssri": {
- "version": "8.0.1",
- "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz",
- "integrity": "sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==",
- "dev": true,
- "dependencies": {
- "minipass": "^3.1.1"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/lerna-changelog/node_modules/unique-filename": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz",
- "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==",
- "dev": true,
- "dependencies": {
- "unique-slug": "^2.0.0"
- }
- },
- "node_modules/lerna-changelog/node_modules/unique-slug": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz",
- "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==",
- "dev": true,
- "dependencies": {
- "imurmurhash": "^0.1.4"
- }
- },
- "node_modules/lerna/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,
- "license": "Python-2.0"
- },
- "node_modules/lerna/node_modules/chalk": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz",
- "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==",
- "dev": true,
- "license": "MIT",
- "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/lerna/node_modules/chownr": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/chownr/-/chownr-3.0.0.tgz",
- "integrity": "sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==",
- "dev": true,
- "license": "BlueOak-1.0.0",
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/lerna/node_modules/glob-parent": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
- "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "is-glob": "^4.0.3"
- },
- "engines": {
- "node": ">=10.13.0"
- }
- },
- "node_modules/lerna/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"
- },
- "node_modules/lerna/node_modules/js-yaml": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz",
- "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "argparse": "^2.0.1"
- },
- "bin": {
- "js-yaml": "bin/js-yaml.js"
- }
- },
- "node_modules/lerna/node_modules/load-json-file": {
- "version": "6.2.0",
- "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-6.2.0.tgz",
- "integrity": "sha512-gUD/epcRms75Cw8RT1pUdHugZYM5ce64ucs2GEISABwkRsOQr0q2wm/MV2TKThycIe5e0ytRweW2RZxclogCdQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "graceful-fs": "^4.1.15",
- "parse-json": "^5.0.0",
- "strip-bom": "^4.0.0",
- "type-fest": "^0.6.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/lerna/node_modules/minimatch": {
- "version": "3.1.4",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.4.tgz",
- "integrity": "sha512-twmL+S8+7yIsE9wsqgzU3E8/LumN3M3QELrBZ20OdmQ9jB2JvW5oZtBEmft84k/Gs5CG9mqtWc6Y9vW+JEzGxw==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "brace-expansion": "^1.1.7"
- },
- "engines": {
- "node": "*"
- }
- },
- "node_modules/lerna/node_modules/minizlib": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-3.1.0.tgz",
- "integrity": "sha512-KZxYo1BUkWD2TVFLr0MQoM8vUUigWD3LlD83a/75BqC+4qE0Hb1Vo5v1FgcfaNXvfXzr+5EhQ6ing/CaBijTlw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "minipass": "^7.1.2"
- },
- "engines": {
- "node": ">= 18"
- }
- },
- "node_modules/lerna/node_modules/semver": {
- "version": "7.7.2",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz",
- "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==",
- "dev": true,
- "license": "ISC",
- "bin": {
- "semver": "bin/semver.js"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/lerna/node_modules/slash": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
- "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/lerna/node_modules/strip-bom": {
- "version": "4.0.0",
- "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/lerna/node_modules/tar": {
- "version": "7.5.11",
- "resolved": "https://registry.npmjs.org/tar/-/tar-7.5.11.tgz",
- "integrity": "sha512-ChjMH33/KetonMTAtpYdgUFr0tbz69Fp2v7zWxQfYZX4g5ZN2nOBXm1R2xyA+lMIKrLKIoKAwFj93jE/avX9cQ==",
- "dev": true,
- "license": "BlueOak-1.0.0",
- "dependencies": {
- "@isaacs/fs-minipass": "^4.0.0",
- "chownr": "^3.0.0",
- "minipass": "^7.1.2",
- "minizlib": "^3.1.0",
- "yallist": "^5.0.0"
- },
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/lerna/node_modules/tinyglobby": {
- "version": "0.2.12",
- "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.12.tgz",
- "integrity": "sha512-qkf4trmKSIiMTs/E63cxH+ojC2unam7rJ0WrauAzpT3ECNTxGRMlaXxVbfxMUC/w0LaYk6jQ4y/nGR9uBO3tww==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "fdir": "^6.4.3",
- "picomatch": "^4.0.2"
- },
- "engines": {
- "node": ">=12.0.0"
- },
- "funding": {
- "url": "https://github.com/sponsors/SuperchupuDev"
- }
- },
- "node_modules/lerna/node_modules/upath": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/upath/-/upath-2.0.1.tgz",
- "integrity": "sha512-1uEe95xksV1O0CYKXo8vQvN1JEbtJp7lb7C5U9HMsIp6IVwntkH/oNUzyVNQSd4S1sYk2FpSSW44FqMc8qee5w==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=4",
- "yarn": "*"
- }
- },
- "node_modules/lerna/node_modules/write-file-atomic": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-5.0.1.tgz",
- "integrity": "sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "imurmurhash": "^0.1.4",
- "signal-exit": "^4.0.1"
- },
- "engines": {
- "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
- }
- },
- "node_modules/lerna/node_modules/write-file-atomic/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/lerna/node_modules/yallist": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-5.0.0.tgz",
- "integrity": "sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==",
- "dev": true,
- "license": "BlueOak-1.0.0",
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/levn": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz",
- "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==",
- "dev": true,
- "dependencies": {
- "prelude-ls": "^1.2.1",
- "type-check": "~0.4.0"
- },
- "engines": {
- "node": ">= 0.8.0"
- }
- },
- "node_modules/libnpmaccess": {
- "version": "10.0.3",
- "resolved": "https://registry.npmjs.org/libnpmaccess/-/libnpmaccess-10.0.3.tgz",
- "integrity": "sha512-JPHTfWJxIK+NVPdNMNGnkz4XGX56iijPbe0qFWbdt68HL+kIvSzh+euBL8npLZvl2fpaxo+1eZSdoG15f5YdIQ==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "npm-package-arg": "^13.0.0",
- "npm-registry-fetch": "^19.0.0"
- },
- "engines": {
- "node": "^20.17.0 || >=22.9.0"
- }
- },
- "node_modules/libnpmpublish": {
- "version": "11.1.2",
- "resolved": "https://registry.npmjs.org/libnpmpublish/-/libnpmpublish-11.1.2.tgz",
- "integrity": "sha512-tNcU3cLH7toloAzhOOrBDhjzgbxpyuYvkf+BPPnnJCdc5EIcdJ8JcT+SglvCQKKyZ6m9dVXtCVlJcA6csxKdEA==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "@npmcli/package-json": "^7.0.0",
- "ci-info": "^4.0.0",
- "npm-package-arg": "^13.0.0",
- "npm-registry-fetch": "^19.0.0",
- "proc-log": "^5.0.0",
- "semver": "^7.3.7",
- "sigstore": "^4.0.0",
- "ssri": "^12.0.0"
- },
- "engines": {
- "node": "^20.17.0 || >=22.9.0"
- }
- },
- "node_modules/libphonenumber-js": {
- "version": "1.11.15",
- "resolved": "https://registry.npmjs.org/libphonenumber-js/-/libphonenumber-js-1.11.15.tgz",
- "integrity": "sha512-M7+rtYi9l5RvMmHyjyoF3BHHUpXTYdJ0PezZGHNs0GyW1lO+K7jxlXpbdIb7a56h0nqLYdjIw+E+z0ciGaJP7g=="
- },
- "node_modules/liftoff": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/liftoff/-/liftoff-5.0.1.tgz",
- "integrity": "sha512-wwLXMbuxSF8gMvubFcFRp56lkFV69twvbU5vDPbaw+Q+/rF8j0HKjGbIdlSi+LuJm9jf7k9PB+nTxnsLMPcv2Q==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "extend": "^3.0.2",
- "findup-sync": "^5.0.0",
- "fined": "^2.0.0",
- "flagged-respawn": "^2.0.0",
- "is-plain-object": "^5.0.0",
- "rechoir": "^0.8.0",
- "resolve": "^1.20.0"
- },
- "engines": {
- "node": ">=10.13.0"
- }
- },
- "node_modules/light-my-request": {
- "version": "6.6.0",
- "resolved": "https://registry.npmjs.org/light-my-request/-/light-my-request-6.6.0.tgz",
- "integrity": "sha512-CHYbu8RtboSIoVsHZ6Ye4cj4Aw/yg2oAFimlF7mNvfDV192LR7nDiKtSIfCuLT7KokPSTn/9kfVLm5OGN0A28A==",
- "dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/fastify"
- },
- {
- "type": "opencollective",
- "url": "https://opencollective.com/fastify"
- }
- ],
- "license": "BSD-3-Clause",
- "dependencies": {
- "cookie": "^1.0.1",
- "process-warning": "^4.0.0",
- "set-cookie-parser": "^2.6.0"
- }
- },
- "node_modules/lines-and-columns": {
- "version": "1.2.4",
- "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz",
- "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/lint-staged": {
- "version": "17.0.5",
- "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-17.0.5.tgz",
- "integrity": "sha512-d12yC+/e8RhBjZtaxZn71FyrgU/P5e+uAPifhCLwdosQZP/zamSdKRWDC30ocVIbzDKiFG1McHc/LUgB92GIPw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "listr2": "^10.2.1",
- "picomatch": "^4.0.4",
- "string-argv": "^0.3.2",
- "tinyexec": "^1.1.2"
- },
- "bin": {
- "lint-staged": "bin/lint-staged.js"
- },
- "engines": {
- "node": ">=22.22.1"
- },
- "funding": {
- "url": "https://opencollective.com/lint-staged"
- },
- "optionalDependencies": {
- "yaml": "^2.8.4"
- }
- },
- "node_modules/listr2": {
- "version": "10.2.1",
- "resolved": "https://registry.npmjs.org/listr2/-/listr2-10.2.1.tgz",
- "integrity": "sha512-7I5knELsJKTUjXG+A6BkKAiGkW1i25fNa/xlUl9hFtk15WbE9jndA89xu5FzQKrY5llajE1hfZZFMILXkDHk/Q==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "cli-truncate": "^5.2.0",
- "eventemitter3": "^5.0.4",
- "log-update": "^6.1.0",
- "rfdc": "^1.4.1",
- "wrap-ansi": "^10.0.0"
- },
- "engines": {
- "node": ">=22.13.0"
- }
- },
- "node_modules/listr2/node_modules/ansi-regex": {
- "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": ">=12"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-regex?sponsor=1"
- }
- },
- "node_modules/listr2/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,
- "license": "MIT",
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
- }
- },
- "node_modules/listr2/node_modules/eventemitter3": {
- "version": "5.0.4",
- "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.4.tgz",
- "integrity": "sha512-mlsTRyGaPBjPedk6Bvw+aqbsXDtoAyAzm5MO7JgU+yVRyMQ5O8bD4Kcci7BS85f93veegeCPkL8R4GLClnjLFw==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/listr2/node_modules/string-width": {
- "version": "8.2.1",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-8.2.1.tgz",
- "integrity": "sha512-IIaP0g3iy9Cyy18w3M9YcaDudujEAVHKt3a3QJg1+sr/oX96TbaGUubG0hJyCjCBThFH+tFpcIyoUHUn1ogaLA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "get-east-asian-width": "^1.5.0",
- "strip-ansi": "^7.1.2"
- },
- "engines": {
- "node": ">=20"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/listr2/node_modules/strip-ansi": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.2.0.tgz",
- "integrity": "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ansi-regex": "^6.2.2"
- },
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/chalk/strip-ansi?sponsor=1"
- }
- },
- "node_modules/listr2/node_modules/wrap-ansi": {
- "version": "10.0.0",
- "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-10.0.0.tgz",
- "integrity": "sha512-SGcvg80f0wUy2/fXES19feHMz8E0JoXv2uNgHOu4Dgi2OrCy1lqwFYEJz1BLbDI0exjPMe/ZdzZ/YpGECBG/aQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ansi-styles": "^6.2.3",
- "string-width": "^8.2.0",
- "strip-ansi": "^7.1.2"
- },
- "engines": {
- "node": ">=20"
- },
- "funding": {
- "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
- }
- },
- "node_modules/load-esm": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/load-esm/-/load-esm-1.0.3.tgz",
- "integrity": "sha512-v5xlu8eHD1+6r8EHTg6hfmO97LN8ugKtiXcy5e6oN72iD2r6u0RPfLl6fxM+7Wnh2ZRq15o0russMst44WauPA==",
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/Borewit"
- },
- {
- "type": "buymeacoffee",
- "url": "https://buymeacoffee.com/borewit"
- }
- ],
- "license": "MIT",
- "engines": {
- "node": ">=13.2.0"
- }
- },
- "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",
- "dependencies": {
- "graceful-fs": "^4.1.2",
- "parse-json": "^4.0.0",
- "pify": "^3.0.0",
- "strip-bom": "^3.0.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/load-json-file/node_modules/parse-json": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz",
- "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "error-ex": "^1.3.1",
- "json-parse-better-errors": "^1.0.1"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/load-json-file/node_modules/pify": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
- "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/locate-path": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz",
- "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "p-locate": "^5.0.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/lodash": {
- "version": "4.18.1",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.18.1.tgz",
- "integrity": "sha512-dMInicTPVE8d1e5otfwmmjlxkZoUpiVLwyeTdUsi/Caj/gfzzblBcCE5sRHV/AsjuCmxWrte2TNGSYuCeCq+0Q==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/lodash._basecopy": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz",
- "integrity": "sha512-rFR6Vpm4HeCK1WPGvjZSJ+7yik8d8PVUdCJx5rT2pogG4Ve/2ZS7kfmO5l5T2o5V2mqlNIfSF5MZlr1+xOoYQQ==",
- "dev": true
- },
- "node_modules/lodash._basetostring": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/lodash._basetostring/-/lodash._basetostring-3.0.1.tgz",
- "integrity": "sha512-mTzAr1aNAv/i7W43vOR/uD/aJ4ngbtsRaCubp2BfZhlGU/eORUjg/7F6X0orNMdv33JOrdgGybtvMN/po3EWrA==",
- "dev": true
- },
- "node_modules/lodash._basevalues": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/lodash._basevalues/-/lodash._basevalues-3.0.0.tgz",
- "integrity": "sha512-H94wl5P13uEqlCg7OcNNhMQ8KvWSIyqXzOPusRgHC9DK3o54P6P3xtbXlVbRABG4q5gSmp7EDdJ0MSuW9HX6Mg==",
- "dev": true
- },
- "node_modules/lodash._getnative": {
- "version": "3.9.1",
- "resolved": "https://registry.npmjs.org/lodash._getnative/-/lodash._getnative-3.9.1.tgz",
- "integrity": "sha512-RrL9VxMEPyDMHOd9uFbvMe8X55X16/cGM5IgOKgRElQZutpX89iS6vwl64duTV1/16w5JY7tuFNXqoekmh1EmA==",
- "dev": true
- },
- "node_modules/lodash._isiterateecall": {
- "version": "3.0.9",
- "resolved": "https://registry.npmjs.org/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz",
- "integrity": "sha512-De+ZbrMu6eThFti/CSzhRvTKMgQToLxbij58LMfM8JnYDNSOjkjTCIaa8ixglOeGh2nyPlakbt5bJWJ7gvpYlQ==",
- "dev": true
- },
- "node_modules/lodash._reescape": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/lodash._reescape/-/lodash._reescape-3.0.0.tgz",
- "integrity": "sha512-Sjlavm5y+FUVIF3vF3B75GyXrzsfYV8Dlv3L4mEpuB9leg8N6yf/7rU06iLPx9fY0Mv3khVp9p7Dx0mGV6V5OQ==",
- "dev": true
- },
- "node_modules/lodash._reevaluate": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/lodash._reevaluate/-/lodash._reevaluate-3.0.0.tgz",
- "integrity": "sha512-OrPwdDc65iJiBeUe5n/LIjd7Viy99bKwDdk7Z5ljfZg0uFRFlfQaCy9tZ4YMAag9WAZmlVpe1iZrkIMMSMHD3w==",
- "dev": true
- },
- "node_modules/lodash._reinterpolate": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz",
- "integrity": "sha512-xYHt68QRoYGjeeM/XOE1uJtvXQAgvszfBhjV4yvsQH0u2i9I6cI6c6/eG4Hh3UAOVn0y/xAXwmTzEay49Q//HA==",
- "dev": true
- },
- "node_modules/lodash._root": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/lodash._root/-/lodash._root-3.0.1.tgz",
- "integrity": "sha512-O0pWuFSK6x4EXhM1dhZ8gchNtG7JMqBtrHdoUFUWXD7dJnNSUze1GuyQr5sOs0aCvgGeI3o/OJW8f4ca7FDxmQ==",
- "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
- },
- "node_modules/lodash.defaults": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz",
- "integrity": "sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ==",
- "dev": true
- },
- "node_modules/lodash.escape": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-3.2.0.tgz",
- "integrity": "sha512-n1PZMXgaaDWZDSvuNZ/8XOcYO2hOKDqZel5adtR30VKQAtoWs/5AOeFA0vPV8moiPzlqe7F4cP2tzpFewQyelQ==",
- "dev": true,
- "dependencies": {
- "lodash._root": "^3.0.0"
- }
- },
- "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,
- "license": "MIT"
- },
- "node_modules/lodash.isarguments": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz",
- "integrity": "sha512-chi4NHZlZqZD18a0imDHnZPrDeBbTtVN7GXMwuGdRH9qotxAjYs3aVLKc7zNOG9eddR5Ksd8rvFEBc9SsggPpg==",
- "dev": true
- },
- "node_modules/lodash.isarray": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-3.0.4.tgz",
- "integrity": "sha512-JwObCrNJuT0Nnbuecmqr5DgtuBppuCvGD9lxjFpAzwnVtdGoDQ1zig+5W8k5/6Gcn0gZ3936HDAlGd28i7sOGQ==",
- "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,
- "license": "MIT"
- },
- "node_modules/lodash.keys": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz",
- "integrity": "sha512-CuBsapFjcubOGMn3VD+24HOAPxM79tH+V6ivJL3CHYjtrawauDJHUk//Yew9Hvc6e9rbCrURGk8z6PC+8WJBfQ==",
- "dev": true,
- "dependencies": {
- "lodash._getnative": "^3.0.0",
- "lodash.isarguments": "^3.0.0",
- "lodash.isarray": "^3.0.0"
- }
- },
- "node_modules/lodash.omit": {
- "version": "4.18.0",
- "resolved": "https://registry.npmjs.org/lodash.omit/-/lodash.omit-4.18.0.tgz",
- "integrity": "sha512-hZXIupXdHtocTnvIJ2aCd2vxKYtxex6gbiGuPvgBRnFQO9yu3AtmDAbVuCXcSsQx3INo/1g71OktlFFA/ES8Xg==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/lodash.restparam": {
- "version": "3.6.1",
- "resolved": "https://registry.npmjs.org/lodash.restparam/-/lodash.restparam-3.6.1.tgz",
- "integrity": "sha512-L4/arjjuq4noiUJpt3yS6KIKDtJwNe2fIYgMqyYYKoeIfV1iEqvPwhCx23o+R9dzouGihDAPN1dTIRWa7zk8tw==",
- "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
- },
- "node_modules/lodash.template": {
- "version": "3.6.2",
- "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-3.6.2.tgz",
- "integrity": "sha512-0B4Y53I0OgHUJkt+7RmlDFWKjVAI/YUpWNiL9GQz5ORDr4ttgfQGo+phBWKFLJbBdtOwgMuUkdOHOnPg45jKmQ==",
- "dev": true,
- "dependencies": {
- "lodash._basecopy": "^3.0.0",
- "lodash._basetostring": "^3.0.0",
- "lodash._basevalues": "^3.0.0",
- "lodash._isiterateecall": "^3.0.0",
- "lodash._reinterpolate": "^3.0.0",
- "lodash.escape": "^3.0.0",
- "lodash.keys": "^3.0.0",
- "lodash.restparam": "^3.0.0",
- "lodash.templatesettings": "^3.0.0"
- }
- },
- "node_modules/lodash.templatesettings": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-3.1.1.tgz",
- "integrity": "sha512-TcrlEr31tDYnWkHFWDCV3dHYroKEXpJZ2YJYvJdhN+y4AkWMDZ5I4I8XDtUKqSAyG81N7w+I1mFEJtcED+tGqQ==",
- "dev": true,
- "dependencies": {
- "lodash._reinterpolate": "^3.0.0",
- "lodash.escape": "^3.0.0"
- }
- },
- "node_modules/log-driver": {
- "version": "1.2.7",
- "resolved": "https://registry.npmjs.org/log-driver/-/log-driver-1.2.7.tgz",
- "integrity": "sha512-U7KCmLdqsGHBLeWqYlFA0V0Sl6P08EE1ZrmA9cxjUE0WVqT9qnyVDPz1kzpFEP0jdJuFnasWIfSd7fsaNXkpbg==",
- "dev": true,
- "engines": {
- "node": ">=0.8.6"
- }
- },
- "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"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/log-update": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/log-update/-/log-update-6.1.0.tgz",
- "integrity": "sha512-9ie8ItPR6tjY5uYJh8K/Zrv/RMZ5VOlOWvtZdEHYSTFKZfIBPQa9tOAEeAWhd+AnIneLJ22w5fjOYtoutpWq5w==",
- "dev": true,
+ "node_modules/load-esm": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/load-esm/-/load-esm-1.0.3.tgz",
+ "integrity": "sha512-v5xlu8eHD1+6r8EHTg6hfmO97LN8ugKtiXcy5e6oN72iD2r6u0RPfLl6fxM+7Wnh2ZRq15o0russMst44WauPA==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/Borewit"
+ },
+ {
+ "type": "buymeacoffee",
+ "url": "https://buymeacoffee.com/borewit"
+ }
+ ],
"license": "MIT",
- "dependencies": {
- "ansi-escapes": "^7.0.0",
- "cli-cursor": "^5.0.0",
- "slice-ansi": "^7.1.0",
- "strip-ansi": "^7.1.0",
- "wrap-ansi": "^9.0.0"
- },
"engines": {
- "node": ">=18"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "node": ">=13.2.0"
}
},
- "node_modules/log-update/node_modules/ansi-escapes": {
- "version": "7.1.1",
- "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-7.1.1.tgz",
- "integrity": "sha512-Zhl0ErHcSRUaVfGUeUdDuLgpkEo8KIFjB4Y9uAc46ScOpdDiU1Dbyplh7qWJeJ/ZHpbyMSM26+X3BySgnIz40Q==",
+ "node_modules/load-json-file": {
+ "version": "6.2.0",
+ "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-6.2.0.tgz",
+ "integrity": "sha512-gUD/epcRms75Cw8RT1pUdHugZYM5ce64ucs2GEISABwkRsOQr0q2wm/MV2TKThycIe5e0ytRweW2RZxclogCdQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "environment": "^1.0.0"
+ "graceful-fs": "^4.1.15",
+ "parse-json": "^5.0.0",
+ "strip-bom": "^4.0.0",
+ "type-fest": "^0.6.0"
},
"engines": {
- "node": ">=18"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "node": ">=8"
}
},
- "node_modules/log-update/node_modules/ansi-regex": {
- "version": "6.2.2",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz",
- "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==",
+ "node_modules/lodash": {
+ "version": "4.18.1",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.18.1.tgz",
+ "integrity": "sha512-dMInicTPVE8d1e5otfwmmjlxkZoUpiVLwyeTdUsi/Caj/gfzzblBcCE5sRHV/AsjuCmxWrte2TNGSYuCeCq+0Q==",
"dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-regex?sponsor=1"
- }
+ "license": "MIT"
},
- "node_modules/log-update/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==",
+ "node_modules/lodash._basecopy": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz",
+ "integrity": "sha512-rFR6Vpm4HeCK1WPGvjZSJ+7yik8d8PVUdCJx5rT2pogG4Ve/2ZS7kfmO5l5T2o5V2mqlNIfSF5MZlr1+xOoYQQ==",
"dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
- }
+ "license": "MIT"
},
- "node_modules/log-update/node_modules/emoji-regex": {
- "version": "10.6.0",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.6.0.tgz",
- "integrity": "sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==",
+ "node_modules/lodash._basetostring": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/lodash._basetostring/-/lodash._basetostring-3.0.1.tgz",
+ "integrity": "sha512-mTzAr1aNAv/i7W43vOR/uD/aJ4ngbtsRaCubp2BfZhlGU/eORUjg/7F6X0orNMdv33JOrdgGybtvMN/po3EWrA==",
"dev": true,
"license": "MIT"
},
- "node_modules/log-update/node_modules/string-width": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz",
- "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==",
+ "node_modules/lodash._basevalues": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/lodash._basevalues/-/lodash._basevalues-3.0.0.tgz",
+ "integrity": "sha512-H94wl5P13uEqlCg7OcNNhMQ8KvWSIyqXzOPusRgHC9DK3o54P6P3xtbXlVbRABG4q5gSmp7EDdJ0MSuW9HX6Mg==",
"dev": true,
- "license": "MIT",
- "dependencies": {
- "emoji-regex": "^10.3.0",
- "get-east-asian-width": "^1.0.0",
- "strip-ansi": "^7.1.0"
- },
- "engines": {
- "node": ">=18"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
+ "license": "MIT"
},
- "node_modules/log-update/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==",
+ "node_modules/lodash._getnative": {
+ "version": "3.9.1",
+ "resolved": "https://registry.npmjs.org/lodash._getnative/-/lodash._getnative-3.9.1.tgz",
+ "integrity": "sha512-RrL9VxMEPyDMHOd9uFbvMe8X55X16/cGM5IgOKgRElQZutpX89iS6vwl64duTV1/16w5JY7tuFNXqoekmh1EmA==",
"dev": true,
- "license": "MIT",
- "dependencies": {
- "ansi-regex": "^6.0.1"
- },
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/chalk/strip-ansi?sponsor=1"
- }
+ "license": "MIT"
},
- "node_modules/log-update/node_modules/wrap-ansi": {
- "version": "9.0.2",
- "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.2.tgz",
- "integrity": "sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww==",
+ "node_modules/lodash._isiterateecall": {
+ "version": "3.0.9",
+ "resolved": "https://registry.npmjs.org/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz",
+ "integrity": "sha512-De+ZbrMu6eThFti/CSzhRvTKMgQToLxbij58LMfM8JnYDNSOjkjTCIaa8ixglOeGh2nyPlakbt5bJWJ7gvpYlQ==",
"dev": true,
- "license": "MIT",
- "dependencies": {
- "ansi-styles": "^6.2.1",
- "string-width": "^7.0.0",
- "strip-ansi": "^7.1.0"
- },
- "engines": {
- "node": ">=18"
- },
- "funding": {
- "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
- }
+ "license": "MIT"
},
- "node_modules/loglevel": {
- "version": "1.9.2",
- "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.9.2.tgz",
- "integrity": "sha512-HgMmCqIJSAKqo68l0rS2AanEWfkxaZ5wNiEFb5ggm08lDs9Xl2KxBlX3PTcaD2chBM1gXAYf491/M2Rv8Jwayg==",
+ "node_modules/lodash._reescape": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/lodash._reescape/-/lodash._reescape-3.0.0.tgz",
+ "integrity": "sha512-Sjlavm5y+FUVIF3vF3B75GyXrzsfYV8Dlv3L4mEpuB9leg8N6yf/7rU06iLPx9fY0Mv3khVp9p7Dx0mGV6V5OQ==",
"dev": true,
- "engines": {
- "node": ">= 0.6.0"
- },
- "funding": {
- "type": "tidelift",
- "url": "https://tidelift.com/funding/github/npm/loglevel"
- }
- },
- "node_modules/long": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz",
- "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==",
- "dev": true
+ "license": "MIT"
},
- "node_modules/loupe": {
- "version": "2.3.7",
- "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.7.tgz",
- "integrity": "sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==",
+ "node_modules/lodash._reevaluate": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/lodash._reevaluate/-/lodash._reevaluate-3.0.0.tgz",
+ "integrity": "sha512-OrPwdDc65iJiBeUe5n/LIjd7Viy99bKwDdk7Z5ljfZg0uFRFlfQaCy9tZ4YMAag9WAZmlVpe1iZrkIMMSMHD3w==",
"dev": true,
- "license": "MIT",
- "dependencies": {
- "get-func-name": "^2.0.1"
- }
+ "license": "MIT"
},
- "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==",
+ "node_modules/lodash._reinterpolate": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz",
+ "integrity": "sha512-xYHt68QRoYGjeeM/XOE1uJtvXQAgvszfBhjV4yvsQH0u2i9I6cI6c6/eG4Hh3UAOVn0y/xAXwmTzEay49Q//HA==",
"dev": true,
- "license": "BlueOak-1.0.0",
- "engines": {
- "node": "20 || >=22"
- }
+ "license": "MIT"
},
- "node_modules/lru-queue": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/lru-queue/-/lru-queue-0.1.0.tgz",
- "integrity": "sha512-BpdYkt9EvGl8OfWHDQPISVpcl5xZthb+XPsbELj5AQXxIC8IriDZIQYjBJPEm5rS420sjZ0TLEzRcq5KdBhYrQ==",
+ "node_modules/lodash._root": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/lodash._root/-/lodash._root-3.0.1.tgz",
+ "integrity": "sha512-O0pWuFSK6x4EXhM1dhZ8gchNtG7JMqBtrHdoUFUWXD7dJnNSUze1GuyQr5sOs0aCvgGeI3o/OJW8f4ca7FDxmQ==",
"dev": true,
- "dependencies": {
- "es5-ext": "~0.10.2"
- }
+ "license": "MIT"
},
- "node_modules/lru.min": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/lru.min/-/lru.min-1.1.4.tgz",
- "integrity": "sha512-DqC6n3QQ77zdFpCMASA1a3Jlb64Hv2N2DciFGkO/4L9+q/IpIAuRlKOvCXabtRW6cQf8usbmM6BE/TOPysCdIA==",
+ "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,
- "license": "MIT",
- "engines": {
- "bun": ">=1.0.0",
- "deno": ">=1.30.0",
- "node": ">=8.0.0"
- },
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/wellwelwel"
- }
+ "license": "MIT"
},
- "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==",
+ "node_modules/lodash.defaults": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz",
+ "integrity": "sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ==",
"dev": true,
- "license": "MIT",
- "dependencies": {
- "semver": "^7.5.3"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/make-error": {
- "version": "1.3.6",
- "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz",
- "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==",
- "dev": true
+ "license": "MIT"
},
- "node_modules/make-fetch-happen": {
- "version": "15.0.2",
- "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-15.0.2.tgz",
- "integrity": "sha512-sI1NY4lWlXBAfjmCtVWIIpBypbBdhHtcjnwnv+gtCnsaOffyFil3aidszGC8hgzJe+fT1qix05sWxmD/Bmf/oQ==",
+ "node_modules/lodash.escape": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-3.2.0.tgz",
+ "integrity": "sha512-n1PZMXgaaDWZDSvuNZ/8XOcYO2hOKDqZel5adtR30VKQAtoWs/5AOeFA0vPV8moiPzlqe7F4cP2tzpFewQyelQ==",
"dev": true,
- "license": "ISC",
+ "license": "MIT",
"dependencies": {
- "@npmcli/agent": "^4.0.0",
- "cacache": "^20.0.1",
- "http-cache-semantics": "^4.1.1",
- "minipass": "^7.0.2",
- "minipass-fetch": "^4.0.0",
- "minipass-flush": "^1.0.5",
- "minipass-pipeline": "^1.2.4",
- "negotiator": "^1.0.0",
- "proc-log": "^5.0.0",
- "promise-retry": "^2.0.1",
- "ssri": "^12.0.0"
- },
- "engines": {
- "node": "^20.17.0 || >=22.9.0"
+ "lodash._root": "^3.0.0"
}
},
- "node_modules/make-fetch-happen/node_modules/negotiator": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-1.0.0.tgz",
- "integrity": "sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==",
+ "node_modules/lodash.isarguments": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz",
+ "integrity": "sha512-chi4NHZlZqZD18a0imDHnZPrDeBbTtVN7GXMwuGdRH9qotxAjYs3aVLKc7zNOG9eddR5Ksd8rvFEBc9SsggPpg==",
"dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 0.6"
- }
+ "license": "MIT"
},
- "node_modules/map-cache": {
- "version": "0.2.2",
- "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz",
- "integrity": "sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==",
+ "node_modules/lodash.isarray": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-3.0.4.tgz",
+ "integrity": "sha512-JwObCrNJuT0Nnbuecmqr5DgtuBppuCvGD9lxjFpAzwnVtdGoDQ1zig+5W8k5/6Gcn0gZ3936HDAlGd28i7sOGQ==",
"dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
+ "license": "MIT"
},
- "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==",
+ "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,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
+ "license": "MIT"
},
- "node_modules/map-stream": {
- "version": "0.0.7",
- "resolved": "https://registry.npmjs.org/map-stream/-/map-stream-0.0.7.tgz",
- "integrity": "sha512-C0X0KQmGm3N2ftbTGBhSyuydQ+vV1LC3f3zPvT3RXHXNZrvfPZcoXp/N5DOa8vedX/rTMm2CjTtivFg2STJMRQ==",
- "dev": 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,
+ "license": "MIT"
},
- "node_modules/map-visit": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz",
- "integrity": "sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==",
+ "node_modules/lodash.keys": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz",
+ "integrity": "sha512-CuBsapFjcubOGMn3VD+24HOAPxM79tH+V6ivJL3CHYjtrawauDJHUk//Yew9Hvc6e9rbCrURGk8z6PC+8WJBfQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "object-visit": "^1.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
+ "lodash._getnative": "^3.0.0",
+ "lodash.isarguments": "^3.0.0",
+ "lodash.isarray": "^3.0.0"
}
},
- "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==",
+ "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,
- "dependencies": {
- "repeat-string": "^1.0.0"
- },
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/wooorm"
- }
+ "license": "MIT"
},
- "node_modules/math-intrinsics": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz",
- "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==",
- "license": "MIT",
- "engines": {
- "node": ">= 0.4"
- }
+ "node_modules/lodash.omit": {
+ "version": "4.18.0",
+ "resolved": "https://registry.npmjs.org/lodash.omit/-/lodash.omit-4.18.0.tgz",
+ "integrity": "sha512-hZXIupXdHtocTnvIJ2aCd2vxKYtxex6gbiGuPvgBRnFQO9yu3AtmDAbVuCXcSsQx3INo/1g71OktlFFA/ES8Xg==",
+ "dev": true,
+ "license": "MIT"
},
- "node_modules/math-random": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/math-random/-/math-random-1.0.4.tgz",
- "integrity": "sha512-rUxjysqif/BZQH2yhd5Aaq7vXMSx9NdEsQcyA07uEzIvxgI7zIr33gGsh+RU0/XjmQpCW7RsVof1vlkvQVCK5A==",
- "dev": true
+ "node_modules/lodash.restparam": {
+ "version": "3.6.1",
+ "resolved": "https://registry.npmjs.org/lodash.restparam/-/lodash.restparam-3.6.1.tgz",
+ "integrity": "sha512-L4/arjjuq4noiUJpt3yS6KIKDtJwNe2fIYgMqyYYKoeIfV1iEqvPwhCx23o+R9dzouGihDAPN1dTIRWa7zk8tw==",
+ "dev": true,
+ "license": "MIT"
},
- "node_modules/media-typer": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
- "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==",
+ "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,
- "engines": {
- "node": ">= 0.6"
- }
+ "license": "MIT"
},
- "node_modules/memoizee": {
- "version": "0.4.17",
- "resolved": "https://registry.npmjs.org/memoizee/-/memoizee-0.4.17.tgz",
- "integrity": "sha512-DGqD7Hjpi/1or4F/aYAspXKNm5Yili0QDAFAY4QYvpqpgiY6+1jOfqpmByzjxbWd/T9mChbCArXAbDAsTm5oXA==",
+ "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,
- "dependencies": {
- "d": "^1.0.2",
- "es5-ext": "^0.10.64",
- "es6-weak-map": "^2.0.3",
- "event-emitter": "^0.3.5",
- "is-promise": "^2.2.2",
- "lru-queue": "^0.1.0",
- "next-tick": "^1.1.0",
- "timers-ext": "^0.1.7"
- },
- "engines": {
- "node": ">=0.12"
- }
+ "license": "MIT"
},
- "node_modules/memory-pager": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/memory-pager/-/memory-pager-1.5.0.tgz",
- "integrity": "sha512-ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg==",
+ "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,
"license": "MIT"
},
- "node_modules/meow": {
- "version": "13.2.0",
- "resolved": "https://registry.npmjs.org/meow/-/meow-13.2.0.tgz",
- "integrity": "sha512-pxQJQzB6djGPXh08dacEloMFopsOqGVRKFPYvPOt9XDZ1HasbgDZA74CJGreSU4G3Ak7EFJGoiH2auq+yXISgA==",
+ "node_modules/lodash.template": {
+ "version": "3.6.2",
+ "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-3.6.2.tgz",
+ "integrity": "sha512-0B4Y53I0OgHUJkt+7RmlDFWKjVAI/YUpWNiL9GQz5ORDr4ttgfQGo+phBWKFLJbBdtOwgMuUkdOHOnPg45jKmQ==",
+ "deprecated": "This package is deprecated. Use https://socket.dev/npm/package/eta instead.",
"dev": true,
"license": "MIT",
- "engines": {
- "node": ">=18"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "dependencies": {
+ "lodash._basecopy": "^3.0.0",
+ "lodash._basetostring": "^3.0.0",
+ "lodash._basevalues": "^3.0.0",
+ "lodash._isiterateecall": "^3.0.0",
+ "lodash._reinterpolate": "^3.0.0",
+ "lodash.escape": "^3.0.0",
+ "lodash.keys": "^3.0.0",
+ "lodash.restparam": "^3.0.0",
+ "lodash.templatesettings": "^3.0.0"
}
},
- "node_modules/merge-descriptors": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-2.0.0.tgz",
- "integrity": "sha512-Snk314V5ayFLhp3fkUREub6WtjBfPdCPY1Ln8/8munuLuiYhsABgBVWsozAG+MWMbVEvcdcpbi9R7ww22l9Q3g==",
- "engines": {
- "node": ">=18"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "node_modules/lodash.templatesettings": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-3.1.1.tgz",
+ "integrity": "sha512-TcrlEr31tDYnWkHFWDCV3dHYroKEXpJZ2YJYvJdhN+y4AkWMDZ5I4I8XDtUKqSAyG81N7w+I1mFEJtcED+tGqQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "lodash._reinterpolate": "^3.0.0",
+ "lodash.escape": "^3.0.0"
}
},
- "node_modules/merge-stream": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz",
- "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==",
- "dev": 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,
+ "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==",
+ "node_modules/log-driver": {
+ "version": "1.2.7",
+ "resolved": "https://registry.npmjs.org/log-driver/-/log-driver-1.2.7.tgz",
+ "integrity": "sha512-U7KCmLdqsGHBLeWqYlFA0V0Sl6P08EE1ZrmA9cxjUE0WVqT9qnyVDPz1kzpFEP0jdJuFnasWIfSd7fsaNXkpbg==",
"dev": true,
+ "license": "ISC",
"engines": {
- "node": ">= 8"
+ "node": ">=0.8.6"
}
},
- "node_modules/methods": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
- "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==",
+ "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"
+ },
"engines": {
- "node": ">= 0.6"
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/micromatch": {
- "version": "4.0.8",
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz",
- "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==",
+ "node_modules/log-update": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/log-update/-/log-update-6.1.0.tgz",
+ "integrity": "sha512-9ie8ItPR6tjY5uYJh8K/Zrv/RMZ5VOlOWvtZdEHYSTFKZfIBPQa9tOAEeAWhd+AnIneLJ22w5fjOYtoutpWq5w==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "braces": "^3.0.3",
- "picomatch": "^2.3.1"
+ "ansi-escapes": "^7.0.0",
+ "cli-cursor": "^5.0.0",
+ "slice-ansi": "^7.1.0",
+ "strip-ansi": "^7.1.0",
+ "wrap-ansi": "^9.0.0"
},
"engines": {
- "node": ">=8.6"
+ "node": ">=18"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/micromatch/node_modules/picomatch": {
- "version": "2.3.2",
- "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.2.tgz",
- "integrity": "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==",
+ "node_modules/log-update/node_modules/ansi-regex": {
+ "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.6"
+ "node": ">=12"
},
"funding": {
- "url": "https://github.com/sponsors/jonschlinkert"
+ "url": "https://github.com/chalk/ansi-regex?sponsor=1"
}
},
- "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==",
+ "node_modules/log-update/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,
+ "license": "MIT",
"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==",
- "dependencies": {
- "mime-db": "1.52.0"
+ "node": ">=12"
},
- "engines": {
- "node": ">= 0.6"
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
}
},
- "node_modules/mimic-fn": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
- "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
+ "node_modules/log-update/node_modules/emoji-regex": {
+ "version": "10.6.0",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.6.0.tgz",
+ "integrity": "sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==",
"dev": true,
- "engines": {
- "node": ">=6"
- }
+ "license": "MIT"
},
- "node_modules/mimic-function": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/mimic-function/-/mimic-function-5.0.1.tgz",
- "integrity": "sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==",
+ "node_modules/log-update/node_modules/slice-ansi": {
+ "version": "7.1.2",
+ "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-7.1.2.tgz",
+ "integrity": "sha512-iOBWFgUX7caIZiuutICxVgX1SdxwAVFFKwt1EvMYYec/NWO5meOJ6K5uQxhrYBdQJne4KxiqZc+KptFOWFSI9w==",
"dev": true,
"license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^6.2.1",
+ "is-fullwidth-code-point": "^5.0.0"
+ },
"engines": {
"node": ">=18"
},
"funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "url": "https://github.com/chalk/slice-ansi?sponsor=1"
}
},
- "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==",
+ "node_modules/log-update/node_modules/string-width": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz",
+ "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==",
"dev": true,
"license": "MIT",
+ "dependencies": {
+ "emoji-regex": "^10.3.0",
+ "get-east-asian-width": "^1.0.0",
+ "strip-ansi": "^7.1.0"
+ },
"engines": {
- "node": ">=4"
+ "node": ">=18"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/minimatch": {
- "version": "3.1.5",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz",
- "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==",
+ "node_modules/log-update/node_modules/strip-ansi": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.2.0.tgz",
+ "integrity": "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==",
"dev": true,
- "license": "ISC",
+ "license": "MIT",
"dependencies": {
- "brace-expansion": "^1.1.7"
+ "ansi-regex": "^6.2.2"
},
"engines": {
- "node": "*"
- }
- },
- "node_modules/minimist": {
- "version": "1.2.8",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz",
- "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==",
- "dev": true,
+ "node": ">=12"
+ },
"funding": {
- "url": "https://github.com/sponsors/ljharb"
+ "url": "https://github.com/chalk/strip-ansi?sponsor=1"
}
},
- "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==",
+ "node_modules/log-update/node_modules/wrap-ansi": {
+ "version": "9.0.2",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.2.tgz",
+ "integrity": "sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww==",
"dev": true,
"license": "MIT",
"dependencies": {
- "arrify": "^1.0.1",
- "is-plain-obj": "^1.1.0",
- "kind-of": "^6.0.3"
+ "ansi-styles": "^6.2.1",
+ "string-width": "^7.0.0",
+ "strip-ansi": "^7.1.0"
},
"engines": {
- "node": ">= 6"
+ "node": ">=18"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
}
},
- "node_modules/minimist-options/node_modules/arrify": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz",
- "integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==",
+ "node_modules/loglevel": {
+ "version": "1.9.2",
+ "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.9.2.tgz",
+ "integrity": "sha512-HgMmCqIJSAKqo68l0rS2AanEWfkxaZ5wNiEFb5ggm08lDs9Xl2KxBlX3PTcaD2chBM1gXAYf491/M2Rv8Jwayg==",
"dev": true,
"license": "MIT",
"engines": {
- "node": ">=0.10.0"
+ "node": ">= 0.6.0"
+ },
+ "funding": {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/loglevel"
}
},
- "node_modules/minimist-options/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/long": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz",
+ "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==",
"dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
+ "license": "Apache-2.0"
},
- "node_modules/minipass": {
- "version": "7.1.3",
- "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.3.tgz",
- "integrity": "sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A==",
+ "node_modules/lru-cache": {
+ "version": "11.2.7",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.7.tgz",
+ "integrity": "sha512-aY/R+aEsRelme17KGQa/1ZSIpLpNYYrhcrepKTZgE+W3WM16YMCaPwOHLHsmopZHELU0Ojin1lPVxKR0MihncA==",
"dev": true,
"license": "BlueOak-1.0.0",
"engines": {
- "node": ">=16 || 14 >=14.17"
+ "node": "20 || >=22"
}
},
- "node_modules/minipass-collect": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-2.0.1.tgz",
- "integrity": "sha512-D7V8PO9oaz7PWGLbCACuI1qEOsq7UKfLotx/C0Aet43fCUB/wfQ7DYeq2oR/svFJGYDHPr38SHATeaj/ZoKHKw==",
+ "node_modules/lru-queue": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/lru-queue/-/lru-queue-0.1.0.tgz",
+ "integrity": "sha512-BpdYkt9EvGl8OfWHDQPISVpcl5xZthb+XPsbELj5AQXxIC8IriDZIQYjBJPEm5rS420sjZ0TLEzRcq5KdBhYrQ==",
"dev": true,
- "license": "ISC",
+ "license": "MIT",
"dependencies": {
- "minipass": "^7.0.3"
- },
- "engines": {
- "node": ">=16 || 14 >=14.17"
+ "es5-ext": "~0.10.2"
}
},
- "node_modules/minipass-fetch": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-4.0.1.tgz",
- "integrity": "sha512-j7U11C5HXigVuutxebFadoYBbd7VSdZWggSe64NVdvWNBqGAiXPL2QVCehjmw7lY1oF9gOllYbORh+hiNgfPgQ==",
+ "node_modules/lru.min": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/lru.min/-/lru.min-1.1.4.tgz",
+ "integrity": "sha512-DqC6n3QQ77zdFpCMASA1a3Jlb64Hv2N2DciFGkO/4L9+q/IpIAuRlKOvCXabtRW6cQf8usbmM6BE/TOPysCdIA==",
"dev": true,
"license": "MIT",
- "dependencies": {
- "minipass": "^7.0.3",
- "minipass-sized": "^1.0.3",
- "minizlib": "^3.0.1"
- },
"engines": {
- "node": "^18.17.0 || >=20.5.0"
+ "bun": ">=1.0.0",
+ "deno": ">=1.30.0",
+ "node": ">=8.0.0"
},
- "optionalDependencies": {
- "encoding": "^0.1.13"
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wellwelwel"
}
},
- "node_modules/minipass-fetch/node_modules/minizlib": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-3.1.0.tgz",
- "integrity": "sha512-KZxYo1BUkWD2TVFLr0MQoM8vUUigWD3LlD83a/75BqC+4qE0Hb1Vo5v1FgcfaNXvfXzr+5EhQ6ing/CaBijTlw==",
+ "node_modules/magic-string": {
+ "version": "0.30.21",
+ "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz",
+ "integrity": "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "minipass": "^7.1.2"
- },
- "engines": {
- "node": ">= 18"
+ "@jridgewell/sourcemap-codec": "^1.5.5"
}
},
- "node_modules/minipass-flush": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz",
- "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==",
+ "node_modules/magicast": {
+ "version": "0.5.2",
+ "resolved": "https://registry.npmjs.org/magicast/-/magicast-0.5.2.tgz",
+ "integrity": "sha512-E3ZJh4J3S9KfwdjZhe2afj6R9lGIN5Pher1pF39UGrXRqq/VDaGVIGN13BjHd2u8B61hArAGOnso7nBOouW3TQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "minipass": "^3.0.0"
- },
- "engines": {
- "node": ">= 8"
+ "@babel/parser": "^7.29.0",
+ "@babel/types": "^7.29.0",
+ "source-map-js": "^1.2.1"
}
},
- "node_modules/minipass-flush/node_modules/minipass": {
- "version": "3.3.6",
- "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz",
- "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==",
+ "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": {
- "yallist": "^4.0.0"
+ "semver": "^7.5.3"
},
"engines": {
- "node": ">=8"
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/minipass-pipeline": {
- "version": "1.2.4",
- "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz",
- "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==",
+ "node_modules/make-error": {
+ "version": "1.3.6",
+ "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz",
+ "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==",
"dev": true,
- "dependencies": {
- "minipass": "^3.0.0"
- },
- "engines": {
- "node": ">=8"
- }
+ "license": "ISC"
},
- "node_modules/minipass-pipeline/node_modules/minipass": {
- "version": "3.3.6",
- "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz",
- "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==",
+ "node_modules/make-fetch-happen": {
+ "version": "15.0.2",
+ "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-15.0.2.tgz",
+ "integrity": "sha512-sI1NY4lWlXBAfjmCtVWIIpBypbBdhHtcjnwnv+gtCnsaOffyFil3aidszGC8hgzJe+fT1qix05sWxmD/Bmf/oQ==",
"dev": true,
+ "license": "ISC",
"dependencies": {
- "yallist": "^4.0.0"
+ "@npmcli/agent": "^4.0.0",
+ "cacache": "^20.0.1",
+ "http-cache-semantics": "^4.1.1",
+ "minipass": "^7.0.2",
+ "minipass-fetch": "^4.0.0",
+ "minipass-flush": "^1.0.5",
+ "minipass-pipeline": "^1.2.4",
+ "negotiator": "^1.0.0",
+ "proc-log": "^5.0.0",
+ "promise-retry": "^2.0.1",
+ "ssri": "^12.0.0"
},
"engines": {
- "node": ">=8"
+ "node": "^20.17.0 || >=22.9.0"
}
},
- "node_modules/minipass-sized": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz",
- "integrity": "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==",
+ "node_modules/map-cache": {
+ "version": "0.2.2",
+ "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz",
+ "integrity": "sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==",
"dev": true,
- "dependencies": {
- "minipass": "^3.0.0"
- },
+ "license": "MIT",
"engines": {
- "node": ">=8"
+ "node": ">=0.10.0"
}
},
- "node_modules/minipass-sized/node_modules/minipass": {
- "version": "3.3.6",
- "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz",
- "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==",
+ "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,
- "dependencies": {
- "yallist": "^4.0.0"
- },
+ "license": "MIT",
"engines": {
"node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/minizlib": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz",
- "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==",
+ "node_modules/map-stream": {
+ "version": "0.0.7",
+ "resolved": "https://registry.npmjs.org/map-stream/-/map-stream-0.0.7.tgz",
+ "integrity": "sha512-C0X0KQmGm3N2ftbTGBhSyuydQ+vV1LC3f3zPvT3RXHXNZrvfPZcoXp/N5DOa8vedX/rTMm2CjTtivFg2STJMRQ==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/map-visit": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz",
+ "integrity": "sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "minipass": "^3.0.0",
- "yallist": "^4.0.0"
+ "object-visit": "^1.0.0"
},
"engines": {
- "node": ">= 8"
+ "node": ">=0.10.0"
}
},
- "node_modules/minizlib/node_modules/minipass": {
- "version": "3.3.6",
- "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz",
- "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==",
+ "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": {
- "yallist": "^4.0.0"
+ "repeat-string": "^1.0.0"
},
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/math-intrinsics": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz",
+ "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==",
+ "license": "MIT",
"engines": {
- "node": ">=8"
+ "node": ">= 0.4"
}
},
- "node_modules/mixin-deep": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz",
- "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==",
+ "node_modules/math-random": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/math-random/-/math-random-1.0.4.tgz",
+ "integrity": "sha512-rUxjysqif/BZQH2yhd5Aaq7vXMSx9NdEsQcyA07uEzIvxgI7zIr33gGsh+RU0/XjmQpCW7RsVof1vlkvQVCK5A==",
"dev": true,
- "dependencies": {
- "for-in": "^1.0.2",
- "is-extendable": "^1.0.1"
- },
+ "license": "MIT"
+ },
+ "node_modules/media-typer": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-1.1.0.tgz",
+ "integrity": "sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw==",
+ "license": "MIT",
"engines": {
- "node": ">=0.10.0"
+ "node": ">= 0.8"
}
},
- "node_modules/mocha": {
- "version": "11.7.6",
- "resolved": "https://registry.npmjs.org/mocha/-/mocha-11.7.6.tgz",
- "integrity": "sha512-nS9xOGbw2I3cjCpxwZAEJ9xK9lmJ08vEkQvLtz4du9ZrF9UrjRpeJGiIgl2Z+Qs++pmB4ecDe48Fwsh+j+j7xA==",
+ "node_modules/memoizee": {
+ "version": "0.4.17",
+ "resolved": "https://registry.npmjs.org/memoizee/-/memoizee-0.4.17.tgz",
+ "integrity": "sha512-DGqD7Hjpi/1or4F/aYAspXKNm5Yili0QDAFAY4QYvpqpgiY6+1jOfqpmByzjxbWd/T9mChbCArXAbDAsTm5oXA==",
"dev": true,
- "license": "MIT",
+ "license": "ISC",
"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"
+ "d": "^1.0.2",
+ "es5-ext": "^0.10.64",
+ "es6-weak-map": "^2.0.3",
+ "event-emitter": "^0.3.5",
+ "is-promise": "^2.2.2",
+ "lru-queue": "^0.1.0",
+ "next-tick": "^1.1.0",
+ "timers-ext": "^0.1.7"
},
"engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ "node": ">=0.12"
}
},
- "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==",
+ "node_modules/memory-pager": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/memory-pager/-/memory-pager-1.5.0.tgz",
+ "integrity": "sha512-ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg==",
"dev": true,
- "license": "Python-2.0"
+ "license": "MIT"
},
- "node_modules/mocha/node_modules/brace-expansion": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.1.0.tgz",
- "integrity": "sha512-TN1kCZAgdgweJhWWpgKYrQaMNHcDULHkWwQIspdtjV4Y5aurRdZpjAqn6yX3FPqTA9ngHCc4hJxMAMgGfve85w==",
+ "node_modules/meow": {
+ "version": "13.2.0",
+ "resolved": "https://registry.npmjs.org/meow/-/meow-13.2.0.tgz",
+ "integrity": "sha512-pxQJQzB6djGPXh08dacEloMFopsOqGVRKFPYvPOt9XDZ1HasbgDZA74CJGreSU4G3Ak7EFJGoiH2auq+yXISgA==",
"dev": true,
"license": "MIT",
- "dependencies": {
- "balanced-match": "^1.0.0"
+ "engines": {
+ "node": ">=18"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/mocha/node_modules/debug": {
- "version": "4.4.3",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz",
- "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==",
- "dev": true,
+ "node_modules/merge-descriptors": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-2.0.0.tgz",
+ "integrity": "sha512-Snk314V5ayFLhp3fkUREub6WtjBfPdCPY1Ln8/8munuLuiYhsABgBVWsozAG+MWMbVEvcdcpbi9R7ww22l9Q3g==",
"license": "MIT",
- "dependencies": {
- "ms": "^2.1.3"
- },
"engines": {
- "node": ">=6.0"
+ "node": ">=18"
},
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/mocha/node_modules/diff": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/diff/-/diff-7.0.0.tgz",
- "integrity": "sha512-PJWHUb1RFevKCwaFA9RlG5tCd+FO5iRh9A8HEtkmBH2Li03iJriB6m6JIN4rGz3K3JLawI7/veA1xzRKP6ISBw==",
+ "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,
- "license": "BSD-3-Clause",
- "engines": {
- "node": ">=0.3.1"
- }
+ "license": "MIT"
},
- "node_modules/mocha/node_modules/escape-string-regexp": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
- "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
+ "node_modules/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": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "node": ">= 8"
}
},
- "node_modules/mocha/node_modules/glob": {
- "version": "10.5.0",
- "resolved": "https://registry.npmjs.org/glob/-/glob-10.5.0.tgz",
- "integrity": "sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg==",
- "deprecated": "Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me",
+ "node_modules/methods": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
+ "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==",
"dev": true,
- "license": "ISC",
- "dependencies": {
- "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"
- },
- "bin": {
- "glob": "dist/esm/bin.mjs"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.6"
}
},
- "node_modules/mocha/node_modules/js-yaml": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz",
- "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==",
+ "node_modules/micromatch": {
+ "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": {
- "argparse": "^2.0.1"
+ "braces": "^3.0.3",
+ "picomatch": "^2.3.1"
},
- "bin": {
- "js-yaml": "bin/js-yaml.js"
+ "engines": {
+ "node": ">=8.6"
}
},
- "node_modules/mocha/node_modules/minimatch": {
- "version": "9.0.9",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.9.tgz",
- "integrity": "sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg==",
+ "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": "ISC",
- "dependencies": {
- "brace-expansion": "^2.0.2"
+ "license": "MIT",
+ "bin": {
+ "mime": "cli.js"
},
"engines": {
- "node": ">=16 || 14 >=14.17"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
+ "node": ">=10.0.0"
}
},
- "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,
- "license": "MIT"
+ "node_modules/mime-db": {
+ "version": "1.54.0",
+ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.54.0.tgz",
+ "integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.6"
+ }
},
- "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,
+ "node_modules/mime-types": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-3.0.2.tgz",
+ "integrity": "sha512-Lbgzdk0h4juoQ9fCKXW4by0UJqj+nOOrI9MJ1sSj4nI8aI2eo1qmvQEie4VD1glsS250n15LsWsYtCugiStS5A==",
"license": "MIT",
"dependencies": {
- "has-flag": "^4.0.0"
+ "mime-db": "^1.54.0"
},
"engines": {
- "node": ">=10"
+ "node": ">=18"
},
"funding": {
- "url": "https://github.com/chalk/supports-color?sponsor=1"
+ "type": "opencollective",
+ "url": "https://opencollective.com/express"
}
},
- "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==",
+ "node_modules/mimic-fn": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
+ "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
"dev": true,
"license": "MIT",
"engines": {
- "node": ">=0.10.0"
+ "node": ">=6"
}
},
- "node_modules/mongoose": {
- "version": "9.6.2",
- "resolved": "https://registry.npmjs.org/mongoose/-/mongoose-9.6.2.tgz",
- "integrity": "sha512-7m8HntjkoRnwEmuPC0kdlwcZXJOQf4twumFj+PNzg/anqqZE2Er7hQslqyzy07mP3JcFjoTSgH5765PyqOXsxw==",
+ "node_modules/mimic-function": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/mimic-function/-/mimic-function-5.0.1.tgz",
+ "integrity": "sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==",
"dev": true,
"license": "MIT",
- "dependencies": {
- "kareem": "3.3.0",
- "mongodb": "~7.2",
- "mpath": "0.9.0",
- "mquery": "6.0.0",
- "ms": "2.1.3",
- "sift": "17.1.3"
- },
"engines": {
- "node": ">=20.19.0"
+ "node": ">=18"
},
"funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/mongoose"
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/mongoose/node_modules/@types/whatwg-url": {
- "version": "13.0.0",
- "resolved": "https://registry.npmjs.org/@types/whatwg-url/-/whatwg-url-13.0.0.tgz",
- "integrity": "sha512-N8WXpbE6Wgri7KUSvrmQcqrMllKZ9uxkYWMt+mCSGwNc0Hsw9VQTW7ApqI4XNrx6/SaM2QQJCzMPDEXE058s+Q==",
+ "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,
"license": "MIT",
- "dependencies": {
- "@types/webidl-conversions": "*"
- }
- },
- "node_modules/mongoose/node_modules/bson": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/bson/-/bson-7.2.0.tgz",
- "integrity": "sha512-YCEo7KjMlbNlyHhz7zAZNDpIpQbd+wOEHJYezv0nMYTn4x31eIUM2yomNNubclAt63dObUzKHWsBLJ9QcZNSnQ==",
- "dev": true,
- "license": "Apache-2.0",
"engines": {
- "node": ">=20.19.0"
+ "node": ">=4"
}
},
- "node_modules/mongoose/node_modules/mongodb": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-7.2.0.tgz",
- "integrity": "sha512-F/2+BMZtLVhY30ioZp0dAmZ+IRZMBqI+nrv6t5+9/1AIwCa8sMRC3jBf81lpxMhnZgqq8CoUD503Z1oZWq1/sw==",
+ "node_modules/minimatch": {
+ "version": "3.1.5",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz",
+ "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==",
"dev": true,
- "license": "Apache-2.0",
+ "license": "ISC",
"dependencies": {
- "@mongodb-js/saslprep": "^1.3.0",
- "bson": "^7.2.0",
- "mongodb-connection-string-url": "^7.0.0"
+ "brace-expansion": "^1.1.7"
},
"engines": {
- "node": ">=20.19.0"
- },
- "peerDependencies": {
- "@aws-sdk/credential-providers": "^3.806.0",
- "@mongodb-js/zstd": "^7.0.0",
- "gcp-metadata": "^7.0.1",
- "kerberos": "^7.0.0",
- "mongodb-client-encryption": ">=7.0.0 <7.1.0",
- "snappy": "^7.3.2",
- "socks": "^2.8.6"
- },
- "peerDependenciesMeta": {
- "@aws-sdk/credential-providers": {
- "optional": true
- },
- "@mongodb-js/zstd": {
- "optional": true
- },
- "gcp-metadata": {
- "optional": true
- },
- "kerberos": {
- "optional": true
- },
- "mongodb-client-encryption": {
- "optional": true
- },
- "snappy": {
- "optional": true
- },
- "socks": {
- "optional": true
- }
+ "node": "*"
}
},
- "node_modules/mongoose/node_modules/mongodb-connection-string-url": {
- "version": "7.0.1",
- "resolved": "https://registry.npmjs.org/mongodb-connection-string-url/-/mongodb-connection-string-url-7.0.1.tgz",
- "integrity": "sha512-h0AZ9A7IDVwwHyMxmdMXKy+9oNlF0zFoahHiX3vQ8e3KFcSP3VmsmfvtRSuLPxmyv2vjIDxqty8smTgie/SNRQ==",
+ "node_modules/minimist": {
+ "version": "1.2.8",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz",
+ "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==",
"dev": true,
- "license": "Apache-2.0",
+ "license": "MIT",
+ "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,
+ "license": "MIT",
"dependencies": {
- "@types/whatwg-url": "^13.0.0",
- "whatwg-url": "^14.1.0"
+ "arrify": "^1.0.1",
+ "is-plain-obj": "^1.1.0",
+ "kind-of": "^6.0.3"
},
"engines": {
- "node": ">=20.19.0"
+ "node": ">= 6"
}
},
- "node_modules/mongoose/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,
- "license": "MIT"
- },
- "node_modules/mpath": {
- "version": "0.9.0",
- "resolved": "https://registry.npmjs.org/mpath/-/mpath-0.9.0.tgz",
- "integrity": "sha512-ikJRQTk8hw5DEoFVxHG1Gn9T/xcjtdnOKIU1JTmGjZZlg9LST2mBLmcX3/ICIbgJydT2GOc15RnNy5mHmzfSew==",
+ "node_modules/minimist-options/node_modules/arrify": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz",
+ "integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==",
"dev": true,
+ "license": "MIT",
"engines": {
- "node": ">=4.0.0"
+ "node": ">=0.10.0"
}
},
- "node_modules/mqtt": {
- "version": "5.15.1",
- "resolved": "https://registry.npmjs.org/mqtt/-/mqtt-5.15.1.tgz",
- "integrity": "sha512-V1WnkGuJh3ec9QXzy5Iylw8OOBK+Xu1WhxcQ9mMpLThG+/JZIMV1PgLNRgIiqXhZnvnVLsuyxHl5A/3bHHbcAA==",
+ "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==",
"dev": true,
"license": "MIT",
- "dependencies": {
- "@types/readable-stream": "^4.0.21",
- "@types/ws": "^8.18.1",
- "commist": "^3.2.0",
- "concat-stream": "^2.0.0",
- "debug": "^4.4.1",
- "help-me": "^5.0.0",
- "lru-cache": "^10.4.3",
- "minimist": "^1.2.8",
- "mqtt-packet": "^9.0.2",
- "number-allocator": "^1.0.14",
- "readable-stream": "^4.7.0",
- "rfdc": "^1.4.1",
- "socks": "^2.8.6",
- "split2": "^4.2.0",
- "worker-timers": "^8.0.23",
- "ws": "^8.18.3"
- },
- "bin": {
- "mqtt": "build/bin/mqtt.js",
- "mqtt_pub": "build/bin/pub.js",
- "mqtt_sub": "build/bin/sub.js"
- },
"engines": {
- "node": ">=16.0.0"
+ "node": ">=0.10.0"
}
},
- "node_modules/mqtt-packet": {
- "version": "9.0.2",
- "resolved": "https://registry.npmjs.org/mqtt-packet/-/mqtt-packet-9.0.2.tgz",
- "integrity": "sha512-MvIY0B8/qjq7bKxdN1eD+nrljoeaai+qjLJgfRn3TiMuz0pamsIWY2bFODPZMSNmabsLANXsLl4EMoWvlaTZWA==",
+ "node_modules/minimist-options/node_modules/kind-of": {
+ "version": "6.0.3",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
+ "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
"dev": true,
"license": "MIT",
- "dependencies": {
- "bl": "^6.0.8",
- "debug": "^4.3.4",
- "process-nextick-args": "^2.0.1"
+ "engines": {
+ "node": ">=0.10.0"
}
},
- "node_modules/mqtt-packet/node_modules/bl": {
- "version": "6.0.16",
- "resolved": "https://registry.npmjs.org/bl/-/bl-6.0.16.tgz",
- "integrity": "sha512-V/kz+z2Mx5/6qDfRCilmrukUXcXuCoXKg3/3hDvzKKoSUx8CJKudfIoT29XZc3UE9xBvxs5qictiHdprwtteEg==",
+ "node_modules/minipass": {
+ "version": "7.1.3",
+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.3.tgz",
+ "integrity": "sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A==",
"dev": true,
- "dependencies": {
- "@types/readable-stream": "^4.0.0",
- "buffer": "^6.0.3",
- "inherits": "^2.0.4",
- "readable-stream": "^4.2.0"
+ "license": "BlueOak-1.0.0",
+ "engines": {
+ "node": ">=16 || 14 >=14.17"
}
},
- "node_modules/mqtt-packet/node_modules/buffer": {
- "version": "6.0.3",
- "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz",
- "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==",
+ "node_modules/minipass-collect": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-2.0.1.tgz",
+ "integrity": "sha512-D7V8PO9oaz7PWGLbCACuI1qEOsq7UKfLotx/C0Aet43fCUB/wfQ7DYeq2oR/svFJGYDHPr38SHATeaj/ZoKHKw==",
"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": "ISC",
"dependencies": {
- "base64-js": "^1.3.1",
- "ieee754": "^1.2.1"
+ "minipass": "^7.0.3"
+ },
+ "engines": {
+ "node": ">=16 || 14 >=14.17"
}
},
- "node_modules/mqtt-packet/node_modules/debug": {
- "version": "4.3.7",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz",
- "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==",
+ "node_modules/minipass-fetch": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-4.0.1.tgz",
+ "integrity": "sha512-j7U11C5HXigVuutxebFadoYBbd7VSdZWggSe64NVdvWNBqGAiXPL2QVCehjmw7lY1oF9gOllYbORh+hiNgfPgQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "ms": "^2.1.3"
+ "minipass": "^7.0.3",
+ "minipass-sized": "^1.0.3",
+ "minizlib": "^3.0.1"
},
"engines": {
- "node": ">=6.0"
+ "node": "^18.17.0 || >=20.5.0"
},
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
+ "optionalDependencies": {
+ "encoding": "^0.1.13"
}
},
- "node_modules/mqtt-packet/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/mqtt-packet/node_modules/readable-stream": {
- "version": "4.5.2",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.5.2.tgz",
- "integrity": "sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==",
+ "node_modules/minipass-flush": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.7.tgz",
+ "integrity": "sha512-TbqTz9cUwWyHS2Dy89P3ocAGUGxKjjLuR9z8w4WUTGAVgEj17/4nhgo2Du56i0Fm3Pm30g4iA8Lcqctc76jCzA==",
"dev": true,
+ "license": "BlueOak-1.0.0",
"dependencies": {
- "abort-controller": "^3.0.0",
- "buffer": "^6.0.3",
- "events": "^3.3.0",
- "process": "^0.11.10",
- "string_decoder": "^1.3.0"
+ "minipass": "^3.0.0"
},
"engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ "node": ">= 8"
}
},
- "node_modules/mqtt-packet/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==",
+ "node_modules/minipass-flush/node_modules/minipass": {
+ "version": "3.3.6",
+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz",
+ "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==",
"dev": true,
+ "license": "ISC",
"dependencies": {
- "safe-buffer": "~5.2.0"
+ "yallist": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
}
},
- "node_modules/mqtt/node_modules/buffer": {
- "version": "6.0.3",
- "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz",
- "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==",
+ "node_modules/minipass-flush/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,
- "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": "MIT",
+ "license": "ISC"
+ },
+ "node_modules/minipass-pipeline": {
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz",
+ "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==",
+ "dev": true,
+ "license": "ISC",
"dependencies": {
- "base64-js": "^1.3.1",
- "ieee754": "^1.2.1"
+ "minipass": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=8"
}
},
- "node_modules/mqtt/node_modules/debug": {
- "version": "4.4.3",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz",
- "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==",
+ "node_modules/minipass-pipeline/node_modules/minipass": {
+ "version": "3.3.6",
+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz",
+ "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==",
"dev": true,
- "license": "MIT",
+ "license": "ISC",
"dependencies": {
- "ms": "^2.1.3"
+ "yallist": "^4.0.0"
},
"engines": {
- "node": ">=6.0"
- },
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
+ "node": ">=8"
}
},
- "node_modules/mqtt/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==",
+ "node_modules/minipass-pipeline/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,
"license": "ISC"
},
- "node_modules/mqtt/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,
- "license": "MIT"
- },
- "node_modules/mqtt/node_modules/readable-stream": {
- "version": "4.7.0",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.7.0.tgz",
- "integrity": "sha512-oIGGmcpTLwPga8Bn6/Z75SVaH1z5dUut2ibSyAMVhmUggWpmDn2dapB0n7f8nwaSiRtepAsfJyfXIO5DCVAODg==",
+ "node_modules/minipass-sized": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz",
+ "integrity": "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==",
"dev": true,
- "license": "MIT",
+ "license": "ISC",
"dependencies": {
- "abort-controller": "^3.0.0",
- "buffer": "^6.0.3",
- "events": "^3.3.0",
- "process": "^0.11.10",
- "string_decoder": "^1.3.0"
+ "minipass": "^3.0.0"
},
"engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ "node": ">=8"
}
},
- "node_modules/mqtt/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==",
+ "node_modules/minipass-sized/node_modules/minipass": {
+ "version": "3.3.6",
+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz",
+ "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==",
"dev": true,
- "license": "MIT",
+ "license": "ISC",
"dependencies": {
- "safe-buffer": "~5.2.0"
- }
- },
- "node_modules/mquery": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/mquery/-/mquery-6.0.0.tgz",
- "integrity": "sha512-b2KQNsmgtkscfeDgkYMcWGn9vZI9YoXh802VDEwE6qc50zxBFQ0Oo8ROkawbPAsXCY1/Z1yp0MagqsZStPWJjw==",
- "dev": true,
- "license": "MIT",
+ "yallist": "^4.0.0"
+ },
"engines": {
- "node": ">=20.19.0"
+ "node": ">=8"
}
},
- "node_modules/ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
- "dev": true
+ "node_modules/minipass-sized/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,
+ "license": "ISC"
},
- "node_modules/multer": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/multer/-/multer-2.1.1.tgz",
- "integrity": "sha512-mo+QTzKlx8R7E5ylSXxWzGoXoZbOsRMpyitcht8By2KHvMbf3tjwosZ/Mu/XYU6UuJ3VZnODIrak5ZrPiPyB6A==",
+ "node_modules/minizlib": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-3.1.0.tgz",
+ "integrity": "sha512-KZxYo1BUkWD2TVFLr0MQoM8vUUigWD3LlD83a/75BqC+4qE0Hb1Vo5v1FgcfaNXvfXzr+5EhQ6ing/CaBijTlw==",
"dev": true,
"license": "MIT",
"dependencies": {
- "append-field": "^1.0.0",
- "busboy": "^1.6.0",
- "concat-stream": "^2.0.0",
- "type-is": "^1.6.18"
+ "minipass": "^7.1.2"
},
"engines": {
- "node": ">= 10.16.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/express"
- }
- },
- "node_modules/multipipe": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/multipipe/-/multipipe-0.1.2.tgz",
- "integrity": "sha512-7ZxrUybYv9NonoXgwoOqtStIu18D1c3eFZj27hqgf5kBrBF8Q+tE8V0MW8dKM5QLkQPh1JhhbKgHLY9kifov4Q==",
- "dev": true,
- "dependencies": {
- "duplexer2": "0.0.2"
+ "node": ">= 18"
}
},
- "node_modules/mute-stdout": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/mute-stdout/-/mute-stdout-2.0.0.tgz",
- "integrity": "sha512-32GSKM3Wyc8dg/p39lWPKYu8zci9mJFzV1Np9Of0ZEpe6Fhssn/FbI7ywAMd40uX+p3ZKh3T5EeCFv81qS3HmQ==",
+ "node_modules/mixin-deep": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz",
+ "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==",
"dev": true,
"license": "MIT",
+ "dependencies": {
+ "for-in": "^1.0.2",
+ "is-extendable": "^1.0.1"
+ },
"engines": {
- "node": ">= 10.13.0"
+ "node": ">=0.10.0"
}
},
- "node_modules/mute-stream": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-2.0.0.tgz",
- "integrity": "sha512-WWdIxpyjEn+FhQJQQv9aQAYlHoNVdzIzUySNV1gHUPDSdZJ3yZn7pAAbQcV7B56Mvu881q9FZV+0Vx2xC44VWA==",
+ "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,
- "license": "ISC",
+ "license": "MIT",
"engines": {
- "node": "^18.17.0 || >=20.5.0"
+ "node": ">=0.10.0"
}
},
- "node_modules/mysql2": {
- "version": "3.22.3",
- "resolved": "https://registry.npmjs.org/mysql2/-/mysql2-3.22.3.tgz",
- "integrity": "sha512-uWWxvZSRvRhtBdh2CdcuK83YcOfPdmEeEYB069bAmPnV93QApDGVPuvCQOLjlh7tYHEWdgQPrn6kosDxHBVLkA==",
+ "node_modules/mongodb": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-7.2.0.tgz",
+ "integrity": "sha512-F/2+BMZtLVhY30ioZp0dAmZ+IRZMBqI+nrv6t5+9/1AIwCa8sMRC3jBf81lpxMhnZgqq8CoUD503Z1oZWq1/sw==",
"dev": true,
- "license": "MIT",
+ "license": "Apache-2.0",
"dependencies": {
- "aws-ssl-profiles": "^1.1.2",
- "denque": "^2.1.0",
- "generate-function": "^2.3.1",
- "iconv-lite": "^0.7.2",
- "long": "^5.3.2",
- "lru.min": "^1.1.4",
- "named-placeholders": "^1.1.6",
- "sql-escaper": "^1.3.3"
+ "@mongodb-js/saslprep": "^1.3.0",
+ "bson": "^7.2.0",
+ "mongodb-connection-string-url": "^7.0.0"
},
"engines": {
- "node": ">= 8.0"
+ "node": ">=20.19.0"
},
"peerDependencies": {
- "@types/node": ">= 8"
- }
- },
- "node_modules/mysql2/node_modules/long": {
- "version": "5.3.2",
- "resolved": "https://registry.npmjs.org/long/-/long-5.3.2.tgz",
- "integrity": "sha512-mNAgZ1GmyNhD7AuqnTG3/VQ26o760+ZYBPKjPvugO8+nLbYfX6TVpJPseBvopbdY+qpZ/lKUnmEc1LeZYS3QAA==",
- "dev": true,
- "license": "Apache-2.0"
- },
- "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,
- "dependencies": {
- "any-promise": "^1.0.0",
- "object-assign": "^4.0.1",
- "thenify-all": "^1.0.0"
+ "@aws-sdk/credential-providers": "^3.806.0",
+ "@mongodb-js/zstd": "^7.0.0",
+ "gcp-metadata": "^7.0.1",
+ "kerberos": "^7.0.0",
+ "mongodb-client-encryption": ">=7.0.0 <7.1.0",
+ "snappy": "^7.3.2",
+ "socks": "^2.8.6"
+ },
+ "peerDependenciesMeta": {
+ "@aws-sdk/credential-providers": {
+ "optional": true
+ },
+ "@mongodb-js/zstd": {
+ "optional": true
+ },
+ "gcp-metadata": {
+ "optional": true
+ },
+ "kerberos": {
+ "optional": true
+ },
+ "mongodb-client-encryption": {
+ "optional": true
+ },
+ "snappy": {
+ "optional": true
+ },
+ "socks": {
+ "optional": true
+ }
}
},
- "node_modules/named-placeholders": {
- "version": "1.1.6",
- "resolved": "https://registry.npmjs.org/named-placeholders/-/named-placeholders-1.1.6.tgz",
- "integrity": "sha512-Tz09sEL2EEuv5fFowm419c1+a/jSMiBjI9gHxVLrVdbUkkNUUfjsVYs9pVZu5oCon/kmRh9TfLEObFtkVxmY0w==",
+ "node_modules/mongodb-connection-string-url": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/mongodb-connection-string-url/-/mongodb-connection-string-url-7.0.1.tgz",
+ "integrity": "sha512-h0AZ9A7IDVwwHyMxmdMXKy+9oNlF0zFoahHiX3vQ8e3KFcSP3VmsmfvtRSuLPxmyv2vjIDxqty8smTgie/SNRQ==",
"dev": true,
- "license": "MIT",
+ "license": "Apache-2.0",
"dependencies": {
- "lru.min": "^1.1.0"
+ "@types/whatwg-url": "^13.0.0",
+ "whatwg-url": "^14.1.0"
},
"engines": {
- "node": ">=8.0.0"
+ "node": ">=20.19.0"
}
},
- "node_modules/nan": {
- "version": "2.22.0",
- "resolved": "https://registry.npmjs.org/nan/-/nan-2.22.0.tgz",
- "integrity": "sha512-nbajikzWTMwsW+eSsNm3QwlOs7het9gGJU5dDZzRTQGk03vyBOauxgI4VakDzE0PtsGTmXPsXTbbjVhRwR5mpw==",
- "dev": true,
- "optional": true
- },
- "node_modules/nanomatch": {
- "version": "1.2.13",
- "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz",
- "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==",
+ "node_modules/mongoose": {
+ "version": "9.6.2",
+ "resolved": "https://registry.npmjs.org/mongoose/-/mongoose-9.6.2.tgz",
+ "integrity": "sha512-7m8HntjkoRnwEmuPC0kdlwcZXJOQf4twumFj+PNzg/anqqZE2Er7hQslqyzy07mP3JcFjoTSgH5765PyqOXsxw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "arr-diff": "^4.0.0",
- "array-unique": "^0.3.2",
- "define-property": "^2.0.2",
- "extend-shallow": "^3.0.2",
- "fragment-cache": "^0.2.1",
- "is-windows": "^1.0.2",
- "kind-of": "^6.0.2",
- "object.pick": "^1.3.0",
- "regex-not": "^1.0.0",
- "snapdragon": "^0.8.1",
- "to-regex": "^3.0.1"
+ "kareem": "3.3.0",
+ "mongodb": "~7.2",
+ "mpath": "0.9.0",
+ "mquery": "6.0.0",
+ "ms": "2.1.3",
+ "sift": "17.1.3"
},
"engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/nanomatch/node_modules/array-unique": {
- "version": "0.3.2",
- "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
- "integrity": "sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
+ "node": ">=20.19.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/mongoose"
}
},
- "node_modules/nanomatch/node_modules/kind-of": {
- "version": "6.0.3",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
- "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
+ "node_modules/mpath": {
+ "version": "0.9.0",
+ "resolved": "https://registry.npmjs.org/mpath/-/mpath-0.9.0.tgz",
+ "integrity": "sha512-ikJRQTk8hw5DEoFVxHG1Gn9T/xcjtdnOKIU1JTmGjZZlg9LST2mBLmcX3/ICIbgJydT2GOc15RnNy5mHmzfSew==",
"dev": true,
+ "license": "MIT",
"engines": {
- "node": ">=0.10.0"
+ "node": ">=4.0.0"
}
},
- "node_modules/nats": {
- "version": "2.29.3",
- "resolved": "https://registry.npmjs.org/nats/-/nats-2.29.3.tgz",
- "integrity": "sha512-tOQCRCwC74DgBTk4pWZ9V45sk4d7peoE2njVprMRCBXrhJ5q5cYM7i6W+Uvw2qUrcfOSnuisrX7bEx3b3Wx4QA==",
+ "node_modules/mqtt": {
+ "version": "5.15.1",
+ "resolved": "https://registry.npmjs.org/mqtt/-/mqtt-5.15.1.tgz",
+ "integrity": "sha512-V1WnkGuJh3ec9QXzy5Iylw8OOBK+Xu1WhxcQ9mMpLThG+/JZIMV1PgLNRgIiqXhZnvnVLsuyxHl5A/3bHHbcAA==",
"dev": true,
- "license": "Apache-2.0",
+ "license": "MIT",
"dependencies": {
- "nkeys.js": "1.1.0"
+ "@types/readable-stream": "^4.0.21",
+ "@types/ws": "^8.18.1",
+ "commist": "^3.2.0",
+ "concat-stream": "^2.0.0",
+ "debug": "^4.4.1",
+ "help-me": "^5.0.0",
+ "lru-cache": "^10.4.3",
+ "minimist": "^1.2.8",
+ "mqtt-packet": "^9.0.2",
+ "number-allocator": "^1.0.14",
+ "readable-stream": "^4.7.0",
+ "rfdc": "^1.4.1",
+ "socks": "^2.8.6",
+ "split2": "^4.2.0",
+ "worker-timers": "^8.0.23",
+ "ws": "^8.18.3"
+ },
+ "bin": {
+ "mqtt": "build/bin/mqtt.js",
+ "mqtt_pub": "build/bin/pub.js",
+ "mqtt_sub": "build/bin/sub.js"
},
"engines": {
- "node": ">= 14.0.0"
- }
- },
- "node_modules/natural-compare": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
- "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==",
- "dev": true
- },
- "node_modules/negotiator": {
- "version": "0.6.3",
- "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz",
- "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==",
- "engines": {
- "node": ">= 0.6"
+ "node": ">=16.0.0"
}
},
- "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
- },
- "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/nkeys.js": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/nkeys.js/-/nkeys.js-1.1.0.tgz",
- "integrity": "sha512-tB/a0shZL5UZWSwsoeyqfTszONTt4k2YS0tuQioMOD180+MbombYVgzDUYHlx+gejYK6rgf08n/2Df99WY0Sxg==",
+ "node_modules/mqtt-packet": {
+ "version": "9.0.2",
+ "resolved": "https://registry.npmjs.org/mqtt-packet/-/mqtt-packet-9.0.2.tgz",
+ "integrity": "sha512-MvIY0B8/qjq7bKxdN1eD+nrljoeaai+qjLJgfRn3TiMuz0pamsIWY2bFODPZMSNmabsLANXsLl4EMoWvlaTZWA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "tweetnacl": "1.0.3"
- },
- "engines": {
- "node": ">=10.0.0"
+ "bl": "^6.0.8",
+ "debug": "^4.3.4",
+ "process-nextick-args": "^2.0.1"
}
},
- "node_modules/nkeys.js/node_modules/tweetnacl": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-1.0.3.tgz",
- "integrity": "sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw==",
- "dev": true
+ "node_modules/mqtt/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/node-gyp": {
- "version": "12.2.0",
- "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-12.2.0.tgz",
- "integrity": "sha512-q23WdzrQv48KozXlr0U1v9dwO/k59NHeSzn6loGcasyf0UnSrtzs8kRxM+mfwJSf0DkX0s43hcqgnSO4/VNthQ==",
+ "node_modules/mqtt/node_modules/readable-stream": {
+ "version": "4.7.0",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.7.0.tgz",
+ "integrity": "sha512-oIGGmcpTLwPga8Bn6/Z75SVaH1z5dUut2ibSyAMVhmUggWpmDn2dapB0n7f8nwaSiRtepAsfJyfXIO5DCVAODg==",
"dev": true,
"license": "MIT",
"dependencies": {
- "env-paths": "^2.2.0",
- "exponential-backoff": "^3.1.1",
- "graceful-fs": "^4.2.6",
- "make-fetch-happen": "^15.0.0",
- "nopt": "^9.0.0",
- "proc-log": "^6.0.0",
- "semver": "^7.3.5",
- "tar": "^7.5.4",
- "tinyglobby": "^0.2.12",
- "which": "^6.0.0"
- },
- "bin": {
- "node-gyp": "bin/node-gyp.js"
+ "abort-controller": "^3.0.0",
+ "buffer": "^6.0.3",
+ "events": "^3.3.0",
+ "process": "^0.11.10",
+ "string_decoder": "^1.3.0"
},
"engines": {
- "node": "^20.17.0 || >=22.9.0"
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
}
},
- "node_modules/node-gyp/node_modules/abbrev": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-4.0.0.tgz",
- "integrity": "sha512-a1wflyaL0tHtJSmLSOVybYhy22vRih4eduhhrkcjgrWGnRfrZtovJ2FRjxuTtkkj47O/baf0R86QU5OuYpz8fA==",
+ "node_modules/mqtt/node_modules/safe-buffer": {
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
+ "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
"dev": true,
- "license": "ISC",
- "engines": {
- "node": "^20.17.0 || >=22.9.0"
- }
+ "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": "MIT"
},
- "node_modules/node-gyp/node_modules/chownr": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/chownr/-/chownr-3.0.0.tgz",
- "integrity": "sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==",
+ "node_modules/mqtt/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,
- "license": "BlueOak-1.0.0",
- "engines": {
- "node": ">=18"
+ "license": "MIT",
+ "dependencies": {
+ "safe-buffer": "~5.2.0"
}
},
- "node_modules/node-gyp/node_modules/isexe": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/isexe/-/isexe-4.0.0.tgz",
- "integrity": "sha512-FFUtZMpoZ8RqHS3XeXEmHWLA4thH+ZxCv2lOiPIn1Xc7CxrqhWzNSDzD+/chS/zbYezmiwWLdQC09JdQKmthOw==",
+ "node_modules/mquery": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/mquery/-/mquery-6.0.0.tgz",
+ "integrity": "sha512-b2KQNsmgtkscfeDgkYMcWGn9vZI9YoXh802VDEwE6qc50zxBFQ0Oo8ROkawbPAsXCY1/Z1yp0MagqsZStPWJjw==",
"dev": true,
- "license": "BlueOak-1.0.0",
+ "license": "MIT",
"engines": {
- "node": ">=20"
+ "node": ">=20.19.0"
}
},
- "node_modules/node-gyp/node_modules/minizlib": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-3.1.0.tgz",
- "integrity": "sha512-KZxYo1BUkWD2TVFLr0MQoM8vUUigWD3LlD83a/75BqC+4qE0Hb1Vo5v1FgcfaNXvfXzr+5EhQ6ing/CaBijTlw==",
- "dev": true,
+ "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==",
+ "license": "MIT"
+ },
+ "node_modules/multer": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/multer/-/multer-2.1.1.tgz",
+ "integrity": "sha512-mo+QTzKlx8R7E5ylSXxWzGoXoZbOsRMpyitcht8By2KHvMbf3tjwosZ/Mu/XYU6UuJ3VZnODIrak5ZrPiPyB6A==",
"license": "MIT",
"dependencies": {
- "minipass": "^7.1.2"
+ "append-field": "^1.0.0",
+ "busboy": "^1.6.0",
+ "concat-stream": "^2.0.0",
+ "type-is": "^1.6.18"
},
"engines": {
- "node": ">= 18"
+ "node": ">= 10.16.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/express"
}
},
- "node_modules/node-gyp/node_modules/nopt": {
- "version": "9.0.0",
- "resolved": "https://registry.npmjs.org/nopt/-/nopt-9.0.0.tgz",
- "integrity": "sha512-Zhq3a+yFKrYwSBluL4H9XP3m3y5uvQkB/09CwDruCiRmR/UJYnn9W4R48ry0uGC70aeTPKLynBtscP9efFFcPw==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "abbrev": "^4.0.0"
- },
- "bin": {
- "nopt": "bin/nopt.js"
- },
+ "node_modules/multer/node_modules/media-typer": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
+ "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==",
+ "license": "MIT",
"engines": {
- "node": "^20.17.0 || >=22.9.0"
+ "node": ">= 0.6"
}
},
- "node_modules/node-gyp/node_modules/proc-log": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-6.1.0.tgz",
- "integrity": "sha512-iG+GYldRf2BQ0UDUAd6JQ/RwzaQy6mXmsk/IzlYyal4A4SNFw54MeH4/tLkF4I5WoWG9SQwuqWzS99jaFQHBuQ==",
- "dev": true,
- "license": "ISC",
+ "node_modules/multer/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==",
+ "license": "MIT",
"engines": {
- "node": "^20.17.0 || >=22.9.0"
+ "node": ">= 0.6"
}
},
- "node_modules/node-gyp/node_modules/tar": {
- "version": "7.5.11",
- "resolved": "https://registry.npmjs.org/tar/-/tar-7.5.11.tgz",
- "integrity": "sha512-ChjMH33/KetonMTAtpYdgUFr0tbz69Fp2v7zWxQfYZX4g5ZN2nOBXm1R2xyA+lMIKrLKIoKAwFj93jE/avX9cQ==",
- "dev": true,
- "license": "BlueOak-1.0.0",
+ "node_modules/multer/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==",
+ "license": "MIT",
"dependencies": {
- "@isaacs/fs-minipass": "^4.0.0",
- "chownr": "^3.0.0",
- "minipass": "^7.1.2",
- "minizlib": "^3.1.0",
- "yallist": "^5.0.0"
+ "mime-db": "1.52.0"
},
"engines": {
- "node": ">=18"
+ "node": ">= 0.6"
}
},
- "node_modules/node-gyp/node_modules/which": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/which/-/which-6.0.1.tgz",
- "integrity": "sha512-oGLe46MIrCRqX7ytPUf66EAYvdeMIZYn3WaocqqKZAxrBpkqHfL/qvTyJ/bTk5+AqHCjXmrv3CEWgy368zhRUg==",
- "dev": true,
- "license": "ISC",
+ "node_modules/multer/node_modules/type-is": {
+ "version": "1.6.18",
+ "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz",
+ "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==",
+ "license": "MIT",
"dependencies": {
- "isexe": "^4.0.0"
- },
- "bin": {
- "node-which": "bin/which.js"
+ "media-typer": "0.3.0",
+ "mime-types": "~2.1.24"
},
"engines": {
- "node": "^20.17.0 || >=22.9.0"
+ "node": ">= 0.6"
}
},
- "node_modules/node-gyp/node_modules/yallist": {
+ "node_modules/multimatch": {
"version": "5.0.0",
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-5.0.0.tgz",
- "integrity": "sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==",
+ "resolved": "https://registry.npmjs.org/multimatch/-/multimatch-5.0.0.tgz",
+ "integrity": "sha512-ypMKuglUrZUD99Tk2bUQ+xNQj43lPEfAeX2o9cTteAmShXy2VHDJpuwu1o0xqoKCt9jLVAvwyFKdLTPXKAfJyA==",
"dev": true,
- "license": "BlueOak-1.0.0",
+ "license": "MIT",
+ "dependencies": {
+ "@types/minimatch": "^3.0.3",
+ "array-differ": "^3.0.0",
+ "array-union": "^2.1.0",
+ "arrify": "^2.0.1",
+ "minimatch": "^3.0.4"
+ },
"engines": {
- "node": ">=18"
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/node-machine-id": {
- "version": "1.1.12",
- "resolved": "https://registry.npmjs.org/node-machine-id/-/node-machine-id-1.1.12.tgz",
- "integrity": "sha512-QNABxbrPa3qEIfrE6GOJ7BYIuignnJw7iQ2YPbc3Nla1HzRJjXzZOiikfF8m7eAMfichLt3M4VgLOetqgDmgGQ==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/node-preload": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/node-preload/-/node-preload-0.2.1.tgz",
- "integrity": "sha512-RM5oyBy45cLEoHqCeh+MNuFAxO0vTFBLskvQbOKnEE7YTTSN4tbN8QWDIPQ6L+WvKsB/qLEGpYe2ZZ9d4W9OIQ==",
+ "node_modules/multimatch/node_modules/array-differ": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-3.0.0.tgz",
+ "integrity": "sha512-THtfYS6KtME/yIAhKjZ2ul7XI96lQGHRputJQHO80LAWQnuGP4iCIN8vdMRboGbIEYBwU33q8Tch1os2+X0kMg==",
"dev": true,
"license": "MIT",
- "dependencies": {
- "process-on-spawn": "^1.0.0"
- },
"engines": {
"node": ">=8"
}
},
- "node_modules/node-releases": {
- "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,
- "license": "MIT"
- },
- "node_modules/nopt": {
- "version": "8.1.0",
- "resolved": "https://registry.npmjs.org/nopt/-/nopt-8.1.0.tgz",
- "integrity": "sha512-ieGu42u/Qsa4TFktmaKEwM6MQH0pOWnaB3htzh0JRtx84+Mebc0cbZYN5bC+6WTZ4+77xrL9Pn5m7CV6VIkV7A==",
+ "node_modules/multipipe": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/multipipe/-/multipipe-0.1.2.tgz",
+ "integrity": "sha512-7ZxrUybYv9NonoXgwoOqtStIu18D1c3eFZj27hqgf5kBrBF8Q+tE8V0MW8dKM5QLkQPh1JhhbKgHLY9kifov4Q==",
"dev": true,
- "license": "ISC",
+ "license": "MIT",
"dependencies": {
- "abbrev": "^3.0.0"
- },
- "bin": {
- "nopt": "bin/nopt.js"
- },
- "engines": {
- "node": "^18.17.0 || >=20.5.0"
+ "duplexer2": "0.0.2"
}
},
- "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==",
+ "node_modules/mute-stdout": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/mute-stdout/-/mute-stdout-2.0.0.tgz",
+ "integrity": "sha512-32GSKM3Wyc8dg/p39lWPKYu8zci9mJFzV1Np9Of0ZEpe6Fhssn/FbI7ywAMd40uX+p3ZKh3T5EeCFv81qS3HmQ==",
"dev": true,
- "license": "BSD-2-Clause",
- "dependencies": {
- "hosted-git-info": "^4.0.1",
- "is-core-module": "^2.5.0",
- "semver": "^7.3.4",
- "validate-npm-package-license": "^3.0.1"
- },
+ "license": "MIT",
"engines": {
- "node": ">=10"
+ "node": ">= 10.13.0"
}
},
- "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==",
+ "node_modules/mute-stream": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-2.0.0.tgz",
+ "integrity": "sha512-WWdIxpyjEn+FhQJQQv9aQAYlHoNVdzIzUySNV1gHUPDSdZJ3yZn7pAAbQcV7B56Mvu881q9FZV+0Vx2xC44VWA==",
"dev": true,
"license": "ISC",
- "dependencies": {
- "lru-cache": "^6.0.0"
- },
"engines": {
- "node": ">=10"
+ "node": "^18.17.0 || >=20.5.0"
}
},
- "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/mysql2": {
+ "version": "3.22.3",
+ "resolved": "https://registry.npmjs.org/mysql2/-/mysql2-3.22.3.tgz",
+ "integrity": "sha512-uWWxvZSRvRhtBdh2CdcuK83YcOfPdmEeEYB069bAmPnV93QApDGVPuvCQOLjlh7tYHEWdgQPrn6kosDxHBVLkA==",
"dev": true,
- "license": "ISC",
+ "license": "MIT",
"dependencies": {
- "yallist": "^4.0.0"
+ "aws-ssl-profiles": "^1.1.2",
+ "denque": "^2.1.0",
+ "generate-function": "^2.3.1",
+ "iconv-lite": "^0.7.2",
+ "long": "^5.3.2",
+ "lru.min": "^1.1.4",
+ "named-placeholders": "^1.1.6",
+ "sql-escaper": "^1.3.3"
},
"engines": {
- "node": ">=10"
+ "node": ">= 8.0"
+ },
+ "peerDependencies": {
+ "@types/node": ">= 8"
}
},
- "node_modules/normalize-path": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
- "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
+ "node_modules/mysql2/node_modules/long": {
+ "version": "5.3.2",
+ "resolved": "https://registry.npmjs.org/long/-/long-5.3.2.tgz",
+ "integrity": "sha512-mNAgZ1GmyNhD7AuqnTG3/VQ26o760+ZYBPKjPvugO8+nLbYfX6TVpJPseBvopbdY+qpZ/lKUnmEc1LeZYS3QAA==",
"dev": true,
- "engines": {
- "node": ">=0.10.0"
+ "license": "Apache-2.0"
+ },
+ "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",
+ "thenify-all": "^1.0.0"
}
},
- "node_modules/now-and-later": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/now-and-later/-/now-and-later-3.0.0.tgz",
- "integrity": "sha512-pGO4pzSdaxhWTGkfSfHx3hVzJVslFPwBp2Myq9MYN/ChfJZF87ochMAXnvz6/58RJSf5ik2q9tXprBBrk2cpcg==",
+ "node_modules/named-placeholders": {
+ "version": "1.1.6",
+ "resolved": "https://registry.npmjs.org/named-placeholders/-/named-placeholders-1.1.6.tgz",
+ "integrity": "sha512-Tz09sEL2EEuv5fFowm419c1+a/jSMiBjI9gHxVLrVdbUkkNUUfjsVYs9pVZu5oCon/kmRh9TfLEObFtkVxmY0w==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "once": "^1.4.0"
+ "lru.min": "^1.1.0"
},
"engines": {
- "node": ">= 10.13.0"
+ "node": ">=8.0.0"
}
},
- "node_modules/npm-bundled": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-4.0.0.tgz",
- "integrity": "sha512-IxaQZDMsqfQ2Lz37VvyyEtKLe8FsRZuysmedy/N06TU1RyVppYKXrO4xIhR0F+7ubIBox6Q7nir6fQI3ej39iA==",
+ "node_modules/nan": {
+ "version": "2.26.2",
+ "resolved": "https://registry.npmjs.org/nan/-/nan-2.26.2.tgz",
+ "integrity": "sha512-0tTvBTYkt3tdGw22nrAy50x7gpbGCCFH3AFcyS5WiUu7Eu4vWlri1woE6qHBSfy11vksDqkiwjOnlR7WV8G1Hw==",
"dev": true,
- "license": "ISC",
- "dependencies": {
- "npm-normalize-package-bin": "^4.0.0"
+ "license": "MIT",
+ "optional": true
+ },
+ "node_modules/nanoid": {
+ "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"
},
"engines": {
- "node": "^18.17.0 || >=20.5.0"
+ "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
}
},
- "node_modules/npm-install-checks": {
- "version": "7.1.2",
- "resolved": "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-7.1.2.tgz",
- "integrity": "sha512-z9HJBCYw9Zr8BqXcllKIs5nI+QggAImbBdHphOzVYrz2CB4iQ6FzWyKmlqDZua+51nAu7FcemlbTc9VgQN5XDQ==",
+ "node_modules/nanomatch": {
+ "version": "1.2.13",
+ "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz",
+ "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==",
"dev": true,
- "license": "BSD-2-Clause",
+ "license": "MIT",
"dependencies": {
- "semver": "^7.1.1"
+ "arr-diff": "^4.0.0",
+ "array-unique": "^0.3.2",
+ "define-property": "^2.0.2",
+ "extend-shallow": "^3.0.2",
+ "fragment-cache": "^0.2.1",
+ "is-windows": "^1.0.2",
+ "kind-of": "^6.0.2",
+ "object.pick": "^1.3.0",
+ "regex-not": "^1.0.0",
+ "snapdragon": "^0.8.1",
+ "to-regex": "^3.0.1"
},
"engines": {
- "node": "^18.17.0 || >=20.5.0"
+ "node": ">=0.10.0"
}
},
- "node_modules/npm-normalize-package-bin": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-4.0.0.tgz",
- "integrity": "sha512-TZKxPvItzai9kN9H/TkmCtx/ZN/hvr3vUycjlfmH0ootY9yFBzNOpiXAdIn1Iteqsvk4lQn6B5PTrt+n6h8k/w==",
+ "node_modules/nanomatch/node_modules/array-unique": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
+ "integrity": "sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==",
"dev": true,
- "license": "ISC",
+ "license": "MIT",
"engines": {
- "node": "^18.17.0 || >=20.5.0"
+ "node": ">=0.10.0"
}
},
- "node_modules/npm-package-arg": {
- "version": "13.0.1",
- "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-13.0.1.tgz",
- "integrity": "sha512-6zqls5xFvJbgFjB1B2U6yITtyGBjDBORB7suI4zA4T/sZ1OmkMFlaQSNB/4K0LtXNA1t4OprAFxPisadK5O2ag==",
+ "node_modules/nanomatch/node_modules/define-property": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz",
+ "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==",
"dev": true,
- "license": "ISC",
+ "license": "MIT",
"dependencies": {
- "hosted-git-info": "^9.0.0",
- "proc-log": "^5.0.0",
- "semver": "^7.3.5",
- "validate-npm-package-name": "^6.0.0"
+ "is-descriptor": "^1.0.2",
+ "isobject": "^3.0.1"
},
"engines": {
- "node": "^20.17.0 || >=22.9.0"
+ "node": ">=0.10.0"
}
},
- "node_modules/npm-packlist": {
- "version": "10.0.3",
- "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-10.0.3.tgz",
- "integrity": "sha512-zPukTwJMOu5X5uvm0fztwS5Zxyvmk38H/LfidkOMt3gbZVCyro2cD/ETzwzVPcWZA3JOyPznfUN/nkyFiyUbxg==",
+ "node_modules/nanomatch/node_modules/is-descriptor": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.3.tgz",
+ "integrity": "sha512-JCNNGbwWZEVaSPtS45mdtrneRWJFp07LLmykxeFV5F6oBvNF8vHSfJuJgoT472pSfk+Mf8VnlrspaFBHWM8JAw==",
"dev": true,
- "license": "ISC",
+ "license": "MIT",
"dependencies": {
- "ignore-walk": "^8.0.0",
- "proc-log": "^6.0.0"
+ "is-accessor-descriptor": "^1.0.1",
+ "is-data-descriptor": "^1.0.1"
},
"engines": {
- "node": "^20.17.0 || >=22.9.0"
+ "node": ">= 0.4"
}
},
- "node_modules/npm-packlist/node_modules/proc-log": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-6.1.0.tgz",
- "integrity": "sha512-iG+GYldRf2BQ0UDUAd6JQ/RwzaQy6mXmsk/IzlYyal4A4SNFw54MeH4/tLkF4I5WoWG9SQwuqWzS99jaFQHBuQ==",
+ "node_modules/nanomatch/node_modules/kind-of": {
+ "version": "6.0.3",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
+ "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
"dev": true,
- "license": "ISC",
+ "license": "MIT",
"engines": {
- "node": "^20.17.0 || >=22.9.0"
+ "node": ">=0.10.0"
}
},
- "node_modules/npm-pick-manifest": {
- "version": "11.0.3",
- "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-11.0.3.tgz",
- "integrity": "sha512-buzyCfeoGY/PxKqmBqn1IUJrZnUi1VVJTdSSRPGI60tJdUhUoSQFhs0zycJokDdOznQentgrpf8LayEHyyYlqQ==",
+ "node_modules/nats": {
+ "version": "2.29.3",
+ "resolved": "https://registry.npmjs.org/nats/-/nats-2.29.3.tgz",
+ "integrity": "sha512-tOQCRCwC74DgBTk4pWZ9V45sk4d7peoE2njVprMRCBXrhJ5q5cYM7i6W+Uvw2qUrcfOSnuisrX7bEx3b3Wx4QA==",
+ "deprecated": "Package moved. Use @nats-io/transport-node from https://github.com/nats-io/nats.js",
"dev": true,
- "license": "ISC",
+ "license": "Apache-2.0",
"dependencies": {
- "npm-install-checks": "^8.0.0",
- "npm-normalize-package-bin": "^5.0.0",
- "npm-package-arg": "^13.0.0",
- "semver": "^7.3.5"
+ "nkeys.js": "1.1.0"
},
"engines": {
- "node": "^20.17.0 || >=22.9.0"
+ "node": ">= 14.0.0"
}
},
- "node_modules/npm-pick-manifest/node_modules/npm-install-checks": {
- "version": "8.0.0",
- "resolved": "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-8.0.0.tgz",
- "integrity": "sha512-ScAUdMpyzkbpxoNekQ3tNRdFI8SJ86wgKZSQZdUxT+bj0wVFpsEMWnkXP0twVe1gJyNF5apBWDJhhIbgrIViRA==",
+ "node_modules/natural-compare": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
+ "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==",
"dev": true,
- "license": "BSD-2-Clause",
- "dependencies": {
- "semver": "^7.1.1"
- },
+ "license": "MIT"
+ },
+ "node_modules/negotiator": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-1.0.0.tgz",
+ "integrity": "sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==",
+ "license": "MIT",
"engines": {
- "node": "^20.17.0 || >=22.9.0"
+ "node": ">= 0.6"
}
},
- "node_modules/npm-pick-manifest/node_modules/npm-normalize-package-bin": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-5.0.0.tgz",
- "integrity": "sha512-CJi3OS4JLsNMmr2u07OJlhcrPxCeOeP/4xq67aWNai6TNWWbTrlNDgl8NcFKVlcBKp18GPj+EzbNIgrBfZhsag==",
+ "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,
- "license": "ISC",
- "engines": {
- "node": "^20.17.0 || >=22.9.0"
- }
+ "license": "MIT"
},
- "node_modules/npm-registry-fetch": {
- "version": "19.1.0",
- "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-19.1.0.tgz",
- "integrity": "sha512-xyZLfs7TxPu/WKjHUs0jZOPinzBAI32kEUel6za0vH+JUTnFZ5zbHI1ZoGZRDm6oMjADtrli6FxtMlk/5ABPNw==",
+ "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,
- "license": "ISC",
- "dependencies": {
- "@npmcli/redact": "^3.0.0",
- "jsonparse": "^1.3.1",
- "make-fetch-happen": "^15.0.0",
- "minipass": "^7.0.2",
- "minipass-fetch": "^4.0.0",
- "minizlib": "^3.0.1",
- "npm-package-arg": "^13.0.0",
- "proc-log": "^5.0.0"
- },
- "engines": {
- "node": "^20.17.0 || >=22.9.0"
- }
+ "license": "ISC"
},
- "node_modules/npm-registry-fetch/node_modules/minizlib": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-3.1.0.tgz",
- "integrity": "sha512-KZxYo1BUkWD2TVFLr0MQoM8vUUigWD3LlD83a/75BqC+4qE0Hb1Vo5v1FgcfaNXvfXzr+5EhQ6ing/CaBijTlw==",
+ "node_modules/nkeys.js": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/nkeys.js/-/nkeys.js-1.1.0.tgz",
+ "integrity": "sha512-tB/a0shZL5UZWSwsoeyqfTszONTt4k2YS0tuQioMOD180+MbombYVgzDUYHlx+gejYK6rgf08n/2Df99WY0Sxg==",
"dev": true,
- "license": "MIT",
+ "license": "Apache-2.0",
"dependencies": {
- "minipass": "^7.1.2"
+ "tweetnacl": "1.0.3"
},
"engines": {
- "node": ">= 18"
+ "node": ">=10.0.0"
}
},
- "node_modules/npm-run-path": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz",
- "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==",
+ "node_modules/node-gyp": {
+ "version": "12.2.0",
+ "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-12.2.0.tgz",
+ "integrity": "sha512-q23WdzrQv48KozXlr0U1v9dwO/k59NHeSzn6loGcasyf0UnSrtzs8kRxM+mfwJSf0DkX0s43hcqgnSO4/VNthQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "path-key": "^3.0.0"
+ "env-paths": "^2.2.0",
+ "exponential-backoff": "^3.1.1",
+ "graceful-fs": "^4.2.6",
+ "make-fetch-happen": "^15.0.0",
+ "nopt": "^9.0.0",
+ "proc-log": "^6.0.0",
+ "semver": "^7.3.5",
+ "tar": "^7.5.4",
+ "tinyglobby": "^0.2.12",
+ "which": "^6.0.0"
+ },
+ "bin": {
+ "node-gyp": "bin/node-gyp.js"
},
"engines": {
- "node": ">=8"
+ "node": "^20.17.0 || >=22.9.0"
}
},
- "node_modules/number-allocator": {
- "version": "1.0.14",
- "resolved": "https://registry.npmjs.org/number-allocator/-/number-allocator-1.0.14.tgz",
- "integrity": "sha512-OrL44UTVAvkKdOdRQZIJpLkAdjXGTRda052sN4sO77bKEzYYqWKMBjQvrJFzqygI99gL6Z4u2xctPW1tB8ErvA==",
+ "node_modules/node-gyp/node_modules/abbrev": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-4.0.0.tgz",
+ "integrity": "sha512-a1wflyaL0tHtJSmLSOVybYhy22vRih4eduhhrkcjgrWGnRfrZtovJ2FRjxuTtkkj47O/baf0R86QU5OuYpz8fA==",
"dev": true,
- "dependencies": {
- "debug": "^4.3.1",
- "js-sdsl": "4.3.0"
+ "license": "ISC",
+ "engines": {
+ "node": "^20.17.0 || >=22.9.0"
}
},
- "node_modules/number-allocator/node_modules/debug": {
- "version": "4.3.7",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz",
- "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==",
+ "node_modules/node-gyp/node_modules/isexe": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/isexe/-/isexe-4.0.0.tgz",
+ "integrity": "sha512-FFUtZMpoZ8RqHS3XeXEmHWLA4thH+ZxCv2lOiPIn1Xc7CxrqhWzNSDzD+/chS/zbYezmiwWLdQC09JdQKmthOw==",
"dev": true,
- "dependencies": {
- "ms": "^2.1.3"
- },
+ "license": "BlueOak-1.0.0",
"engines": {
- "node": ">=6.0"
- },
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
+ "node": ">=20"
}
},
- "node_modules/number-allocator/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/nx": {
- "version": "22.5.4",
- "resolved": "https://registry.npmjs.org/nx/-/nx-22.5.4.tgz",
- "integrity": "sha512-L8wL7uCjnmpyvq4r2mN9s+oriUE4lY+mX9VgOpjj0ucRd5nzaEaBQppVs0zQGkbKC0BnHS8PGtnAglspd5Gh1Q==",
+ "node_modules/node-gyp/node_modules/nopt": {
+ "version": "9.0.0",
+ "resolved": "https://registry.npmjs.org/nopt/-/nopt-9.0.0.tgz",
+ "integrity": "sha512-Zhq3a+yFKrYwSBluL4H9XP3m3y5uvQkB/09CwDruCiRmR/UJYnn9W4R48ry0uGC70aeTPKLynBtscP9efFFcPw==",
"dev": true,
- "hasInstallScript": true,
- "license": "MIT",
+ "license": "ISC",
"dependencies": {
- "@napi-rs/wasm-runtime": "0.2.4",
- "@yarnpkg/lockfile": "^1.1.0",
- "@yarnpkg/parsers": "3.0.2",
- "@zkochan/js-yaml": "0.0.7",
- "axios": "^1.12.0",
- "cli-cursor": "3.1.0",
- "cli-spinners": "2.6.1",
- "cliui": "^8.0.1",
- "dotenv": "~16.4.5",
- "dotenv-expand": "~11.0.6",
- "ejs": "^3.1.7",
- "enquirer": "~2.3.6",
- "figures": "3.2.0",
- "flat": "^5.0.2",
- "front-matter": "^4.0.2",
- "ignore": "^7.0.5",
- "jest-diff": "^30.0.2",
- "jsonc-parser": "3.2.0",
- "lines-and-columns": "2.0.3",
- "minimatch": "10.2.4",
- "node-machine-id": "1.1.12",
- "npm-run-path": "^4.0.1",
- "open": "^8.4.0",
- "ora": "5.3.0",
- "picocolors": "^1.1.0",
- "resolve.exports": "2.0.3",
- "semver": "^7.6.3",
- "string-width": "^4.2.3",
- "tar-stream": "~2.2.0",
- "tmp": "~0.2.1",
- "tree-kill": "^1.2.2",
- "tsconfig-paths": "^4.1.2",
- "tslib": "^2.3.0",
- "yaml": "^2.6.0",
- "yargs": "^17.6.2",
- "yargs-parser": "21.1.1"
+ "abbrev": "^4.0.0"
},
"bin": {
- "nx": "bin/nx.js",
- "nx-cloud": "bin/nx-cloud.js"
- },
- "optionalDependencies": {
- "@nx/nx-darwin-arm64": "22.5.4",
- "@nx/nx-darwin-x64": "22.5.4",
- "@nx/nx-freebsd-x64": "22.5.4",
- "@nx/nx-linux-arm-gnueabihf": "22.5.4",
- "@nx/nx-linux-arm64-gnu": "22.5.4",
- "@nx/nx-linux-arm64-musl": "22.5.4",
- "@nx/nx-linux-x64-gnu": "22.5.4",
- "@nx/nx-linux-x64-musl": "22.5.4",
- "@nx/nx-win32-arm64-msvc": "22.5.4",
- "@nx/nx-win32-x64-msvc": "22.5.4"
- },
- "peerDependencies": {
- "@swc-node/register": "^1.11.1",
- "@swc/core": "^1.15.8"
+ "nopt": "bin/nopt.js"
},
- "peerDependenciesMeta": {
- "@swc-node/register": {
- "optional": true
- },
- "@swc/core": {
- "optional": true
- }
+ "engines": {
+ "node": "^20.17.0 || >=22.9.0"
}
},
- "node_modules/nx/node_modules/balanced-match": {
- "version": "4.0.4",
- "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz",
- "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==",
+ "node_modules/node-gyp/node_modules/proc-log": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-6.1.0.tgz",
+ "integrity": "sha512-iG+GYldRf2BQ0UDUAd6JQ/RwzaQy6mXmsk/IzlYyal4A4SNFw54MeH4/tLkF4I5WoWG9SQwuqWzS99jaFQHBuQ==",
"dev": true,
- "license": "MIT",
+ "license": "ISC",
"engines": {
- "node": "18 || 20 || >=22"
+ "node": "^20.17.0 || >=22.9.0"
}
},
- "node_modules/nx/node_modules/brace-expansion": {
- "version": "5.0.4",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.4.tgz",
- "integrity": "sha512-h+DEnpVvxmfVefa4jFbCf5HdH5YMDXRsmKflpf1pILZWRFlTbJpxeU55nJl4Smt5HQaGzg1o6RHFPJaOqnmBDg==",
+ "node_modules/node-gyp/node_modules/which": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/which/-/which-6.0.1.tgz",
+ "integrity": "sha512-oGLe46MIrCRqX7ytPUf66EAYvdeMIZYn3WaocqqKZAxrBpkqHfL/qvTyJ/bTk5+AqHCjXmrv3CEWgy368zhRUg==",
"dev": true,
- "license": "MIT",
+ "license": "ISC",
"dependencies": {
- "balanced-match": "^4.0.2"
+ "isexe": "^4.0.0"
+ },
+ "bin": {
+ "node-which": "bin/which.js"
},
"engines": {
- "node": "18 || 20 || >=22"
+ "node": "^20.17.0 || >=22.9.0"
}
},
- "node_modules/nx/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/node-releases": {
+ "version": "2.0.36",
+ "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.36.tgz",
+ "integrity": "sha512-TdC8FSgHz8Mwtw9g5L4gR/Sh9XhSP/0DEkQxfEFXOpiul5IiHgHan2VhYYb6agDSfp4KuvltmGApc8HMgUrIkA==",
"dev": true,
- "license": "MIT",
+ "license": "MIT"
+ },
+ "node_modules/nopt": {
+ "version": "8.1.0",
+ "resolved": "https://registry.npmjs.org/nopt/-/nopt-8.1.0.tgz",
+ "integrity": "sha512-ieGu42u/Qsa4TFktmaKEwM6MQH0pOWnaB3htzh0JRtx84+Mebc0cbZYN5bC+6WTZ4+77xrL9Pn5m7CV6VIkV7A==",
+ "dev": true,
+ "license": "ISC",
"dependencies": {
- "restore-cursor": "^3.1.0"
+ "abbrev": "^3.0.0"
+ },
+ "bin": {
+ "nopt": "bin/nopt.js"
},
"engines": {
- "node": ">=8"
+ "node": "^18.17.0 || >=20.5.0"
}
},
- "node_modules/nx/node_modules/dotenv": {
- "version": "16.4.7",
- "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.7.tgz",
- "integrity": "sha512-47qPchRCykZC03FhkYAhrvwU4xDBFIj1QPqaarj6mdM/hgUzfPHcpkHJOn3mJAufFeeAxAzeGsr5X0M4k6fLZQ==",
+ "node_modules/normalize-package-data": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-7.0.1.tgz",
+ "integrity": "sha512-linxNAT6M0ebEYZOx2tO6vBEFsVgnPpv+AVjk0wJHfaUIbq31Jm3T6vvZaarnOeWDh8ShnwXuaAyM7WT3RzErA==",
"dev": true,
"license": "BSD-2-Clause",
- "engines": {
- "node": ">=12"
+ "dependencies": {
+ "hosted-git-info": "^8.0.0",
+ "semver": "^7.3.5",
+ "validate-npm-package-license": "^3.0.4"
},
- "funding": {
- "url": "https://dotenvx.com"
+ "engines": {
+ "node": "^18.17.0 || >=20.5.0"
}
},
- "node_modules/nx/node_modules/ignore": {
- "version": "7.0.5",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz",
- "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==",
+ "node_modules/normalize-package-data/node_modules/hosted-git-info": {
+ "version": "8.1.0",
+ "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-8.1.0.tgz",
+ "integrity": "sha512-Rw/B2DNQaPBICNXEm8balFz9a6WpZrkCGpcWFpy7nCj+NyhSdqXipmfvtmWt9xGfp0wZnBxB+iVpLmQMYt47Tw==",
"dev": true,
- "license": "MIT",
+ "license": "ISC",
+ "dependencies": {
+ "lru-cache": "^10.0.1"
+ },
"engines": {
- "node": ">= 4"
+ "node": "^18.17.0 || >=20.5.0"
}
},
- "node_modules/nx/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==",
+ "node_modules/normalize-package-data/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/normalize-path": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
+ "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
"dev": true,
"license": "MIT",
"engines": {
- "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+ "node": ">=0.10.0"
}
},
- "node_modules/nx/node_modules/minimatch": {
- "version": "10.2.4",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.4.tgz",
- "integrity": "sha512-oRjTw/97aTBN0RHbYCdtF1MQfvusSIBQM0IZEgzl6426+8jSC0nF1a/GmnVLpfB9yyr6g6FTqWqiZVbxrtaCIg==",
+ "node_modules/now-and-later": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/now-and-later/-/now-and-later-3.0.0.tgz",
+ "integrity": "sha512-pGO4pzSdaxhWTGkfSfHx3hVzJVslFPwBp2Myq9MYN/ChfJZF87ochMAXnvz6/58RJSf5ik2q9tXprBBrk2cpcg==",
"dev": true,
- "license": "BlueOak-1.0.0",
+ "license": "MIT",
"dependencies": {
- "brace-expansion": "^5.0.2"
+ "once": "^1.4.0"
},
"engines": {
- "node": "18 || 20 || >=22"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
+ "node": ">= 10.13.0"
}
},
- "node_modules/nx/node_modules/restore-cursor": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz",
- "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==",
+ "node_modules/npm-bundled": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-4.0.0.tgz",
+ "integrity": "sha512-IxaQZDMsqfQ2Lz37VvyyEtKLe8FsRZuysmedy/N06TU1RyVppYKXrO4xIhR0F+7ubIBox6Q7nir6fQI3ej39iA==",
"dev": true,
- "license": "MIT",
+ "license": "ISC",
"dependencies": {
- "onetime": "^5.1.0",
- "signal-exit": "^3.0.2"
+ "npm-normalize-package-bin": "^4.0.0"
},
"engines": {
- "node": ">=8"
+ "node": "^18.17.0 || >=20.5.0"
}
},
- "node_modules/nyc": {
- "version": "18.0.0",
- "resolved": "https://registry.npmjs.org/nyc/-/nyc-18.0.0.tgz",
- "integrity": "sha512-G5UyHinFkB1BxqGTrmZdB6uIYH0+v7ZnVssuflUDi+J+RhKWyAhRT1RCehBSI6jLFLuUUgFDyLt49mUtdO1XeQ==",
+ "node_modules/npm-install-checks": {
+ "version": "7.1.2",
+ "resolved": "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-7.1.2.tgz",
+ "integrity": "sha512-z9HJBCYw9Zr8BqXcllKIs5nI+QggAImbBdHphOzVYrz2CB4iQ6FzWyKmlqDZua+51nAu7FcemlbTc9VgQN5XDQ==",
"dev": true,
- "license": "ISC",
+ "license": "BSD-2-Clause",
"dependencies": {
- "@istanbuljs/load-nyc-config": "^1.0.0",
- "@istanbuljs/schema": "^0.1.2",
- "caching-transform": "^4.0.0",
- "convert-source-map": "^1.7.0",
- "decamelize": "^1.2.0",
- "find-cache-dir": "^3.2.0",
- "find-up": "^4.1.0",
- "foreground-child": "^3.3.0",
- "get-package-type": "^0.1.0",
- "glob": "^13.0.6",
- "istanbul-lib-coverage": "^3.0.0",
- "istanbul-lib-hook": "^3.0.0",
- "istanbul-lib-instrument": "^6.0.2",
- "istanbul-lib-processinfo": "^3.0.0",
- "istanbul-lib-report": "^3.0.0",
- "istanbul-lib-source-maps": "^4.0.0",
- "istanbul-reports": "^3.0.2",
- "make-dir": "^3.0.0",
- "node-preload": "^0.2.1",
- "p-map": "^3.0.0",
- "process-on-spawn": "^1.0.0",
- "resolve-from": "^5.0.0",
- "rimraf": "^6.1.3",
- "signal-exit": "^3.0.2",
- "spawn-wrap": "^3.0.0",
- "test-exclude": "^8.0.0",
- "yargs": "^15.0.2"
- },
- "bin": {
- "nyc": "bin/nyc.js"
+ "semver": "^7.1.1"
},
"engines": {
- "node": "20 || >=22"
+ "node": "^18.17.0 || >=20.5.0"
}
},
- "node_modules/nyc/node_modules/balanced-match": {
- "version": "4.0.4",
- "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz",
- "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==",
+ "node_modules/npm-normalize-package-bin": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-4.0.0.tgz",
+ "integrity": "sha512-TZKxPvItzai9kN9H/TkmCtx/ZN/hvr3vUycjlfmH0ootY9yFBzNOpiXAdIn1Iteqsvk4lQn6B5PTrt+n6h8k/w==",
"dev": true,
- "license": "MIT",
+ "license": "ISC",
"engines": {
- "node": "18 || 20 || >=22"
+ "node": "^18.17.0 || >=20.5.0"
}
},
- "node_modules/nyc/node_modules/brace-expansion": {
- "version": "5.0.4",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.4.tgz",
- "integrity": "sha512-h+DEnpVvxmfVefa4jFbCf5HdH5YMDXRsmKflpf1pILZWRFlTbJpxeU55nJl4Smt5HQaGzg1o6RHFPJaOqnmBDg==",
+ "node_modules/npm-package-arg": {
+ "version": "13.0.1",
+ "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-13.0.1.tgz",
+ "integrity": "sha512-6zqls5xFvJbgFjB1B2U6yITtyGBjDBORB7suI4zA4T/sZ1OmkMFlaQSNB/4K0LtXNA1t4OprAFxPisadK5O2ag==",
"dev": true,
- "license": "MIT",
+ "license": "ISC",
"dependencies": {
- "balanced-match": "^4.0.2"
+ "hosted-git-info": "^9.0.0",
+ "proc-log": "^5.0.0",
+ "semver": "^7.3.5",
+ "validate-npm-package-name": "^6.0.0"
},
"engines": {
- "node": "18 || 20 || >=22"
+ "node": "^20.17.0 || >=22.9.0"
}
},
- "node_modules/nyc/node_modules/cliui": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz",
- "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==",
+ "node_modules/npm-packlist": {
+ "version": "10.0.3",
+ "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-10.0.3.tgz",
+ "integrity": "sha512-zPukTwJMOu5X5uvm0fztwS5Zxyvmk38H/LfidkOMt3gbZVCyro2cD/ETzwzVPcWZA3JOyPznfUN/nkyFiyUbxg==",
"dev": true,
"license": "ISC",
"dependencies": {
- "string-width": "^4.2.0",
- "strip-ansi": "^6.0.0",
- "wrap-ansi": "^6.2.0"
+ "ignore-walk": "^8.0.0",
+ "proc-log": "^6.0.0"
+ },
+ "engines": {
+ "node": "^20.17.0 || >=22.9.0"
}
},
- "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==",
+ "node_modules/npm-packlist/node_modules/proc-log": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-6.1.0.tgz",
+ "integrity": "sha512-iG+GYldRf2BQ0UDUAd6JQ/RwzaQy6mXmsk/IzlYyal4A4SNFw54MeH4/tLkF4I5WoWG9SQwuqWzS99jaFQHBuQ==",
"dev": true,
- "license": "MIT",
- "dependencies": {
- "locate-path": "^5.0.0",
- "path-exists": "^4.0.0"
- },
+ "license": "ISC",
"engines": {
- "node": ">=8"
+ "node": "^20.17.0 || >=22.9.0"
}
},
- "node_modules/nyc/node_modules/glob": {
- "version": "13.0.6",
- "resolved": "https://registry.npmjs.org/glob/-/glob-13.0.6.tgz",
- "integrity": "sha512-Wjlyrolmm8uDpm/ogGyXZXb1Z+Ca2B8NbJwqBVg0axK9GbBeoS7yGV6vjXnYdGm6X53iehEuxxbyiKp8QmN4Vw==",
+ "node_modules/npm-pick-manifest": {
+ "version": "11.0.3",
+ "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-11.0.3.tgz",
+ "integrity": "sha512-buzyCfeoGY/PxKqmBqn1IUJrZnUi1VVJTdSSRPGI60tJdUhUoSQFhs0zycJokDdOznQentgrpf8LayEHyyYlqQ==",
"dev": true,
- "license": "BlueOak-1.0.0",
+ "license": "ISC",
"dependencies": {
- "minimatch": "^10.2.2",
- "minipass": "^7.1.3",
- "path-scurry": "^2.0.2"
+ "npm-install-checks": "^8.0.0",
+ "npm-normalize-package-bin": "^5.0.0",
+ "npm-package-arg": "^13.0.0",
+ "semver": "^7.3.5"
},
"engines": {
- "node": "18 || 20 || >=22"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
+ "node": "^20.17.0 || >=22.9.0"
}
},
- "node_modules/nyc/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==",
+ "node_modules/npm-pick-manifest/node_modules/npm-install-checks": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-8.0.0.tgz",
+ "integrity": "sha512-ScAUdMpyzkbpxoNekQ3tNRdFI8SJ86wgKZSQZdUxT+bj0wVFpsEMWnkXP0twVe1gJyNF5apBWDJhhIbgrIViRA==",
"dev": true,
- "license": "MIT",
+ "license": "BSD-2-Clause",
"dependencies": {
- "p-locate": "^4.1.0"
+ "semver": "^7.1.1"
},
"engines": {
- "node": ">=8"
+ "node": "^20.17.0 || >=22.9.0"
}
},
- "node_modules/nyc/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==",
+ "node_modules/npm-pick-manifest/node_modules/npm-normalize-package-bin": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-5.0.0.tgz",
+ "integrity": "sha512-CJi3OS4JLsNMmr2u07OJlhcrPxCeOeP/4xq67aWNai6TNWWbTrlNDgl8NcFKVlcBKp18GPj+EzbNIgrBfZhsag==",
"dev": true,
- "license": "MIT",
- "dependencies": {
- "semver": "^6.0.0"
- },
+ "license": "ISC",
"engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "node": "^20.17.0 || >=22.9.0"
}
},
- "node_modules/nyc/node_modules/minimatch": {
- "version": "10.2.4",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.4.tgz",
- "integrity": "sha512-oRjTw/97aTBN0RHbYCdtF1MQfvusSIBQM0IZEgzl6426+8jSC0nF1a/GmnVLpfB9yyr6g6FTqWqiZVbxrtaCIg==",
+ "node_modules/npm-registry-fetch": {
+ "version": "19.1.0",
+ "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-19.1.0.tgz",
+ "integrity": "sha512-xyZLfs7TxPu/WKjHUs0jZOPinzBAI32kEUel6za0vH+JUTnFZ5zbHI1ZoGZRDm6oMjADtrli6FxtMlk/5ABPNw==",
"dev": true,
- "license": "BlueOak-1.0.0",
+ "license": "ISC",
"dependencies": {
- "brace-expansion": "^5.0.2"
+ "@npmcli/redact": "^3.0.0",
+ "jsonparse": "^1.3.1",
+ "make-fetch-happen": "^15.0.0",
+ "minipass": "^7.0.2",
+ "minipass-fetch": "^4.0.0",
+ "minizlib": "^3.0.1",
+ "npm-package-arg": "^13.0.0",
+ "proc-log": "^5.0.0"
},
"engines": {
- "node": "18 || 20 || >=22"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
+ "node": "^20.17.0 || >=22.9.0"
}
},
- "node_modules/nyc/node_modules/p-limit": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
- "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
+ "node_modules/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,
"license": "MIT",
"dependencies": {
- "p-try": "^2.0.0"
+ "path-key": "^3.0.0"
},
"engines": {
- "node": ">=6"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "node": ">=8"
}
},
- "node_modules/nyc/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==",
+ "node_modules/number-allocator": {
+ "version": "1.0.14",
+ "resolved": "https://registry.npmjs.org/number-allocator/-/number-allocator-1.0.14.tgz",
+ "integrity": "sha512-OrL44UTVAvkKdOdRQZIJpLkAdjXGTRda052sN4sO77bKEzYYqWKMBjQvrJFzqygI99gL6Z4u2xctPW1tB8ErvA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "p-limit": "^2.2.0"
- },
- "engines": {
- "node": ">=8"
+ "debug": "^4.3.1",
+ "js-sdsl": "4.3.0"
}
},
- "node_modules/nyc/node_modules/p-map": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz",
- "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==",
+ "node_modules/nx": {
+ "version": "22.6.3",
+ "resolved": "https://registry.npmjs.org/nx/-/nx-22.6.3.tgz",
+ "integrity": "sha512-8eIkEAlvkTvR2zY+yjhuTxMD6z4AtM1SumSBbwMmUMEXMtXE88fH0RL59T5V6MLjaov1exUM3lhUqPE3IyuBPg==",
"dev": true,
+ "hasInstallScript": true,
"license": "MIT",
"dependencies": {
- "aggregate-error": "^3.0.0"
+ "@ltd/j-toml": "^1.38.0",
+ "@napi-rs/wasm-runtime": "0.2.4",
+ "@yarnpkg/lockfile": "^1.1.0",
+ "@yarnpkg/parsers": "3.0.2",
+ "@zkochan/js-yaml": "0.0.7",
+ "axios": "^1.12.0",
+ "cli-cursor": "3.1.0",
+ "cli-spinners": "2.6.1",
+ "cliui": "^8.0.1",
+ "dotenv": "~16.4.5",
+ "dotenv-expand": "~11.0.6",
+ "ejs": "^3.1.7",
+ "enquirer": "~2.3.6",
+ "figures": "3.2.0",
+ "flat": "^5.0.2",
+ "front-matter": "^4.0.2",
+ "ignore": "^7.0.5",
+ "jest-diff": "^30.0.2",
+ "jsonc-parser": "3.2.0",
+ "lines-and-columns": "2.0.3",
+ "minimatch": "10.2.4",
+ "npm-run-path": "^4.0.1",
+ "open": "^8.4.0",
+ "ora": "5.3.0",
+ "picocolors": "^1.1.0",
+ "resolve.exports": "2.0.3",
+ "semver": "^7.6.3",
+ "string-width": "^4.2.3",
+ "tar-stream": "~2.2.0",
+ "tmp": "~0.2.1",
+ "tree-kill": "^1.2.2",
+ "tsconfig-paths": "^4.1.2",
+ "tslib": "^2.3.0",
+ "yaml": "^2.6.0",
+ "yargs": "^17.6.2",
+ "yargs-parser": "21.1.1"
},
- "engines": {
- "node": ">=8"
+ "bin": {
+ "nx": "bin/nx.js",
+ "nx-cloud": "bin/nx-cloud.js"
+ },
+ "optionalDependencies": {
+ "@nx/nx-darwin-arm64": "22.6.3",
+ "@nx/nx-darwin-x64": "22.6.3",
+ "@nx/nx-freebsd-x64": "22.6.3",
+ "@nx/nx-linux-arm-gnueabihf": "22.6.3",
+ "@nx/nx-linux-arm64-gnu": "22.6.3",
+ "@nx/nx-linux-arm64-musl": "22.6.3",
+ "@nx/nx-linux-x64-gnu": "22.6.3",
+ "@nx/nx-linux-x64-musl": "22.6.3",
+ "@nx/nx-win32-arm64-msvc": "22.6.3",
+ "@nx/nx-win32-x64-msvc": "22.6.3"
+ },
+ "peerDependencies": {
+ "@swc-node/register": "^1.11.1",
+ "@swc/core": "^1.15.8"
+ },
+ "peerDependenciesMeta": {
+ "@swc-node/register": {
+ "optional": true
+ },
+ "@swc/core": {
+ "optional": true
+ }
}
},
- "node_modules/nyc/node_modules/path-scurry": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.2.tgz",
- "integrity": "sha512-3O/iVVsJAPsOnpwWIeD+d6z/7PmqApyQePUtCndjatj/9I5LylHvt5qluFaBT3I5h3r1ejfR056c+FCv+NnNXg==",
+ "node_modules/nx/node_modules/balanced-match": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz",
+ "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==",
"dev": true,
- "license": "BlueOak-1.0.0",
- "dependencies": {
- "lru-cache": "^11.0.0",
- "minipass": "^7.1.2"
- },
+ "license": "MIT",
"engines": {
"node": "18 || 20 || >=22"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
}
},
- "node_modules/nyc/node_modules/rimraf": {
- "version": "6.1.3",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-6.1.3.tgz",
- "integrity": "sha512-LKg+Cr2ZF61fkcaK1UdkH2yEBBKnYjTyWzTJT6KNPcSPaiT7HSdhtMXQuN5wkTX0Xu72KQ1l8S42rlmexS2hSA==",
+ "node_modules/nx/node_modules/brace-expansion": {
+ "version": "5.0.5",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.5.tgz",
+ "integrity": "sha512-VZznLgtwhn+Mact9tfiwx64fA9erHH/MCXEUfB/0bX/6Fz6ny5EGTXYltMocqg4xFAQZtnO3DHWWXi8RiuN7cQ==",
"dev": true,
- "license": "BlueOak-1.0.0",
+ "license": "MIT",
"dependencies": {
- "glob": "^13.0.3",
- "package-json-from-dist": "^1.0.1"
- },
- "bin": {
- "rimraf": "dist/esm/bin.mjs"
+ "balanced-match": "^4.0.2"
},
"engines": {
- "node": "20 || >=22"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
- "node_modules/nyc/node_modules/semver": {
- "version": "6.3.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
- "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
- "dev": true,
- "license": "ISC",
- "bin": {
- "semver": "bin/semver.js"
+ "node": "18 || 20 || >=22"
}
},
- "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==",
+ "node_modules/nx/node_modules/cli-cursor": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz",
+ "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==",
"dev": true,
"license": "MIT",
"dependencies": {
- "ansi-styles": "^4.0.0",
- "string-width": "^4.1.0",
- "strip-ansi": "^6.0.0"
+ "restore-cursor": "^3.1.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,
- "license": "ISC"
- },
- "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==",
+ "node_modules/nx/node_modules/minimatch": {
+ "version": "10.2.4",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.4.tgz",
+ "integrity": "sha512-oRjTw/97aTBN0RHbYCdtF1MQfvusSIBQM0IZEgzl6426+8jSC0nF1a/GmnVLpfB9yyr6g6FTqWqiZVbxrtaCIg==",
"dev": true,
- "license": "MIT",
+ "license": "BlueOak-1.0.0",
"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"
+ "brace-expansion": "^5.0.2"
},
"engines": {
- "node": ">=8"
+ "node": "18 || 20 || >=22"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
}
},
- "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==",
+ "node_modules/nx/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,
- "license": "ISC",
+ "license": "MIT",
"dependencies": {
- "camelcase": "^5.0.0",
- "decamelize": "^1.2.0"
+ "onetime": "^5.1.0",
+ "signal-exit": "^3.0.2"
},
"engines": {
- "node": ">=6"
+ "node": ">=8"
}
},
"node_modules/oauth-sign": {
@@ -20675,6 +18861,7 @@
"resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz",
"integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==",
"dev": true,
+ "license": "Apache-2.0",
"engines": {
"node": "*"
}
@@ -20683,6 +18870,7 @@
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
"integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==",
+ "license": "MIT",
"engines": {
"node": ">=0.10.0"
}
@@ -20692,6 +18880,7 @@
"resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz",
"integrity": "sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"copy-descriptor": "^0.1.0",
"define-property": "^0.2.5",
@@ -20701,34 +18890,11 @@
"node": ">=0.10.0"
}
},
- "node_modules/object-copy/node_modules/define-property": {
- "version": "0.2.5",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
- "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==",
- "dev": true,
- "dependencies": {
- "is-descriptor": "^0.1.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/object-copy/node_modules/kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==",
- "dev": true,
- "dependencies": {
- "is-buffer": "^1.1.5"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
"node_modules/object-hash": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz",
"integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==",
+ "license": "MIT",
"engines": {
"node": ">= 6"
}
@@ -20750,6 +18916,7 @@
"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"
}
@@ -20759,6 +18926,7 @@
"resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz",
"integrity": "sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"isobject": "^3.0.0"
},
@@ -20808,6 +18976,7 @@
"resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz",
"integrity": "sha512-UiAM5mhmIuKLsOvrL+B0U2d1hXHF3bFYWIuH1LMpuV2EJEHG1Ntz06PgLEHjm6VFd87NpH8rastvPoyv6UW2fA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"for-own": "^0.1.4",
"is-extendable": "^0.1.1"
@@ -20821,6 +18990,7 @@
"resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz",
"integrity": "sha512-SKmowqGTJoPzLO1T0BBJpkfp3EMacCMOuH40hOUbrbzElVktk4DioXVM99QkLCyKoiuOmyjgcWMpVz2xjE7LZw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"for-in": "^1.0.1"
},
@@ -20833,6 +19003,7 @@
"resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
"integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=0.10.0"
}
@@ -20842,6 +19013,7 @@
"resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz",
"integrity": "sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"isobject": "^3.0.1"
},
@@ -20849,11 +19021,21 @@
"node": ">=0.10.0"
}
},
+ "node_modules/obug": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/obug/-/obug-2.1.1.tgz",
+ "integrity": "sha512-uTqF9MuPraAQ+IsnPf366RG4cP9RtUi7MLO1N3KEc+wb0a6yKpeL0lmk2IB1jY5KHPAlTc6T/JRdC/YqxHNwkQ==",
+ "dev": true,
+ "funding": [
+ "https://github.com/sponsors/sxzz",
+ "https://opencollective.com/debug"
+ ],
+ "license": "MIT"
+ },
"node_modules/on-exit-leak-free": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/on-exit-leak-free/-/on-exit-leak-free-2.1.2.tgz",
"integrity": "sha512-0eJJY6hXLGf1udHwfNftBqH+g73EU4B504nZeKpz1sYRKafAghwxEJunB2O7rDZkL4PGfsMVnTXZ2EjibbqcsA==",
- "dev": true,
"license": "MIT",
"engines": {
"node": ">=14.0.0"
@@ -20863,6 +19045,7 @@
"version": "2.4.1",
"resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz",
"integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==",
+ "license": "MIT",
"dependencies": {
"ee-first": "1.1.1"
},
@@ -20874,6 +19057,7 @@
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
"integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
+ "license": "ISC",
"dependencies": {
"wrappy": "1"
}
@@ -20883,6 +19067,7 @@
"resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz",
"integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"mimic-fn": "^2.1.0"
},
@@ -20911,50 +19096,64 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/optionator": {
- "version": "0.9.4",
- "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz",
- "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==",
+ "node_modules/ora": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/ora/-/ora-5.3.0.tgz",
+ "integrity": "sha512-zAKMgGXUim0Jyd6CXK9lraBnD3H5yPGBPPOkC23a2BG6hsm4Zu6OQSjQuEtV0BHDf4aKHcUFvJiGRrFuW3MG8g==",
"dev": true,
+ "license": "MIT",
"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.5"
+ "bl": "^4.0.3",
+ "chalk": "^4.1.0",
+ "cli-cursor": "^3.1.0",
+ "cli-spinners": "^2.5.0",
+ "is-interactive": "^1.0.0",
+ "log-symbols": "^4.0.0",
+ "strip-ansi": "^6.0.0",
+ "wcwidth": "^1.0.1"
},
"engines": {
- "node": ">= 0.8.0"
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/optionator/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
+ "node_modules/ora/node_modules/bl": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz",
+ "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "buffer": "^5.5.0",
+ "inherits": "^2.0.4",
+ "readable-stream": "^3.4.0"
+ }
},
- "node_modules/ora": {
- "version": "5.3.0",
- "resolved": "https://registry.npmjs.org/ora/-/ora-5.3.0.tgz",
- "integrity": "sha512-zAKMgGXUim0Jyd6CXK9lraBnD3H5yPGBPPOkC23a2BG6hsm4Zu6OQSjQuEtV0BHDf4aKHcUFvJiGRrFuW3MG8g==",
+ "node_modules/ora/node_modules/buffer": {
+ "version": "5.7.1",
+ "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
+ "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
"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": "MIT",
"dependencies": {
- "bl": "^4.0.3",
- "chalk": "^4.1.0",
- "cli-cursor": "^3.1.0",
- "cli-spinners": "^2.5.0",
- "is-interactive": "^1.0.0",
- "log-symbols": "^4.0.0",
- "strip-ansi": "^6.0.0",
- "wcwidth": "^1.0.1"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "base64-js": "^1.3.1",
+ "ieee754": "^1.1.13"
}
},
"node_modules/ora/node_modules/cli-cursor": {
@@ -20970,6 +19169,21 @@
"node": ">=8"
}
},
+ "node_modules/ora/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,
+ "license": "MIT",
+ "dependencies": {
+ "inherits": "^2.0.3",
+ "string_decoder": "^1.1.1",
+ "util-deprecate": "^1.0.1"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
"node_modules/ora/node_modules/restore-cursor": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz",
@@ -20989,86 +19203,64 @@
"resolved": "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-1.0.1.tgz",
"integrity": "sha512-Z87aSjx3r5c0ZB7bcJqIgIRX5bxR7A4aSzvIbaxd0oTkWBCOoKfuGHiKj60CHVUgg1Phm5yMZzBdt8XqRs73Mw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"readable-stream": "^2.0.1"
}
},
- "node_modules/ordered-read-streams/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/ordered-read-streams/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,
- "dependencies": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.3",
- "isarray": "~1.0.0",
- "process-nextick-args": "~2.0.0",
- "safe-buffer": "~5.1.1",
- "string_decoder": "~1.1.1",
- "util-deprecate": "~1.0.1"
- }
- },
- "node_modules/ordered-read-streams/node_modules/safe-buffer": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
- "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
- "dev": true
- },
- "node_modules/ordered-read-streams/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,
- "dependencies": {
- "safe-buffer": "~5.1.0"
- }
- },
- "node_modules/p-finally": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz",
- "integrity": "sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/p-limit": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
- "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
+ "node_modules/oxlint": {
+ "version": "1.58.0",
+ "resolved": "https://registry.npmjs.org/oxlint/-/oxlint-1.58.0.tgz",
+ "integrity": "sha512-t4s9leczDMqlvOSjnbCQe7gtoLkWgBGZ7sBdCJ9EOj5IXFSG/X7OAzK4yuH4iW+4cAYe8kLFbC8tuYMwWZm+Cg==",
"dev": true,
"license": "MIT",
- "dependencies": {
- "yocto-queue": "^0.1.0"
+ "bin": {
+ "oxlint": "bin/oxlint"
},
"engines": {
- "node": ">=10"
+ "node": "^20.19.0 || >=22.12.0"
},
"funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "url": "https://github.com/sponsors/Boshen"
+ },
+ "optionalDependencies": {
+ "@oxlint/binding-android-arm-eabi": "1.58.0",
+ "@oxlint/binding-android-arm64": "1.58.0",
+ "@oxlint/binding-darwin-arm64": "1.58.0",
+ "@oxlint/binding-darwin-x64": "1.58.0",
+ "@oxlint/binding-freebsd-x64": "1.58.0",
+ "@oxlint/binding-linux-arm-gnueabihf": "1.58.0",
+ "@oxlint/binding-linux-arm-musleabihf": "1.58.0",
+ "@oxlint/binding-linux-arm64-gnu": "1.58.0",
+ "@oxlint/binding-linux-arm64-musl": "1.58.0",
+ "@oxlint/binding-linux-ppc64-gnu": "1.58.0",
+ "@oxlint/binding-linux-riscv64-gnu": "1.58.0",
+ "@oxlint/binding-linux-riscv64-musl": "1.58.0",
+ "@oxlint/binding-linux-s390x-gnu": "1.58.0",
+ "@oxlint/binding-linux-x64-gnu": "1.58.0",
+ "@oxlint/binding-linux-x64-musl": "1.58.0",
+ "@oxlint/binding-openharmony-arm64": "1.58.0",
+ "@oxlint/binding-win32-arm64-msvc": "1.58.0",
+ "@oxlint/binding-win32-ia32-msvc": "1.58.0",
+ "@oxlint/binding-win32-x64-msvc": "1.58.0"
+ },
+ "peerDependencies": {
+ "oxlint-tsgolint": ">=0.18.0"
+ },
+ "peerDependenciesMeta": {
+ "oxlint-tsgolint": {
+ "optional": true
+ }
}
},
- "node_modules/p-locate": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz",
- "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==",
+ "node_modules/p-finally": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz",
+ "integrity": "sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==",
"dev": true,
"license": "MIT",
- "dependencies": {
- "p-limit": "^3.0.2"
- },
"engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "node": ">=4"
}
},
"node_modules/p-map": {
@@ -21183,27 +19375,12 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/package-hash": {
- "version": "4.0.0",
- "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",
- "lodash.flattendeep": "^4.4.0",
- "release-zalgo": "^1.0.0"
- },
- "engines": {
- "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
+ "dev": true,
+ "license": "BlueOak-1.0.0"
},
"node_modules/pacote": {
"version": "21.0.1",
@@ -21270,16 +19447,6 @@
"node": "^18.17.0 || >=20.5.0"
}
},
- "node_modules/pacote/node_modules/chownr": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/chownr/-/chownr-3.0.0.tgz",
- "integrity": "sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==",
- "dev": true,
- "license": "BlueOak-1.0.0",
- "engines": {
- "node": ">=18"
- }
- },
"node_modules/pacote/node_modules/hosted-git-info": {
"version": "8.1.0",
"resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-8.1.0.tgz",
@@ -21320,19 +19487,6 @@
"dev": true,
"license": "ISC"
},
- "node_modules/pacote/node_modules/minizlib": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-3.1.0.tgz",
- "integrity": "sha512-KZxYo1BUkWD2TVFLr0MQoM8vUUigWD3LlD83a/75BqC+4qE0Hb1Vo5v1FgcfaNXvfXzr+5EhQ6ing/CaBijTlw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "minipass": "^7.1.2"
- },
- "engines": {
- "node": ">= 18"
- }
- },
"node_modules/pacote/node_modules/npm-pick-manifest": {
"version": "10.0.0",
"resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-10.0.0.tgz",
@@ -21365,23 +19519,6 @@
"node": "^18.17.0 || >=20.5.0"
}
},
- "node_modules/pacote/node_modules/tar": {
- "version": "7.5.11",
- "resolved": "https://registry.npmjs.org/tar/-/tar-7.5.11.tgz",
- "integrity": "sha512-ChjMH33/KetonMTAtpYdgUFr0tbz69Fp2v7zWxQfYZX4g5ZN2nOBXm1R2xyA+lMIKrLKIoKAwFj93jE/avX9cQ==",
- "dev": true,
- "license": "BlueOak-1.0.0",
- "dependencies": {
- "@isaacs/fs-minipass": "^4.0.0",
- "chownr": "^3.0.0",
- "minipass": "^7.1.2",
- "minizlib": "^3.1.0",
- "yallist": "^5.0.0"
- },
- "engines": {
- "node": ">=18"
- }
- },
"node_modules/pacote/node_modules/which": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/which/-/which-5.0.0.tgz",
@@ -21398,21 +19535,12 @@
"node": "^18.17.0 || >=20.5.0"
}
},
- "node_modules/pacote/node_modules/yallist": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-5.0.0.tgz",
- "integrity": "sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==",
- "dev": true,
- "license": "BlueOak-1.0.0",
- "engines": {
- "node": ">=18"
- }
- },
"node_modules/parent-module": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
"integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"callsites": "^3.0.0"
},
@@ -21465,6 +19593,7 @@
"resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz",
"integrity": "sha512-FC5TeK0AwXzq3tUBFtH74naWkPQCEWs4K+xMxWZBlKDWu0bVHXGZa+KKqxKidd7xwhdZ19ZNuF2uO1M/r196HA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"glob-base": "^0.3.0",
"is-dotfile": "^1.0.0",
@@ -21480,6 +19609,7 @@
"resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
"integrity": "sha512-7Q+VbVafe6x2T+Tu6NcOf6sRklazEPmBoB3IWk3WdGZM2iGUwU/Oe3Wtq5lSEkDTTlpp8yx+5t4pzO/i9Ty1ww==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=0.10.0"
}
@@ -21489,6 +19619,7 @@
"resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
"integrity": "sha512-a1dBeB19NXsf/E0+FHqkagizel/LQw2DjSQpvQrj3zT+jYPpaUCryPnrQajXKFLCMuf4I6FhRpaGtw4lPrG6Eg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"is-extglob": "^1.0.0"
},
@@ -21515,11 +19646,26 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/parse-json/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,
+ "license": "MIT"
+ },
+ "node_modules/parse-json/node_modules/lines-and-columns": {
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz",
+ "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==",
+ "dev": true,
+ "license": "MIT"
+ },
"node_modules/parse-node-version": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/parse-node-version/-/parse-node-version-1.0.1.tgz",
"integrity": "sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">= 0.10"
}
@@ -21554,10 +19700,35 @@
"parse-path": "^7.0.0"
}
},
+ "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"
+ },
+ "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",
+ "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"
+ },
"node_modules/parseurl": {
"version": "1.3.3",
"resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
"integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==",
+ "license": "MIT",
"engines": {
"node": ">= 0.8"
}
@@ -21567,6 +19738,7 @@
"resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz",
"integrity": "sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=0.10.0"
}
@@ -21582,7 +19754,8 @@
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz",
"integrity": "sha512-ALzNPpyNq9AqXMBjeymIjFDAkAFH06mHJH/cSBHAgU0s4vfpBn6b2nf8tiRLvagKD8RbTpq2FKTBg7cl9l3c7Q==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/path-exists": {
"version": "4.0.0",
@@ -21599,6 +19772,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"
}
@@ -21617,7 +19791,8 @@
"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-root": {
"version": "0.1.1",
@@ -21643,40 +19818,36 @@
}
},
"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==",
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.2.tgz",
+ "integrity": "sha512-3O/iVVsJAPsOnpwWIeD+d6z/7PmqApyQePUtCndjatj/9I5LylHvt5qluFaBT3I5h3r1ejfR056c+FCv+NnNXg==",
"dev": true,
+ "license": "BlueOak-1.0.0",
"dependencies": {
- "lru-cache": "^10.2.0",
- "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0"
+ "lru-cache": "^11.0.0",
+ "minipass": "^7.1.2"
},
"engines": {
- "node": ">=16 || 14 >=14.18"
+ "node": "18 || 20 || >=22"
},
"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
- },
"node_modules/path-starts-with": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/path-starts-with/-/path-starts-with-2.0.1.tgz",
"integrity": "sha512-wZ3AeiRBRlNwkdUxvBANh0+esnt38DLffHDujZyRHkqkaKHTglnY2EP5UX3b8rdeiSutgO4y9NEJwXezNP5vHg==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=8"
}
},
"node_modules/path-to-regexp": {
- "version": "8.4.2",
- "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-8.4.2.tgz",
- "integrity": "sha512-qRcuIdP69NPm4qbACK+aDogI5CBDMi1jKe0ry5rSQJz8JVLsC7jV8XpiJjGRLLol3N+R5ihGYcrPLTno6pAdBA==",
+ "version": "8.3.0",
+ "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-8.3.0.tgz",
+ "integrity": "sha512-7jdwVIRtsP8MYpdXSwOS0YdD0Du+qOoF/AEPIt88PcCFrZCzx41oxku1jD88hZBwbNUIEfpqvuhjFaMAqMTWnA==",
"license": "MIT",
"funding": {
"type": "opencollective",
@@ -21706,21 +19877,22 @@
"node": ">=4"
}
},
- "node_modules/pathval": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz",
- "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==",
+ "node_modules/pathe": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz",
+ "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==",
"dev": true,
- "license": "MIT",
- "engines": {
- "node": "*"
- }
+ "license": "MIT"
},
"node_modules/pause-stream": {
"version": "0.0.11",
"resolved": "https://registry.npmjs.org/pause-stream/-/pause-stream-0.0.11.tgz",
"integrity": "sha512-e3FBlXLmN/D1S+zHzanP4E/4Z60oFAa3O051qt1pxa7DEJWKAyil6upYVXCWadEnuoqa4Pkc9oUx9zsxYeRv8A==",
"dev": true,
+ "license": [
+ "MIT",
+ "Apache2"
+ ],
"dependencies": {
"through": "~2.3"
}
@@ -21729,34 +19901,40 @@
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
"integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/picocolors": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz",
"integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==",
- "dev": true
+ "dev": true,
+ "license": "ISC"
},
"node_modules/picomatch": {
- "version": "4.0.4",
- "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz",
- "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==",
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.2.tgz",
+ "integrity": "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==",
"dev": true,
"license": "MIT",
"engines": {
- "node": ">=12"
+ "node": ">=8.6"
},
"funding": {
"url": "https://github.com/sponsors/jonschlinkert"
}
- },
- "node_modules/pify": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
- "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==",
+ },
+ "node_modules/pify": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/pify/-/pify-5.0.0.tgz",
+ "integrity": "sha512-eW/gHNMlxdSP6dmG6uJip6FXN0EQBwm2clYYd8Wul42Cwu/DK8HEftzsapcNdYe2MfLiIwZqsDk2RDEsTE79hA==",
"dev": true,
+ "license": "MIT",
"engines": {
- "node": ">=0.10.0"
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/pinkie": {
@@ -21764,6 +19942,7 @@
"resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz",
"integrity": "sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=0.10.0"
}
@@ -21773,6 +19952,7 @@
"resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz",
"integrity": "sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"pinkie": "^2.0.0"
},
@@ -21781,60 +19961,40 @@
}
},
"node_modules/pino": {
- "version": "10.1.0",
- "resolved": "https://registry.npmjs.org/pino/-/pino-10.1.0.tgz",
- "integrity": "sha512-0zZC2ygfdqvqK8zJIr1e+wT1T/L+LF6qvqvbzEQ6tiMAoTqEVK9a1K3YRu8HEUvGEvNqZyPJTtb2sNIoTkB83w==",
- "dev": true,
+ "version": "10.3.1",
+ "resolved": "https://registry.npmjs.org/pino/-/pino-10.3.1.tgz",
+ "integrity": "sha512-r34yH/GlQpKZbU1BvFFqOjhISRo1MNx1tWYsYvmj6KIRHSPMT2+yHOEb1SG6NMvRoHRF0a07kCOox/9yakl1vg==",
"license": "MIT",
"dependencies": {
"@pinojs/redact": "^0.4.0",
"atomic-sleep": "^1.0.0",
"on-exit-leak-free": "^2.1.0",
- "pino-abstract-transport": "^2.0.0",
+ "pino-abstract-transport": "^3.0.0",
"pino-std-serializers": "^7.0.0",
"process-warning": "^5.0.0",
"quick-format-unescaped": "^4.0.3",
"real-require": "^0.2.0",
"safe-stable-stringify": "^2.3.1",
"sonic-boom": "^4.0.1",
- "thread-stream": "^3.0.0"
+ "thread-stream": "^4.0.0"
},
"bin": {
"pino": "bin.js"
}
},
"node_modules/pino-abstract-transport": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/pino-abstract-transport/-/pino-abstract-transport-2.0.0.tgz",
- "integrity": "sha512-F63x5tizV6WCh4R6RHyi2Ml+M70DNRXt/+HANowMflpgGFMAym/VKm6G7ZOQRjqN7XbGxK1Lg9t6ZrtzOaivMw==",
- "dev": true,
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/pino-abstract-transport/-/pino-abstract-transport-3.0.0.tgz",
+ "integrity": "sha512-wlfUczU+n7Hy/Ha5j9a/gZNy7We5+cXp8YL+X+PG8S0KXxw7n/JXA3c46Y0zQznIJ83URJiwy7Lh56WLokNuxg==",
"license": "MIT",
"dependencies": {
"split2": "^4.0.0"
}
},
"node_modules/pino-std-serializers": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/pino-std-serializers/-/pino-std-serializers-7.0.0.tgz",
- "integrity": "sha512-e906FRY0+tV27iq4juKzSYPbUj2do2X2JX4EzSca1631EB2QJQUqGbDuERal7LCtOpxl6x3+nvo9NPZcmjkiFA==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/pino/node_modules/process-warning": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/process-warning/-/process-warning-5.0.0.tgz",
- "integrity": "sha512-a39t9ApHNx2L4+HBnQKqxxHNs1r7KF+Intd8Q/g1bUh6q0WIp9voPXJ/x0j+ZL45KF1pJd9+q2jLIRMfvEshkA==",
- "dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/fastify"
- },
- {
- "type": "opencollective",
- "url": "https://opencollective.com/fastify"
- }
- ],
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/pino-std-serializers/-/pino-std-serializers-7.1.0.tgz",
+ "integrity": "sha512-BndPH67/JxGExRgiX1dX0w1FvZck5Wa4aal9198SrRhZjH3GxKQUKIBnYJTdj2HDN3UQAS06HlfcSbQj2OHmaw==",
"license": "MIT"
},
"node_modules/pkg-dir": {
@@ -21911,6 +20071,7 @@
"resolved": "https://registry.npmjs.org/plugin-error/-/plugin-error-1.0.1.tgz",
"integrity": "sha512-L1zP0dk7vGweZME2i+EeakvUNqSrdiI3F91TwEoYiGrAfUXmVv6fJIq4g82PAXxNsWOp0J7ZqQy/3Szz0ajTxA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"ansi-colors": "^1.0.1",
"arr-diff": "^4.0.0",
@@ -21926,6 +20087,7 @@
"resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-1.1.0.tgz",
"integrity": "sha512-SFKX67auSNoVR38N3L+nvsPjOE0bybKTYbkf5tRvushrAPQ9V75huw0ZxBkKVeRU9kqH3d6HA4xTckbwZ4ixmA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"ansi-wrap": "^0.1.0"
},
@@ -21938,19 +20100,39 @@
"resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz",
"integrity": "sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=0.10.0"
}
},
"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==",
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz",
+ "integrity": "sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">= 0.4"
}
},
+ "node_modules/postcss": {
+ "version": "7.0.39",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz",
+ "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "picocolors": "^0.2.1",
+ "source-map": "^0.6.1"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/postcss/"
+ }
+ },
"node_modules/postcss-selector-parser": {
"version": "7.1.1",
"resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.1.tgz",
@@ -21965,28 +20147,27 @@
"node": ">=4"
}
},
- "node_modules/prelude-ls": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz",
- "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==",
+ "node_modules/postcss/node_modules/picocolors": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz",
+ "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==",
"dev": true,
- "engines": {
- "node": ">= 0.8.0"
- }
+ "license": "ISC"
},
"node_modules/preserve": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz",
"integrity": "sha512-s/46sYeylUfHNjI+sA/78FAHlmIuKqI9wNnzEOGehAlUUYeObv5C2mOinXBjyUyWmJ2SfcS2/ydApH4hTF4WXQ==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/prettier": {
- "version": "3.8.3",
- "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.8.3.tgz",
- "integrity": "sha512-7igPTM53cGHMW8xWuVTydi2KO233VFiTNyF5hLJqpilHfmn8C8gPf+PS7dUT64YcXFbiMGZxS9pCSxL/Dxm/Jw==",
+ "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": {
@@ -21999,19 +20180,6 @@
"url": "https://github.com/prettier/prettier?sponsor=1"
}
},
- "node_modules/prettier-linter-helpers": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.1.tgz",
- "integrity": "sha512-SxToR7P8Y2lWmv/kTzVLC1t/GDI2WGjMwNhLLE9qtH8Q13C+aEmuRlzDst4Up4s0Wc8sF2M+J57iB3cMLqftfg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "fast-diff": "^1.1.2"
- },
- "engines": {
- "node": ">=6.0.0"
- }
- },
"node_modules/pretty-format": {
"version": "30.3.0",
"resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-30.3.0.tgz",
@@ -22055,6 +20223,7 @@
"resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
"integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">= 0.6.0"
}
@@ -22063,26 +20232,24 @@
"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
- },
- "node_modules/process-on-spawn": {
- "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"
- },
- "engines": {
- "node": ">=8"
- }
+ "license": "MIT"
},
"node_modules/process-warning": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/process-warning/-/process-warning-4.0.0.tgz",
- "integrity": "sha512-/MyYDxttz7DfGMMHiysAsFE4qF+pQYAA8ziO/3NcRVrQ5fSk+Mns4QZA/oRPFzvcqNoVJXQNWNAsdwBXLUkQKw==",
- "dev": true
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/process-warning/-/process-warning-5.0.0.tgz",
+ "integrity": "sha512-a39t9ApHNx2L4+HBnQKqxxHNs1r7KF+Intd8Q/g1bUh6q0WIp9voPXJ/x0j+ZL45KF1pJd9+q2jLIRMfvEshkA==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/fastify"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/fastify"
+ }
+ ],
+ "license": "MIT"
},
"node_modules/proggy": {
"version": "3.0.0",
@@ -22099,6 +20266,7 @@
"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"
}
@@ -22117,7 +20285,8 @@
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/promise-breaker/-/promise-breaker-6.0.0.tgz",
"integrity": "sha512-BthzO9yTPswGf7etOBiHCVuugs2N01/Q/94dIPls48z2zCmrnDptUUZzfIb+41xq0MnYZ/BzmOd6ikDR4ibNZA==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/promise-call-limit": {
"version": "3.0.2",
@@ -22133,13 +20302,15 @@
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz",
"integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==",
- "dev": true
+ "dev": true,
+ "license": "ISC"
},
"node_modules/promise-retry": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz",
"integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"err-code": "^2.0.2",
"retry": "^0.12.0"
@@ -22153,6 +20324,7 @@
"resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz",
"integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">= 4"
}
@@ -22171,9 +20343,9 @@
}
},
"node_modules/protobufjs": {
- "version": "7.5.8",
- "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.5.8.tgz",
- "integrity": "sha512-dvpCIeLPbXZS/Ete7yLaO7RenOdken2NHKykBXbsaGxZT0UTltcarBciw+A78SRQs9iMAAVpsYA+l8b1hTePIA==",
+ "version": "7.6.1",
+ "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.6.1.tgz",
+ "integrity": "sha512-4K0myLaWL5EteuSAro91EGFgcfVgxb64Jx+7oDAY6GOkXD4M69yuSEljNcInGVCA5sOPxmZ/EqDLj2x0Q0+Ygg==",
"dev": true,
"hasInstallScript": true,
"license": "BSD-3-Clause",
@@ -22181,25 +20353,26 @@
"@protobufjs/aspromise": "^1.1.2",
"@protobufjs/base64": "^1.1.2",
"@protobufjs/codegen": "^2.0.5",
- "@protobufjs/eventemitter": "^1.1.0",
- "@protobufjs/fetch": "^1.1.0",
+ "@protobufjs/eventemitter": "^1.1.1",
+ "@protobufjs/fetch": "^1.1.1",
"@protobufjs/float": "^1.0.2",
- "@protobufjs/inquire": "^1.1.1",
+ "@protobufjs/inquire": "^1.1.2",
"@protobufjs/path": "^1.1.2",
"@protobufjs/pool": "^1.1.0",
"@protobufjs/utf8": "^1.1.1",
"@types/node": ">=13.7.0",
- "long": "^5.0.0"
+ "long": "^5.3.2"
},
"engines": {
"node": ">=12.0.0"
}
},
"node_modules/protobufjs/node_modules/long": {
- "version": "5.2.3",
- "resolved": "https://registry.npmjs.org/long/-/long-5.2.3.tgz",
- "integrity": "sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q==",
- "dev": true
+ "version": "5.3.2",
+ "resolved": "https://registry.npmjs.org/long/-/long-5.3.2.tgz",
+ "integrity": "sha512-mNAgZ1GmyNhD7AuqnTG3/VQ26o760+ZYBPKjPvugO8+nLbYfX6TVpJPseBvopbdY+qpZ/lKUnmEc1LeZYS3QAA==",
+ "dev": true,
+ "license": "Apache-2.0"
},
"node_modules/protocols": {
"version": "2.0.2",
@@ -22212,6 +20385,7 @@
"version": "2.0.7",
"resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz",
"integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==",
+ "license": "MIT",
"dependencies": {
"forwarded": "0.2.0",
"ipaddr.js": "1.9.1"
@@ -22220,6 +20394,15 @@
"node": ">= 0.10"
}
},
+ "node_modules/proxy-addr/node_modules/ipaddr.js": {
+ "version": "1.9.1",
+ "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz",
+ "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.10"
+ }
+ },
"node_modules/proxy-from-env": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-2.1.0.tgz",
@@ -22231,12 +20414,27 @@
}
},
"node_modules/psl": {
- "version": "1.13.0",
- "resolved": "https://registry.npmjs.org/psl/-/psl-1.13.0.tgz",
- "integrity": "sha512-BFwmFXiJoFqlUpZ5Qssolv15DMyc84gTBds1BjsV1BfXEo1UyyD7GsmN67n7J77uRhoSNW1AXtXKPLcBFQn9Aw==",
+ "version": "1.15.0",
+ "resolved": "https://registry.npmjs.org/psl/-/psl-1.15.0.tgz",
+ "integrity": "sha512-JZd3gMVBAVQkSs6HdNZo9Sdo0LNcQeMNP3CozBJb3JYC/QUYZTnKxP+f8oWRX4rHP5EurWxqAHTSwUCjlNKa1w==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"punycode": "^2.3.1"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/lupomontero"
+ }
+ },
+ "node_modules/pump": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz",
+ "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "end-of-stream": "^1.1.0",
+ "once": "^1.3.1"
}
},
"node_modules/pumpify": {
@@ -22244,35 +20442,27 @@
"resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz",
"integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"duplexify": "^3.6.0",
"inherits": "^2.0.3",
"pump": "^2.0.0"
}
},
- "node_modules/pumpify/node_modules/pump": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz",
- "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==",
- "dev": true,
- "dependencies": {
- "end-of-stream": "^1.1.0",
- "once": "^1.3.1"
- }
- },
"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,
+ "license": "MIT",
"engines": {
"node": ">=6"
}
},
"node_modules/qs": {
- "version": "6.14.1",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.1.tgz",
- "integrity": "sha512-4EK3+xJl8Ts67nLYNwqw/dsFVnCf+qR7RgXSK9jEEm9unao3njwMDdmsdvoKBKHzxd7tCYz5e5M+SnMjdtXGQQ==",
+ "version": "6.15.0",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.15.0.tgz",
+ "integrity": "sha512-mAZTtNCeetKMH+pSjrb76NAM8V9a05I9aBZOHztWy/UqcJdQYNsf59vrRKWnojAT9Y+GbIvoTBC++CPHqpDBhQ==",
"license": "BSD-3-Clause",
"dependencies": {
"side-channel": "^1.1.0"
@@ -22284,6 +20474,13 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/querystringify": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz",
+ "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==",
+ "dev": true,
+ "license": "MIT"
+ },
"node_modules/queue-microtask": {
"version": "1.2.3",
"resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
@@ -22302,13 +20499,13 @@
"type": "consulting",
"url": "https://feross.org/support"
}
- ]
+ ],
+ "license": "MIT"
},
"node_modules/quick-format-unescaped": {
"version": "4.0.4",
"resolved": "https://registry.npmjs.org/quick-format-unescaped/-/quick-format-unescaped-4.0.4.tgz",
"integrity": "sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==",
- "dev": true,
"license": "MIT"
},
"node_modules/quick-lru": {
@@ -22326,6 +20523,7 @@
"resolved": "https://registry.npmjs.org/randomatic/-/randomatic-3.1.1.tgz",
"integrity": "sha512-TuDE5KxZ0J461RVjrJZCJc+J+zCkTb1MbH9AQUq68sMhOMcy9jLcb3BrZKgp9q9Ncltdg4QVqWrH02W2EFFVYw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"is-number": "^4.0.0",
"kind-of": "^6.0.0",
@@ -22340,6 +20538,7 @@
"resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz",
"integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=0.10.0"
}
@@ -22349,23 +20548,16 @@
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
"integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=0.10.0"
}
},
- "node_modules/randombytes": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz",
- "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==",
- "dev": true,
- "dependencies": {
- "safe-buffer": "^5.1.0"
- }
- },
"node_modules/range-parser": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
"integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==",
+ "license": "MIT",
"engines": {
"node": ">= 0.6"
}
@@ -22524,6 +20716,22 @@
"dev": true,
"license": "ISC"
},
+ "node_modules/read-pkg/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",
+ "dependencies": {
+ "graceful-fs": "^4.1.2",
+ "parse-json": "^4.0.0",
+ "pify": "^3.0.0",
+ "strip-bom": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
"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",
@@ -22537,6 +20745,30 @@
"validate-npm-package-license": "^3.0.1"
}
},
+ "node_modules/read-pkg/node_modules/parse-json": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz",
+ "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "error-ex": "^1.3.1",
+ "json-parse-better-errors": "^1.0.1"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/read-pkg/node_modules/pify": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
+ "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=4"
+ }
+ },
"node_modules/read-pkg/node_modules/semver": {
"version": "5.7.2",
"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz",
@@ -22547,23 +20779,38 @@
"semver": "bin/semver"
}
},
+ "node_modules/read-pkg/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/readable-stream": {
- "version": "1.1.14",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
- "integrity": "sha512-+MeVjFf4L44XUkhM1eYbD8fyEsxcV81pqMSR5gblfcLCHfZvbrqy4/qYHE+/R5HoBUT11WV5O08Cr1n3YXkWVQ==",
+ "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",
"dependencies": {
"core-util-is": "~1.0.0",
- "inherits": "~2.0.1",
- "isarray": "0.0.1",
- "string_decoder": "~0.10.x"
+ "inherits": "~2.0.3",
+ "isarray": "~1.0.0",
+ "process-nextick-args": "~2.0.0",
+ "safe-buffer": "~5.1.1",
+ "string_decoder": "~1.1.1",
+ "util-deprecate": "~1.0.1"
}
},
"node_modules/readdirp": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.1.tgz",
- "integrity": "sha512-h80JrZu/MHUZCyHu5ciuoI0+WxsCxzxJTILn6Fs8rxSnFPh+UVHYfeIxK1nVGugMqkfC4vJcBOYbkfkwYK0+gw==",
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz",
+ "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">= 14.18.0"
},
@@ -22576,7 +20823,6 @@
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/real-require/-/real-require-0.2.0.tgz",
"integrity": "sha512-57frrGM/OCTLqLOAh0mhVA9VBMHd+9U7Zb2THMGdBUoZVOtGbJzjxsYGDJ3A9AYYCP4hn6y1TVbaOfzWtm5GFg==",
- "dev": true,
"license": "MIT",
"engines": {
"node": ">= 12.13.0"
@@ -22631,6 +20877,7 @@
"resolved": "https://registry.npmjs.org/redis-errors/-/redis-errors-1.2.0.tgz",
"integrity": "sha512-1qny3OExCf0UvUV/5wpYKf2YwPcOqXzkwKKSmKHiE6ZMQs5heeE/c8eXK+PNllPvmjgAbfnsbpkGZWy8cBpn9w==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=4"
}
@@ -22640,6 +20887,7 @@
"resolved": "https://registry.npmjs.org/redis-parser/-/redis-parser-3.0.0.tgz",
"integrity": "sha512-DJnGAeenTdpMEH6uAJRK/uiyEIH9WVsUmoLwzudwGJUwZPp80PDBWPHXSAGNPwNvIXAbe7MSUB1zQFugFml66A==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"redis-errors": "^1.0.0"
},
@@ -22650,13 +20898,15 @@
"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=="
+ "integrity": "sha512-urBwgfrvVP/eAyXx4hluJivBKzuEbSQs9rKWCrCkbSxNv8mxPcUZKeuoF3Uy4mJl3Lwprp6yy5/39VWigZ4K6Q==",
+ "license": "Apache-2.0"
},
"node_modules/regex-cache": {
"version": "0.4.4",
"resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz",
"integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"is-equal-shallow": "^0.1.3"
},
@@ -22669,6 +20919,7 @@
"resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz",
"integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"extend-shallow": "^3.0.2",
"safe-regex": "^1.1.0"
@@ -22677,24 +20928,12 @@
"node": ">=0.10.0"
}
},
- "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"
- },
- "engines": {
- "node": ">=4"
- }
- },
"node_modules/remove-bom-buffer": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/remove-bom-buffer/-/remove-bom-buffer-3.0.0.tgz",
"integrity": "sha512-8v2rWhaakv18qcvNeli2mZ/TMTL2nEyAKRvzo1WtnZBl15SHyEhrCu2/xKlJyUFKHiHgfXIyuY6g2dObJJycXQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"is-buffer": "^1.1.5",
"is-utf8": "^0.2.1"
@@ -22708,6 +20947,7 @@
"resolved": "https://registry.npmjs.org/remove-bom-stream/-/remove-bom-stream-1.2.0.tgz",
"integrity": "sha512-wigO8/O08XHb8YPzpDDT+QmRANfW6vLqxfaXm1YXhnFf3AkSLyjfG3GEFg4McZkmgL7KvCj5u2KczkvSP6NfHA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"remove-bom-buffer": "^3.0.0",
"safe-buffer": "^5.1.0",
@@ -22721,13 +20961,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-element": {
"version": "1.1.4",
"resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz",
"integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=0.10.0"
}
@@ -22737,18 +20979,18 @@
"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"
}
},
"node_modules/replace-ext": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-2.0.0.tgz",
- "integrity": "sha512-UszKE5KVK6JvyD92nzMn9cDapSk6w/CaFZ96CnmDMUqH9oowfxF/ZjRITD25H4DnOQClLA4/j7jLGXXLVKxAug==",
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz",
+ "integrity": "sha512-AFBWBy9EVRTa/LhEcG8QDP3FvpwZqmvN2QFDuJswFeaVhWnZMp8q3E6Zd90SR04PlIwfGdyVjNyLPyen/ek5CQ==",
"dev": true,
- "license": "MIT",
"engines": {
- "node": ">= 10"
+ "node": ">= 0.4"
}
},
"node_modules/replace-homedir": {
@@ -22767,6 +21009,7 @@
"integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==",
"deprecated": "request has been deprecated, see https://github.com/request/request/issues/3142",
"dev": true,
+ "license": "Apache-2.0",
"dependencies": {
"aws-sign2": "~0.7.0",
"aws4": "^1.8.0",
@@ -22798,6 +21041,7 @@
"resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz",
"integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"asynckit": "^0.4.0",
"combined-stream": "^1.0.6",
@@ -22807,11 +21051,35 @@
"node": ">= 0.12"
}
},
+ "node_modules/request/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",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/request/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",
+ "dependencies": {
+ "mime-db": "1.52.0"
+ },
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
"node_modules/request/node_modules/qs": {
- "version": "6.5.3",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz",
- "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==",
+ "version": "6.5.5",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.5.tgz",
+ "integrity": "sha512-mzR4sElr1bfCaPJe7m8ilJ6ZXdDaGoObcYR0ZHSsktM/Lt21MVHj5De30GQH2eiZ1qGRTO7LCAzQsUeXTNexWQ==",
"dev": true,
+ "license": "BSD-3-Clause",
"engines": {
"node": ">=0.6"
}
@@ -22822,6 +21090,7 @@
"integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==",
"deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.",
"dev": true,
+ "license": "MIT",
"bin": {
"uuid": "bin/uuid"
}
@@ -22831,6 +21100,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"
}
@@ -22839,25 +21109,26 @@
"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==",
+ "license": "MIT",
"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",
- "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==",
+ "node_modules/requires-port": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz",
+ "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==",
"dev": true,
- "license": "ISC"
+ "license": "MIT"
},
"node_modules/resolve": {
- "version": "1.22.10",
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz",
- "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==",
+ "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.0",
+ "is-core-module": "^2.16.1",
"path-parse": "^1.0.7",
"supports-preserve-symlinks-flag": "^1.0.0"
},
@@ -22921,12 +21192,23 @@
"node": ">= 10.13.0"
}
},
+ "node_modules/resolve-pkg-maps": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz",
+ "integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==",
+ "dev": true,
+ "license": "MIT",
+ "funding": {
+ "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1"
+ }
+ },
"node_modules/resolve-url": {
"version": "0.2.1",
"resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz",
"integrity": "sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==",
"deprecated": "https://github.com/lydell/resolve-url#deprecated",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/resolve.exports": {
"version": "2.0.3",
@@ -22988,7 +21270,6 @@
"version": "0.5.0",
"resolved": "https://registry.npmjs.org/ret/-/ret-0.5.0.tgz",
"integrity": "sha512-I1XxrZSQ+oErkRR4jYbAyEEu2I0avBvvMM5JN+6EBprOGRCs63ENqZ3vjavq8fBw2+62G5LF5XelKwuJpcvcxw==",
- "dev": true,
"license": "MIT",
"engines": {
"node": ">=10"
@@ -22999,6 +21280,7 @@
"resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz",
"integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">= 4"
}
@@ -23007,7 +21289,6 @@
"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",
@@ -23017,7 +21298,8 @@
"node_modules/rfdc": {
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.4.1.tgz",
- "integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA=="
+ "integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==",
+ "license": "MIT"
},
"node_modules/rimraf": {
"version": "2.7.1",
@@ -23033,6 +21315,62 @@
"rimraf": "bin.js"
}
},
+ "node_modules/rimraf/node_modules/glob": {
+ "version": "7.2.3",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
+ "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
+ "deprecated": "Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.1.1",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ },
+ "engines": {
+ "node": "*"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/rolldown": {
+ "version": "1.0.0-rc.12",
+ "resolved": "https://registry.npmjs.org/rolldown/-/rolldown-1.0.0-rc.12.tgz",
+ "integrity": "sha512-yP4USLIMYrwpPHEFB5JGH1uxhcslv6/hL0OyvTuY+3qlOSJvZ7ntYnoWpehBxufkgN0cvXxppuTu5hHa/zPh+A==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@oxc-project/types": "=0.122.0",
+ "@rolldown/pluginutils": "1.0.0-rc.12"
+ },
+ "bin": {
+ "rolldown": "bin/cli.mjs"
+ },
+ "engines": {
+ "node": "^20.19.0 || >=22.12.0"
+ },
+ "optionalDependencies": {
+ "@rolldown/binding-android-arm64": "1.0.0-rc.12",
+ "@rolldown/binding-darwin-arm64": "1.0.0-rc.12",
+ "@rolldown/binding-darwin-x64": "1.0.0-rc.12",
+ "@rolldown/binding-freebsd-x64": "1.0.0-rc.12",
+ "@rolldown/binding-linux-arm-gnueabihf": "1.0.0-rc.12",
+ "@rolldown/binding-linux-arm64-gnu": "1.0.0-rc.12",
+ "@rolldown/binding-linux-arm64-musl": "1.0.0-rc.12",
+ "@rolldown/binding-linux-ppc64-gnu": "1.0.0-rc.12",
+ "@rolldown/binding-linux-s390x-gnu": "1.0.0-rc.12",
+ "@rolldown/binding-linux-x64-gnu": "1.0.0-rc.12",
+ "@rolldown/binding-linux-x64-musl": "1.0.0-rc.12",
+ "@rolldown/binding-openharmony-arm64": "1.0.0-rc.12",
+ "@rolldown/binding-wasm32-wasi": "1.0.0-rc.12",
+ "@rolldown/binding-win32-arm64-msvc": "1.0.0-rc.12",
+ "@rolldown/binding-win32-x64-msvc": "1.0.0-rc.12"
+ }
+ },
"node_modules/router": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/router/-/router-2.2.0.tgz",
@@ -23049,32 +21387,10 @@
"node": ">= 18"
}
},
- "node_modules/router/node_modules/debug": {
- "version": "4.4.0",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz",
- "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==",
- "license": "MIT",
- "dependencies": {
- "ms": "^2.1.3"
- },
- "engines": {
- "node": ">=6.0"
- },
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
- }
- },
"node_modules/router/node_modules/is-promise": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/is-promise/-/is-promise-4.0.0.tgz",
- "integrity": "sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ=="
- },
- "node_modules/router/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==",
+ "integrity": "sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==",
"license": "MIT"
},
"node_modules/run-async": {
@@ -23106,6 +21422,7 @@
"url": "https://feross.org/support"
}
],
+ "license": "MIT",
"dependencies": {
"queue-microtask": "^1.2.2"
}
@@ -23123,33 +21440,21 @@
"version": "6.6.7",
"resolved": "https://registry.npmjs.org/rxjs-compat/-/rxjs-compat-6.6.7.tgz",
"integrity": "sha512-szN4fK+TqBPOFBcBcsR0g2cmTTUF/vaFEOZNuSdfU8/pGFnNmmn2u8SystYXG1QMrjOPBc6XTKHMVfENDf6hHw==",
- "dev": true
+ "dev": true,
+ "license": "Apache-2.0"
},
"node_modules/safe-buffer": {
- "version": "5.2.1",
- "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
- "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
- "dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ]
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
+ "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
+ "license": "MIT"
},
"node_modules/safe-regex": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz",
"integrity": "sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"ret": "~0.1.10"
}
@@ -23159,15 +21464,15 @@
"resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz",
"integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=0.12"
}
},
"node_modules/safe-regex2": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/safe-regex2/-/safe-regex2-5.0.0.tgz",
- "integrity": "sha512-YwJwe5a51WlK7KbOJREPdjNrpViQBI3p4T50lfwPuDhZnE3XGVTlGvi+aolc5+RvxDD6bnUmjVsU9n1eboLUYw==",
- "dev": true,
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/safe-regex2/-/safe-regex2-5.1.0.tgz",
+ "integrity": "sha512-pNHAuBW7TrcleFHsxBr5QMi/Iyp0ENjUKz7GCcX1UO7cMh+NmVK6HxQckNL1tJp1XAJVjG6B8OKIPqodqj9rtw==",
"funding": [
{
"type": "github",
@@ -23181,13 +21486,15 @@
"license": "MIT",
"dependencies": {
"ret": "~0.5.0"
+ },
+ "bin": {
+ "safe-regex2": "bin/safe-regex2.js"
}
},
"node_modules/safe-stable-stringify": {
"version": "2.5.0",
"resolved": "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-2.5.0.tgz",
"integrity": "sha512-b3rppTKm9T+PsVCBEOUR46GWI7fdOs00VKZ1+9c1EWDaDMvjQc6tUwuFyIprgGgTcWoVHSKrU8H31ZHA2e0RHA==",
- "dev": true,
"license": "MIT",
"engines": {
"node": ">=10"
@@ -23196,13 +21503,13 @@
"node_modules/safer-buffer": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
- "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
+ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
+ "license": "MIT"
},
"node_modules/secure-json-parse": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/secure-json-parse/-/secure-json-parse-4.0.0.tgz",
- "integrity": "sha512-dxtLJO6sc35jWidmLxo7ij+Eg48PM/kleBsxpC8QJE0qJICe+KawkDQmvCMZUr9u7WKVHgMW6vy3fQ7zMiFZMA==",
- "dev": true,
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/secure-json-parse/-/secure-json-parse-4.1.0.tgz",
+ "integrity": "sha512-l4KnYfEyqYJxDwlNVyRfO2E4NTHfMKAWdUuA8J0yve2Dz/E/PdBepY03RvyJpssIpRFwJoCD55wA+mEDs6ByWA==",
"funding": [
{
"type": "github",
@@ -23219,7 +21526,6 @@
"version": "7.7.4",
"resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz",
"integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==",
- "dev": true,
"license": "ISC",
"bin": {
"semver": "bin/semver.js"
@@ -23242,82 +21548,35 @@
}
},
"node_modules/send": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/send/-/send-1.2.0.tgz",
- "integrity": "sha512-uaW0WwXKpL9blXE2o0bRhoL2EGXIrZxQ2ZQ4mgcfoBxdFmQold+qWsD2jLrfZ0trjKL6vOw0j//eAwcALFjKSw==",
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/send/-/send-1.2.1.tgz",
+ "integrity": "sha512-1gnZf7DFcoIcajTjTwjwuDjzuz4PPcY2StKPlsGAQ1+YH20IRVrBaXSWmdjowTJ6u8Rc01PoYOGHXfP1mYcZNQ==",
"license": "MIT",
"dependencies": {
- "debug": "^4.3.5",
+ "debug": "^4.4.3",
"encodeurl": "^2.0.0",
"escape-html": "^1.0.3",
"etag": "^1.8.1",
"fresh": "^2.0.0",
- "http-errors": "^2.0.0",
- "mime-types": "^3.0.1",
+ "http-errors": "^2.0.1",
+ "mime-types": "^3.0.2",
"ms": "^2.1.3",
"on-finished": "^2.4.1",
"range-parser": "^1.2.1",
- "statuses": "^2.0.1"
+ "statuses": "^2.0.2"
},
"engines": {
"node": ">= 18"
- }
- },
- "node_modules/send/node_modules/debug": {
- "version": "4.4.0",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz",
- "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==",
- "dependencies": {
- "ms": "^2.1.3"
- },
- "engines": {
- "node": ">=6.0"
- },
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
- }
- },
- "node_modules/send/node_modules/mime-db": {
- "version": "1.54.0",
- "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.54.0.tgz",
- "integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==",
- "license": "MIT",
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/send/node_modules/mime-types": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-3.0.1.tgz",
- "integrity": "sha512-xRc4oEhT6eaBpU1XF7AjpOFD+xQmXNB5OVKwp4tqCuBpHLS/ZbBDrc07mYTDqVMg6PfxUjjNp85O6Cd2Z/5HWA==",
- "license": "MIT",
- "dependencies": {
- "mime-db": "^1.54.0"
},
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/send/node_modules/ms": {
- "version": "2.1.3",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
- "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="
- },
- "node_modules/serialize-javascript": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz",
- "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==",
- "dev": true,
- "dependencies": {
- "randombytes": "^2.1.0"
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/express"
}
},
"node_modules/serve-static": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-2.2.0.tgz",
- "integrity": "sha512-61g9pCh0Vnh7IutZjtLGGpTA355+OPn2TyDv/6ivP2h/AdAVX9azsoxmg2/M6nZeQZNYBEwIcsne1mJd9oQItQ==",
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-2.2.1.tgz",
+ "integrity": "sha512-xRXBn0pPqQTVQiC8wyQrKs2MOlX24zQ0POGaj0kultvoOCstBQM5yvOhAVSUwOMjQtTvsPWoNCHfPGwaaQJhTw==",
"license": "MIT",
"dependencies": {
"encodeurl": "^2.0.0",
@@ -23327,25 +21586,31 @@
},
"engines": {
"node": ">= 18"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/express"
}
},
"node_modules/set-blocking": {
"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
+ "dev": true,
+ "license": "ISC"
},
"node_modules/set-cookie-parser": {
- "version": "2.7.1",
- "resolved": "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.7.1.tgz",
- "integrity": "sha512-IOc8uWeOZgnb3ptbCURJWNjWUPcO3ZnTTdzsurqERrP6nPyv+paC55vJM0LpOlT2ne+Ix+9+CRG1MNLlyZ4GjQ==",
- "dev": true
+ "version": "2.7.2",
+ "resolved": "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.7.2.tgz",
+ "integrity": "sha512-oeM1lpU/UvhTxw+g3cIfxXHyJRc/uidd3yK1P242gzHds0udQBYzs3y8j4gCCW+ZJ7ad0yctld8RYO+bdurlvw==",
+ "license": "MIT"
},
"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",
@@ -23363,6 +21628,7 @@
"resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz",
"integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"extend-shallow": "^2.0.1",
"is-extendable": "^0.1.1",
@@ -23378,6 +21644,7 @@
"resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
"integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"is-extendable": "^0.1.0"
},
@@ -23390,6 +21657,7 @@
"resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
"integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=0.10.0"
}
@@ -23399,6 +21667,7 @@
"resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
"integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"isobject": "^3.0.1"
},
@@ -23409,7 +21678,8 @@
"node_modules/setprototypeof": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz",
- "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw=="
+ "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==",
+ "license": "ISC"
},
"node_modules/sha.js": {
"version": "2.4.12",
@@ -23432,6 +21702,27 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/sha.js/node_modules/safe-buffer": {
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
+ "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ],
+ "license": "MIT"
+ },
"node_modules/shebang-command": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
@@ -23455,19 +21746,6 @@
"node": ">=8"
}
},
- "node_modules/shell-quote": {
- "version": "1.8.3",
- "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.3.tgz",
- "integrity": "sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
"node_modules/side-channel": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz",
@@ -23544,13 +21822,22 @@
"version": "17.1.3",
"resolved": "https://registry.npmjs.org/sift/-/sift-17.1.3.tgz",
"integrity": "sha512-Rtlj66/b0ICeFzYTuNvX/EF1igRbbnGSvEyT79McoZa/DeGhMyC5pWKOEsZKnpkqtSeovd5FL/bjHWC3CIIvCQ==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/siginfo": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz",
+ "integrity": "sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==",
+ "dev": true,
+ "license": "ISC"
},
"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/sigstore": {
"version": "4.1.0",
@@ -23570,44 +21857,6 @@
"node": "^20.17.0 || >=22.9.0"
}
},
- "node_modules/sinon": {
- "version": "21.1.2",
- "resolved": "https://registry.npmjs.org/sinon/-/sinon-21.1.2.tgz",
- "integrity": "sha512-FS6mN+/bx7e2ajpXkEmOcWB6xBzWiuNoAQT18/+a20SS4U7FSYl8Ms7N6VTUxN/1JAjkx7aXp+THMC8xdpp0gA==",
- "dev": true,
- "license": "BSD-3-Clause",
- "dependencies": {
- "@sinonjs/commons": "^3.0.1",
- "@sinonjs/fake-timers": "^15.3.2",
- "@sinonjs/samsam": "^10.0.2",
- "diff": "^8.0.4"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/sinon"
- }
- },
- "node_modules/sinon-chai": {
- "version": "3.7.0",
- "resolved": "https://registry.npmjs.org/sinon-chai/-/sinon-chai-3.7.0.tgz",
- "integrity": "sha512-mf5NURdUaSdnatJx3uhoBOrY9dtL19fiOtAdT1Azxg3+lNJFiuN0uzaU3xX1LeAfL17kHQhTAJgpsfhbMJMY2g==",
- "dev": true,
- "license": "(BSD-2-Clause OR WTFPL)",
- "peerDependencies": {
- "chai": "^4.0.0",
- "sinon": ">=4.0.0"
- }
- },
- "node_modules/sinon/node_modules/diff": {
- "version": "8.0.4",
- "resolved": "https://registry.npmjs.org/diff/-/diff-8.0.4.tgz",
- "integrity": "sha512-DPi0FmjiSU5EvQV0++GFDOJ9ASQUVFh5kD+OzOnYdi7n3Wpm9hWWGfB/O2blfHcMVTL5WkQXSnRiK9makhrcnw==",
- "dev": true,
- "license": "BSD-3-Clause",
- "engines": {
- "node": ">=0.3.1"
- }
- },
"node_modules/slash": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz",
@@ -23619,17 +21868,17 @@
}
},
"node_modules/slice-ansi": {
- "version": "7.1.2",
- "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-7.1.2.tgz",
- "integrity": "sha512-iOBWFgUX7caIZiuutICxVgX1SdxwAVFFKwt1EvMYYec/NWO5meOJ6K5uQxhrYBdQJne4KxiqZc+KptFOWFSI9w==",
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-8.0.0.tgz",
+ "integrity": "sha512-stxByr12oeeOyY2BlviTNQlYV5xOj47GirPr4yA1hE9JCtxfQN0+tVbkxwCtYDQWhEKWFHsEK48ORg5jrouCAg==",
"dev": true,
"license": "MIT",
"dependencies": {
- "ansi-styles": "^6.2.1",
- "is-fullwidth-code-point": "^5.0.0"
+ "ansi-styles": "^6.2.3",
+ "is-fullwidth-code-point": "^5.1.0"
},
"engines": {
- "node": ">=18"
+ "node": ">=20"
},
"funding": {
"url": "https://github.com/chalk/slice-ansi?sponsor=1"
@@ -23648,27 +21897,12 @@
"url": "https://github.com/chalk/ansi-styles?sponsor=1"
}
},
- "node_modules/slice-ansi/node_modules/is-fullwidth-code-point": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-5.1.0.tgz",
- "integrity": "sha512-5XHYaSyiqADb4RnZ1Bdad6cPp8Toise4TzEjcOYDHZkTCbKgiUl7WTUCpNWHuxmDt91wnsZBc9xinNzopv3JMQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "get-east-asian-width": "^1.3.1"
- },
- "engines": {
- "node": ">=18"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
"node_modules/smart-buffer": {
"version": "4.2.0",
"resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz",
"integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">= 6.0.0",
"npm": ">= 3.0.0"
@@ -23679,6 +21913,7 @@
"resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz",
"integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"base": "^0.11.1",
"debug": "^2.2.0",
@@ -23698,6 +21933,7 @@
"resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz",
"integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"define-property": "^1.0.0",
"isobject": "^3.0.0",
@@ -23712,6 +21948,7 @@
"resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
"integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"is-descriptor": "^1.0.0"
},
@@ -23724,6 +21961,7 @@
"resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.3.tgz",
"integrity": "sha512-JCNNGbwWZEVaSPtS45mdtrneRWJFp07LLmykxeFV5F6oBvNF8vHSfJuJgoT472pSfk+Mf8VnlrspaFBHWM8JAw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"is-accessor-descriptor": "^1.0.1",
"is-data-descriptor": "^1.0.1"
@@ -23737,6 +21975,7 @@
"resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz",
"integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"kind-of": "^3.2.0"
},
@@ -23744,28 +21983,14 @@
"node": ">=0.10.0"
}
},
- "node_modules/snapdragon-util/node_modules/kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==",
- "dev": true,
- "dependencies": {
- "is-buffer": "^1.1.5"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/snapdragon/node_modules/define-property": {
- "version": "0.2.5",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
- "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==",
+ "node_modules/snapdragon/node_modules/debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "is-descriptor": "^0.1.0"
- },
- "engines": {
- "node": ">=0.10.0"
+ "ms": "2.0.0"
}
},
"node_modules/snapdragon/node_modules/extend-shallow": {
@@ -23773,6 +21998,7 @@
"resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
"integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"is-extendable": "^0.1.0"
},
@@ -23785,15 +22011,24 @@
"resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
"integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=0.10.0"
}
},
+ "node_modules/snapdragon/node_modules/ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
+ "dev": true,
+ "license": "MIT"
+ },
"node_modules/snapdragon/node_modules/source-map": {
"version": "0.5.7",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
"integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==",
"dev": true,
+ "license": "BSD-3-Clause",
"engines": {
"node": ">=0.10.0"
}
@@ -23804,6 +22039,7 @@
"integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==",
"deprecated": "See https://github.com/lydell/source-map-resolve#deprecated",
"dev": true,
+ "license": "MIT",
"dependencies": {
"atob": "^2.1.2",
"decode-uri-component": "^0.2.0",
@@ -23827,2492 +22063,2753 @@
"socket.io-parser": "~4.2.4"
},
"engines": {
- "node": ">=10.2.0"
+ "node": ">=10.2.0"
+ }
+ },
+ "node_modules/socket.io-adapter": {
+ "version": "2.5.6",
+ "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.5.6.tgz",
+ "integrity": "sha512-DkkO/dz7MGln0dHn5bmN3pPy+JmywNICWrJqVWiVOyvXjWQFIv9c2h24JrQLLFJ2aQVQf/Cvl1vblnd4r2apLQ==",
+ "license": "MIT",
+ "dependencies": {
+ "debug": "~4.4.1",
+ "ws": "~8.18.3"
+ }
+ },
+ "node_modules/socket.io-adapter/node_modules/ws": {
+ "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"
+ },
+ "peerDependencies": {
+ "bufferutil": "^4.0.1",
+ "utf-8-validate": ">=5.0.2"
+ },
+ "peerDependenciesMeta": {
+ "bufferutil": {
+ "optional": true
+ },
+ "utf-8-validate": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/socket.io-client": {
+ "version": "4.8.3",
+ "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.8.3.tgz",
+ "integrity": "sha512-uP0bpjWrjQmUt5DTHq9RuoCBdFJF10cdX9X+a368j/Ft0wmaVgxlrjvK3kjvgCODOMMOz9lcaRzxmso0bTWZ/g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@socket.io/component-emitter": "~3.1.0",
+ "debug": "~4.4.1",
+ "engine.io-client": "~6.6.1",
+ "socket.io-parser": "~4.2.4"
+ },
+ "engines": {
+ "node": ">=10.0.0"
+ }
+ },
+ "node_modules/socket.io-parser": {
+ "version": "4.2.6",
+ "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.6.tgz",
+ "integrity": "sha512-asJqbVBDsBCJx0pTqw3WfesSY0iRX+2xzWEWzrpcH7L6fLzrhyF8WPI8UaeM4YCuDfpwA/cgsdugMsmtz8EJeg==",
+ "license": "MIT",
+ "dependencies": {
+ "@socket.io/component-emitter": "~3.1.0",
+ "debug": "~4.4.1"
+ },
+ "engines": {
+ "node": ">=10.0.0"
+ }
+ },
+ "node_modules/socket.io/node_modules/accepts": {
+ "version": "1.3.8",
+ "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz",
+ "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==",
+ "license": "MIT",
+ "dependencies": {
+ "mime-types": "~2.1.34",
+ "negotiator": "0.6.3"
+ },
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/socket.io/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==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/socket.io/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==",
+ "license": "MIT",
+ "dependencies": {
+ "mime-db": "1.52.0"
+ },
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/socket.io/node_modules/negotiator": {
+ "version": "0.6.3",
+ "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz",
+ "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/socks": {
+ "version": "2.8.7",
+ "resolved": "https://registry.npmjs.org/socks/-/socks-2.8.7.tgz",
+ "integrity": "sha512-HLpt+uLy/pxB+bum/9DzAgiKS8CX1EvbWxI4zlmgGCExImLdiad2iCwXT5Z4c9c3Eq8rP2318mPW2c+QbtjK8A==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ip-address": "^10.0.1",
+ "smart-buffer": "^4.2.0"
+ },
+ "engines": {
+ "node": ">= 10.0.0",
+ "npm": ">= 3.0.0"
+ }
+ },
+ "node_modules/socks-proxy-agent": {
+ "version": "8.0.5",
+ "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.5.tgz",
+ "integrity": "sha512-HehCEsotFqbPW9sJ8WVYB6UbmIMv7kUUORIF2Nncq4VQvBfNBLibW9YZR5dlYCSUhwcD628pRllm7n+E+YTzJw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "agent-base": "^7.1.2",
+ "debug": "^4.3.4",
+ "socks": "^2.8.3"
+ },
+ "engines": {
+ "node": ">= 14"
+ }
+ },
+ "node_modules/sonic-boom": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/sonic-boom/-/sonic-boom-4.2.1.tgz",
+ "integrity": "sha512-w6AxtubXa2wTXAUsZMMWERrsIRAdrK0Sc+FUytWvYAhBJLyuI4llrMIC1DtlNSdI99EI86KZum2MMq3EAZlF9Q==",
+ "license": "MIT",
+ "dependencies": {
+ "atomic-sleep": "^1.0.0"
+ }
+ },
+ "node_modules/sort-keys": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-2.0.0.tgz",
+ "integrity": "sha512-/dPCrG1s3ePpWm6yBbxZq5Be1dXGLyLn9Z791chDC3NFrpkVbWGzkBwPN1knaciexFXgRJ7hzdnwZ4stHSDmjg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "is-plain-obj": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/sort-keys/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==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true,
+ "license": "BSD-3-Clause",
+ "engines": {
+ "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"
+ }
+ },
+ "node_modules/source-map-resolve": {
+ "version": "0.6.0",
+ "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.6.0.tgz",
+ "integrity": "sha512-KXBr9d/fO/bWo97NXsPIAW1bFSBOuCnjbNTBMO7N59hsv5i9yzRDfcYwwt0l04+VqnKC+EwzvJZIP/qkuMgR/w==",
+ "deprecated": "See https://github.com/lydell/source-map-resolve#deprecated",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "atob": "^2.1.2",
+ "decode-uri-component": "^0.2.0"
+ }
+ },
+ "node_modules/source-map-url": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz",
+ "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==",
+ "deprecated": "See https://github.com/lydell/source-map-url#deprecated",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/sparkles": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/sparkles/-/sparkles-2.1.0.tgz",
+ "integrity": "sha512-r7iW1bDw8R/cFifrD3JnQJX0K1jqT0kprL48BiBpLZLJPmAm34zsVBsK5lc7HirZYZqMW65dOXZgbAGt/I6frg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 10.13.0"
}
},
- "node_modules/socket.io-adapter": {
- "version": "2.5.5",
- "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.5.5.tgz",
- "integrity": "sha512-eLDQas5dzPgOWCk9GuuJC2lBqItuhKI4uxGgo9aIV7MYbk2h9Q6uULEh8WBzThoI7l+qU9Ast9fVUmkqPP9wYg==",
+ "node_modules/sparse-bitfield": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/sparse-bitfield/-/sparse-bitfield-3.0.3.tgz",
+ "integrity": "sha512-kvzhi7vqKTfkh0PZU+2D2PIllw2ymqJKujUcyPMd9Y75Nv4nPbGJZXNhxsgdQab2BmlDct1YnfQCguEvHr7VsQ==",
+ "dev": true,
+ "license": "MIT",
"dependencies": {
- "debug": "~4.3.4",
- "ws": "~8.17.1"
+ "memory-pager": "^1.0.2"
}
},
- "node_modules/socket.io-adapter/node_modules/debug": {
- "version": "4.3.7",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz",
- "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==",
+ "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": {
- "ms": "^2.1.3"
- },
- "engines": {
- "node": ">=6.0"
- },
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
+ "spdx-expression-parse": "^3.0.0",
+ "spdx-license-ids": "^3.0.0"
}
},
- "node_modules/socket.io-adapter/node_modules/ms": {
- "version": "2.1.3",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
- "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="
- },
- "node_modules/socket.io-adapter/node_modules/ws": {
- "version": "8.17.1",
- "resolved": "https://registry.npmjs.org/ws/-/ws-8.17.1.tgz",
- "integrity": "sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==",
- "engines": {
- "node": ">=10.0.0"
- },
- "peerDependencies": {
- "bufferutil": "^4.0.1",
- "utf-8-validate": ">=5.0.2"
- },
- "peerDependenciesMeta": {
- "bufferutil": {
- "optional": true
- },
- "utf-8-validate": {
- "optional": true
- }
- }
+ "node_modules/spdx-exceptions": {
+ "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/socket.io-client": {
- "version": "4.8.3",
- "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.8.3.tgz",
- "integrity": "sha512-uP0bpjWrjQmUt5DTHq9RuoCBdFJF10cdX9X+a368j/Ft0wmaVgxlrjvK3kjvgCODOMMOz9lcaRzxmso0bTWZ/g==",
+ "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": {
- "@socket.io/component-emitter": "~3.1.0",
- "debug": "~4.4.1",
- "engine.io-client": "~6.6.1",
- "socket.io-parser": "~4.2.4"
- },
- "engines": {
- "node": ">=10.0.0"
+ "spdx-exceptions": "^2.1.0",
+ "spdx-license-ids": "^3.0.0"
}
},
- "node_modules/socket.io-client/node_modules/debug": {
- "version": "4.4.3",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz",
- "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==",
+ "node_modules/spdx-license-ids": {
+ "version": "3.0.23",
+ "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.23.tgz",
+ "integrity": "sha512-CWLcCCH7VLu13TgOH+r8p1O/Znwhqv/dbb6lqWy67G+pT1kHmeD/+V36AVb/vq8QMIQwVShJ6Ssl5FPh0fuSdw==",
+ "dev": true,
+ "license": "CC0-1.0"
+ },
+ "node_modules/split": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/split/-/split-1.0.1.tgz",
+ "integrity": "sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==",
"dev": true,
"license": "MIT",
"dependencies": {
- "ms": "^2.1.3"
+ "through": "2"
},
"engines": {
- "node": ">=6.0"
- },
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
+ "node": "*"
}
},
- "node_modules/socket.io-client/node_modules/ms": {
- "version": "2.1.3",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
- "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
+ "node_modules/split-string": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz",
+ "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==",
"dev": true,
- "license": "MIT"
- },
- "node_modules/socket.io-parser": {
- "version": "4.2.6",
- "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.6.tgz",
- "integrity": "sha512-asJqbVBDsBCJx0pTqw3WfesSY0iRX+2xzWEWzrpcH7L6fLzrhyF8WPI8UaeM4YCuDfpwA/cgsdugMsmtz8EJeg==",
"license": "MIT",
"dependencies": {
- "@socket.io/component-emitter": "~3.1.0",
- "debug": "~4.4.1"
+ "extend-shallow": "^3.0.0"
},
"engines": {
- "node": ">=10.0.0"
+ "node": ">=0.10.0"
}
},
- "node_modules/socket.io-parser/node_modules/debug": {
- "version": "4.4.3",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz",
- "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==",
- "license": "MIT",
- "dependencies": {
- "ms": "^2.1.3"
- },
+ "node_modules/split2": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/split2/-/split2-4.2.0.tgz",
+ "integrity": "sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==",
+ "license": "ISC",
"engines": {
- "node": ">=6.0"
- },
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
+ "node": ">= 10.x"
}
},
- "node_modules/socket.io-parser/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==",
- "license": "MIT"
+ "node_modules/sprintf-js": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
+ "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==",
+ "dev": true,
+ "license": "BSD-3-Clause"
},
- "node_modules/socket.io/node_modules/debug": {
- "version": "4.4.3",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz",
- "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==",
+ "node_modules/sql-escaper": {
+ "version": "1.3.3",
+ "resolved": "https://registry.npmjs.org/sql-escaper/-/sql-escaper-1.3.3.tgz",
+ "integrity": "sha512-BsTCV265VpTp8tm1wyIm1xqQCS+Q9NHx2Sr+WcnUrgLrQ6yiDIvHYJV5gHxsj1lMBy2zm5twLaZao8Jd+S8JJw==",
+ "dev": true,
"license": "MIT",
- "dependencies": {
- "ms": "^2.1.3"
- },
"engines": {
- "node": ">=6.0"
+ "bun": ">=1.0.0",
+ "deno": ">=2.0.0",
+ "node": ">=12.0.0"
},
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/mysqljs/sql-escaper?sponsor=1"
}
},
- "node_modules/socket.io/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==",
- "license": "MIT"
- },
- "node_modules/socks": {
- "version": "2.8.8",
- "resolved": "https://registry.npmjs.org/socks/-/socks-2.8.8.tgz",
- "integrity": "sha512-NlGELfPrgX2f1TAAcz0WawlLn+0r3FyhhCRpFFK2CemXenPYvzMWWZINv3eDNo9ucdwme7oCHRY0Jnbs4aIkog==",
+ "node_modules/sql-highlight": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/sql-highlight/-/sql-highlight-6.1.0.tgz",
+ "integrity": "sha512-ed7OK4e9ywpE7pgRMkMQmZDPKSVdm0oX5IEtZiKnFucSF0zu6c80GZBe38UqHuVhTWJ9xsKgSMjCG2bml86KvA==",
"dev": true,
+ "funding": [
+ "https://github.com/scriptcoded/sql-highlight?sponsor=1",
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/scriptcoded"
+ }
+ ],
"license": "MIT",
- "dependencies": {
- "ip-address": "^10.1.1",
- "smart-buffer": "^4.2.0"
- },
"engines": {
- "node": ">= 10.0.0",
- "npm": ">= 3.0.0"
+ "node": ">=14"
}
},
- "node_modules/socks-proxy-agent": {
- "version": "8.0.5",
- "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.5.tgz",
- "integrity": "sha512-HehCEsotFqbPW9sJ8WVYB6UbmIMv7kUUORIF2Nncq4VQvBfNBLibW9YZR5dlYCSUhwcD628pRllm7n+E+YTzJw==",
+ "node_modules/sshpk": {
+ "version": "1.18.0",
+ "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.18.0.tgz",
+ "integrity": "sha512-2p2KJZTSqQ/I3+HX42EpYOa2l3f8Erv8MWKsy2I9uf4wA7yFIkXRffYdsx86y6z4vHtV8u7g+pPlr8/4ouAxsQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "agent-base": "^7.1.2",
- "debug": "^4.3.4",
- "socks": "^2.8.3"
+ "asn1": "~0.2.3",
+ "assert-plus": "^1.0.0",
+ "bcrypt-pbkdf": "^1.0.0",
+ "dashdash": "^1.12.0",
+ "ecc-jsbn": "~0.1.1",
+ "getpass": "^0.1.1",
+ "jsbn": "~0.1.0",
+ "safer-buffer": "^2.0.2",
+ "tweetnacl": "~0.14.0"
+ },
+ "bin": {
+ "sshpk-conv": "bin/sshpk-conv",
+ "sshpk-sign": "bin/sshpk-sign",
+ "sshpk-verify": "bin/sshpk-verify"
},
"engines": {
- "node": ">= 14"
+ "node": ">=0.10.0"
}
},
- "node_modules/socks-proxy-agent/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==",
+ "node_modules/sshpk/node_modules/tweetnacl": {
+ "version": "0.14.5",
+ "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
+ "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==",
"dev": true,
- "license": "MIT",
+ "license": "Unlicense"
+ },
+ "node_modules/ssri": {
+ "version": "12.0.0",
+ "resolved": "https://registry.npmjs.org/ssri/-/ssri-12.0.0.tgz",
+ "integrity": "sha512-S7iGNosepx9RadX82oimUkvr0Ct7IjJbEbs4mJcTxst8um95J3sDYU1RBEOvdu6oL1Wek2ODI5i4MAw+dZ6cAQ==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "minipass": "^7.0.3"
+ },
"engines": {
- "node": ">= 14"
+ "node": "^18.17.0 || >=20.5.0"
}
},
- "node_modules/socks-proxy-agent/node_modules/debug": {
- "version": "4.4.3",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz",
- "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==",
+ "node_modules/stackback": {
+ "version": "0.0.2",
+ "resolved": "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz",
+ "integrity": "sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/standard-as-callback": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/standard-as-callback/-/standard-as-callback-2.1.0.tgz",
+ "integrity": "sha512-qoRRSyROncaz1z0mvYqIE4lCd9p2R90i6GxW3uZv5ucSu8tU7B5HXUP1gG8pVZsYNVaXjk8ClXHPttLyxAL48A==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/static-extend": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz",
+ "integrity": "sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==",
"dev": true,
"license": "MIT",
"dependencies": {
- "ms": "^2.1.3"
+ "define-property": "^0.2.5",
+ "object-copy": "^0.1.0"
},
"engines": {
- "node": ">=6.0"
- },
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/statuses": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz",
+ "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.8"
}
},
- "node_modules/socks-proxy-agent/node_modules/ms": {
- "version": "2.1.3",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
- "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
+ "node_modules/std-env": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/std-env/-/std-env-4.0.0.tgz",
+ "integrity": "sha512-zUMPtQ/HBY3/50VbpkupYHbRroTRZJPRLvreamgErJVys0ceuzMkD44J/QjqhHjOzK42GQ3QZIeFG1OYfOtKqQ==",
"dev": true,
"license": "MIT"
},
- "node_modules/sonic-boom": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/sonic-boom/-/sonic-boom-4.2.0.tgz",
- "integrity": "sha512-INb7TM37/mAcsGmc9hyyI6+QR3rR1zVRu36B0NeGXKnOOLiZOfER5SA+N7X7k3yUYRzLWafduTDvJAfDswwEww==",
+ "node_modules/stream-combiner": {
+ "version": "0.2.2",
+ "resolved": "https://registry.npmjs.org/stream-combiner/-/stream-combiner-0.2.2.tgz",
+ "integrity": "sha512-6yHMqgLYDzQDcAkL+tjJDC5nSNuNIx0vZtRZeiPh7Saef7VHX9H5Ijn9l2VIol2zaNYlYEX6KyuT/237A58qEQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "atomic-sleep": "^1.0.0"
+ "duplexer": "~0.1.1",
+ "through": "~2.3.4"
}
},
- "node_modules/source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "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,
- "engines": {
- "node": ">=0.10.0"
+ "license": "MIT",
+ "dependencies": {
+ "duplexer2": "~0.1.0",
+ "readable-stream": "^2.0.2"
}
},
- "node_modules/source-map-resolve": {
- "version": "0.6.0",
- "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.6.0.tgz",
- "integrity": "sha512-KXBr9d/fO/bWo97NXsPIAW1bFSBOuCnjbNTBMO7N59hsv5i9yzRDfcYwwt0l04+VqnKC+EwzvJZIP/qkuMgR/w==",
- "deprecated": "See https://github.com/lydell/source-map-resolve#deprecated",
+ "node_modules/stream-combiner2/node_modules/duplexer2": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz",
+ "integrity": "sha512-asLFVfWWtJ90ZyOUHMqk7/S2w2guQKxUI2itj3d92ADHhxUSbCMGi1f1cBcJ7xM1To+pE/Khbwo1yuNbMEPKeA==",
"dev": true,
+ "license": "BSD-3-Clause",
"dependencies": {
- "atob": "^2.1.2",
- "decode-uri-component": "^0.2.0"
+ "readable-stream": "^2.0.2"
}
},
- "node_modules/source-map-url": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz",
- "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==",
- "deprecated": "See https://github.com/lydell/source-map-url#deprecated",
- "dev": true
- },
- "node_modules/sparkles": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/sparkles/-/sparkles-2.1.0.tgz",
- "integrity": "sha512-r7iW1bDw8R/cFifrD3JnQJX0K1jqT0kprL48BiBpLZLJPmAm34zsVBsK5lc7HirZYZqMW65dOXZgbAGt/I6frg==",
+ "node_modules/stream-composer": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/stream-composer/-/stream-composer-1.0.2.tgz",
+ "integrity": "sha512-bnBselmwfX5K10AH6L4c8+S5lgZMWI7ZYrz2rvYjCPB2DIMC4Ig8OpxGpNJSxRZ58oti7y1IcNvjBAz9vW5m4w==",
"dev": true,
"license": "MIT",
+ "dependencies": {
+ "streamx": "^2.13.2"
+ }
+ },
+ "node_modules/stream-exhaust": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/stream-exhaust/-/stream-exhaust-1.0.2.tgz",
+ "integrity": "sha512-b/qaq/GlBK5xaq1yrK9/zFcyRSTNxmcZwFLGSTG0mXgZl/4Z6GgiyYOXOvY7N3eEvFRAG1bkDRz5EPGSvPYQlw==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/stream-shift": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.3.tgz",
+ "integrity": "sha512-76ORR0DO1o1hlKwTbi/DM3EXWGf3ZJYO8cXX5RJwnul2DEg2oyoZyjLNoQM8WsvZiFKCRfC1O0J7iCvie3RZmQ==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/streamsearch": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz",
+ "integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==",
"engines": {
- "node": ">= 10.13.0"
+ "node": ">=10.0.0"
}
},
- "node_modules/sparse-bitfield": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/sparse-bitfield/-/sparse-bitfield-3.0.3.tgz",
- "integrity": "sha512-kvzhi7vqKTfkh0PZU+2D2PIllw2ymqJKujUcyPMd9Y75Nv4nPbGJZXNhxsgdQab2BmlDct1YnfQCguEvHr7VsQ==",
+ "node_modules/streamx": {
+ "version": "2.25.0",
+ "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.25.0.tgz",
+ "integrity": "sha512-0nQuG6jf1w+wddNEEXCF4nTg3LtufWINB5eFEN+5TNZW7KWJp6x87+JFL43vaAUPyCfH1wID+mNVyW6OHtFamg==",
"dev": true,
"license": "MIT",
"dependencies": {
- "memory-pager": "^1.0.2"
+ "events-universal": "^1.0.0",
+ "fast-fifo": "^1.3.2",
+ "text-decoder": "^1.1.0"
}
},
- "node_modules/spawn-wrap": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/spawn-wrap/-/spawn-wrap-3.0.0.tgz",
- "integrity": "sha512-z+s5vv4KzFPJVddGab0xX2n7kQPGMdNUX5l9T8EJqsXdKTWpcxmAqWHpsgHEXoC1taGBCc7b79bi62M5kdbrxQ==",
- "dev": true,
- "license": "BlueOak-1.0.0",
+ "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==",
+ "license": "MIT",
"dependencies": {
- "cross-spawn": "^7.0.6",
- "foreground-child": "^2.0.0",
- "is-windows": "^1.0.2",
- "make-dir": "^3.0.0",
- "rimraf": "^6.1.3",
- "signal-exit": "^3.0.2",
- "which": "^2.0.1"
- },
- "engines": {
- "node": ">=8"
+ "safe-buffer": "~5.1.0"
}
},
- "node_modules/spawn-wrap/node_modules/balanced-match": {
- "version": "4.0.4",
- "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz",
- "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==",
+ "node_modules/string-argv": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.3.2.tgz",
+ "integrity": "sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==",
"dev": true,
"license": "MIT",
"engines": {
- "node": "18 || 20 || >=22"
+ "node": ">=0.6.19"
}
},
- "node_modules/spawn-wrap/node_modules/brace-expansion": {
- "version": "5.0.4",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.4.tgz",
- "integrity": "sha512-h+DEnpVvxmfVefa4jFbCf5HdH5YMDXRsmKflpf1pILZWRFlTbJpxeU55nJl4Smt5HQaGzg1o6RHFPJaOqnmBDg==",
+ "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": {
- "balanced-match": "^4.0.2"
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.1"
},
"engines": {
- "node": "18 || 20 || >=22"
+ "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==",
+ "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": "ISC",
+ "license": "MIT",
"dependencies": {
- "cross-spawn": "^7.0.0",
- "signal-exit": "^3.0.2"
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.1"
},
"engines": {
- "node": ">=8.0.0"
+ "node": ">=8"
}
},
- "node_modules/spawn-wrap/node_modules/glob": {
- "version": "13.0.6",
- "resolved": "https://registry.npmjs.org/glob/-/glob-13.0.6.tgz",
- "integrity": "sha512-Wjlyrolmm8uDpm/ogGyXZXb1Z+Ca2B8NbJwqBVg0axK9GbBeoS7yGV6vjXnYdGm6X53iehEuxxbyiKp8QmN4Vw==",
+ "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,
- "license": "BlueOak-1.0.0",
- "dependencies": {
- "minimatch": "^10.2.2",
- "minipass": "^7.1.3",
- "path-scurry": "^2.0.2"
- },
+ "license": "MIT",
"engines": {
- "node": "18 || 20 || >=22"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
+ "node": ">=8"
}
},
- "node_modules/spawn-wrap/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==",
+ "node_modules/string-width/node_modules/is-fullwidth-code-point": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
+ "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
"dev": true,
"license": "MIT",
- "dependencies": {
- "semver": "^6.0.0"
- },
"engines": {
"node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/spawn-wrap/node_modules/minimatch": {
- "version": "10.2.4",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.4.tgz",
- "integrity": "sha512-oRjTw/97aTBN0RHbYCdtF1MQfvusSIBQM0IZEgzl6426+8jSC0nF1a/GmnVLpfB9yyr6g6FTqWqiZVbxrtaCIg==",
+ "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": "BlueOak-1.0.0",
+ "license": "MIT",
"dependencies": {
- "brace-expansion": "^5.0.2"
+ "ansi-regex": "^5.0.1"
},
"engines": {
- "node": "18 || 20 || >=22"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
+ "node": ">=8"
}
},
- "node_modules/spawn-wrap/node_modules/path-scurry": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.2.tgz",
- "integrity": "sha512-3O/iVVsJAPsOnpwWIeD+d6z/7PmqApyQePUtCndjatj/9I5LylHvt5qluFaBT3I5h3r1ejfR056c+FCv+NnNXg==",
+ "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": "BlueOak-1.0.0",
+ "license": "MIT",
"dependencies": {
- "lru-cache": "^11.0.0",
- "minipass": "^7.1.2"
+ "ansi-regex": "^5.0.1"
},
"engines": {
- "node": "18 || 20 || >=22"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
+ "node": ">=8"
}
},
- "node_modules/spawn-wrap/node_modules/rimraf": {
- "version": "6.1.3",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-6.1.3.tgz",
- "integrity": "sha512-LKg+Cr2ZF61fkcaK1UdkH2yEBBKnYjTyWzTJT6KNPcSPaiT7HSdhtMXQuN5wkTX0Xu72KQ1l8S42rlmexS2hSA==",
+ "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": "BlueOak-1.0.0",
- "dependencies": {
- "glob": "^13.0.3",
- "package-json-from-dist": "^1.0.1"
- },
- "bin": {
- "rimraf": "dist/esm/bin.mjs"
- },
+ "license": "MIT",
"engines": {
- "node": "20 || >=22"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
- "node_modules/spawn-wrap/node_modules/semver": {
- "version": "6.3.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
- "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
- "dev": true,
- "license": "ISC",
- "bin": {
- "semver": "bin/semver.js"
+ "node": ">=8"
}
},
- "node_modules/spawn-wrap/node_modules/which": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
- "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
+ "node_modules/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,
- "license": "ISC",
- "dependencies": {
- "isexe": "^2.0.0"
- },
- "bin": {
- "node-which": "bin/node-which"
- },
+ "license": "MIT",
"engines": {
- "node": ">= 8"
- }
- },
- "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,
- "dependencies": {
- "spdx-expression-parse": "^3.0.0",
- "spdx-license-ids": "^3.0.0"
+ "node": ">=8"
}
},
- "node_modules/spdx-exceptions": {
- "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
- },
- "node_modules/spdx-expression-parse": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz",
- "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==",
+ "node_modules/strip-bom": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz",
+ "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==",
"dev": true,
- "dependencies": {
- "spdx-exceptions": "^2.1.0",
- "spdx-license-ids": "^3.0.0"
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
}
},
- "node_modules/spdx-license-ids": {
- "version": "3.0.20",
- "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.20.tgz",
- "integrity": "sha512-jg25NiDV/1fLtSgEgyvVyDunvaNHbuwF9lfNV17gSmPFAlYzdfNBlLtLzXTevwkPj7DhGbmN9VnmJIgLnhvaBw==",
- "dev": true
- },
- "node_modules/split": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/split/-/split-1.0.1.tgz",
- "integrity": "sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==",
+ "node_modules/strip-bom-stream": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/strip-bom-stream/-/strip-bom-stream-2.0.0.tgz",
+ "integrity": "sha512-yH0+mD8oahBZWnY43vxs4pSinn8SMKAdml/EOGBewoe1Y0Eitd0h2Mg3ZRiXruUW6L4P+lvZiEgbh0NgUGia1w==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "through": "2"
+ "first-chunk-stream": "^2.0.0",
+ "strip-bom": "^2.0.0"
},
"engines": {
- "node": "*"
+ "node": ">=0.10.0"
}
},
- "node_modules/split-string": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz",
- "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==",
+ "node_modules/strip-bom-stream/node_modules/strip-bom": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz",
+ "integrity": "sha512-kwrX1y7czp1E69n2ajbG65mIo9dqvJ+8aBQXOGVxqwvNbsXdFM6Lq37dLAY3mknUwru8CfcCbfOLL/gMo+fi3g==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "extend-shallow": "^3.0.0"
+ "is-utf8": "^0.2.0"
},
"engines": {
"node": ">=0.10.0"
}
},
- "node_modules/split2": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/split2/-/split2-4.2.0.tgz",
- "integrity": "sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==",
+ "node_modules/strip-bom-string": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/strip-bom-string/-/strip-bom-string-1.0.0.tgz",
+ "integrity": "sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g==",
"dev": true,
+ "license": "MIT",
"engines": {
- "node": ">= 10.x"
+ "node": ">=0.10.0"
}
},
- "node_modules/sprintf-js": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
- "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==",
- "dev": true
+ "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,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
},
- "node_modules/sql-escaper": {
- "version": "1.3.3",
- "resolved": "https://registry.npmjs.org/sql-escaper/-/sql-escaper-1.3.3.tgz",
- "integrity": "sha512-BsTCV265VpTp8tm1wyIm1xqQCS+Q9NHx2Sr+WcnUrgLrQ6yiDIvHYJV5gHxsj1lMBy2zm5twLaZao8Jd+S8JJw==",
+ "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==",
"dev": true,
"license": "MIT",
+ "dependencies": {
+ "min-indent": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/strtok3": {
+ "version": "10.3.5",
+ "resolved": "https://registry.npmjs.org/strtok3/-/strtok3-10.3.5.tgz",
+ "integrity": "sha512-ki4hZQfh5rX0QDLLkOCj+h+CVNkqmp/CMf8v8kZpkNVK6jGQooMytqzLZYUVYIZcFZ6yDB70EfD8POcFXiF5oA==",
+ "license": "MIT",
+ "dependencies": {
+ "@tokenizer/token": "^0.3.0"
+ },
"engines": {
- "bun": ">=1.0.0",
- "deno": ">=2.0.0",
- "node": ">=12.0.0"
+ "node": ">=18"
},
"funding": {
"type": "github",
- "url": "https://github.com/mysqljs/sql-escaper?sponsor=1"
+ "url": "https://github.com/sponsors/Borewit"
}
},
- "node_modules/sql-highlight": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/sql-highlight/-/sql-highlight-6.1.0.tgz",
- "integrity": "sha512-ed7OK4e9ywpE7pgRMkMQmZDPKSVdm0oX5IEtZiKnFucSF0zu6c80GZBe38UqHuVhTWJ9xsKgSMjCG2bml86KvA==",
+ "node_modules/subscriptions-transport-ws": {
+ "version": "0.11.0",
+ "resolved": "https://registry.npmjs.org/subscriptions-transport-ws/-/subscriptions-transport-ws-0.11.0.tgz",
+ "integrity": "sha512-8D4C6DIH5tGiAIpp5I0wD/xRlNiZAPGHygzCe7VzyzUoxHtawzjNAY9SUTXU05/EY2NMY9/9GF0ycizkXr1CWQ==",
+ "deprecated": "The `subscriptions-transport-ws` package is no longer maintained. We recommend you use `graphql-ws` instead. For help migrating Apollo software to `graphql-ws`, see https://www.apollographql.com/docs/apollo-server/data/subscriptions/#switching-from-subscriptions-transport-ws For general help using `graphql-ws`, see https://github.com/enisdenjo/graphql-ws/blob/master/README.md",
"dev": true,
- "funding": [
- "https://github.com/scriptcoded/sql-highlight?sponsor=1",
- {
- "type": "github",
- "url": "https://github.com/sponsors/scriptcoded"
- }
- ],
"license": "MIT",
- "engines": {
- "node": ">=14"
+ "dependencies": {
+ "backo2": "^1.0.2",
+ "eventemitter3": "^3.1.0",
+ "iterall": "^1.2.1",
+ "symbol-observable": "^1.0.4",
+ "ws": "^5.2.0 || ^6.0.0 || ^7.0.0"
+ },
+ "peerDependencies": {
+ "graphql": "^15.7.2 || ^16.0.0"
}
},
- "node_modules/sshpk": {
- "version": "1.18.0",
- "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.18.0.tgz",
- "integrity": "sha512-2p2KJZTSqQ/I3+HX42EpYOa2l3f8Erv8MWKsy2I9uf4wA7yFIkXRffYdsx86y6z4vHtV8u7g+pPlr8/4ouAxsQ==",
+ "node_modules/subscriptions-transport-ws/node_modules/eventemitter3": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.2.tgz",
+ "integrity": "sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q==",
"dev": true,
- "dependencies": {
- "asn1": "~0.2.3",
- "assert-plus": "^1.0.0",
- "bcrypt-pbkdf": "^1.0.0",
- "dashdash": "^1.12.0",
- "ecc-jsbn": "~0.1.1",
- "getpass": "^0.1.1",
- "jsbn": "~0.1.0",
- "safer-buffer": "^2.0.2",
- "tweetnacl": "~0.14.0"
+ "license": "MIT"
+ },
+ "node_modules/subscriptions-transport-ws/node_modules/ws": {
+ "version": "7.5.10",
+ "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.10.tgz",
+ "integrity": "sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8.3.0"
},
- "bin": {
- "sshpk-conv": "bin/sshpk-conv",
- "sshpk-sign": "bin/sshpk-sign",
- "sshpk-verify": "bin/sshpk-verify"
+ "peerDependencies": {
+ "bufferutil": "^4.0.1",
+ "utf-8-validate": "^5.0.2"
},
- "engines": {
- "node": ">=0.10.0"
+ "peerDependenciesMeta": {
+ "bufferutil": {
+ "optional": true
+ },
+ "utf-8-validate": {
+ "optional": true
+ }
}
},
- "node_modules/ssri": {
- "version": "12.0.0",
- "resolved": "https://registry.npmjs.org/ssri/-/ssri-12.0.0.tgz",
- "integrity": "sha512-S7iGNosepx9RadX82oimUkvr0Ct7IjJbEbs4mJcTxst8um95J3sDYU1RBEOvdu6oL1Wek2ODI5i4MAw+dZ6cAQ==",
+ "node_modules/superagent": {
+ "version": "10.3.0",
+ "resolved": "https://registry.npmjs.org/superagent/-/superagent-10.3.0.tgz",
+ "integrity": "sha512-B+4Ik7ROgVKrQsXTV0Jwp2u+PXYLSlqtDAhYnkkD+zn3yg8s/zjA2MeGayPoY/KICrbitwneDHrjSotxKL+0XQ==",
"dev": true,
- "license": "ISC",
+ "license": "MIT",
"dependencies": {
- "minipass": "^7.0.3"
+ "component-emitter": "^1.3.1",
+ "cookiejar": "^2.1.4",
+ "debug": "^4.3.7",
+ "fast-safe-stringify": "^2.1.1",
+ "form-data": "^4.0.5",
+ "formidable": "^3.5.4",
+ "methods": "^1.1.2",
+ "mime": "2.6.0",
+ "qs": "^6.14.1"
},
"engines": {
- "node": "^18.17.0 || >=20.5.0"
+ "node": ">=14.18.0"
}
},
- "node_modules/standard-as-callback": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/standard-as-callback/-/standard-as-callback-2.1.0.tgz",
- "integrity": "sha512-qoRRSyROncaz1z0mvYqIE4lCd9p2R90i6GxW3uZv5ucSu8tU7B5HXUP1gG8pVZsYNVaXjk8ClXHPttLyxAL48A==",
- "dev": true
- },
- "node_modules/static-extend": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz",
- "integrity": "sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==",
+ "node_modules/superagent/node_modules/mime": {
+ "version": "2.6.0",
+ "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz",
+ "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==",
"dev": true,
- "dependencies": {
- "define-property": "^0.2.5",
- "object-copy": "^0.1.0"
+ "license": "MIT",
+ "bin": {
+ "mime": "cli.js"
},
"engines": {
- "node": ">=0.10.0"
+ "node": ">=4.0.0"
}
},
- "node_modules/static-extend/node_modules/define-property": {
- "version": "0.2.5",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
- "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==",
+ "node_modules/supertest": {
+ "version": "7.2.2",
+ "resolved": "https://registry.npmjs.org/supertest/-/supertest-7.2.2.tgz",
+ "integrity": "sha512-oK8WG9diS3DlhdUkcFn4tkNIiIbBx9lI2ClF8K+b2/m8Eyv47LSawxUzZQSNKUrVb2KsqeTDCcjAAVPYaSLVTA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "is-descriptor": "^0.1.0"
+ "cookie-signature": "^1.2.2",
+ "methods": "^1.1.2",
+ "superagent": "^10.3.0"
},
"engines": {
- "node": ">=0.10.0"
+ "node": ">=14.18.0"
}
},
- "node_modules/statuses": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz",
- "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==",
+ "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.8"
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/stream-combiner": {
- "version": "0.2.2",
- "resolved": "https://registry.npmjs.org/stream-combiner/-/stream-combiner-0.2.2.tgz",
- "integrity": "sha512-6yHMqgLYDzQDcAkL+tjJDC5nSNuNIx0vZtRZeiPh7Saef7VHX9H5Ijn9l2VIol2zaNYlYEX6KyuT/237A58qEQ==",
+ "node_modules/sver": {
+ "version": "1.8.4",
+ "resolved": "https://registry.npmjs.org/sver/-/sver-1.8.4.tgz",
+ "integrity": "sha512-71o1zfzyawLfIWBOmw8brleKyvnbn73oVHNCsu51uPMz/HWiKkkXsI31JjHW5zqXEqnPYkIiHd8ZmL7FCimLEA==",
"dev": true,
- "dependencies": {
- "duplexer": "~0.1.1",
- "through": "~2.3.4"
+ "license": "MIT",
+ "optionalDependencies": {
+ "semver": "^6.3.0"
+ }
+ },
+ "node_modules/sver/node_modules/semver": {
+ "version": "6.3.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+ "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
+ "dev": true,
+ "license": "ISC",
+ "optional": true,
+ "bin": {
+ "semver": "bin/semver.js"
}
},
- "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==",
+ "node_modules/symbol-observable": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz",
+ "integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==",
"dev": true,
- "dependencies": {
- "duplexer2": "~0.1.0",
- "readable-stream": "^2.0.2"
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
}
},
- "node_modules/stream-combiner2/node_modules/duplexer2": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz",
- "integrity": "sha512-asLFVfWWtJ90ZyOUHMqk7/S2w2guQKxUI2itj3d92ADHhxUSbCMGi1f1cBcJ7xM1To+pE/Khbwo1yuNbMEPKeA==",
+ "node_modules/tar": {
+ "version": "7.5.7",
+ "resolved": "https://registry.npmjs.org/tar/-/tar-7.5.7.tgz",
+ "integrity": "sha512-fov56fJiRuThVFXD6o6/Q354S7pnWMJIVlDBYijsTNx6jKSE4pvrDTs6lUnmGvNyfJwFQQwWy3owKz1ucIhveQ==",
+ "deprecated": "Old versions of tar are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me",
"dev": true,
+ "license": "BlueOak-1.0.0",
"dependencies": {
- "readable-stream": "^2.0.2"
+ "@isaacs/fs-minipass": "^4.0.0",
+ "chownr": "^3.0.0",
+ "minipass": "^7.1.2",
+ "minizlib": "^3.1.0",
+ "yallist": "^5.0.0"
+ },
+ "engines": {
+ "node": ">=18"
}
},
- "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
- },
- "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==",
+ "node_modules/tar-stream": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz",
+ "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.3",
- "isarray": "~1.0.0",
- "process-nextick-args": "~2.0.0",
- "safe-buffer": "~5.1.1",
- "string_decoder": "~1.1.1",
- "util-deprecate": "~1.0.1"
+ "bl": "^4.0.3",
+ "end-of-stream": "^1.4.1",
+ "fs-constants": "^1.0.0",
+ "inherits": "^2.0.3",
+ "readable-stream": "^3.1.1"
+ },
+ "engines": {
+ "node": ">=6"
}
},
- "node_modules/stream-combiner2/node_modules/safe-buffer": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
- "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
- "dev": true
- },
- "node_modules/stream-combiner2/node_modules/string_decoder": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
- "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+ "node_modules/tar-stream/node_modules/bl": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz",
+ "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "safe-buffer": "~5.1.0"
+ "buffer": "^5.5.0",
+ "inherits": "^2.0.4",
+ "readable-stream": "^3.4.0"
}
},
- "node_modules/stream-composer": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/stream-composer/-/stream-composer-1.0.2.tgz",
- "integrity": "sha512-bnBselmwfX5K10AH6L4c8+S5lgZMWI7ZYrz2rvYjCPB2DIMC4Ig8OpxGpNJSxRZ58oti7y1IcNvjBAz9vW5m4w==",
+ "node_modules/tar-stream/node_modules/buffer": {
+ "version": "5.7.1",
+ "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
+ "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
"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": "MIT",
"dependencies": {
- "streamx": "^2.13.2"
+ "base64-js": "^1.3.1",
+ "ieee754": "^1.1.13"
}
},
- "node_modules/stream-exhaust": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/stream-exhaust/-/stream-exhaust-1.0.2.tgz",
- "integrity": "sha512-b/qaq/GlBK5xaq1yrK9/zFcyRSTNxmcZwFLGSTG0mXgZl/4Z6GgiyYOXOvY7N3eEvFRAG1bkDRz5EPGSvPYQlw==",
- "dev": true
- },
- "node_modules/stream-shift": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.3.tgz",
- "integrity": "sha512-76ORR0DO1o1hlKwTbi/DM3EXWGf3ZJYO8cXX5RJwnul2DEg2oyoZyjLNoQM8WsvZiFKCRfC1O0J7iCvie3RZmQ==",
- "dev": true
- },
- "node_modules/streamsearch": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz",
- "integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==",
+ "node_modules/tar-stream/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,
+ "license": "MIT",
+ "dependencies": {
+ "inherits": "^2.0.3",
+ "string_decoder": "^1.1.1",
+ "util-deprecate": "^1.0.1"
+ },
"engines": {
- "node": ">=10.0.0"
+ "node": ">= 6"
}
},
- "node_modules/streamx": {
- "version": "2.22.0",
- "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.22.0.tgz",
- "integrity": "sha512-sLh1evHOzBy/iWRiR6d1zRcLao4gGZr3C1kzNz4fopCOKJb6xD9ub8Mpi9Mr1R6id5o43S+d93fI48UC5uM9aw==",
+ "node_modules/teex": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/teex/-/teex-1.0.1.tgz",
+ "integrity": "sha512-eYE6iEI62Ni1H8oIa7KlDU6uQBtqr4Eajni3wX7rpfXD8ysFx8z0+dri+KWEPWpBsxXfxu58x/0jvTVT1ekOSg==",
"dev": true,
"license": "MIT",
"dependencies": {
- "fast-fifo": "^1.3.2",
- "text-decoder": "^1.1.0"
- },
- "optionalDependencies": {
- "bare-events": "^2.2.0"
+ "streamx": "^2.12.5"
}
},
- "node_modules/string_decoder": {
- "version": "0.10.31",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
- "integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==",
- "dev": true
- },
- "node_modules/string-argv": {
- "version": "0.3.2",
- "resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.3.2.tgz",
- "integrity": "sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==",
+ "node_modules/temp-dir": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-1.0.0.tgz",
+ "integrity": "sha512-xZFXEGbG7SNC3itwBzI3RYjq/cEhBkx2hJuKGIUOcEULmkQExXiHat2z/qkISYsuR+IKumhEfKKbV5qXmhICFQ==",
"dev": true,
+ "license": "MIT",
"engines": {
- "node": ">=0.6.19"
+ "node": ">=4"
}
},
- "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/text-decoder": {
+ "version": "1.2.7",
+ "resolved": "https://registry.npmjs.org/text-decoder/-/text-decoder-1.2.7.tgz",
+ "integrity": "sha512-vlLytXkeP4xvEq2otHeJfSQIRyWxo/oZGEbXrtEEF9Hnmrdly59sUbzZ/QgyWuLYHctCHxFF4tRQZNQ9k60ExQ==",
"dev": true,
+ "license": "Apache-2.0",
"dependencies": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.1"
- },
- "engines": {
- "node": ">=8"
+ "b4a": "^1.6.4"
}
},
- "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/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,
- "dependencies": {
- "ansi-regex": "^5.0.1"
- },
+ "license": "MIT",
"engines": {
- "node": ">=8"
+ "node": ">=0.10"
}
},
- "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==",
+ "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",
- "engines": {
- "node": ">=4"
+ "dependencies": {
+ "any-promise": "^1.0.0"
}
},
- "node_modules/strip-bom-stream": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/strip-bom-stream/-/strip-bom-stream-2.0.0.tgz",
- "integrity": "sha512-yH0+mD8oahBZWnY43vxs4pSinn8SMKAdml/EOGBewoe1Y0Eitd0h2Mg3ZRiXruUW6L4P+lvZiEgbh0NgUGia1w==",
+ "node_modules/thenify-all": {
+ "version": "1.6.0",
+ "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": {
- "first-chunk-stream": "^2.0.0",
- "strip-bom": "^2.0.0"
+ "thenify": ">= 3.1.0 < 4"
},
"engines": {
- "node": ">=0.10.0"
+ "node": ">=0.8"
}
},
- "node_modules/strip-bom-stream/node_modules/strip-bom": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz",
- "integrity": "sha512-kwrX1y7czp1E69n2ajbG65mIo9dqvJ+8aBQXOGVxqwvNbsXdFM6Lq37dLAY3mknUwru8CfcCbfOLL/gMo+fi3g==",
- "dev": true,
+ "node_modules/thread-stream": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/thread-stream/-/thread-stream-4.0.0.tgz",
+ "integrity": "sha512-4iMVL6HAINXWf1ZKZjIPcz5wYaOdPhtO8ATvZ+Xqp3BTdaqtAwQkNmKORqcIo5YkQqGXq5cwfswDwMqqQNrpJA==",
+ "license": "MIT",
"dependencies": {
- "is-utf8": "^0.2.0"
+ "real-require": "^0.2.0"
},
"engines": {
- "node": ">=0.10.0"
+ "node": ">=20"
}
},
- "node_modules/strip-bom-string": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/strip-bom-string/-/strip-bom-string-1.0.0.tgz",
- "integrity": "sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g==",
+ "node_modules/through": {
+ "version": "2.3.8",
+ "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
+ "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==",
"dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
+ "license": "MIT"
},
- "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/through2": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz",
+ "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==",
"dev": true,
- "engines": {
- "node": ">=6"
+ "license": "MIT",
+ "dependencies": {
+ "readable-stream": "~2.3.6",
+ "xtend": "~4.0.1"
}
},
- "node_modules/strip-indent": {
+ "node_modules/through2-filter": {
"version": "3.0.0",
- "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz",
- "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==",
+ "resolved": "https://registry.npmjs.org/through2-filter/-/through2-filter-3.0.0.tgz",
+ "integrity": "sha512-jaRjI2WxN3W1V8/FMZ9HKIBXixtiqs3SQSX4/YGIiP3gL6djW48VoZq9tDqeCWs3MT8YY5wb/zli8VW8snY1CA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "min-indent": "^1.0.0"
- },
- "engines": {
- "node": ">=8"
+ "through2": "~2.0.0",
+ "xtend": "~4.0.0"
}
},
- "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/time-stamp": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/time-stamp/-/time-stamp-1.1.0.tgz",
+ "integrity": "sha512-gLCeArryy2yNTRzTGKbZbloctj64jkZ57hj5zdraXue6aFgd6PmvVtEyiUU+hvU0v7q08oVv8r8ev0tRo6bvgw==",
"dev": true,
"license": "MIT",
"engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "node": ">=0.10.0"
}
},
- "node_modules/strtok3": {
- "version": "10.3.4",
- "resolved": "https://registry.npmjs.org/strtok3/-/strtok3-10.3.4.tgz",
- "integrity": "sha512-KIy5nylvC5le1OdaaoCJ07L+8iQzJHGH6pWDuzS+d07Cu7n1MZ2x26P8ZKIWfbK02+XIL8Mp4RkWeqdUCrDMfg==",
- "license": "MIT",
+ "node_modules/timers-ext": {
+ "version": "0.1.8",
+ "resolved": "https://registry.npmjs.org/timers-ext/-/timers-ext-0.1.8.tgz",
+ "integrity": "sha512-wFH7+SEAcKfJpfLPkrgMPvvwnEtj8W4IurvEyrKsDleXnKLCDw71w8jltvfLa8Rm4qQxxT4jmDBYbJG/z7qoww==",
+ "dev": true,
+ "license": "ISC",
"dependencies": {
- "@tokenizer/token": "^0.3.0"
+ "es5-ext": "^0.10.64",
+ "next-tick": "^1.1.0"
},
"engines": {
- "node": ">=18"
- },
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/Borewit"
+ "node": ">=0.12"
}
},
- "node_modules/subscriptions-transport-ws": {
- "version": "0.11.0",
- "resolved": "https://registry.npmjs.org/subscriptions-transport-ws/-/subscriptions-transport-ws-0.11.0.tgz",
- "integrity": "sha512-8D4C6DIH5tGiAIpp5I0wD/xRlNiZAPGHygzCe7VzyzUoxHtawzjNAY9SUTXU05/EY2NMY9/9GF0ycizkXr1CWQ==",
- "deprecated": "The `subscriptions-transport-ws` package is no longer maintained. We recommend you use `graphql-ws` instead. For help migrating Apollo software to `graphql-ws`, see https://www.apollographql.com/docs/apollo-server/data/subscriptions/#switching-from-subscriptions-transport-ws For general help using `graphql-ws`, see https://github.com/enisdenjo/graphql-ws/blob/master/README.md",
+ "node_modules/tinybench": {
+ "version": "2.9.0",
+ "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.9.0.tgz",
+ "integrity": "sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==",
"dev": true,
- "dependencies": {
- "backo2": "^1.0.2",
- "eventemitter3": "^3.1.0",
- "iterall": "^1.2.1",
- "symbol-observable": "^1.0.4",
- "ws": "^5.2.0 || ^6.0.0 || ^7.0.0"
- },
- "peerDependencies": {
- "graphql": "^15.7.2 || ^16.0.0"
- }
+ "license": "MIT"
},
- "node_modules/subscriptions-transport-ws/node_modules/ws": {
- "version": "7.5.10",
- "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.10.tgz",
- "integrity": "sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==",
+ "node_modules/tinyexec": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-1.1.2.tgz",
+ "integrity": "sha512-dAqSqE/RabpBKI8+h26GfLq6Vb3JVXs30XYQjdMjaj/c2tS8IYYMbIzP599KtRj7c57/wYApb3QjgRgXmrCukA==",
"dev": true,
+ "license": "MIT",
"engines": {
- "node": ">=8.3.0"
- },
- "peerDependencies": {
- "bufferutil": "^4.0.1",
- "utf-8-validate": "^5.0.2"
- },
- "peerDependenciesMeta": {
- "bufferutil": {
- "optional": true
- },
- "utf-8-validate": {
- "optional": true
- }
+ "node": ">=18"
}
},
- "node_modules/superagent": {
- "version": "10.3.0",
- "resolved": "https://registry.npmjs.org/superagent/-/superagent-10.3.0.tgz",
- "integrity": "sha512-B+4Ik7ROgVKrQsXTV0Jwp2u+PXYLSlqtDAhYnkkD+zn3yg8s/zjA2MeGayPoY/KICrbitwneDHrjSotxKL+0XQ==",
+ "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": {
- "component-emitter": "^1.3.1",
- "cookiejar": "^2.1.4",
- "debug": "^4.3.7",
- "fast-safe-stringify": "^2.1.1",
- "form-data": "^4.0.5",
- "formidable": "^3.5.4",
- "methods": "^1.1.2",
- "mime": "2.6.0",
- "qs": "^6.14.1"
+ "fdir": "^6.5.0",
+ "picomatch": "^4.0.3"
},
"engines": {
- "node": ">=14.18.0"
+ "node": ">=12.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/SuperchupuDev"
}
},
- "node_modules/superagent/node_modules/debug": {
- "version": "4.4.1",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz",
- "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==",
+ "node_modules/tinyglobby/node_modules/picomatch": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz",
+ "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==",
"dev": true,
"license": "MIT",
- "dependencies": {
- "ms": "^2.1.3"
- },
"engines": {
- "node": ">=6.0"
+ "node": ">=12"
},
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
+ "funding": {
+ "url": "https://github.com/sponsors/jonschlinkert"
}
},
- "node_modules/superagent/node_modules/mime": {
- "version": "2.6.0",
- "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz",
- "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==",
+ "node_modules/tinyrainbow": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-3.1.0.tgz",
+ "integrity": "sha512-Bf+ILmBgretUrdJxzXM0SgXLZ3XfiaUuOj/IKQHuTXip+05Xn+uyEYdVg0kYDipTBcLrCVyUzAPz7QmArb0mmw==",
"dev": true,
"license": "MIT",
- "bin": {
- "mime": "cli.js"
- },
"engines": {
- "node": ">=4.0.0"
+ "node": ">=14.0.0"
}
},
- "node_modules/superagent/node_modules/ms": {
- "version": "2.1.3",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
- "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
+ "node_modules/tmp": {
+ "version": "0.2.5",
+ "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.5.tgz",
+ "integrity": "sha512-voyz6MApa1rQGUxT3E+BK7/ROe8itEx7vD8/HEvt4xwXucvQ5G5oeEiHkmHZJuBO21RpOf+YYm9MOivj709jow==",
"dev": true,
- "license": "MIT"
+ "license": "MIT",
+ "engines": {
+ "node": ">=14.14"
+ }
},
- "node_modules/supertest": {
- "version": "7.2.2",
- "resolved": "https://registry.npmjs.org/supertest/-/supertest-7.2.2.tgz",
- "integrity": "sha512-oK8WG9diS3DlhdUkcFn4tkNIiIbBx9lI2ClF8K+b2/m8Eyv47LSawxUzZQSNKUrVb2KsqeTDCcjAAVPYaSLVTA==",
+ "node_modules/to-absolute-glob": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/to-absolute-glob/-/to-absolute-glob-2.0.2.tgz",
+ "integrity": "sha512-rtwLUQEwT8ZeKQbyFJyomBRYXyE16U5VKuy0ftxLMK/PZb2fkOsg5r9kHdauuVDbsNdIBoC/HCthpidamQFXYA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "cookie-signature": "^1.2.2",
- "methods": "^1.1.2",
- "superagent": "^10.3.0"
+ "is-absolute": "^1.0.0",
+ "is-negated-glob": "^1.0.0"
},
"engines": {
- "node": ">=14.18.0"
+ "node": ">=0.10.0"
}
},
- "node_modules/supertest/node_modules/cookie-signature": {
+ "node_modules/to-buffer": {
"version": "1.2.2",
- "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.2.2.tgz",
- "integrity": "sha512-D76uU73ulSXrD1UXF4KE2TMxVVwhsnCgfAyTg9k8P6KGZjlXKrOLe4dJQKI3Bxi5wjesZoFXJWElNWBjPZMbhg==",
+ "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.2.2.tgz",
+ "integrity": "sha512-db0E3UJjcFhpDhAF4tLo03oli3pwl3dbnzXOUIlRKrp+ldk/VUxzpWYZENsw2SZiuBjHAk7DfB0VU7NKdpb6sw==",
"dev": true,
"license": "MIT",
- "engines": {
- "node": ">=6.6.0"
- }
- },
- "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"
+ "isarray": "^2.0.5",
+ "safe-buffer": "^5.2.1",
+ "typed-array-buffer": "^1.0.3"
},
"engines": {
- "node": ">=8"
+ "node": ">= 0.4"
}
},
- "node_modules/supports-preserve-symlinks-flag": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
- "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
+ "node_modules/to-buffer/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,
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
+ "license": "MIT"
},
- "node_modules/sver": {
- "version": "1.8.4",
- "resolved": "https://registry.npmjs.org/sver/-/sver-1.8.4.tgz",
- "integrity": "sha512-71o1zfzyawLfIWBOmw8brleKyvnbn73oVHNCsu51uPMz/HWiKkkXsI31JjHW5zqXEqnPYkIiHd8ZmL7FCimLEA==",
+ "node_modules/to-buffer/node_modules/safe-buffer": {
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
+ "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
"dev": true,
- "license": "MIT",
- "optionalDependencies": {
- "semver": "^6.3.0"
- }
+ "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": "MIT"
},
- "node_modules/sver/node_modules/semver": {
- "version": "6.3.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
- "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
+ "node_modules/to-object-path": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz",
+ "integrity": "sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==",
"dev": true,
- "license": "ISC",
- "optional": true,
- "bin": {
- "semver": "bin/semver.js"
+ "license": "MIT",
+ "dependencies": {
+ "kind-of": "^3.0.2"
+ },
+ "engines": {
+ "node": ">=0.10.0"
}
},
- "node_modules/symbol-observable": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz",
- "integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==",
+ "node_modules/to-regex": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz",
+ "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==",
"dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "define-property": "^2.0.2",
+ "extend-shallow": "^3.0.2",
+ "regex-not": "^1.0.2",
+ "safe-regex": "^1.1.0"
+ },
"engines": {
"node": ">=0.10.0"
}
},
- "node_modules/synckit": {
- "version": "0.11.12",
- "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.11.12.tgz",
- "integrity": "sha512-Bh7QjT8/SuKUIfObSXNHNSK6WHo6J1tHCqJsuaFDP7gP0fkzSfTxI8y85JrppZ0h8l0maIgc2tfuZQ6/t3GtnQ==",
+ "node_modules/to-regex-range": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
+ "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@pkgr/core": "^0.2.9"
+ "is-number": "^7.0.0"
},
"engines": {
- "node": "^14.18.0 || >=16.0.0"
- },
- "funding": {
- "url": "https://opencollective.com/synckit"
+ "node": ">=8.0"
}
},
- "node_modules/tar": {
- "version": "6.2.1",
- "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.1.tgz",
- "integrity": "sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==",
+ "node_modules/to-regex/node_modules/define-property": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz",
+ "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "chownr": "^2.0.0",
- "fs-minipass": "^2.0.0",
- "minipass": "^5.0.0",
- "minizlib": "^2.1.1",
- "mkdirp": "^1.0.3",
- "yallist": "^4.0.0"
+ "is-descriptor": "^1.0.2",
+ "isobject": "^3.0.1"
},
"engines": {
- "node": ">=10"
+ "node": ">=0.10.0"
}
},
- "node_modules/tar-stream": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz",
- "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==",
+ "node_modules/to-regex/node_modules/is-descriptor": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.3.tgz",
+ "integrity": "sha512-JCNNGbwWZEVaSPtS45mdtrneRWJFp07LLmykxeFV5F6oBvNF8vHSfJuJgoT472pSfk+Mf8VnlrspaFBHWM8JAw==",
"dev": true,
"license": "MIT",
"dependencies": {
- "bl": "^4.0.3",
- "end-of-stream": "^1.4.1",
- "fs-constants": "^1.0.0",
- "inherits": "^2.0.3",
- "readable-stream": "^3.1.1"
+ "is-accessor-descriptor": "^1.0.1",
+ "is-data-descriptor": "^1.0.1"
},
"engines": {
- "node": ">=6"
+ "node": ">= 0.4"
}
},
- "node_modules/tar-stream/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==",
+ "node_modules/to-through": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/to-through/-/to-through-3.0.0.tgz",
+ "integrity": "sha512-y8MN937s/HVhEoBU1SxfHC+wxCHkV1a9gW8eAdTadYh/bGyesZIVcbjI+mSpFbSVwQici/XjBjuUyri1dnXwBw==",
"dev": true,
"license": "MIT",
"dependencies": {
- "inherits": "^2.0.3",
- "string_decoder": "^1.1.1",
- "util-deprecate": "^1.0.1"
+ "streamx": "^2.12.5"
},
"engines": {
- "node": ">= 6"
+ "node": ">=10.13.0"
}
},
- "node_modules/tar-stream/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,
+ "node_modules/toad-cache": {
+ "version": "3.7.0",
+ "resolved": "https://registry.npmjs.org/toad-cache/-/toad-cache-3.7.0.tgz",
+ "integrity": "sha512-/m8M+2BJUpoJdgAHoG+baCwBT+tf2VraSfkBgl0Y00qIWt41DJ8R5B8nsEw0I58YwF5IZH6z24/2TobDKnqSWw==",
"license": "MIT",
- "dependencies": {
- "safe-buffer": "~5.2.0"
+ "engines": {
+ "node": ">=12"
}
},
- "node_modules/tar/node_modules/fs-minipass": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz",
- "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==",
- "dev": true,
- "dependencies": {
- "minipass": "^3.0.0"
- },
+ "node_modules/toidentifier": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz",
+ "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==",
+ "license": "MIT",
"engines": {
- "node": ">= 8"
+ "node": ">=0.6"
}
},
- "node_modules/tar/node_modules/fs-minipass/node_modules/minipass": {
- "version": "3.3.6",
- "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz",
- "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==",
- "dev": true,
+ "node_modules/token-types": {
+ "version": "6.1.2",
+ "resolved": "https://registry.npmjs.org/token-types/-/token-types-6.1.2.tgz",
+ "integrity": "sha512-dRXchy+C0IgK8WPC6xvCHFRIWYUbqqdEIKPaKo/AcTUNzwLTK6AH7RjdLWsEZcAN/TBdtfUw3PYEgPr5VPr6ww==",
+ "license": "MIT",
"dependencies": {
- "yallist": "^4.0.0"
+ "@borewit/text-codec": "^0.2.1",
+ "@tokenizer/token": "^0.3.0",
+ "ieee754": "^1.2.1"
},
"engines": {
- "node": ">=8"
+ "node": ">=14.16"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/Borewit"
}
},
- "node_modules/tar/node_modules/minipass": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz",
- "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==",
+ "node_modules/tough-cookie": {
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz",
+ "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==",
"dev": true,
+ "license": "BSD-3-Clause",
+ "dependencies": {
+ "psl": "^1.1.28",
+ "punycode": "^2.1.1"
+ },
"engines": {
- "node": ">=8"
+ "node": ">=0.8"
}
},
- "node_modules/tar/node_modules/mkdirp": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
- "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
+ "node_modules/tr46": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/tr46/-/tr46-5.1.1.tgz",
+ "integrity": "sha512-hdF5ZgjTqgAntKkklYw0R03MG2x/bSzTtkxmIRw/sTNV8YXsCJ1tfLAX23lhxhHJlEf3CRCOCGGWw3vI3GaSPw==",
"dev": true,
- "bin": {
- "mkdirp": "bin/cmd.js"
+ "license": "MIT",
+ "dependencies": {
+ "punycode": "^2.3.1"
},
"engines": {
- "node": ">=10"
+ "node": ">=18"
}
},
- "node_modules/teex": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/teex/-/teex-1.0.1.tgz",
- "integrity": "sha512-eYE6iEI62Ni1H8oIa7KlDU6uQBtqr4Eajni3wX7rpfXD8ysFx8z0+dri+KWEPWpBsxXfxu58x/0jvTVT1ekOSg==",
+ "node_modules/tree-kill": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz",
+ "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==",
"dev": true,
"license": "MIT",
- "dependencies": {
- "streamx": "^2.12.5"
+ "bin": {
+ "tree-kill": "cli.js"
}
},
- "node_modules/test-exclude": {
- "version": "8.0.0",
- "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-8.0.0.tgz",
- "integrity": "sha512-ZOffsNrXYggvU1mDGHk54I96r26P8SyMjO5slMKSc7+IWmtB/MQKnEC2fP51imB3/pT6YK5cT5E8f+Dd9KdyOQ==",
+ "node_modules/treeverse": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/treeverse/-/treeverse-3.0.0.tgz",
+ "integrity": "sha512-gcANaAnd2QDZFmHFEOF4k7uc1J/6a6z3DJMd/QwEyxLoKGiptJRwid582r7QIsFlFMIZ3SnxfS52S4hm2DHkuQ==",
"dev": true,
"license": "ISC",
- "dependencies": {
- "@istanbuljs/schema": "^0.1.2",
- "glob": "^13.0.6",
- "minimatch": "^10.2.2"
- },
"engines": {
- "node": "20 || >=22"
+ "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
}
},
- "node_modules/test-exclude/node_modules/balanced-match": {
- "version": "4.0.4",
- "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz",
- "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==",
+ "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,
"license": "MIT",
"engines": {
- "node": "18 || 20 || >=22"
+ "node": ">=8"
}
},
- "node_modules/test-exclude/node_modules/brace-expansion": {
- "version": "5.0.4",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.4.tgz",
- "integrity": "sha512-h+DEnpVvxmfVefa4jFbCf5HdH5YMDXRsmKflpf1pILZWRFlTbJpxeU55nJl4Smt5HQaGzg1o6RHFPJaOqnmBDg==",
+ "node_modules/ts-api-utils": {
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.5.0.tgz",
+ "integrity": "sha512-OJ/ibxhPlqrMM0UiNHJ/0CKQkoKF243/AEmplt3qpRgkW8VG7IfOS41h7V8TjITqdByHzrjcS/2si+y4lIh8NA==",
"dev": true,
"license": "MIT",
- "dependencies": {
- "balanced-match": "^4.0.2"
- },
"engines": {
- "node": "18 || 20 || >=22"
+ "node": ">=18.12"
+ },
+ "peerDependencies": {
+ "typescript": ">=4.8.4"
}
},
- "node_modules/test-exclude/node_modules/glob": {
- "version": "13.0.6",
- "resolved": "https://registry.npmjs.org/glob/-/glob-13.0.6.tgz",
- "integrity": "sha512-Wjlyrolmm8uDpm/ogGyXZXb1Z+Ca2B8NbJwqBVg0axK9GbBeoS7yGV6vjXnYdGm6X53iehEuxxbyiKp8QmN4Vw==",
+ "node_modules/ts-morph": {
+ "version": "27.0.2",
+ "resolved": "https://registry.npmjs.org/ts-morph/-/ts-morph-27.0.2.tgz",
+ "integrity": "sha512-fhUhgeljcrdZ+9DZND1De1029PrE+cMkIP7ooqkLRTrRLTqcki2AstsyJm0vRNbTbVCNJ0idGlbBrfqc7/nA8w==",
"dev": true,
- "license": "BlueOak-1.0.0",
+ "license": "MIT",
"dependencies": {
- "minimatch": "^10.2.2",
- "minipass": "^7.1.3",
- "path-scurry": "^2.0.2"
- },
- "engines": {
- "node": "18 || 20 || >=22"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
+ "@ts-morph/common": "~0.28.1",
+ "code-block-writer": "^13.0.3"
}
},
- "node_modules/test-exclude/node_modules/minimatch": {
- "version": "10.2.4",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.4.tgz",
- "integrity": "sha512-oRjTw/97aTBN0RHbYCdtF1MQfvusSIBQM0IZEgzl6426+8jSC0nF1a/GmnVLpfB9yyr6g6FTqWqiZVbxrtaCIg==",
+ "node_modules/ts-node": {
+ "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": "BlueOak-1.0.0",
+ "license": "MIT",
"dependencies": {
- "brace-expansion": "^5.0.2"
+ "@cspotcode/source-map-support": "^0.8.0",
+ "@tsconfig/node10": "^1.0.7",
+ "@tsconfig/node12": "^1.0.7",
+ "@tsconfig/node14": "^1.0.0",
+ "@tsconfig/node16": "^1.0.2",
+ "acorn": "^8.4.1",
+ "acorn-walk": "^8.1.1",
+ "arg": "^4.1.0",
+ "create-require": "^1.1.0",
+ "diff": "^4.0.1",
+ "make-error": "^1.1.1",
+ "v8-compile-cache-lib": "^3.0.1",
+ "yn": "3.1.1"
},
- "engines": {
- "node": "18 || 20 || >=22"
+ "bin": {
+ "ts-node": "dist/bin.js",
+ "ts-node-cwd": "dist/bin-cwd.js",
+ "ts-node-esm": "dist/bin-esm.js",
+ "ts-node-script": "dist/bin-script.js",
+ "ts-node-transpile-only": "dist/bin-transpile.js",
+ "ts-script": "dist/bin-script-deprecated.js"
},
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
+ "peerDependencies": {
+ "@swc/core": ">=1.2.50",
+ "@swc/wasm": ">=1.2.50",
+ "@types/node": "*",
+ "typescript": ">=2.7"
+ },
+ "peerDependenciesMeta": {
+ "@swc/core": {
+ "optional": true
+ },
+ "@swc/wasm": {
+ "optional": true
+ }
}
},
- "node_modules/test-exclude/node_modules/path-scurry": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.2.tgz",
- "integrity": "sha512-3O/iVVsJAPsOnpwWIeD+d6z/7PmqApyQePUtCndjatj/9I5LylHvt5qluFaBT3I5h3r1ejfR056c+FCv+NnNXg==",
+ "node_modules/ts-node/node_modules/diff": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.4.tgz",
+ "integrity": "sha512-X07nttJQkwkfKfvTPG/KSnE2OMdcUCao6+eXF3wmnIQRn2aPAHH3VxDbDOdegkd6JbPsXqShpvEOHfAT+nCNwQ==",
"dev": true,
- "license": "BlueOak-1.0.0",
- "dependencies": {
- "lru-cache": "^11.0.0",
- "minipass": "^7.1.2"
- },
+ "license": "BSD-3-Clause",
"engines": {
- "node": "18 || 20 || >=22"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
+ "node": ">=0.3.1"
}
},
- "node_modules/text-decoder": {
- "version": "1.2.3",
- "resolved": "https://registry.npmjs.org/text-decoder/-/text-decoder-1.2.3.tgz",
- "integrity": "sha512-3/o9z3X0X0fTupwsYvR03pJ/DjWuqqrfwBgTQzdWDiQSm9KitAyz/9WqsT2JQW7KV2m+bC2ol/zqpW37NHxLaA==",
+ "node_modules/tsconfig-paths": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-4.2.0.tgz",
+ "integrity": "sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==",
"dev": true,
- "license": "Apache-2.0",
+ "license": "MIT",
"dependencies": {
- "b4a": "^1.6.4"
+ "json5": "^2.2.2",
+ "minimist": "^1.2.6",
+ "strip-bom": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=6"
}
},
- "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==",
+ "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": ">=0.10"
+ "node": ">=4"
}
},
- "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,
- "dependencies": {
- "any-promise": "^1.0.0"
- }
+ "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==",
+ "license": "0BSD"
},
- "node_modules/thenify-all": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz",
- "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==",
+ "node_modules/tsx": {
+ "version": "4.19.2",
+ "resolved": "https://registry.npmjs.org/tsx/-/tsx-4.19.2.tgz",
+ "integrity": "sha512-pOUl6Vo2LUq/bSa8S5q7b91cgNSjctn9ugq/+Mvow99qW6x/UZYwzxy/3NmqoT66eHYfCVvFvACC58UBPFf28g==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "thenify": ">= 3.1.0 < 4"
+ "esbuild": "~0.23.0",
+ "get-tsconfig": "^4.7.5"
+ },
+ "bin": {
+ "tsx": "dist/cli.mjs"
},
"engines": {
- "node": ">=0.8"
+ "node": ">=18.0.0"
+ },
+ "optionalDependencies": {
+ "fsevents": "~2.3.3"
}
},
- "node_modules/thread-stream": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/thread-stream/-/thread-stream-3.1.0.tgz",
- "integrity": "sha512-OqyPZ9u96VohAyMfJykzmivOrY2wfMSf3C5TtFJVgN+Hm6aj+voFhlK+kZEIv2FBh1X6Xp3DlnCOfEQ3B2J86A==",
+ "node_modules/tuf-js": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/tuf-js/-/tuf-js-4.1.0.tgz",
+ "integrity": "sha512-50QV99kCKH5P/Vs4E2Gzp7BopNV+KzTXqWeaxrfu5IQJBOULRsTIS9seSsOVT8ZnGXzCyx55nYWAi4qJzpZKEQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "real-require": "^0.2.0"
+ "@tufjs/models": "4.1.0",
+ "debug": "^4.4.3",
+ "make-fetch-happen": "^15.0.1"
+ },
+ "engines": {
+ "node": "^20.17.0 || >=22.9.0"
}
},
- "node_modules/through": {
- "version": "2.3.8",
- "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
- "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==",
- "dev": 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==",
+ "node_modules/tunnel-agent": {
+ "version": "0.6.0",
+ "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
+ "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==",
"dev": true,
+ "license": "Apache-2.0",
"dependencies": {
- "readable-stream": "~2.3.6",
- "xtend": "~4.0.1"
+ "safe-buffer": "^5.0.1"
+ },
+ "engines": {
+ "node": "*"
}
},
- "node_modules/through2-filter": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/through2-filter/-/through2-filter-3.0.0.tgz",
- "integrity": "sha512-jaRjI2WxN3W1V8/FMZ9HKIBXixtiqs3SQSX4/YGIiP3gL6djW48VoZq9tDqeCWs3MT8YY5wb/zli8VW8snY1CA==",
+ "node_modules/tweetnacl": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-1.0.3.tgz",
+ "integrity": "sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw==",
"dev": true,
- "dependencies": {
- "through2": "~2.0.0",
- "xtend": "~4.0.0"
- }
+ "license": "Unlicense"
},
- "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
+ "node_modules/type": {
+ "version": "2.7.3",
+ "resolved": "https://registry.npmjs.org/type/-/type-2.7.3.tgz",
+ "integrity": "sha512-8j+1QmAbPvLZow5Qpi6NCaN8FB60p/6x8/vfNqOk/hC+HuvFZhL4+WfekuhQLiqFZXOgQdrs3B+XxEmCc6b3FQ==",
+ "dev": true,
+ "license": "ISC"
},
- "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==",
+ "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,
- "dependencies": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.3",
- "isarray": "~1.0.0",
- "process-nextick-args": "~2.0.0",
- "safe-buffer": "~5.1.1",
- "string_decoder": "~1.1.1",
- "util-deprecate": "~1.0.1"
+ "license": "(MIT OR CC0-1.0)",
+ "engines": {
+ "node": ">=8"
}
},
- "node_modules/through2/node_modules/safe-buffer": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
- "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
- "dev": true
- },
- "node_modules/through2/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,
+ "node_modules/type-is": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/type-is/-/type-is-2.0.1.tgz",
+ "integrity": "sha512-OZs6gsjF4vMp32qrCbiVSkrFmXtG/AZhY3t0iAMrMBiAZyV9oALtXO8hsrHbMXF9x6L3grlFuwW2oAz7cav+Gw==",
+ "license": "MIT",
"dependencies": {
- "safe-buffer": "~5.1.0"
+ "content-type": "^1.0.5",
+ "media-typer": "^1.1.0",
+ "mime-types": "^3.0.0"
+ },
+ "engines": {
+ "node": ">= 0.6"
}
},
- "node_modules/time-stamp": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/time-stamp/-/time-stamp-1.1.0.tgz",
- "integrity": "sha512-gLCeArryy2yNTRzTGKbZbloctj64jkZ57hj5zdraXue6aFgd6PmvVtEyiUU+hvU0v7q08oVv8r8ev0tRo6bvgw==",
+ "node_modules/typed-array-buffer": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz",
+ "integrity": "sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==",
"dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bound": "^1.0.3",
+ "es-errors": "^1.3.0",
+ "is-typed-array": "^1.1.14"
+ },
"engines": {
- "node": ">=0.10.0"
+ "node": ">= 0.4"
}
},
- "node_modules/timers-ext": {
- "version": "0.1.8",
- "resolved": "https://registry.npmjs.org/timers-ext/-/timers-ext-0.1.8.tgz",
- "integrity": "sha512-wFH7+SEAcKfJpfLPkrgMPvvwnEtj8W4IurvEyrKsDleXnKLCDw71w8jltvfLa8Rm4qQxxT4jmDBYbJG/z7qoww==",
+ "node_modules/typedarray": {
+ "version": "0.0.6",
+ "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
+ "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==",
+ "license": "MIT"
+ },
+ "node_modules/typeorm": {
+ "version": "0.3.30",
+ "resolved": "https://registry.npmjs.org/typeorm/-/typeorm-0.3.30.tgz",
+ "integrity": "sha512-8T35PzjefOdqc2ZR9mwLQj0pUGp6lQhMbK2EvVMwJVJWlaoHm0v/Q6dThNOZkFchD+0yMg8gwjKM28ePiLSXSQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "es5-ext": "^0.10.64",
- "next-tick": "^1.1.0"
+ "@sqltools/formatter": "^1.2.5",
+ "ansis": "^4.2.0",
+ "app-root-path": "^3.1.0",
+ "buffer": "^6.0.3",
+ "dayjs": "^1.11.20",
+ "debug": "^4.4.3",
+ "dedent": "^1.7.2",
+ "dotenv": "^16.6.1",
+ "glob": "^10.5.0",
+ "reflect-metadata": "^0.2.2",
+ "sha.js": "^2.4.12",
+ "sql-highlight": "^6.1.0",
+ "tslib": "^2.8.1",
+ "uuid": "^11.1.1",
+ "yargs": "^17.7.2"
+ },
+ "bin": {
+ "typeorm": "cli.js",
+ "typeorm-ts-node-commonjs": "cli-ts-node-commonjs.js",
+ "typeorm-ts-node-esm": "cli-ts-node-esm.js"
},
"engines": {
- "node": ">=0.12"
+ "node": ">=16.13.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/typeorm"
+ },
+ "peerDependencies": {
+ "@google-cloud/spanner": "^5.18.0 || ^6.0.0 || ^7.0.0 || ^8.0.0",
+ "@sap/hana-client": "^2.14.22",
+ "better-sqlite3": "^8.0.0 || ^9.0.0 || ^10.0.0 || ^11.0.0 || ^12.0.0",
+ "ioredis": "^5.0.4",
+ "mongodb": "^5.8.0 || ^6.0.0",
+ "mssql": "^9.1.1 || ^10.0.0 || ^11.0.0 || ^12.0.0",
+ "mysql2": "^2.2.5 || ^3.0.1",
+ "oracledb": "^6.3.0",
+ "pg": "^8.5.1",
+ "pg-native": "^3.0.0",
+ "pg-query-stream": "^4.0.0",
+ "redis": "^3.1.1 || ^4.0.0 || ^5.0.14",
+ "sql.js": "^1.4.0",
+ "sqlite3": "^5.0.3",
+ "ts-node": "^10.7.0",
+ "typeorm-aurora-data-api-driver": "^2.0.0 || ^3.0.0"
+ },
+ "peerDependenciesMeta": {
+ "@google-cloud/spanner": {
+ "optional": true
+ },
+ "@sap/hana-client": {
+ "optional": true
+ },
+ "better-sqlite3": {
+ "optional": true
+ },
+ "ioredis": {
+ "optional": true
+ },
+ "mongodb": {
+ "optional": true
+ },
+ "mssql": {
+ "optional": true
+ },
+ "mysql2": {
+ "optional": true
+ },
+ "oracledb": {
+ "optional": true
+ },
+ "pg": {
+ "optional": true
+ },
+ "pg-native": {
+ "optional": true
+ },
+ "pg-query-stream": {
+ "optional": true
+ },
+ "redis": {
+ "optional": true
+ },
+ "sql.js": {
+ "optional": true
+ },
+ "sqlite3": {
+ "optional": true
+ },
+ "ts-node": {
+ "optional": true
+ },
+ "typeorm-aurora-data-api-driver": {
+ "optional": true
+ }
}
},
- "node_modules/tinyexec": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-1.1.2.tgz",
- "integrity": "sha512-dAqSqE/RabpBKI8+h26GfLq6Vb3JVXs30XYQjdMjaj/c2tS8IYYMbIzP599KtRj7c57/wYApb3QjgRgXmrCukA==",
+ "node_modules/typeorm/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": "MIT",
+ "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": ">=18"
+ "node": ">=12"
}
},
- "node_modules/tinyglobby": {
- "version": "0.2.15",
- "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz",
- "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==",
+ "node_modules/typeorm/node_modules/ansi-regex": {
+ "version": "6.2.2",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz",
+ "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==",
"dev": true,
"license": "MIT",
- "dependencies": {
- "fdir": "^6.5.0",
- "picomatch": "^4.0.3"
- },
"engines": {
- "node": ">=12.0.0"
+ "node": ">=12"
},
"funding": {
- "url": "https://github.com/sponsors/SuperchupuDev"
+ "url": "https://github.com/chalk/ansi-regex?sponsor=1"
}
},
- "node_modules/tmp": {
- "version": "0.2.5",
- "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.5.tgz",
- "integrity": "sha512-voyz6MApa1rQGUxT3E+BK7/ROe8itEx7vD8/HEvt4xwXucvQ5G5oeEiHkmHZJuBO21RpOf+YYm9MOivj709jow==",
+ "node_modules/typeorm/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,
"license": "MIT",
"engines": {
- "node": ">=14.14"
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
}
},
- "node_modules/to-absolute-glob": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/to-absolute-glob/-/to-absolute-glob-2.0.2.tgz",
- "integrity": "sha512-rtwLUQEwT8ZeKQbyFJyomBRYXyE16U5VKuy0ftxLMK/PZb2fkOsg5r9kHdauuVDbsNdIBoC/HCthpidamQFXYA==",
+ "node_modules/typeorm/node_modules/brace-expansion": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.3.tgz",
+ "integrity": "sha512-MCV/fYJEbqx68aE58kv2cA/kiky1G8vux3OR6/jbS+jIMe/6fJWa0DTzJU7dqijOWYwHi1t29FlfYI9uytqlpA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "is-absolute": "^1.0.0",
- "is-negated-glob": "^1.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
+ "balanced-match": "^1.0.0"
}
},
- "node_modules/to-buffer": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.2.1.tgz",
- "integrity": "sha512-tB82LpAIWjhLYbqjx3X4zEeHN6M8CiuOEy2JY8SEQVdYRe3CCHOFaqrBW1doLDrfpWhplcW7BL+bO3/6S3pcDQ==",
+ "node_modules/typeorm/node_modules/dedent": {
+ "version": "1.7.2",
+ "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.7.2.tgz",
+ "integrity": "sha512-WzMx3mW98SN+zn3hgemf4OzdmyNhhhKz5Ay0pUfQiMQ3e1g+xmTJWp/pKdwKVXhdSkAEGIIzqeuWrL3mV/AXbA==",
"dev": true,
"license": "MIT",
- "dependencies": {
- "isarray": "^2.0.5",
- "safe-buffer": "^5.2.1",
- "typed-array-buffer": "^1.0.3"
+ "peerDependencies": {
+ "babel-plugin-macros": "^3.1.0"
},
+ "peerDependenciesMeta": {
+ "babel-plugin-macros": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/typeorm/node_modules/dotenv": {
+ "version": "16.6.1",
+ "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.6.1.tgz",
+ "integrity": "sha512-uBq4egWHTcTt33a72vpSG0z3HnPuIl6NqYcTrKEg2azoEyl2hpW0zqlxysq2pK9HlDIHyHyakeYaYnSAwd8bow==",
+ "dev": true,
+ "license": "BSD-2-Clause",
"engines": {
- "node": ">= 0.4"
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://dotenvx.com"
}
},
- "node_modules/to-buffer/node_modules/isarray": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz",
- "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==",
+ "node_modules/typeorm/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/to-object-path": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz",
- "integrity": "sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==",
+ "node_modules/typeorm/node_modules/glob": {
+ "version": "10.5.0",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-10.5.0.tgz",
+ "integrity": "sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg==",
+ "deprecated": "Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me",
"dev": true,
+ "license": "ISC",
"dependencies": {
- "kind-of": "^3.0.2"
+ "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": ">=0.10.0"
+ "bin": {
+ "glob": "dist/esm/bin.mjs"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
}
},
- "node_modules/to-object-path/node_modules/kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==",
+ "node_modules/typeorm/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": {
- "is-buffer": "^1.1.5"
+ "@isaacs/cliui": "^8.0.2"
},
- "engines": {
- "node": ">=0.10.0"
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ },
+ "optionalDependencies": {
+ "@pkgjs/parseargs": "^0.11.0"
}
},
- "node_modules/to-regex": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz",
- "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==",
+ "node_modules/typeorm/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/typeorm/node_modules/minimatch": {
+ "version": "9.0.9",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.9.tgz",
+ "integrity": "sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg==",
"dev": true,
+ "license": "ISC",
"dependencies": {
- "define-property": "^2.0.2",
- "extend-shallow": "^3.0.2",
- "regex-not": "^1.0.2",
- "safe-regex": "^1.1.0"
+ "brace-expansion": "^2.0.2"
},
"engines": {
- "node": ">=0.10.0"
+ "node": ">=16 || 14 >=14.17"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
}
},
- "node_modules/to-regex-range": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
- "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
+ "node_modules/typeorm/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": {
- "is-number": "^7.0.0"
+ "lru-cache": "^10.2.0",
+ "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0"
},
"engines": {
- "node": ">=8.0"
+ "node": ">=16 || 14 >=14.18"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
}
},
- "node_modules/to-through": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/to-through/-/to-through-3.0.0.tgz",
- "integrity": "sha512-y8MN937s/HVhEoBU1SxfHC+wxCHkV1a9gW8eAdTadYh/bGyesZIVcbjI+mSpFbSVwQici/XjBjuUyri1dnXwBw==",
+ "node_modules/typeorm/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": {
- "streamx": "^2.12.5"
+ "eastasianwidth": "^0.2.0",
+ "emoji-regex": "^9.2.2",
+ "strip-ansi": "^7.0.1"
},
"engines": {
- "node": ">=10.13.0"
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/toad-cache": {
- "version": "3.7.0",
- "resolved": "https://registry.npmjs.org/toad-cache/-/toad-cache-3.7.0.tgz",
- "integrity": "sha512-/m8M+2BJUpoJdgAHoG+baCwBT+tf2VraSfkBgl0Y00qIWt41DJ8R5B8nsEw0I58YwF5IZH6z24/2TobDKnqSWw==",
+ "node_modules/typeorm/node_modules/strip-ansi": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.2.0.tgz",
+ "integrity": "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==",
"dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ansi-regex": "^6.2.2"
+ },
"engines": {
"node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/strip-ansi?sponsor=1"
}
},
- "node_modules/toidentifier": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz",
- "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==",
- "engines": {
- "node": ">=0.6"
+ "node_modules/typeorm/node_modules/uuid": {
+ "version": "11.1.1",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-11.1.1.tgz",
+ "integrity": "sha512-vIYxrBCC/N/K+Js3qSN88go7kIfNPssr/hHCesKCQNAjmgvYS2oqr69kIufEG+O4+PfezOH4EbIeHCfFov8ZgQ==",
+ "dev": true,
+ "funding": [
+ "https://github.com/sponsors/broofa",
+ "https://github.com/sponsors/ctavan"
+ ],
+ "license": "MIT",
+ "bin": {
+ "uuid": "dist/esm/bin/uuid"
}
},
- "node_modules/token-types": {
- "version": "6.1.1",
- "resolved": "https://registry.npmjs.org/token-types/-/token-types-6.1.1.tgz",
- "integrity": "sha512-kh9LVIWH5CnL63Ipf0jhlBIy0UsrMj/NJDfpsy1SqOXlLKEVyXXYrnFxFT1yOOYVGBSApeVnjPw/sBz5BfEjAQ==",
+ "node_modules/typeorm/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": {
- "@borewit/text-codec": "^0.1.0",
- "@tokenizer/token": "^0.3.0",
- "ieee754": "^1.2.1"
+ "ansi-styles": "^6.1.0",
+ "string-width": "^5.0.1",
+ "strip-ansi": "^7.0.1"
},
"engines": {
- "node": ">=14.16"
+ "node": ">=12"
},
"funding": {
- "type": "github",
- "url": "https://github.com/sponsors/Borewit"
+ "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
}
},
- "node_modules/tough-cookie": {
- "version": "2.5.0",
- "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz",
- "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==",
+ "node_modules/typescript": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-6.0.2.tgz",
+ "integrity": "sha512-bGdAIrZ0wiGDo5l8c++HWtbaNCWTS4UTv7RaTH/ThVIgjkveJt83m74bBHMJkuCbslY8ixgLBVZJIOiQlQTjfQ==",
"dev": true,
- "dependencies": {
- "psl": "^1.1.28",
- "punycode": "^2.1.1"
+ "license": "Apache-2.0",
+ "bin": {
+ "tsc": "bin/tsc",
+ "tsserver": "bin/tsserver"
},
"engines": {
- "node": ">=0.8"
+ "node": ">=14.17"
}
},
- "node_modules/tr46": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/tr46/-/tr46-5.1.1.tgz",
- "integrity": "sha512-hdF5ZgjTqgAntKkklYw0R03MG2x/bSzTtkxmIRw/sTNV8YXsCJ1tfLAX23lhxhHJlEf3CRCOCGGWw3vI3GaSPw==",
+ "node_modules/typescript-eslint": {
+ "version": "8.58.2",
+ "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.58.2.tgz",
+ "integrity": "sha512-V8iSng9mRbdZjl54VJ9NKr6ZB+dW0J3TzRXRGcSbLIej9jV86ZRtlYeTKDR/QLxXykocJ5icNzbsl2+5TzIvcQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "punycode": "^2.3.1"
+ "@typescript-eslint/eslint-plugin": "8.58.2",
+ "@typescript-eslint/parser": "8.58.2",
+ "@typescript-eslint/typescript-estree": "8.58.2",
+ "@typescript-eslint/utils": "8.58.2"
},
"engines": {
- "node": ">=18"
- }
- },
- "node_modules/tree-kill": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz",
- "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==",
- "dev": true,
- "bin": {
- "tree-kill": "cli.js"
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependencies": {
+ "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0",
+ "typescript": ">=4.8.4 <6.1.0"
}
},
- "node_modules/treeverse": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/treeverse/-/treeverse-3.0.0.tgz",
- "integrity": "sha512-gcANaAnd2QDZFmHFEOF4k7uc1J/6a6z3DJMd/QwEyxLoKGiptJRwid582r7QIsFlFMIZ3SnxfS52S4hm2DHkuQ==",
+ "node_modules/uglify-js": {
+ "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": "ISC",
+ "license": "BSD-2-Clause",
+ "optional": true,
+ "bin": {
+ "uglifyjs": "bin/uglifyjs"
+ },
"engines": {
- "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+ "node": ">=0.8.0"
}
},
- "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,
+ "node_modules/uid": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/uid/-/uid-2.0.2.tgz",
+ "integrity": "sha512-u3xV3X7uzvi5b1MncmZo3i2Aw222Zk1keqLA1YkHldREkAhAqi65wuPfe7lHx8H/Wzy+8CE7S7uS3jekIM5s8g==",
"license": "MIT",
+ "dependencies": {
+ "@lukeed/csprng": "^1.0.0"
+ },
"engines": {
"node": ">=8"
}
},
- "node_modules/ts-api-utils": {
- "version": "2.5.0",
- "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.5.0.tgz",
- "integrity": "sha512-OJ/ibxhPlqrMM0UiNHJ/0CKQkoKF243/AEmplt3qpRgkW8VG7IfOS41h7V8TjITqdByHzrjcS/2si+y4lIh8NA==",
- "dev": true,
+ "node_modules/uint8array-extras": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/uint8array-extras/-/uint8array-extras-1.5.0.tgz",
+ "integrity": "sha512-rvKSBiC5zqCCiDZ9kAOszZcDvdAHwwIKJG33Ykj43OKcWsnmcBRL09YTU4nOeHZ8Y2a7l1MgTd08SBe9A8Qj6A==",
"license": "MIT",
"engines": {
- "node": ">=18.12"
+ "node": ">=18"
},
- "peerDependencies": {
- "typescript": ">=4.8.4"
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/ts-morph": {
- "version": "28.0.0",
- "resolved": "https://registry.npmjs.org/ts-morph/-/ts-morph-28.0.0.tgz",
- "integrity": "sha512-Wp3tnZ2bzwxyTZMtgWVzXDfm7lB1Drz+y9DmmYH/L702PQhPyVrp3pkou3yIz4qjS14GY9kcpmLiOOMvl8oG1g==",
+ "node_modules/unc-path-regex": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz",
+ "integrity": "sha512-eXL4nmJT7oCpkZsHZUOJo8hcX3GbsiDOa0Qu9F646fi8dT3XuSVopVqAcEiVzSKKH7UoDti23wNX3qGFxcW5Qg==",
"dev": true,
"license": "MIT",
- "dependencies": {
- "@ts-morph/common": "~0.29.0",
- "code-block-writer": "^13.0.3"
+ "engines": {
+ "node": ">=0.10.0"
}
},
- "node_modules/ts-node": {
- "version": "10.9.2",
- "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz",
- "integrity": "sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==",
+ "node_modules/undertaker": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/undertaker/-/undertaker-2.0.0.tgz",
+ "integrity": "sha512-tO/bf30wBbTsJ7go80j0RzA2rcwX6o7XPBpeFcb+jzoeb4pfMM2zUeSDIkY1AWqeZabWxaQZ/h8N9t35QKDLPQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@cspotcode/source-map-support": "^0.8.0",
- "@tsconfig/node10": "^1.0.7",
- "@tsconfig/node12": "^1.0.7",
- "@tsconfig/node14": "^1.0.0",
- "@tsconfig/node16": "^1.0.2",
- "acorn": "^8.4.1",
- "acorn-walk": "^8.1.1",
- "arg": "^4.1.0",
- "create-require": "^1.1.0",
- "diff": "^4.0.1",
- "make-error": "^1.1.1",
- "v8-compile-cache-lib": "^3.0.1",
- "yn": "3.1.1"
- },
- "bin": {
- "ts-node": "dist/bin.js",
- "ts-node-cwd": "dist/bin-cwd.js",
- "ts-node-esm": "dist/bin-esm.js",
- "ts-node-script": "dist/bin-script.js",
- "ts-node-transpile-only": "dist/bin-transpile.js",
- "ts-script": "dist/bin-script-deprecated.js"
- },
- "peerDependencies": {
- "@swc/core": ">=1.2.50",
- "@swc/wasm": ">=1.2.50",
- "@types/node": "*",
- "typescript": ">=2.7"
+ "bach": "^2.0.1",
+ "fast-levenshtein": "^3.0.0",
+ "last-run": "^2.0.0",
+ "undertaker-registry": "^2.0.0"
},
- "peerDependenciesMeta": {
- "@swc/core": {
- "optional": true
- },
- "@swc/wasm": {
- "optional": true
- }
+ "engines": {
+ "node": ">=10.13.0"
}
},
- "node_modules/ts-node/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
- },
- "node_modules/ts-node/node_modules/@tsconfig/node16": {
- "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
+ "node_modules/undertaker-registry": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/undertaker-registry/-/undertaker-registry-2.0.0.tgz",
+ "integrity": "sha512-+hhVICbnp+rlzZMgxXenpvTxpuvA67Bfgtt+O9WOE5jo7w/dyiF1VmoZVIHvP2EkUjsyKyTwYKlLhA+j47m1Ew==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 10.13.0"
+ }
},
- "node_modules/tsconfig-paths": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-4.2.0.tgz",
- "integrity": "sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==",
+ "node_modules/undertaker/node_modules/fast-levenshtein": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-3.0.0.tgz",
+ "integrity": "sha512-hKKNajm46uNmTlhHSyZkmToAc56uZJwYq7yrciZjqOxnlfQwERDQJmHPUp7m1m9wx8vgOe8IaCKZ5Kv2k1DdCQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "json5": "^2.2.2",
- "minimist": "^1.2.6",
- "strip-bom": "^3.0.0"
- },
- "engines": {
- "node": ">=6"
+ "fastest-levenshtein": "^1.0.7"
}
},
- "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=="
+ "node_modules/undici-types": {
+ "version": "7.24.6",
+ "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.24.6.tgz",
+ "integrity": "sha512-WRNW+sJgj5OBN4/0JpHFqtqzhpbnV0GuB+OozA9gCL7a993SmU+1JBZCzLNxYsbMfIeDL+lTsphD5jN5N+n0zg==",
+ "license": "MIT"
},
- "node_modules/tuf-js": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/tuf-js/-/tuf-js-4.1.0.tgz",
- "integrity": "sha512-50QV99kCKH5P/Vs4E2Gzp7BopNV+KzTXqWeaxrfu5IQJBOULRsTIS9seSsOVT8ZnGXzCyx55nYWAi4qJzpZKEQ==",
+ "node_modules/union-value": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz",
+ "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@tufjs/models": "4.1.0",
- "debug": "^4.4.3",
- "make-fetch-happen": "^15.0.1"
+ "arr-union": "^3.1.0",
+ "get-value": "^2.0.6",
+ "is-extendable": "^0.1.1",
+ "set-value": "^2.0.1"
},
"engines": {
- "node": "^20.17.0 || >=22.9.0"
+ "node": ">=0.10.0"
}
},
- "node_modules/tuf-js/node_modules/debug": {
- "version": "4.4.3",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz",
- "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==",
+ "node_modules/union-value/node_modules/is-extendable": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
+ "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==",
"dev": true,
"license": "MIT",
- "dependencies": {
- "ms": "^2.1.3"
- },
"engines": {
- "node": ">=6.0"
- },
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
+ "node": ">=0.10.0"
}
},
- "node_modules/tuf-js/node_modules/ms": {
- "version": "2.1.3",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
- "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
+ "node_modules/unique-filename": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz",
+ "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==",
"dev": true,
- "license": "MIT"
+ "license": "ISC",
+ "dependencies": {
+ "unique-slug": "^2.0.0"
+ }
},
- "node_modules/tunnel-agent": {
- "version": "0.6.0",
- "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
- "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==",
+ "node_modules/unique-slug": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz",
+ "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==",
"dev": true,
+ "license": "ISC",
"dependencies": {
- "safe-buffer": "^5.0.1"
- },
- "engines": {
- "node": "*"
+ "imurmurhash": "^0.1.4"
}
},
- "node_modules/tweetnacl": {
- "version": "0.14.5",
- "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
- "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==",
- "dev": true
- },
- "node_modules/type": {
- "version": "2.7.3",
- "resolved": "https://registry.npmjs.org/type/-/type-2.7.3.tgz",
- "integrity": "sha512-8j+1QmAbPvLZow5Qpi6NCaN8FB60p/6x8/vfNqOk/hC+HuvFZhL4+WfekuhQLiqFZXOgQdrs3B+XxEmCc6b3FQ==",
- "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==",
+ "node_modules/unique-stream": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/unique-stream/-/unique-stream-2.4.0.tgz",
+ "integrity": "sha512-V6QarSfeSgDipGA9EZdoIzu03ZDlOFkk+FbEP5cwgrZXN3iIkYR91IjU2EnM6rB835kGQsqHX8qncObTXV+6KA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "prelude-ls": "^1.2.1"
- },
- "engines": {
- "node": ">= 0.8.0"
+ "json-stable-stringify-without-jsonify": "^1.0.1",
+ "through2-filter": "3.0.0"
}
},
- "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==",
+ "node_modules/universal-user-agent": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.1.tgz",
+ "integrity": "sha512-yCzhz6FN2wU1NiiQRogkTQszlQSlpWaw8SvVegAc+bDxbzHgh1vX8uIe8OYyMH6DwH+sdTJsgMl36+mSMdRJIQ==",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/universalify": {
+ "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": ">=4"
+ "node": ">= 10.0.0"
}
},
- "node_modules/type-fest": {
- "version": "0.6.0",
- "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz",
- "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==",
- "dev": true,
- "license": "(MIT OR CC0-1.0)",
+ "node_modules/unpipe": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
+ "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==",
+ "license": "MIT",
"engines": {
- "node": ">=8"
+ "node": ">= 0.8"
}
},
- "node_modules/type-is": {
- "version": "1.6.18",
- "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz",
- "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==",
+ "node_modules/unset-value": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz",
+ "integrity": "sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "media-typer": "0.3.0",
- "mime-types": "~2.1.24"
+ "has-value": "^0.3.1",
+ "isobject": "^3.0.0"
},
"engines": {
- "node": ">= 0.6"
+ "node": ">=0.10.0"
}
},
- "node_modules/typed-array-buffer": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz",
- "integrity": "sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==",
+ "node_modules/unset-value/node_modules/has-value": {
+ "version": "0.3.1",
+ "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz",
+ "integrity": "sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==",
"dev": true,
"license": "MIT",
"dependencies": {
- "call-bound": "^1.0.3",
- "es-errors": "^1.3.0",
- "is-typed-array": "^1.1.14"
+ "get-value": "^2.0.3",
+ "has-values": "^0.1.4",
+ "isobject": "^2.0.0"
},
"engines": {
- "node": ">= 0.4"
+ "node": ">=0.10.0"
}
},
- "node_modules/typedarray": {
- "version": "0.0.6",
- "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
- "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==",
- "dev": true
- },
- "node_modules/typedarray-to-buffer": {
- "version": "3.1.5",
- "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz",
- "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==",
+ "node_modules/unset-value/node_modules/has-value/node_modules/isobject": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
+ "integrity": "sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "is-typedarray": "^1.0.0"
+ "isarray": "1.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
}
},
- "node_modules/typeorm": {
- "version": "0.3.30",
- "resolved": "https://registry.npmjs.org/typeorm/-/typeorm-0.3.30.tgz",
- "integrity": "sha512-8T35PzjefOdqc2ZR9mwLQj0pUGp6lQhMbK2EvVMwJVJWlaoHm0v/Q6dThNOZkFchD+0yMg8gwjKM28ePiLSXSQ==",
+ "node_modules/unset-value/node_modules/has-values": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz",
+ "integrity": "sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==",
"dev": true,
"license": "MIT",
- "dependencies": {
- "@sqltools/formatter": "^1.2.5",
- "ansis": "^4.2.0",
- "app-root-path": "^3.1.0",
- "buffer": "^6.0.3",
- "dayjs": "^1.11.20",
- "debug": "^4.4.3",
- "dedent": "^1.7.2",
- "dotenv": "^16.6.1",
- "glob": "^10.5.0",
- "reflect-metadata": "^0.2.2",
- "sha.js": "^2.4.12",
- "sql-highlight": "^6.1.0",
- "tslib": "^2.8.1",
- "uuid": "^11.1.1",
- "yargs": "^17.7.2"
- },
- "bin": {
- "typeorm": "cli.js",
- "typeorm-ts-node-commonjs": "cli-ts-node-commonjs.js",
- "typeorm-ts-node-esm": "cli-ts-node-esm.js"
- },
"engines": {
- "node": ">=16.13.0"
- },
- "funding": {
- "url": "https://opencollective.com/typeorm"
- },
- "peerDependencies": {
- "@google-cloud/spanner": "^5.18.0 || ^6.0.0 || ^7.0.0 || ^8.0.0",
- "@sap/hana-client": "^2.14.22",
- "better-sqlite3": "^8.0.0 || ^9.0.0 || ^10.0.0 || ^11.0.0 || ^12.0.0",
- "ioredis": "^5.0.4",
- "mongodb": "^5.8.0 || ^6.0.0",
- "mssql": "^9.1.1 || ^10.0.0 || ^11.0.0 || ^12.0.0",
- "mysql2": "^2.2.5 || ^3.0.1",
- "oracledb": "^6.3.0",
- "pg": "^8.5.1",
- "pg-native": "^3.0.0",
- "pg-query-stream": "^4.0.0",
- "redis": "^3.1.1 || ^4.0.0 || ^5.0.14",
- "sql.js": "^1.4.0",
- "sqlite3": "^5.0.3",
- "ts-node": "^10.7.0",
- "typeorm-aurora-data-api-driver": "^2.0.0 || ^3.0.0"
- },
- "peerDependenciesMeta": {
- "@google-cloud/spanner": {
- "optional": true
- },
- "@sap/hana-client": {
- "optional": true
- },
- "better-sqlite3": {
- "optional": true
- },
- "ioredis": {
- "optional": true
- },
- "mongodb": {
- "optional": true
- },
- "mssql": {
- "optional": true
- },
- "mysql2": {
- "optional": true
- },
- "oracledb": {
- "optional": true
- },
- "pg": {
- "optional": true
- },
- "pg-native": {
- "optional": true
- },
- "pg-query-stream": {
- "optional": true
- },
- "redis": {
- "optional": true
- },
- "sql.js": {
- "optional": true
- },
- "sqlite3": {
- "optional": true
- },
- "ts-node": {
- "optional": true
- },
- "typeorm-aurora-data-api-driver": {
- "optional": true
- }
+ "node": ">=0.10.0"
}
},
- "node_modules/typeorm/node_modules/brace-expansion": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.1.0.tgz",
- "integrity": "sha512-TN1kCZAgdgweJhWWpgKYrQaMNHcDULHkWwQIspdtjV4Y5aurRdZpjAqn6yX3FPqTA9ngHCc4hJxMAMgGfve85w==",
+ "node_modules/upath": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/upath/-/upath-2.0.1.tgz",
+ "integrity": "sha512-1uEe95xksV1O0CYKXo8vQvN1JEbtJp7lb7C5U9HMsIp6IVwntkH/oNUzyVNQSd4S1sYk2FpSSW44FqMc8qee5w==",
"dev": true,
"license": "MIT",
- "dependencies": {
- "balanced-match": "^1.0.0"
+ "engines": {
+ "node": ">=4",
+ "yarn": "*"
}
},
- "node_modules/typeorm/node_modules/buffer": {
- "version": "6.0.3",
- "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz",
- "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==",
+ "node_modules/update-browserslist-db": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.2.3.tgz",
+ "integrity": "sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==",
"dev": true,
"funding": [
{
- "type": "github",
- "url": "https://github.com/sponsors/feross"
+ "type": "opencollective",
+ "url": "https://opencollective.com/browserslist"
},
{
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/browserslist"
},
{
- "type": "consulting",
- "url": "https://feross.org/support"
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
}
],
"license": "MIT",
"dependencies": {
- "base64-js": "^1.3.1",
- "ieee754": "^1.2.1"
- }
- },
- "node_modules/typeorm/node_modules/debug": {
- "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.3"
+ "escalade": "^3.2.0",
+ "picocolors": "^1.1.1"
},
- "engines": {
- "node": ">=6.0"
+ "bin": {
+ "update-browserslist-db": "cli.js"
},
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
- }
- },
- "node_modules/typeorm/node_modules/dedent": {
- "version": "1.7.2",
- "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.7.2.tgz",
- "integrity": "sha512-WzMx3mW98SN+zn3hgemf4OzdmyNhhhKz5Ay0pUfQiMQ3e1g+xmTJWp/pKdwKVXhdSkAEGIIzqeuWrL3mV/AXbA==",
- "dev": true,
- "license": "MIT",
"peerDependencies": {
- "babel-plugin-macros": "^3.1.0"
- },
- "peerDependenciesMeta": {
- "babel-plugin-macros": {
- "optional": true
- }
+ "browserslist": ">= 4.21.0"
}
},
- "node_modules/typeorm/node_modules/glob": {
- "version": "10.5.0",
- "resolved": "https://registry.npmjs.org/glob/-/glob-10.5.0.tgz",
- "integrity": "sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg==",
- "deprecated": "Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me",
+ "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": "ISC",
+ "license": "BSD-2-Clause",
"dependencies": {
- "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"
- },
- "bin": {
- "glob": "dist/esm/bin.mjs"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
+ "punycode": "^2.1.0"
}
},
- "node_modules/typeorm/node_modules/minimatch": {
- "version": "9.0.9",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.9.tgz",
- "integrity": "sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg==",
+ "node_modules/urix": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz",
+ "integrity": "sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==",
+ "deprecated": "Please see https://github.com/lydell/urix#deprecated",
"dev": true,
- "license": "ISC",
+ "license": "MIT"
+ },
+ "node_modules/url-parse": {
+ "version": "1.5.10",
+ "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz",
+ "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==",
+ "dev": true,
+ "license": "MIT",
"dependencies": {
- "brace-expansion": "^2.0.2"
- },
- "engines": {
- "node": ">=16 || 14 >=14.17"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
+ "querystringify": "^2.1.1",
+ "requires-port": "^1.0.0"
}
},
- "node_modules/typeorm/node_modules/ms": {
- "version": "2.1.3",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
- "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
+ "node_modules/use": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz",
+ "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==",
"dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "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==",
"license": "MIT"
},
- "node_modules/typeorm/node_modules/uuid": {
- "version": "11.1.1",
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-11.1.1.tgz",
- "integrity": "sha512-vIYxrBCC/N/K+Js3qSN88go7kIfNPssr/hHCesKCQNAjmgvYS2oqr69kIufEG+O4+PfezOH4EbIeHCfFov8ZgQ==",
- "dev": true,
+ "node_modules/uuid": {
+ "version": "13.0.0",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-13.0.0.tgz",
+ "integrity": "sha512-XQegIaBTVUjSHliKqcnFqYypAd4S+WCYt5NIeRs6w/UAry7z8Y9j5ZwRRL4kzq9U3sD6v+85er9FvkEaBpji2w==",
"funding": [
"https://github.com/sponsors/broofa",
"https://github.com/sponsors/ctavan"
],
"license": "MIT",
"bin": {
- "uuid": "dist/esm/bin/uuid"
+ "uuid": "dist-node/bin/uuid"
}
},
- "node_modules/typescript": {
- "version": "5.9.3",
- "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz",
- "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==",
+ "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,
- "license": "Apache-2.0",
- "bin": {
- "tsc": "bin/tsc",
- "tsserver": "bin/tsserver"
- },
- "engines": {
- "node": ">=14.17"
- }
+ "license": "MIT"
},
- "node_modules/typescript-eslint": {
- "version": "8.58.2",
- "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.58.2.tgz",
- "integrity": "sha512-V8iSng9mRbdZjl54VJ9NKr6ZB+dW0J3TzRXRGcSbLIej9jV86ZRtlYeTKDR/QLxXykocJ5icNzbsl2+5TzIvcQ==",
+ "node_modules/v8flags": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-4.0.1.tgz",
+ "integrity": "sha512-fcRLaS4H/hrZk9hYwbdRM35D0U8IYMfEClhXxCivOojl+yTRAZH3Zy2sSy6qVCiGbV9YAtPssP6jaChqC9vPCg==",
"dev": true,
"license": "MIT",
- "dependencies": {
- "@typescript-eslint/eslint-plugin": "8.58.2",
- "@typescript-eslint/parser": "8.58.2",
- "@typescript-eslint/typescript-estree": "8.58.2",
- "@typescript-eslint/utils": "8.58.2"
- },
"engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependencies": {
- "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0",
- "typescript": ">=4.8.4 <6.1.0"
+ "node": ">= 10.13.0"
}
},
- "node_modules/typescript-eslint/node_modules/@typescript-eslint/eslint-plugin": {
- "version": "8.58.2",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.58.2.tgz",
- "integrity": "sha512-aC2qc5thQahutKjP+cl8cgN9DWe3ZUqVko30CMSZHnFEHyhOYoZSzkGtAI2mcwZ38xeImDucI4dnqsHiOYuuCw==",
+ "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": "MIT",
+ "license": "Apache-2.0",
"dependencies": {
- "@eslint-community/regexpp": "^4.12.2",
- "@typescript-eslint/scope-manager": "8.58.2",
- "@typescript-eslint/type-utils": "8.58.2",
- "@typescript-eslint/utils": "8.58.2",
- "@typescript-eslint/visitor-keys": "8.58.2",
- "ignore": "^7.0.5",
- "natural-compare": "^1.4.0",
- "ts-api-utils": "^2.5.0"
- },
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependencies": {
- "@typescript-eslint/parser": "^8.58.2",
- "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0",
- "typescript": ">=4.8.4 <6.1.0"
+ "spdx-correct": "^3.0.0",
+ "spdx-expression-parse": "^3.0.0"
}
},
- "node_modules/typescript-eslint/node_modules/@typescript-eslint/parser": {
- "version": "8.58.2",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.58.2.tgz",
- "integrity": "sha512-/Zb/xaIDfxeJnvishjGdcR4jmr7S+bda8PKNhRGdljDM+elXhlvN0FyPSsMnLmJUrVG9aPO6dof80wjMawsASg==",
+ "node_modules/validate-npm-package-name": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-6.0.2.tgz",
+ "integrity": "sha512-IUoow1YUtvoBBC06dXs8bR8B9vuA3aJfmQNKMoaPG/OFsPmoQvw8xh+6Ye25Gx9DQhoEom3Pcu9MKHerm/NpUQ==",
"dev": true,
+ "license": "ISC",
+ "engines": {
+ "node": "^18.17.0 || >=20.5.0"
+ }
+ },
+ "node_modules/validator": {
+ "version": "13.15.26",
+ "resolved": "https://registry.npmjs.org/validator/-/validator-13.15.26.tgz",
+ "integrity": "sha512-spH26xU080ydGggxRyR1Yhcbgx+j3y5jbNXk/8L+iRvdIEQ4uTRH2Sgf2dokud6Q4oAtsbNvJ1Ft+9xmm6IZcA==",
"license": "MIT",
- "dependencies": {
- "@typescript-eslint/scope-manager": "8.58.2",
- "@typescript-eslint/types": "8.58.2",
- "@typescript-eslint/typescript-estree": "8.58.2",
- "@typescript-eslint/visitor-keys": "8.58.2",
- "debug": "^4.4.3"
- },
"engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependencies": {
- "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0",
- "typescript": ">=4.8.4 <6.1.0"
+ "node": ">= 0.10"
}
},
- "node_modules/typescript-eslint/node_modules/@typescript-eslint/type-utils": {
- "version": "8.58.2",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.58.2.tgz",
- "integrity": "sha512-Z7EloNR/B389FvabdGeTo2XMs4W9TjtPiO9DAsmT0yom0bwlPyRjkJ1uCdW1DvrrrYP50AJZ9Xc3sByZA9+dcg==",
+ "node_modules/value-or-function": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/value-or-function/-/value-or-function-4.0.0.tgz",
+ "integrity": "sha512-aeVK81SIuT6aMJfNo9Vte8Dw0/FZINGBV8BfCraGtqVxIeLAEhJyoWs8SmvRVmXfGss2PmmOwZCuBPbZR+IYWg==",
"dev": true,
"license": "MIT",
- "dependencies": {
- "@typescript-eslint/types": "8.58.2",
- "@typescript-eslint/typescript-estree": "8.58.2",
- "@typescript-eslint/utils": "8.58.2",
- "debug": "^4.4.3",
- "ts-api-utils": "^2.5.0"
- },
"engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependencies": {
- "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0",
- "typescript": ">=4.8.4 <6.1.0"
+ "node": ">= 10.13.0"
}
},
- "node_modules/typescript-eslint/node_modules/debug": {
- "version": "4.4.3",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz",
- "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==",
- "dev": true,
+ "node_modules/vary": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
+ "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==",
"license": "MIT",
- "dependencies": {
- "ms": "^2.1.3"
- },
"engines": {
- "node": ">=6.0"
- },
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
+ "node": ">= 0.8"
}
},
- "node_modules/typescript-eslint/node_modules/ignore": {
- "version": "7.0.5",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz",
- "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==",
+ "node_modules/verror": {
+ "version": "1.10.0",
+ "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
+ "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==",
"dev": true,
+ "engines": [
+ "node >=0.6.0"
+ ],
"license": "MIT",
- "engines": {
- "node": ">= 4"
+ "dependencies": {
+ "assert-plus": "^1.0.0",
+ "core-util-is": "1.0.2",
+ "extsprintf": "^1.2.0"
}
},
- "node_modules/typescript-eslint/node_modules/ms": {
- "version": "2.1.3",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
- "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
+ "node_modules/verror/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,
"license": "MIT"
},
- "node_modules/uglify-js": {
- "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==",
+ "node_modules/vinyl": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-2.2.1.tgz",
+ "integrity": "sha512-LII3bXRFBZLlezoG5FfZVcXflZgWP/4dCwKtxd5ky9+LOtM4CS3bIRQsmR1KMnMW07jpE8fqR2lcxPZ+8sJIcw==",
"dev": true,
- "optional": true,
- "bin": {
- "uglifyjs": "bin/uglifyjs"
+ "license": "MIT",
+ "dependencies": {
+ "clone": "^2.1.1",
+ "clone-buffer": "^1.0.0",
+ "clone-stats": "^1.0.0",
+ "cloneable-readable": "^1.0.0",
+ "remove-trailing-separator": "^1.0.1",
+ "replace-ext": "^1.0.0"
},
"engines": {
- "node": ">=0.8.0"
+ "node": ">= 0.10"
}
},
- "node_modules/uid": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/uid/-/uid-2.0.2.tgz",
- "integrity": "sha512-u3xV3X7uzvi5b1MncmZo3i2Aw222Zk1keqLA1YkHldREkAhAqi65wuPfe7lHx8H/Wzy+8CE7S7uS3jekIM5s8g==",
+ "node_modules/vinyl-contents": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/vinyl-contents/-/vinyl-contents-2.0.0.tgz",
+ "integrity": "sha512-cHq6NnGyi2pZ7xwdHSW1v4Jfnho4TEGtxZHw01cmnc8+i7jgR6bRnED/LbrKan/Q7CvVLbnvA5OepnhbpjBZ5Q==",
+ "dev": true,
+ "license": "MIT",
"dependencies": {
- "@lukeed/csprng": "^1.0.0"
+ "bl": "^5.0.0",
+ "vinyl": "^3.0.0"
},
"engines": {
- "node": ">=8"
+ "node": ">=10.13.0"
}
},
- "node_modules/uint8array-extras": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/uint8array-extras/-/uint8array-extras-1.4.0.tgz",
- "integrity": "sha512-ZPtzy0hu4cZjv3z5NW9gfKnNLjoz4y6uv4HlelAjDK7sY/xOkKZv9xK/WQpcsBB3jEybChz9DPC2U/+cusjJVQ==",
+ "node_modules/vinyl-contents/node_modules/bl": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/bl/-/bl-5.1.0.tgz",
+ "integrity": "sha512-tv1ZJHLfTDnXE6tMHv73YgSJaWR2AFuPwMntBe7XL/GBFHnT0CLnsHMogfk5+GzCDC5ZWarSCYaIGATZt9dNsQ==",
+ "dev": true,
"license": "MIT",
- "engines": {
- "node": ">=18"
+ "dependencies": {
+ "buffer": "^6.0.3",
+ "inherits": "^2.0.4",
+ "readable-stream": "^3.4.0"
+ }
+ },
+ "node_modules/vinyl-contents/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,
+ "license": "MIT",
+ "dependencies": {
+ "inherits": "^2.0.3",
+ "string_decoder": "^1.1.1",
+ "util-deprecate": "^1.0.1"
},
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/vinyl-contents/node_modules/replace-ext": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-2.0.0.tgz",
+ "integrity": "sha512-UszKE5KVK6JvyD92nzMn9cDapSk6w/CaFZ96CnmDMUqH9oowfxF/ZjRITD25H4DnOQClLA4/j7jLGXXLVKxAug==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 10"
}
},
- "node_modules/unc-path-regex": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz",
- "integrity": "sha512-eXL4nmJT7oCpkZsHZUOJo8hcX3GbsiDOa0Qu9F646fi8dT3XuSVopVqAcEiVzSKKH7UoDti23wNX3qGFxcW5Qg==",
+ "node_modules/vinyl-contents/node_modules/vinyl": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-3.0.1.tgz",
+ "integrity": "sha512-0QwqXteBNXgnLCdWdvPQBX6FXRHtIH3VhJPTd5Lwn28tJXc34YqSCWUmkOvtJHBmB3gGoPtrOKk3Ts8/kEZ9aA==",
"dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "clone": "^2.1.2",
+ "remove-trailing-separator": "^1.1.0",
+ "replace-ext": "^2.0.0",
+ "teex": "^1.0.1"
+ },
"engines": {
- "node": ">=0.10.0"
+ "node": ">=10.13.0"
}
},
- "node_modules/undertaker": {
+ "node_modules/vinyl-file": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/undertaker/-/undertaker-2.0.0.tgz",
- "integrity": "sha512-tO/bf30wBbTsJ7go80j0RzA2rcwX6o7XPBpeFcb+jzoeb4pfMM2zUeSDIkY1AWqeZabWxaQZ/h8N9t35QKDLPQ==",
+ "resolved": "https://registry.npmjs.org/vinyl-file/-/vinyl-file-2.0.0.tgz",
+ "integrity": "sha512-44i5QVLwRPbiRyuiHJ+zJXooNNRXUUifdfYIC1Gm7YTlemMgYQrZ+q1LERS6AYAN8w0xe7n9OgjEYckQjR5+4g==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "bach": "^2.0.1",
- "fast-levenshtein": "^3.0.0",
- "last-run": "^2.0.0",
- "undertaker-registry": "^2.0.0"
+ "graceful-fs": "^4.1.2",
+ "pify": "^2.3.0",
+ "pinkie-promise": "^2.0.0",
+ "strip-bom": "^2.0.0",
+ "strip-bom-stream": "^2.0.0",
+ "vinyl": "^1.1.0"
},
"engines": {
- "node": ">=10.13.0"
+ "node": ">=0.10.0"
}
},
- "node_modules/undertaker-registry": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/undertaker-registry/-/undertaker-registry-2.0.0.tgz",
- "integrity": "sha512-+hhVICbnp+rlzZMgxXenpvTxpuvA67Bfgtt+O9WOE5jo7w/dyiF1VmoZVIHvP2EkUjsyKyTwYKlLhA+j47m1Ew==",
+ "node_modules/vinyl-file/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,
+ "license": "MIT",
"engines": {
- "node": ">= 10.13.0"
+ "node": ">=0.8"
}
},
- "node_modules/undici-types": {
- "version": "7.24.6",
- "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.24.6.tgz",
- "integrity": "sha512-WRNW+sJgj5OBN4/0JpHFqtqzhpbnV0GuB+OozA9gCL7a993SmU+1JBZCzLNxYsbMfIeDL+lTsphD5jN5N+n0zg==",
+ "node_modules/vinyl-file/node_modules/clone-stats": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz",
+ "integrity": "sha512-dhUqc57gSMCo6TX85FLfe51eC/s+Im2MLkAgJwfaRRexR2tA4dd3eLEW4L6efzHc2iNorrRRXITifnDLlRrhaA==",
+ "dev": true,
"license": "MIT"
},
- "node_modules/union-value": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz",
- "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==",
+ "node_modules/vinyl-file/node_modules/pify": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+ "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==",
"dev": true,
- "dependencies": {
- "arr-union": "^3.1.0",
- "get-value": "^2.0.6",
- "is-extendable": "^0.1.1",
- "set-value": "^2.0.1"
- },
+ "license": "MIT",
"engines": {
"node": ">=0.10.0"
}
},
- "node_modules/union-value/node_modules/is-extendable": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
- "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==",
+ "node_modules/vinyl-file/node_modules/strip-bom": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz",
+ "integrity": "sha512-kwrX1y7czp1E69n2ajbG65mIo9dqvJ+8aBQXOGVxqwvNbsXdFM6Lq37dLAY3mknUwru8CfcCbfOLL/gMo+fi3g==",
"dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "is-utf8": "^0.2.0"
+ },
"engines": {
"node": ">=0.10.0"
}
},
- "node_modules/unique-filename": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-5.0.0.tgz",
- "integrity": "sha512-2RaJTAvAb4owyjllTfXzFClJ7WsGxlykkPvCr9pA//LD9goVq+m4PPAeBgNodGZ7nSrntT/auWpJ6Y5IFXcfjg==",
+ "node_modules/vinyl-file/node_modules/vinyl": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-1.2.0.tgz",
+ "integrity": "sha512-Ci3wnR2uuSAWFMSglZuB8Z2apBdtOyz8CV7dC6/U1XbltXBC+IuutUkXQISz01P+US2ouBuesSbV6zILZ6BuzQ==",
"dev": true,
- "license": "ISC",
+ "license": "MIT",
"dependencies": {
- "unique-slug": "^6.0.0"
+ "clone": "^1.0.0",
+ "clone-stats": "^0.0.1",
+ "replace-ext": "0.0.1"
},
"engines": {
- "node": "^20.17.0 || >=22.9.0"
+ "node": ">= 0.9"
}
},
- "node_modules/unique-slug": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-6.0.0.tgz",
- "integrity": "sha512-4Lup7Ezn8W3d52/xBhZBVdx323ckxa7DEvd9kPQHppTkLoJXw6ltrBCyj5pnrxj0qKDxYMJ56CoxNuFCscdTiw==",
+ "node_modules/vinyl-fs": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-4.0.2.tgz",
+ "integrity": "sha512-XRFwBLLTl8lRAOYiBqxY279wY46tVxLaRhSwo3GzKEuLz1giffsOquWWboD/haGf5lx+JyTigCFfe7DWHoARIA==",
"dev": true,
- "license": "ISC",
+ "license": "MIT",
"dependencies": {
- "imurmurhash": "^0.1.4"
+ "fs-mkdirp-stream": "^2.0.1",
+ "glob-stream": "^8.0.3",
+ "graceful-fs": "^4.2.11",
+ "iconv-lite": "^0.6.3",
+ "is-valid-glob": "^1.0.0",
+ "lead": "^4.0.0",
+ "normalize-path": "3.0.0",
+ "resolve-options": "^2.0.0",
+ "stream-composer": "^1.0.2",
+ "streamx": "^2.14.0",
+ "to-through": "^3.0.0",
+ "value-or-function": "^4.0.0",
+ "vinyl": "^3.0.1",
+ "vinyl-sourcemap": "^2.0.0"
},
"engines": {
- "node": "^20.17.0 || >=22.9.0"
+ "node": ">=10.13.0"
}
},
- "node_modules/unique-stream": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/unique-stream/-/unique-stream-2.3.1.tgz",
- "integrity": "sha512-2nY4TnBE70yoxHkDli7DMazpWiP7xMdCYqU2nBRO0UB+ZpEkGsSija7MvmvnZFUeC+mrgiUfcHSr3LmRFIg4+A==",
+ "node_modules/vinyl-fs/node_modules/iconv-lite": {
+ "version": "0.6.3",
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz",
+ "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "json-stable-stringify-without-jsonify": "^1.0.1",
- "through2-filter": "^3.0.0"
+ "safer-buffer": ">= 2.1.2 < 3.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
}
},
- "node_modules/universal-user-agent": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.1.tgz",
- "integrity": "sha512-yCzhz6FN2wU1NiiQRogkTQszlQSlpWaw8SvVegAc+bDxbzHgh1vX8uIe8OYyMH6DwH+sdTJsgMl36+mSMdRJIQ==",
- "dev": true,
- "license": "ISC"
- },
- "node_modules/universalify": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz",
- "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==",
+ "node_modules/vinyl-fs/node_modules/replace-ext": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-2.0.0.tgz",
+ "integrity": "sha512-UszKE5KVK6JvyD92nzMn9cDapSk6w/CaFZ96CnmDMUqH9oowfxF/ZjRITD25H4DnOQClLA4/j7jLGXXLVKxAug==",
"dev": true,
"license": "MIT",
"engines": {
- "node": ">= 10.0.0"
+ "node": ">= 10"
}
},
- "node_modules/unpipe": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
- "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==",
+ "node_modules/vinyl-fs/node_modules/vinyl": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-3.0.1.tgz",
+ "integrity": "sha512-0QwqXteBNXgnLCdWdvPQBX6FXRHtIH3VhJPTd5Lwn28tJXc34YqSCWUmkOvtJHBmB3gGoPtrOKk3Ts8/kEZ9aA==",
+ "dev": true,
"license": "MIT",
+ "dependencies": {
+ "clone": "^2.1.2",
+ "remove-trailing-separator": "^1.1.0",
+ "replace-ext": "^2.0.0",
+ "teex": "^1.0.1"
+ },
"engines": {
- "node": ">= 0.8"
+ "node": ">=10.13.0"
}
},
- "node_modules/unset-value": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz",
- "integrity": "sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==",
+ "node_modules/vinyl-sourcemap": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/vinyl-sourcemap/-/vinyl-sourcemap-2.0.0.tgz",
+ "integrity": "sha512-BAEvWxbBUXvlNoFQVFVHpybBbjW1r03WhohJzJDSfgrrK5xVYIDTan6xN14DlyImShgDRv2gl9qhM6irVMsV0Q==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "has-value": "^0.3.1",
- "isobject": "^3.0.0"
+ "convert-source-map": "^2.0.0",
+ "graceful-fs": "^4.2.10",
+ "now-and-later": "^3.0.0",
+ "streamx": "^2.12.5",
+ "vinyl": "^3.0.0",
+ "vinyl-contents": "^2.0.0"
},
"engines": {
- "node": ">=0.10.0"
+ "node": ">=10.13.0"
}
},
- "node_modules/unset-value/node_modules/has-value": {
- "version": "0.3.1",
- "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz",
- "integrity": "sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==",
+ "node_modules/vinyl-sourcemap/node_modules/replace-ext": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-2.0.0.tgz",
+ "integrity": "sha512-UszKE5KVK6JvyD92nzMn9cDapSk6w/CaFZ96CnmDMUqH9oowfxF/ZjRITD25H4DnOQClLA4/j7jLGXXLVKxAug==",
"dev": true,
- "dependencies": {
- "get-value": "^2.0.3",
- "has-values": "^0.1.4",
- "isobject": "^2.0.0"
- },
+ "license": "MIT",
"engines": {
- "node": ">=0.10.0"
+ "node": ">= 10"
}
},
- "node_modules/unset-value/node_modules/has-value/node_modules/isobject": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
- "integrity": "sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==",
+ "node_modules/vinyl-sourcemap/node_modules/vinyl": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-3.0.1.tgz",
+ "integrity": "sha512-0QwqXteBNXgnLCdWdvPQBX6FXRHtIH3VhJPTd5Lwn28tJXc34YqSCWUmkOvtJHBmB3gGoPtrOKk3Ts8/kEZ9aA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "isarray": "1.0.0"
+ "clone": "^2.1.2",
+ "remove-trailing-separator": "^1.1.0",
+ "replace-ext": "^2.0.0",
+ "teex": "^1.0.1"
},
"engines": {
- "node": ">=0.10.0"
+ "node": ">=10.13.0"
}
},
- "node_modules/unset-value/node_modules/has-values": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz",
- "integrity": "sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==",
+ "node_modules/vinyl/node_modules/replace-ext": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.1.tgz",
+ "integrity": "sha512-yD5BHCe7quCgBph4rMQ+0KkIRKwWCrHDOX1p1Gp6HwjPM5kVoCdKGNhN7ydqqsX6lJEnQDKZ/tFMiEdQ1dvPEw==",
"dev": true,
+ "license": "MIT",
"engines": {
- "node": ">=0.10.0"
+ "node": ">= 0.10"
+ }
+ },
+ "node_modules/vite": {
+ "version": "8.0.3",
+ "resolved": "https://registry.npmjs.org/vite/-/vite-8.0.3.tgz",
+ "integrity": "sha512-B9ifbFudT1TFhfltfaIPgjo9Z3mDynBTJSUYxTjOQruf/zHH+ezCQKcoqO+h7a9Pw9Nm/OtlXAiGT1axBgwqrQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "lightningcss": "^1.32.0",
+ "picomatch": "^4.0.4",
+ "postcss": "^8.5.8",
+ "rolldown": "1.0.0-rc.12",
+ "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",
+ "@vitejs/devtools": "^0.1.0",
+ "esbuild": "^0.27.0",
+ "jiti": ">=1.21.0",
+ "less": "^4.0.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
+ },
+ "@vitejs/devtools": {
+ "optional": true
+ },
+ "esbuild": {
+ "optional": true
+ },
+ "jiti": {
+ "optional": true
+ },
+ "less": {
+ "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/unset-value/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/upath": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz",
- "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==",
+ "node_modules/vite/node_modules/picomatch": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz",
+ "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==",
"dev": true,
+ "license": "MIT",
"engines": {
- "node": ">=4",
- "yarn": "*"
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/jonschlinkert"
}
},
- "node_modules/update-browserslist-db": {
- "version": "1.2.3",
- "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.2.3.tgz",
- "integrity": "sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==",
+ "node_modules/vite/node_modules/postcss": {
+ "version": "8.5.8",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.8.tgz",
+ "integrity": "sha512-OW/rX8O/jXnm82Ey1k44pObPtdblfiuWnrd8X7GJ7emImCOstunGbXUpp7HdBrFQX6rJzn3sPT397Wp5aCwCHg==",
"dev": true,
"funding": [
{
"type": "opencollective",
- "url": "https://opencollective.com/browserslist"
+ "url": "https://opencollective.com/postcss/"
},
{
"type": "tidelift",
- "url": "https://tidelift.com/funding/github/npm/browserslist"
+ "url": "https://tidelift.com/funding/github/npm/postcss"
},
{
"type": "github",
@@ -26321,776 +24818,968 @@
],
"license": "MIT",
"dependencies": {
- "escalade": "^3.2.0",
- "picocolors": "^1.1.1"
+ "nanoid": "^3.3.11",
+ "picocolors": "^1.1.1",
+ "source-map-js": "^1.2.1"
+ },
+ "engines": {
+ "node": "^10 || ^12 || >=14"
+ }
+ },
+ "node_modules/vitest": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/vitest/-/vitest-4.1.2.tgz",
+ "integrity": "sha512-xjR1dMTVHlFLh98JE3i/f/WePqJsah4A0FK9cc8Ehp9Udk0AZk6ccpIZhh1qJ/yxVWRZ+Q54ocnD8TXmkhspGg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@vitest/expect": "4.1.2",
+ "@vitest/mocker": "4.1.2",
+ "@vitest/pretty-format": "4.1.2",
+ "@vitest/runner": "4.1.2",
+ "@vitest/snapshot": "4.1.2",
+ "@vitest/spy": "4.1.2",
+ "@vitest/utils": "4.1.2",
+ "es-module-lexer": "^2.0.0",
+ "expect-type": "^1.3.0",
+ "magic-string": "^0.30.21",
+ "obug": "^2.1.1",
+ "pathe": "^2.0.3",
+ "picomatch": "^4.0.3",
+ "std-env": "^4.0.0-rc.1",
+ "tinybench": "^2.9.0",
+ "tinyexec": "^1.0.2",
+ "tinyglobby": "^0.2.15",
+ "tinyrainbow": "^3.1.0",
+ "vite": "^6.0.0 || ^7.0.0 || ^8.0.0",
+ "why-is-node-running": "^2.3.0"
},
"bin": {
- "update-browserslist-db": "cli.js"
+ "vitest": "vitest.mjs"
+ },
+ "engines": {
+ "node": "^20.0.0 || ^22.0.0 || >=24.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/vitest"
},
"peerDependencies": {
- "browserslist": ">= 4.21.0"
+ "@edge-runtime/vm": "*",
+ "@opentelemetry/api": "^1.9.0",
+ "@types/node": "^20.0.0 || ^22.0.0 || >=24.0.0",
+ "@vitest/browser-playwright": "4.1.2",
+ "@vitest/browser-preview": "4.1.2",
+ "@vitest/browser-webdriverio": "4.1.2",
+ "@vitest/ui": "4.1.2",
+ "happy-dom": "*",
+ "jsdom": "*",
+ "vite": "^6.0.0 || ^7.0.0 || ^8.0.0"
+ },
+ "peerDependenciesMeta": {
+ "@edge-runtime/vm": {
+ "optional": true
+ },
+ "@opentelemetry/api": {
+ "optional": true
+ },
+ "@types/node": {
+ "optional": true
+ },
+ "@vitest/browser-playwright": {
+ "optional": true
+ },
+ "@vitest/browser-preview": {
+ "optional": true
+ },
+ "@vitest/browser-webdriverio": {
+ "optional": true
+ },
+ "@vitest/ui": {
+ "optional": true
+ },
+ "happy-dom": {
+ "optional": true
+ },
+ "jsdom": {
+ "optional": true
+ },
+ "vite": {
+ "optional": false
+ }
}
},
- "node_modules/uri-js": {
- "version": "4.4.1",
- "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
- "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
+ "node_modules/vitest/node_modules/picomatch": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz",
+ "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==",
"dev": true,
- "dependencies": {
- "punycode": "^2.1.0"
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/jonschlinkert"
}
},
- "node_modules/urix": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz",
- "integrity": "sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==",
- "deprecated": "Please see https://github.com/lydell/urix#deprecated",
- "dev": true
- },
- "node_modules/use": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz",
- "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==",
+ "node_modules/walk-up-path": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/walk-up-path/-/walk-up-path-4.0.0.tgz",
+ "integrity": "sha512-3hu+tD8YzSLGuFYtPRb48vdhKMi0KQV5sn+uWr8+7dMEq/2G/dtLrdDinkLjqq5TIbIBjYJ4Ax/n3YiaW7QM8A==",
"dev": true,
+ "license": "ISC",
"engines": {
- "node": ">=0.10.0"
+ "node": "20 || >=22"
}
},
- "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
- },
- "node_modules/uuid": {
- "version": "14.0.0",
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-14.0.0.tgz",
- "integrity": "sha512-Qo+uWgilfSmAhXCMav1uYFynlQO7fMFiMVZsQqZRMIXp0O7rR7qjkj+cPvBHLgBqi960QCoo/PH2/6ZtVqKvrg==",
- "funding": [
- "https://github.com/sponsors/broofa",
- "https://github.com/sponsors/ctavan"
- ],
+ "node_modules/wcwidth": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz",
+ "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==",
+ "dev": true,
"license": "MIT",
- "bin": {
- "uuid": "dist-node/bin/uuid"
+ "dependencies": {
+ "defaults": "^1.0.3"
}
},
- "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
+ "node_modules/webidl-conversions": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz",
+ "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "engines": {
+ "node": ">=12"
+ }
},
- "node_modules/v8flags": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-4.0.1.tgz",
- "integrity": "sha512-fcRLaS4H/hrZk9hYwbdRM35D0U8IYMfEClhXxCivOojl+yTRAZH3Zy2sSy6qVCiGbV9YAtPssP6jaChqC9vPCg==",
+ "node_modules/whatwg-mimetype": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-4.0.0.tgz",
+ "integrity": "sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==",
"dev": true,
"license": "MIT",
"engines": {
- "node": ">= 10.13.0"
+ "node": ">=18"
}
},
- "node_modules/validate-npm-package-license": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz",
- "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==",
+ "node_modules/whatwg-url": {
+ "version": "14.2.0",
+ "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-14.2.0.tgz",
+ "integrity": "sha512-De72GdQZzNTUBBChsXueQUnPKDkg/5A5zp7pFDuQAj5UFoENpiACU0wlCvzpAGnTkj++ihpKwKyYewn/XNUbKw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "spdx-correct": "^3.0.0",
- "spdx-expression-parse": "^3.0.0"
+ "tr46": "^5.1.0",
+ "webidl-conversions": "^7.0.0"
+ },
+ "engines": {
+ "node": ">=18"
}
},
- "node_modules/validate-npm-package-name": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-6.0.2.tgz",
- "integrity": "sha512-IUoow1YUtvoBBC06dXs8bR8B9vuA3aJfmQNKMoaPG/OFsPmoQvw8xh+6Ye25Gx9DQhoEom3Pcu9MKHerm/NpUQ==",
+ "node_modules/which": {
+ "version": "2.0.2",
+ "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"
+ },
+ "bin": {
+ "node-which": "bin/node-which"
+ },
"engines": {
- "node": "^18.17.0 || >=20.5.0"
+ "node": ">= 8"
}
},
- "node_modules/validator": {
- "version": "13.15.26",
- "resolved": "https://registry.npmjs.org/validator/-/validator-13.15.26.tgz",
- "integrity": "sha512-spH26xU080ydGggxRyR1Yhcbgx+j3y5jbNXk/8L+iRvdIEQ4uTRH2Sgf2dokud6Q4oAtsbNvJ1Ft+9xmm6IZcA==",
+ "node_modules/which-typed-array": {
+ "version": "1.1.20",
+ "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.20.tgz",
+ "integrity": "sha512-LYfpUkmqwl0h9A2HL09Mms427Q1RZWuOHsukfVcKRq9q95iQxdw0ix1JQrqbcDR9PH1QDwf5Qo8OZb5lksZ8Xg==",
+ "dev": true,
"license": "MIT",
+ "dependencies": {
+ "available-typed-arrays": "^1.0.7",
+ "call-bind": "^1.0.8",
+ "call-bound": "^1.0.4",
+ "for-each": "^0.3.5",
+ "get-proto": "^1.0.1",
+ "gopd": "^1.2.0",
+ "has-tostringtag": "^1.0.2"
+ },
"engines": {
- "node": ">= 0.10"
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/value-or-function": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/value-or-function/-/value-or-function-4.0.0.tgz",
- "integrity": "sha512-aeVK81SIuT6aMJfNo9Vte8Dw0/FZINGBV8BfCraGtqVxIeLAEhJyoWs8SmvRVmXfGss2PmmOwZCuBPbZR+IYWg==",
+ "node_modules/why-is-node-running": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.3.0.tgz",
+ "integrity": "sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==",
"dev": true,
"license": "MIT",
+ "dependencies": {
+ "siginfo": "^2.0.0",
+ "stackback": "0.0.2"
+ },
+ "bin": {
+ "why-is-node-running": "cli.js"
+ },
"engines": {
- "node": ">= 10.13.0"
- }
- },
- "node_modules/vary": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
- "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==",
- "engines": {
- "node": ">= 0.8"
+ "node": ">=8"
}
},
- "node_modules/verror": {
- "version": "1.10.0",
- "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
- "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==",
+ "node_modules/wide-align": {
+ "version": "1.1.5",
+ "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz",
+ "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==",
"dev": true,
- "engines": [
- "node >=0.6.0"
- ],
+ "license": "ISC",
"dependencies": {
- "assert-plus": "^1.0.0",
- "core-util-is": "1.0.2",
- "extsprintf": "^1.2.0"
+ "string-width": "^1.0.2 || 2 || 3 || 4"
}
},
- "node_modules/vinyl": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-3.0.1.tgz",
- "integrity": "sha512-0QwqXteBNXgnLCdWdvPQBX6FXRHtIH3VhJPTd5Lwn28tJXc34YqSCWUmkOvtJHBmB3gGoPtrOKk3Ts8/kEZ9aA==",
+ "node_modules/wordwrap": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz",
+ "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/worker-factory": {
+ "version": "7.0.49",
+ "resolved": "https://registry.npmjs.org/worker-factory/-/worker-factory-7.0.49.tgz",
+ "integrity": "sha512-lW7tpgy6aUv2dFsQhv1yv+XFzdkCf/leoKRTGMPVK5/die6RrUjqgJHJf556qO+ZfytNG6wPXc17E8zzsOLUDw==",
"dev": true,
"license": "MIT",
"dependencies": {
- "clone": "^2.1.2",
- "remove-trailing-separator": "^1.1.0",
- "replace-ext": "^2.0.0",
- "teex": "^1.0.1"
- },
- "engines": {
- "node": ">=10.13.0"
+ "@babel/runtime": "^7.29.2",
+ "fast-unique-numbers": "^9.0.27",
+ "tslib": "^2.8.1"
}
},
- "node_modules/vinyl-contents": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/vinyl-contents/-/vinyl-contents-2.0.0.tgz",
- "integrity": "sha512-cHq6NnGyi2pZ7xwdHSW1v4Jfnho4TEGtxZHw01cmnc8+i7jgR6bRnED/LbrKan/Q7CvVLbnvA5OepnhbpjBZ5Q==",
+ "node_modules/worker-timers": {
+ "version": "8.0.31",
+ "resolved": "https://registry.npmjs.org/worker-timers/-/worker-timers-8.0.31.tgz",
+ "integrity": "sha512-ngkq5S6JuZyztom8tDgBzorLo9byhBMko/sXfgiUD945AuzKGg1GCgDMCC3NaYkicLpGKXutONM36wEX8UbBCA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "bl": "^5.0.0",
- "vinyl": "^3.0.0"
- },
- "engines": {
- "node": ">=10.13.0"
+ "@babel/runtime": "^7.29.2",
+ "tslib": "^2.8.1",
+ "worker-timers-broker": "^8.0.16",
+ "worker-timers-worker": "^9.0.14"
}
},
- "node_modules/vinyl-contents/node_modules/bl": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/bl/-/bl-5.1.0.tgz",
- "integrity": "sha512-tv1ZJHLfTDnXE6tMHv73YgSJaWR2AFuPwMntBe7XL/GBFHnT0CLnsHMogfk5+GzCDC5ZWarSCYaIGATZt9dNsQ==",
+ "node_modules/worker-timers-broker": {
+ "version": "8.0.16",
+ "resolved": "https://registry.npmjs.org/worker-timers-broker/-/worker-timers-broker-8.0.16.tgz",
+ "integrity": "sha512-JyP3AvUGyPGbBGW7XiUewm2+0pN/aYo1QpVf5kdXAfkDZcN3p7NbWrG6XnyDEpDIvfHk/+LCnOW/NsuiU9riYA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "buffer": "^6.0.3",
- "inherits": "^2.0.4",
- "readable-stream": "^3.4.0"
+ "@babel/runtime": "^7.29.2",
+ "broker-factory": "^3.1.14",
+ "fast-unique-numbers": "^9.0.27",
+ "tslib": "^2.8.1",
+ "worker-timers-worker": "^9.0.14"
}
},
- "node_modules/vinyl-contents/node_modules/buffer": {
- "version": "6.0.3",
- "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz",
- "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==",
+ "node_modules/worker-timers-worker": {
+ "version": "9.0.14",
+ "resolved": "https://registry.npmjs.org/worker-timers-worker/-/worker-timers-worker-9.0.14.tgz",
+ "integrity": "sha512-/qF06C60sXmSLfUl7WglvrDIbspmPOM8UrG63Dnn4bi2x4/DfqHS/+dxF5B+MdHnYO5tVuZYLHdAodrKdabTIg==",
"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": "MIT",
"dependencies": {
- "base64-js": "^1.3.1",
- "ieee754": "^1.2.1"
+ "@babel/runtime": "^7.29.2",
+ "tslib": "^2.8.1",
+ "worker-factory": "^7.0.49"
}
},
- "node_modules/vinyl-contents/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==",
+ "node_modules/wrap-ansi": {
+ "version": "6.2.0",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz",
+ "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "inherits": "^2.0.3",
- "string_decoder": "^1.1.1",
- "util-deprecate": "^1.0.1"
+ "ansi-styles": "^4.0.0",
+ "string-width": "^4.1.0",
+ "strip-ansi": "^6.0.0"
},
"engines": {
- "node": ">= 6"
+ "node": ">=8"
}
},
- "node_modules/vinyl-contents/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==",
+ "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": {
- "safe-buffer": "~5.2.0"
+ "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/vinyl-file": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/vinyl-file/-/vinyl-file-2.0.0.tgz",
- "integrity": "sha512-44i5QVLwRPbiRyuiHJ+zJXooNNRXUUifdfYIC1Gm7YTlemMgYQrZ+q1LERS6AYAN8w0xe7n9OgjEYckQjR5+4g==",
+ "node_modules/wrappy": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
+ "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==",
+ "license": "ISC"
+ },
+ "node_modules/write-file-atomic": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-5.0.1.tgz",
+ "integrity": "sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw==",
"dev": true,
+ "license": "ISC",
"dependencies": {
- "graceful-fs": "^4.1.2",
- "pify": "^2.3.0",
- "pinkie-promise": "^2.0.0",
- "strip-bom": "^2.0.0",
- "strip-bom-stream": "^2.0.0",
- "vinyl": "^1.1.0"
+ "imurmurhash": "^0.1.4",
+ "signal-exit": "^4.0.1"
},
"engines": {
- "node": ">=0.10.0"
+ "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
}
},
- "node_modules/vinyl-file/node_modules/clone-stats": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz",
- "integrity": "sha512-dhUqc57gSMCo6TX85FLfe51eC/s+Im2MLkAgJwfaRRexR2tA4dd3eLEW4L6efzHc2iNorrRRXITifnDLlRrhaA==",
- "dev": true
- },
- "node_modules/vinyl-file/node_modules/replace-ext": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz",
- "integrity": "sha512-AFBWBy9EVRTa/LhEcG8QDP3FvpwZqmvN2QFDuJswFeaVhWnZMp8q3E6Zd90SR04PlIwfGdyVjNyLPyen/ek5CQ==",
+ "node_modules/write-file-atomic/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": ">= 0.4"
+ "node": ">=14"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
}
},
- "node_modules/vinyl-file/node_modules/strip-bom": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz",
- "integrity": "sha512-kwrX1y7czp1E69n2ajbG65mIo9dqvJ+8aBQXOGVxqwvNbsXdFM6Lq37dLAY3mknUwru8CfcCbfOLL/gMo+fi3g==",
+ "node_modules/write-json-file": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/write-json-file/-/write-json-file-3.2.0.tgz",
+ "integrity": "sha512-3xZqT7Byc2uORAatYiP3DHUUAVEkNOswEWNs9H5KXiicRTvzYzYqKjYc4G7p+8pltvAw641lVByKVtMpf+4sYQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "is-utf8": "^0.2.0"
+ "detect-indent": "^5.0.0",
+ "graceful-fs": "^4.1.15",
+ "make-dir": "^2.1.0",
+ "pify": "^4.0.1",
+ "sort-keys": "^2.0.0",
+ "write-file-atomic": "^2.4.2"
},
"engines": {
- "node": ">=0.10.0"
+ "node": ">=6"
}
},
- "node_modules/vinyl-file/node_modules/vinyl": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-1.2.0.tgz",
- "integrity": "sha512-Ci3wnR2uuSAWFMSglZuB8Z2apBdtOyz8CV7dC6/U1XbltXBC+IuutUkXQISz01P+US2ouBuesSbV6zILZ6BuzQ==",
+ "node_modules/write-json-file/node_modules/make-dir": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz",
+ "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "clone": "^1.0.0",
- "clone-stats": "^0.0.1",
- "replace-ext": "0.0.1"
+ "pify": "^4.0.1",
+ "semver": "^5.6.0"
},
"engines": {
- "node": ">= 0.9"
+ "node": ">=6"
}
},
- "node_modules/vinyl-fs": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-4.0.2.tgz",
- "integrity": "sha512-XRFwBLLTl8lRAOYiBqxY279wY46tVxLaRhSwo3GzKEuLz1giffsOquWWboD/haGf5lx+JyTigCFfe7DWHoARIA==",
+ "node_modules/write-json-file/node_modules/pify": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
+ "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==",
"dev": true,
"license": "MIT",
- "dependencies": {
- "fs-mkdirp-stream": "^2.0.1",
- "glob-stream": "^8.0.3",
- "graceful-fs": "^4.2.11",
- "iconv-lite": "^0.6.3",
- "is-valid-glob": "^1.0.0",
- "lead": "^4.0.0",
- "normalize-path": "3.0.0",
- "resolve-options": "^2.0.0",
- "stream-composer": "^1.0.2",
- "streamx": "^2.14.0",
- "to-through": "^3.0.0",
- "value-or-function": "^4.0.0",
- "vinyl": "^3.0.1",
- "vinyl-sourcemap": "^2.0.0"
- },
"engines": {
- "node": ">=10.13.0"
+ "node": ">=6"
}
},
- "node_modules/vinyl-fs/node_modules/iconv-lite": {
- "version": "0.6.3",
- "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz",
- "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==",
+ "node_modules/write-json-file/node_modules/semver": {
+ "version": "5.7.2",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz",
+ "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==",
+ "dev": true,
+ "license": "ISC",
+ "bin": {
+ "semver": "bin/semver"
+ }
+ },
+ "node_modules/write-json-file/node_modules/write-file-atomic": {
+ "version": "2.4.3",
+ "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz",
+ "integrity": "sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "graceful-fs": "^4.1.11",
+ "imurmurhash": "^0.1.4",
+ "signal-exit": "^3.0.2"
+ }
+ },
+ "node_modules/write-pkg": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/write-pkg/-/write-pkg-4.0.0.tgz",
+ "integrity": "sha512-v2UQ+50TNf2rNHJ8NyWttfm/EJUBWMJcx6ZTYZr6Qp52uuegWw/lBkCtCbnYZEmPRNL61m+u67dAmGxo+HTULA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "safer-buffer": ">= 2.1.2 < 3.0.0"
+ "sort-keys": "^2.0.0",
+ "type-fest": "^0.4.1",
+ "write-json-file": "^3.2.0"
},
"engines": {
- "node": ">=0.10.0"
+ "node": ">=8"
}
},
- "node_modules/vinyl-sourcemap": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/vinyl-sourcemap/-/vinyl-sourcemap-2.0.0.tgz",
- "integrity": "sha512-BAEvWxbBUXvlNoFQVFVHpybBbjW1r03WhohJzJDSfgrrK5xVYIDTan6xN14DlyImShgDRv2gl9qhM6irVMsV0Q==",
+ "node_modules/write-pkg/node_modules/type-fest": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.4.1.tgz",
+ "integrity": "sha512-IwzA/LSfD2vC1/YDYMv/zHP4rDF1usCwllsDpbolT3D4fUepIO7f9K70jjmUewU/LmGUKJcwcVtDCpnKk4BPMw==",
"dev": true,
+ "license": "(MIT OR CC0-1.0)",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/ws": {
+ "version": "8.21.0",
+ "resolved": "https://registry.npmjs.org/ws/-/ws-8.21.0.tgz",
+ "integrity": "sha512-Vsp28b7DRcimFQvrqu2Wek3z1iYxDCWqHYB8Qsnk/S4RfaCQzPGPyBNuVjJV3cd6UiKtUtp6sNM77gWvzcCH+g==",
"license": "MIT",
- "dependencies": {
- "convert-source-map": "^2.0.0",
- "graceful-fs": "^4.2.10",
- "now-and-later": "^3.0.0",
- "streamx": "^2.12.5",
- "vinyl": "^3.0.0",
- "vinyl-contents": "^2.0.0"
- },
"engines": {
- "node": ">=10.13.0"
+ "node": ">=10.0.0"
+ },
+ "peerDependencies": {
+ "bufferutil": "^4.0.1",
+ "utf-8-validate": ">=5.0.2"
+ },
+ "peerDependenciesMeta": {
+ "bufferutil": {
+ "optional": true
+ },
+ "utf-8-validate": {
+ "optional": true
+ }
}
},
- "node_modules/vinyl/node_modules/clone": {
+ "node_modules/xmlhttprequest-ssl": {
"version": "2.1.2",
- "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz",
- "integrity": "sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==",
+ "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-2.1.2.tgz",
+ "integrity": "sha512-TEU+nJVUUnA4CYJFLvK5X9AOeH4KvDvhIfm0vV1GaQRtchnG0hgK5p8hw/xjv8cunWYCsiPCSDzObPyhEwq3KQ==",
"dev": true,
- "license": "MIT",
"engines": {
- "node": ">=0.8"
+ "node": ">=0.4.0"
}
},
- "node_modules/walk-up-path": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/walk-up-path/-/walk-up-path-4.0.0.tgz",
- "integrity": "sha512-3hu+tD8YzSLGuFYtPRb48vdhKMi0KQV5sn+uWr8+7dMEq/2G/dtLrdDinkLjqq5TIbIBjYJ4Ax/n3YiaW7QM8A==",
+ "node_modules/xss": {
+ "version": "1.0.15",
+ "resolved": "https://registry.npmjs.org/xss/-/xss-1.0.15.tgz",
+ "integrity": "sha512-FVdlVVC67WOIPvfOwhoMETV72f6GbW7aOabBC3WxN/oUdoEMDyLz4OgRv5/gck2ZeNqEQu+Tb0kloovXOfpYVg==",
"dev": true,
- "license": "ISC",
+ "license": "MIT",
+ "dependencies": {
+ "commander": "^2.20.3",
+ "cssfilter": "0.0.10"
+ },
+ "bin": {
+ "xss": "bin/xss"
+ },
"engines": {
- "node": "20 || >=22"
+ "node": ">= 0.10.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/xss/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",
- "dependencies": {
- "defaults": "^1.0.3"
- }
+ "license": "MIT"
},
- "node_modules/webidl-conversions": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz",
- "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==",
+ "node_modules/xtend": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
+ "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==",
"dev": true,
- "license": "BSD-2-Clause",
+ "license": "MIT",
"engines": {
- "node": ">=12"
+ "node": ">=0.4"
}
},
- "node_modules/whatwg-mimetype": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-4.0.0.tgz",
- "integrity": "sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==",
+ "node_modules/y18n": {
+ "version": "5.0.8",
+ "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
+ "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==",
"dev": true,
- "license": "MIT",
+ "license": "ISC",
"engines": {
- "node": ">=18"
+ "node": ">=10"
}
},
- "node_modules/whatwg-url": {
- "version": "14.2.0",
- "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-14.2.0.tgz",
- "integrity": "sha512-De72GdQZzNTUBBChsXueQUnPKDkg/5A5zp7pFDuQAj5UFoENpiACU0wlCvzpAGnTkj++ihpKwKyYewn/XNUbKw==",
+ "node_modules/yallist": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-5.0.0.tgz",
+ "integrity": "sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==",
"dev": true,
- "license": "MIT",
- "dependencies": {
- "tr46": "^5.1.0",
- "webidl-conversions": "^7.0.0"
- },
+ "license": "BlueOak-1.0.0",
"engines": {
"node": ">=18"
}
},
- "node_modules/which": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
- "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
+ "node_modules/yaml": {
+ "version": "2.9.0",
+ "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.9.0.tgz",
+ "integrity": "sha512-2AvhNX3mb8zd6Zy7INTtSpl1F15HW6Wnqj0srWlkKLcpYl/gMIMJiyuGq2KeI2YFxUPjdlB+3Lc10seMLtL4cA==",
"dev": true,
- "dependencies": {
- "isexe": "^2.0.0"
- },
+ "license": "ISC",
"bin": {
- "which": "bin/which"
+ "yaml": "bin.mjs"
+ },
+ "engines": {
+ "node": ">= 14.6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/eemeli"
}
},
- "node_modules/which-module": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.1.tgz",
- "integrity": "sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==",
- "dev": true
- },
- "node_modules/which-typed-array": {
- "version": "1.1.19",
- "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.19.tgz",
- "integrity": "sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw==",
+ "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,
"license": "MIT",
"dependencies": {
- "available-typed-arrays": "^1.0.7",
- "call-bind": "^1.0.8",
- "call-bound": "^1.0.4",
- "for-each": "^0.3.5",
- "get-proto": "^1.0.1",
- "gopd": "^1.2.0",
- "has-tostringtag": "^1.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.3",
+ "y18n": "^5.0.5",
+ "yargs-parser": "^21.1.1"
},
"engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
+ "node": ">=12"
}
},
- "node_modules/wide-align": {
- "version": "1.1.5",
- "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz",
- "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==",
+ "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,
"license": "ISC",
- "dependencies": {
- "string-width": "^1.0.2 || 2 || 3 || 4"
+ "engines": {
+ "node": ">=12"
}
},
- "node_modules/word-wrap": {
- "version": "1.2.5",
- "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz",
- "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==",
+ "node_modules/yn": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz",
+ "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==",
"dev": true,
+ "license": "MIT",
"engines": {
- "node": ">=0.10.0"
+ "node": ">=6"
}
},
- "node_modules/wordwrap": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz",
- "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==",
- "dev": true
- },
- "node_modules/worker-factory": {
- "version": "7.0.44",
- "resolved": "https://registry.npmjs.org/worker-factory/-/worker-factory-7.0.44.tgz",
- "integrity": "sha512-08AuUfWi+KeZI+KC7nU4pU/9tDeAFvE5NSWk+K9nIfuQc6UlOsZtjjeGVYVEn+DEchyXNJ5i10HCn0xRzFXEQA==",
+ "node_modules/yoctocolors-cjs": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/yoctocolors-cjs/-/yoctocolors-cjs-2.1.3.tgz",
+ "integrity": "sha512-U/PBtDf35ff0D8X8D0jfdzHYEPFxAI7jJlxZXwCSez5M3190m+QobIfh+sWDWSHMCWWJN2AWamkegn6vr6YBTw==",
"dev": true,
"license": "MIT",
- "dependencies": {
- "@babel/runtime": "^7.27.6",
- "fast-unique-numbers": "^9.0.22",
- "tslib": "^2.8.1"
+ "engines": {
+ "node": ">=18"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/worker-timers": {
- "version": "8.0.23",
- "resolved": "https://registry.npmjs.org/worker-timers/-/worker-timers-8.0.23.tgz",
- "integrity": "sha512-1BnWHNNiu5YEutgF7eVZEqNntAsij2oG0r66xDdScoY3fKGFrok2y0xA8OgG6FA+3srrmAplSY6JN5h9jV5D0w==",
- "dev": true,
+ "packages/common": {
+ "name": "@nestjs/common",
+ "version": "12.0.0-alpha.5",
"license": "MIT",
"dependencies": {
- "@babel/runtime": "^7.27.6",
- "tslib": "^2.8.1",
- "worker-timers-broker": "^8.0.9",
- "worker-timers-worker": "^9.0.9"
+ "file-type": "21.3.4",
+ "iterare": "1.2.1",
+ "load-esm": "1.0.3",
+ "tslib": "2.8.1",
+ "uid": "2.0.2"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/nest"
+ },
+ "peerDependencies": {
+ "class-transformer": ">=0.4.1",
+ "class-validator": ">=0.13.2",
+ "reflect-metadata": "^0.1.12 || ^0.2.0",
+ "rxjs": "^7.1.0"
+ },
+ "peerDependenciesMeta": {
+ "class-transformer": {
+ "optional": true
+ },
+ "class-validator": {
+ "optional": true
+ }
}
},
- "node_modules/worker-timers-broker": {
- "version": "8.0.9",
- "resolved": "https://registry.npmjs.org/worker-timers-broker/-/worker-timers-broker-8.0.9.tgz",
- "integrity": "sha512-WJsd7aIvu2GBTXp7IBGT1NKnt3ZbiJ2wqb7Pl4nFJXC8pek84+X68TJGVvvrqwHgHPNxSlzpU1nadhcW4PDD7A==",
- "dev": true,
+ "packages/common/node_modules/file-type": {
+ "version": "21.3.4",
+ "resolved": "https://registry.npmjs.org/file-type/-/file-type-21.3.4.tgz",
+ "integrity": "sha512-Ievi/yy8DS3ygGvT47PjSfdFoX+2isQueoYP1cntFW1JLYAuS4GD7NUPGg4zv2iZfV52uDyk5w5Z0TdpRS6Q1g==",
"license": "MIT",
"dependencies": {
- "@babel/runtime": "^7.27.6",
- "broker-factory": "^3.1.8",
- "fast-unique-numbers": "^9.0.22",
- "tslib": "^2.8.1",
- "worker-timers-worker": "^9.0.9"
+ "@tokenizer/inflate": "^0.4.1",
+ "strtok3": "^10.3.4",
+ "token-types": "^6.1.1",
+ "uint8array-extras": "^1.4.0"
+ },
+ "engines": {
+ "node": ">=20"
+ },
+ "funding": {
+ "url": "https://github.com/sindresorhus/file-type?sponsor=1"
}
},
- "node_modules/worker-timers-worker": {
- "version": "9.0.9",
- "resolved": "https://registry.npmjs.org/worker-timers-worker/-/worker-timers-worker-9.0.9.tgz",
- "integrity": "sha512-OOKTMdHbzx7FaXCW40RS8RxAqLF/R8xU5/YA7CFasDy+jBA5yQWUusSQJUFFTV2Z9ZOpnR+ZWgte/IuAqOAEVw==",
- "dev": true,
+ "packages/core": {
+ "name": "@nestjs/core",
+ "version": "12.0.0-alpha.5",
+ "hasInstallScript": true,
"license": "MIT",
"dependencies": {
- "@babel/runtime": "^7.27.6",
- "tslib": "^2.8.1",
- "worker-factory": "^7.0.44"
+ "@nuxt/opencollective": "0.4.1",
+ "fast-safe-stringify": "2.1.1",
+ "iterare": "1.2.1",
+ "path-to-regexp": "8.4.2",
+ "tslib": "2.8.1",
+ "uid": "2.0.2"
+ },
+ "devDependencies": {
+ "@nestjs/common": "^12.0.0-alpha.5"
+ },
+ "engines": {
+ "node": ">= 20"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/nest"
+ },
+ "peerDependencies": {
+ "@nestjs/common": "^11.0.0",
+ "@nestjs/microservices": "^11.0.0",
+ "@nestjs/platform-express": "^11.0.0",
+ "@nestjs/websockets": "^11.0.0",
+ "reflect-metadata": "^0.1.12 || ^0.2.0",
+ "rxjs": "^7.1.0"
+ },
+ "peerDependenciesMeta": {
+ "@nestjs/microservices": {
+ "optional": true
+ },
+ "@nestjs/platform-express": {
+ "optional": true
+ },
+ "@nestjs/websockets": {
+ "optional": true
+ }
}
},
- "node_modules/workerpool": {
- "version": "9.3.2",
- "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-9.3.2.tgz",
- "integrity": "sha512-Xz4Nm9c+LiBHhDR5bDLnNzmj6+5F+cyEAWPMkbs2awq/dYazR/efelZzUAjB/y3kNHL+uzkHvxVVpaOfGCPV7A==",
- "dev": true,
- "license": "Apache-2.0"
+ "packages/core/node_modules/path-to-regexp": {
+ "version": "8.4.2",
+ "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-8.4.2.tgz",
+ "integrity": "sha512-qRcuIdP69NPm4qbACK+aDogI5CBDMi1jKe0ry5rSQJz8JVLsC7jV8XpiJjGRLLol3N+R5ihGYcrPLTno6pAdBA==",
+ "license": "MIT",
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/express"
+ }
},
- "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,
+ "packages/microservices": {
+ "name": "@nestjs/microservices",
+ "version": "12.0.0-alpha.5",
+ "license": "MIT",
"dependencies": {
- "ansi-styles": "^4.0.0",
- "string-width": "^4.1.0",
- "strip-ansi": "^6.0.0"
+ "iterare": "1.2.1",
+ "tslib": "2.8.1"
},
- "engines": {
- "node": ">=10"
+ "devDependencies": {
+ "@nestjs/common": "^12.0.0-alpha.5",
+ "@nestjs/core": "^12.0.0-alpha.5"
},
"funding": {
- "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
+ "type": "opencollective",
+ "url": "https://opencollective.com/nest"
+ },
+ "peerDependencies": {
+ "@grpc/grpc-js": "*",
+ "@nats-io/transport-node": "*",
+ "@nestjs/common": "^11.0.0",
+ "@nestjs/core": "^11.0.0",
+ "@nestjs/websockets": "^11.0.0",
+ "amqp-connection-manager": "*",
+ "amqplib": "*",
+ "cache-manager": "*",
+ "ioredis": "*",
+ "kafkajs": "*",
+ "mqtt": "*",
+ "reflect-metadata": "^0.1.12 || ^0.2.0",
+ "rxjs": "^7.1.0"
+ },
+ "peerDependenciesMeta": {
+ "@grpc/grpc-js": {
+ "optional": true
+ },
+ "@nats-io/transport-node": {
+ "optional": true
+ },
+ "@nestjs/websockets": {
+ "optional": true
+ },
+ "amqp-connection-manager": {
+ "optional": true
+ },
+ "amqplib": {
+ "optional": true
+ },
+ "cache-manager": {
+ "optional": true
+ },
+ "ioredis": {
+ "optional": true
+ },
+ "kafkajs": {
+ "optional": true
+ },
+ "mqtt": {
+ "optional": true
+ }
}
},
- "node_modules/wrappy": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
- "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ=="
- },
- "node_modules/write-file-atomic": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-6.0.0.tgz",
- "integrity": "sha512-GmqrO8WJ1NuzJ2DrziEI2o57jKAVIQNf8a18W3nCYU3H7PNWqCCVTeH6/NQE93CIllIgQS98rrmVkYgTX9fFJQ==",
- "dev": true,
- "license": "ISC",
+ "packages/platform-express": {
+ "name": "@nestjs/platform-express",
+ "version": "12.0.0-alpha.5",
+ "license": "MIT",
"dependencies": {
- "imurmurhash": "^0.1.4",
- "signal-exit": "^4.0.1"
+ "cors": "2.8.6",
+ "express": "5.2.1",
+ "multer": "2.1.1",
+ "path-to-regexp": "8.4.2",
+ "tslib": "2.8.1"
},
- "engines": {
- "node": "^18.17.0 || >=20.5.0"
+ "devDependencies": {
+ "@nestjs/common": "^12.0.0-alpha.5",
+ "@nestjs/core": "^12.0.0-alpha.5"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/nest"
+ },
+ "peerDependencies": {
+ "@nestjs/common": "^11.0.0",
+ "@nestjs/core": "^11.0.0"
}
},
- "node_modules/write-file-atomic/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"
- },
+ "packages/platform-express/node_modules/path-to-regexp": {
+ "version": "8.4.2",
+ "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-8.4.2.tgz",
+ "integrity": "sha512-qRcuIdP69NPm4qbACK+aDogI5CBDMi1jKe0ry5rSQJz8JVLsC7jV8XpiJjGRLLol3N+R5ihGYcrPLTno6pAdBA==",
+ "license": "MIT",
"funding": {
- "url": "https://github.com/sponsors/isaacs"
+ "type": "opencollective",
+ "url": "https://opencollective.com/express"
}
},
- "node_modules/ws": {
- "version": "8.21.0",
- "resolved": "https://registry.npmjs.org/ws/-/ws-8.21.0.tgz",
- "integrity": "sha512-Vsp28b7DRcimFQvrqu2Wek3z1iYxDCWqHYB8Qsnk/S4RfaCQzPGPyBNuVjJV3cd6UiKtUtp6sNM77gWvzcCH+g==",
- "dev": true,
+ "packages/platform-fastify": {
+ "name": "@nestjs/platform-fastify",
+ "version": "12.0.0-alpha.5",
"license": "MIT",
- "engines": {
- "node": ">=10.0.0"
+ "dependencies": {
+ "@fastify/cors": "11.2.0",
+ "@fastify/formbody": "8.0.2",
+ "fast-querystring": "1.1.2",
+ "fastify": "5.8.5",
+ "fastify-plugin": "5.1.0",
+ "find-my-way": "9.6.0",
+ "light-my-request": "6.6.0",
+ "path-to-regexp": "8.4.2",
+ "reusify": "1.1.0",
+ "tslib": "2.8.1"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/nest"
},
"peerDependencies": {
- "bufferutil": "^4.0.1",
- "utf-8-validate": ">=5.0.2"
+ "@fastify/static": "^8.0.0 || ^9.0.0",
+ "@fastify/view": "^10.0.0 || ^11.0.0",
+ "@nestjs/common": "^11.0.0",
+ "@nestjs/core": "^11.0.0"
},
"peerDependenciesMeta": {
- "bufferutil": {
+ "@fastify/static": {
"optional": true
},
- "utf-8-validate": {
+ "@fastify/view": {
"optional": true
}
}
},
- "node_modules/xmlhttprequest-ssl": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-2.1.2.tgz",
- "integrity": "sha512-TEU+nJVUUnA4CYJFLvK5X9AOeH4KvDvhIfm0vV1GaQRtchnG0hgK5p8hw/xjv8cunWYCsiPCSDzObPyhEwq3KQ==",
- "dev": true,
- "engines": {
- "node": ">=0.4.0"
+ "packages/platform-fastify/node_modules/fastify": {
+ "version": "5.8.5",
+ "resolved": "https://registry.npmjs.org/fastify/-/fastify-5.8.5.tgz",
+ "integrity": "sha512-Yqptv59pQzPgQUSIm87hMqHJmdkb1+GPxdE6vW6FRyVE9G86mt7rOghitiU4JHRaTyDUk9pfeKmDeu70lAwM4Q==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/fastify"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/fastify"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "@fastify/ajv-compiler": "^4.0.5",
+ "@fastify/error": "^4.0.0",
+ "@fastify/fast-json-stringify-compiler": "^5.0.0",
+ "@fastify/proxy-addr": "^5.0.0",
+ "abstract-logging": "^2.0.1",
+ "avvio": "^9.0.0",
+ "fast-json-stringify": "^6.0.0",
+ "find-my-way": "^9.0.0",
+ "light-my-request": "^6.0.0",
+ "pino": "^9.14.0 || ^10.1.0",
+ "process-warning": "^5.0.0",
+ "rfdc": "^1.3.1",
+ "secure-json-parse": "^4.0.0",
+ "semver": "^7.6.0",
+ "toad-cache": "^3.7.0"
}
},
- "node_modules/xss": {
- "version": "1.0.15",
- "resolved": "https://registry.npmjs.org/xss/-/xss-1.0.15.tgz",
- "integrity": "sha512-FVdlVVC67WOIPvfOwhoMETV72f6GbW7aOabBC3WxN/oUdoEMDyLz4OgRv5/gck2ZeNqEQu+Tb0kloovXOfpYVg==",
- "dev": true,
+ "packages/platform-fastify/node_modules/find-my-way": {
+ "version": "9.6.0",
+ "resolved": "https://registry.npmjs.org/find-my-way/-/find-my-way-9.6.0.tgz",
+ "integrity": "sha512-Zf4Xve4RymLl7NgaavNebZ01joJ8MfVerOG43wy7SHLO+r+K0C6d/SE0BiR7AV5V1VOCFlOP7ecdo+I4qmiHrQ==",
"license": "MIT",
"dependencies": {
- "commander": "^2.20.3",
- "cssfilter": "0.0.10"
- },
- "bin": {
- "xss": "bin/xss"
+ "fast-deep-equal": "^3.1.3",
+ "fast-querystring": "^1.0.0",
+ "safe-regex2": "^5.0.0"
},
"engines": {
- "node": ">= 0.10.0"
- }
- },
- "node_modules/xtend": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
- "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==",
- "dev": true,
- "engines": {
- "node": ">=0.4"
- }
- },
- "node_modules/y18n": {
- "version": "5.0.8",
- "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
- "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==",
- "dev": true,
- "engines": {
- "node": ">=10"
+ "node": ">=20"
}
},
- "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/yaml": {
- "version": "2.8.4",
- "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.4.tgz",
- "integrity": "sha512-ml/JPOj9fOQK8RNnWojA67GbZ0ApXAUlN2UQclwv2eVgTgn7O9gg9o7paZWKMp4g0H3nTLtS9LVzhkpOFIKzog==",
- "dev": true,
- "license": "ISC",
- "bin": {
- "yaml": "bin.mjs"
- },
- "engines": {
- "node": ">= 14.6"
- },
+ "packages/platform-fastify/node_modules/path-to-regexp": {
+ "version": "8.4.2",
+ "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-8.4.2.tgz",
+ "integrity": "sha512-qRcuIdP69NPm4qbACK+aDogI5CBDMi1jKe0ry5rSQJz8JVLsC7jV8XpiJjGRLLol3N+R5ihGYcrPLTno6pAdBA==",
+ "license": "MIT",
"funding": {
- "url": "https://github.com/sponsors/eemeli"
+ "type": "opencollective",
+ "url": "https://opencollective.com/express"
}
},
- "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,
+ "packages/platform-socket.io": {
+ "name": "@nestjs/platform-socket.io",
+ "version": "12.0.0-alpha.5",
+ "license": "MIT",
"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"
+ "socket.io": "4.8.3",
+ "tslib": "2.8.1"
},
- "engines": {
- "node": ">=12"
- }
- },
- "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/yargs-unparser": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz",
- "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==",
- "dev": true,
- "dependencies": {
- "camelcase": "^6.0.0",
- "decamelize": "^4.0.0",
- "flat": "^5.0.2",
- "is-plain-obj": "^2.1.0"
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/nest"
},
- "engines": {
- "node": ">=10"
+ "peerDependencies": {
+ "@nestjs/common": "^11.0.0",
+ "@nestjs/websockets": "^11.0.0",
+ "rxjs": "^7.1.0"
}
},
- "node_modules/yargs-unparser/node_modules/camelcase": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz",
- "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==",
- "dev": true,
- "engines": {
- "node": ">=10"
+ "packages/platform-ws": {
+ "name": "@nestjs/platform-ws",
+ "version": "12.0.0-alpha.5",
+ "license": "MIT",
+ "dependencies": {
+ "tslib": "2.8.1",
+ "ws": "8.21.0"
},
"funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/yargs-unparser/node_modules/decamelize": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz",
- "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==",
- "dev": true,
- "engines": {
- "node": ">=10"
+ "type": "opencollective",
+ "url": "https://opencollective.com/nest"
},
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/yargs-unparser/node_modules/is-plain-obj": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz",
- "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/yn": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz",
- "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==",
- "dev": true,
- "engines": {
- "node": ">=6"
+ "peerDependencies": {
+ "@nestjs/common": "^11.0.0",
+ "@nestjs/websockets": "^11.0.0",
+ "rxjs": "^7.1.0"
}
},
- "node_modules/yocto-queue": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",
- "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==",
- "dev": true,
+ "packages/testing": {
+ "name": "@nestjs/testing",
+ "version": "12.0.0-alpha.5",
"license": "MIT",
- "engines": {
- "node": ">=10"
+ "dependencies": {
+ "tslib": "2.8.1"
},
"funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "type": "opencollective",
+ "url": "https://opencollective.com/nest"
+ },
+ "peerDependencies": {
+ "@nestjs/common": "^11.0.0",
+ "@nestjs/core": "^11.0.0",
+ "@nestjs/microservices": "^11.0.0",
+ "@nestjs/platform-express": "^11.0.0"
+ },
+ "peerDependenciesMeta": {
+ "@nestjs/microservices": {
+ "optional": true
+ },
+ "@nestjs/platform-express": {
+ "optional": true
+ }
}
},
- "node_modules/yoctocolors-cjs": {
- "version": "2.1.3",
- "resolved": "https://registry.npmjs.org/yoctocolors-cjs/-/yoctocolors-cjs-2.1.3.tgz",
- "integrity": "sha512-U/PBtDf35ff0D8X8D0jfdzHYEPFxAI7jJlxZXwCSez5M3190m+QobIfh+sWDWSHMCWWJN2AWamkegn6vr6YBTw==",
- "dev": true,
+ "packages/websockets": {
+ "name": "@nestjs/websockets",
+ "version": "12.0.0-alpha.5",
"license": "MIT",
- "engines": {
- "node": ">=18"
+ "dependencies": {
+ "iterare": "1.2.1",
+ "object-hash": "3.0.0",
+ "tslib": "2.8.1"
},
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "devDependencies": {
+ "@nestjs/common": "^12.0.0-alpha.5",
+ "@nestjs/core": "^12.0.0-alpha.5"
+ },
+ "peerDependencies": {
+ "@nestjs/common": "^11.0.0",
+ "@nestjs/core": "^11.0.0",
+ "@nestjs/platform-socket.io": "^11.0.0",
+ "reflect-metadata": "^0.1.12 || ^0.2.0",
+ "rxjs": "^7.1.0"
+ },
+ "peerDependenciesMeta": {
+ "@nestjs/platform-socket.io": {
+ "optional": true
+ }
}
}
}
diff --git a/package.json b/package.json
index fe8cd5c5c71..24b77a7ff5a 100644
--- a/package.json
+++ b/package.json
@@ -12,6 +12,10 @@
"url": "https://opencollective.com/nest"
},
"license": "MIT",
+ "type": "module",
+ "workspaces": [
+ "packages/*"
+ ],
"author": "Kamil Mysliwiec",
"scripts": {
"build": "tsc -b -v packages",
@@ -23,32 +27,28 @@
"clean": "tsc -b --clean packages",
"move:samples": "gulp move:samples",
"move:node_modules": "gulp move:node_modules",
- "build:samples": "gulp install:samples && npm run build && npm run move:samples && gulp build:samples && gulp test:samples && gulp test:e2e:samples",
+ "build:samples": "gulp install:samples && npm run build && npm run move:samples && gulp build:samples",
"codechecks:benchmarks": "codechecks ./tools/benchmarks/check-benchmarks.ts",
- "coverage": "nyc report --reporter=text-lcov | coveralls -v",
+ "coverage": "vitest run --coverage --config vitest.config.coverage.mts || true",
"format": "prettier \"**/*.ts\" \"packages/**/*.json\" --ignore-path ./.prettierignore --write && git status",
"postinstall": "opencollective",
- "test": "node --loader ts-node/esm ./node_modules/mocha/bin/mocha.js packages/**/*.spec.ts",
- "test:dev": "node --loader ts-node/esm ./node_modules/mocha/bin/mocha.js -w --watch-files \"packages\" packages/**/*.spec.ts",
- "pretest:cov": "npm run clean",
- "test:cov": "nyc mocha packages/**/*.spec.ts --reporter spec",
- "test:integration": "node --loader ts-node/esm ./node_modules/mocha/bin/mocha.js --reporter-option maxDiffSize=0 \"integration/*/{,!(node_modules)/**/}/*.spec.ts\"",
+ "test": "vitest run",
+ "test:dev": "vitest",
+ "test:cov": "vitest run --coverage --config vitest.config.coverage.mts || true",
+ "test:integration": "vitest run --config vitest.config.integration.mts",
"test:docker:up": "node scripts/docker-compose.js -f integration/docker-compose.yml up -d",
"test:docker:wait:rmq": "node scripts/wait-for-rabbitmq.js",
"test:docker:down": "node scripts/docker-compose.js -f integration/docker-compose.yml down",
- "lint": "concurrently 'npm run lint:packages' 'npm run lint:integration' 'npm run lint:spec'",
- "lint:fix": "concurrently 'npm run lint:packages -- --fix' 'npm run lint:integration -- --fix' 'npm run lint:spec -- --fix'",
- "lint:integration": "node --max-old-space-size=4096 ./node_modules/.bin/eslint 'integration/**/*.ts'",
- "lint:packages": "node --max-old-space-size=4096 ./node_modules/.bin/eslint 'packages/**/**.ts' --ignore-pattern 'packages/**/*.spec.ts'",
- "lint:spec": "node --max-old-space-size=4096 ./node_modules/.bin/eslint 'packages/**/**.spec.ts'",
- "lint:ci": "concurrently 'npm run lint:packages' 'npm run lint:spec'",
+ "lint": "oxlint packages integration",
+ "lint:fix": "oxlint --fix packages integration",
+ "lint:ci": "oxlint packages",
"prerelease": "gulp copy-misc",
"publish": "npm run prerelease && npm run build:prod && ./node_modules/.bin/lerna publish --force-publish --exact -m \"chore(release): publish %s release\"",
"prepublishOnly": "npm run changelog | pbcopy",
"publish:beta": "npm run prerelease && npm run build:prod && ./node_modules/.bin/lerna publish --npm-tag=beta -m \"chore(release): publish %s release\"",
- "publish:next": "npm run prerelease && npm run build:prod && ./node_modules/.bin/lerna publish --npm-tag=next --skip-git -m \"chore(release): publish %s release\"",
+ "publish:next": "npm run prerelease && npm run build:prod && ./node_modules/.bin/lerna publish --npm-tag=next --no-git-tag-version --no-push -m \"chore(release): publish %s release\"",
"publish:rc": "npm run prerelease && npm run build:prod && ./node_modules/.bin/lerna publish --npm-tag=rc -m \"chore(release): publish %s release\"",
- "publish:test": "npm run prerelease && npm run build:prod && ./node_modules/.bin/lerna publish --force-publish --npm-tag=test --skip-git -m \"chore(release): publish %s release\"",
+ "publish:test": "npm run prerelease && npm run build:prod && ./node_modules/.bin/lerna publish --force-publish --npm-tag=test --no-git-tag-version --no-push -m \"chore(release): publish %s release\"",
"prepare": "husky"
},
"lint-staged": {
@@ -61,79 +61,66 @@
},
"dependencies": {
"@nuxt/opencollective": "0.4.1",
- "ansis": "4.3.0",
+ "ansis": "4.2.0",
"class-transformer": "0.5.1",
- "class-validator": "0.15.1",
+ "class-validator": "0.14.3",
"cors": "2.8.6",
"express": "5.2.1",
- "fast-json-stringify": "6.4.0",
+ "fast-json-stringify": "6.3.0",
"fast-safe-stringify": "2.1.1",
- "file-type": "21.3.4",
+ "file-type": "21.3.0",
"iterare": "1.2.1",
"load-esm": "1.0.3",
"object-hash": "3.0.0",
- "path-to-regexp": "8.4.2",
+ "path-to-regexp": "8.3.0",
"reflect-metadata": "0.2.2",
"rxjs": "7.8.2",
"socket.io": "4.8.3",
"tslib": "2.8.1",
"uid": "2.0.2",
- "uuid": "14.0.0"
+ "uuid": "13.0.0"
},
"devDependencies": {
- "@apollo/server": "5.5.1",
+ "@apollo/server": "5.4.0",
"@as-integrations/express5": "1.1.2",
- "@commitlint/cli": "21.0.1",
- "@commitlint/config-angular": "21.0.1",
- "@eslint/eslintrc": "3.3.5",
- "@eslint/js": "9.39.4",
+ "@commitlint/cli": "20.4.1",
+ "@commitlint/config-angular": "20.4.1",
"@fastify/cors": "11.2.0",
"@fastify/formbody": "8.0.2",
- "@fastify/middie": "9.3.2",
- "@fastify/multipart": "10.0.0",
- "@fastify/static": "9.1.3",
+ "@fastify/middie": "9.1.0",
+ "@fastify/multipart": "9.4.0",
+ "@fastify/static": "9.0.0",
"@fastify/view": "11.1.1",
"@grpc/grpc-js": "1.14.4",
"@grpc/proto-loader": "0.8.1",
- "@nestjs/apollo": "13.4.2",
- "@nestjs/graphql": "13.4.2",
+ "@nats-io/transport-node": "^3.0.2",
+ "@nestjs/apollo": "13.4.2",
+ "@nestjs/graphql": "13.4.2",
"@nestjs/mongoose": "11.0.4",
- "@nestjs/typeorm": "11.0.1",
+ "@nestjs/typeorm": "11.0.0",
"@types/amqplib": "0.10.8",
- "@types/chai": "4.3.20",
- "@types/chai-as-promised": "7.1.8",
"@types/cors": "2.8.19",
- "@types/eslint__js": "8.42.3",
"@types/express": "5.0.6",
"@types/gulp": "4.0.18",
"@types/http-errors": "2.0.5",
- "@types/mocha": "10.0.10",
"@types/node": "25.9.1",
- "@types/sinon": "21.0.1",
"@types/supertest": "7.2.0",
"@types/ws": "8.18.1",
- "@typescript-eslint/eslint-plugin": "8.59.3",
- "@typescript-eslint/parser": "8.59.3",
+ "@vitest/coverage-istanbul": "4.1.2",
+ "@vitest/coverage-v8": "4.1.2",
"amqp-connection-manager": "5.0.0",
- "amqplib": "2.0.1",
+ "amqplib": "0.10.9",
"body-parser": "2.2.2",
"cache-manager": "7.2.8",
- "chai": "4.5.0",
- "chai-as-promised": "7.1.2",
- "concurrently": "9.2.1",
- "conventional-changelog": "7.2.0",
+ "conventional-changelog": "7.1.1",
"coveralls": "3.1.1",
"delete-empty": "3.0.0",
- "eslint": "10.3.0",
- "eslint-config-prettier": "10.1.8",
- "eslint-plugin-prettier": "5.5.5",
"eventsource": "4.1.0",
"fancy-log": "2.0.0",
- "fastify": "5.8.5",
+ "fastify": "5.7.4",
"fastify-plugin": "5.1.0",
- "find-my-way": "9.6.0",
- "globals": "17.6.0",
- "graphql": "16.14.0",
+ "find-my-way": "9.4.0",
+ "graphql": "16.12.0",
"graphql-subscriptions": "3.0.0",
"gulp": "5.0.1",
"gulp-clang-format": "1.0.27",
@@ -143,34 +130,34 @@
"gulp-watch": "5.0.1",
"http-errors": "2.0.1",
"husky": "9.1.7",
- "ioredis": "5.10.1",
+ "ioredis": "5.9.3",
"kafkajs": "2.2.4",
- "lerna": "9.0.7",
+ "lerna": "9.0.4",
"lerna-changelog": "2.2.0",
"light-my-request": "6.6.0",
"lint-staged": "17.0.5",
"markdown-table": "2.0.0",
- "mocha": "11.7.6",
"mongoose": "9.6.2",
"mqtt": "5.15.1",
"multer": "2.1.1",
"mysql2": "3.22.3",
"nats": "2.29.3",
- "nyc": "18.0.0",
- "prettier": "^3.7.4",
+ "oxlint": "1.58.0",
+ "prettier": "3.7.4",
"redis": "5.12.1",
"reusify": "1.1.0",
"rxjs-compat": "6.6.7",
- "sinon": "21.1.2",
- "sinon-chai": "3.7.0",
"socket.io-client": "4.8.3",
"supertest": "7.2.2",
- "ts-morph": "28.0.0",
+ "ts-morph": "27.0.2",
"ts-node": "10.9.2",
+ "tsx": "4.19.2",
"tsconfig-paths": "4.2.0",
"typeorm": "0.3.30",
- "typescript": "5.9.3",
+ "typescript": "6.0.2",
"typescript-eslint": "8.58.2",
+ "vite": "8.0.3",
+ "vitest": "4.1.2",
"ws": "8.21.0"
},
"engines": {
@@ -192,53 +179,6 @@
"type: code style": "Code style tweaks",
"dependencies": "Dependencies"
}
- },
- "nyc": {
- "include": [
- "packages/**/*.ts"
- ],
- "exclude": [
- "**/*.js",
- "**/*.d.ts",
- "**/*.spec.ts",
- "packages/**/adapters/*.ts",
- "packages/**/nest-*.ts",
- "packages/**/test/**/*.ts",
- "packages/core/errors/**/*",
- "packages/common/exceptions/*.ts",
- "packages/common/utils/load-package.util.ts",
- "packages/microservices/exceptions/",
- "packages/microservices/microservices-module.ts",
- "packages/core/middleware/middleware-module.ts",
- "packages/core/discovery/discovery-service.ts",
- "packages/core/injector/module-ref.ts",
- "packages/core/injector/instance-links-host.ts",
- "packages/core/helpers/context-id-factory.ts",
- "packages/websockets/socket-module.ts",
- "packages/common/cache/**/*",
- "packages/common/serializer/**/*",
- "packages/common/services/*.ts"
- ],
- "extension": [
- ".ts"
- ],
- "require": [
- "ts-node/register"
- ],
- "reporter": [
- "text-summary",
- "html"
- ],
- "sourceMap": true,
- "instrument": true
- },
- "mocha": {
- "require": [
- "ts-node/register",
- "tsconfig-paths/register.js",
- "node_modules/reflect-metadata/Reflect.js",
- "hooks/mocha-init-hook.ts"
- ],
- "exit": true
}
}
+
diff --git a/packages/common/decorators/core/catch.decorator.ts b/packages/common/decorators/core/catch.decorator.ts
index cd3cdb161fd..cd306e916d2 100644
--- a/packages/common/decorators/core/catch.decorator.ts
+++ b/packages/common/decorators/core/catch.decorator.ts
@@ -1,5 +1,5 @@
-import { CATCH_WATERMARK, FILTER_CATCH_EXCEPTIONS } from '../../constants';
-import { Type, Abstract } from '../../interfaces';
+import { CATCH_WATERMARK, FILTER_CATCH_EXCEPTIONS } from '../../constants.js';
+import { Type, Abstract } from '../../interfaces/index.js';
/**
* Decorator that marks a class as a Nest exception filter. An exception filter
diff --git a/packages/common/decorators/core/controller.decorator.ts b/packages/common/decorators/core/controller.decorator.ts
index b89dd6454f5..222924460a6 100644
--- a/packages/common/decorators/core/controller.decorator.ts
+++ b/packages/common/decorators/core/controller.decorator.ts
@@ -4,9 +4,9 @@ import {
PATH_METADATA,
SCOPE_OPTIONS_METADATA,
VERSION_METADATA,
-} from '../../constants';
-import { ScopeOptions, VersionOptions } from '../../interfaces';
-import { isString, isUndefined } from '../../utils/shared.utils';
+} from '../../constants.js';
+import { ScopeOptions, VersionOptions } from '../../interfaces/index.js';
+import { isString, isUndefined } from '../../utils/shared.utils.js';
/**
* Interface defining options that can be passed to `@Controller()` decorator
diff --git a/packages/common/decorators/core/dependencies.decorator.ts b/packages/common/decorators/core/dependencies.decorator.ts
index c08a33a283b..b86ede5967e 100644
--- a/packages/common/decorators/core/dependencies.decorator.ts
+++ b/packages/common/decorators/core/dependencies.decorator.ts
@@ -1,4 +1,4 @@
-import { PARAMTYPES_METADATA } from '../../constants';
+import { PARAMTYPES_METADATA } from '../../constants.js';
export function flatten = any>(
arr: T,
diff --git a/packages/common/decorators/core/exception-filters.decorator.ts b/packages/common/decorators/core/exception-filters.decorator.ts
index 27bc387b9b6..5faca3886be 100644
--- a/packages/common/decorators/core/exception-filters.decorator.ts
+++ b/packages/common/decorators/core/exception-filters.decorator.ts
@@ -1,8 +1,8 @@
-import { EXCEPTION_FILTERS_METADATA } from '../../constants';
-import { ExceptionFilter } from '../../index';
-import { extendArrayMetadata } from '../../utils/extend-metadata.util';
-import { isFunction } from '../../utils/shared.utils';
-import { validateEach } from '../../utils/validate-each.util';
+import { EXCEPTION_FILTERS_METADATA } from '../../constants.js';
+import { ExceptionFilter } from '../../index.js';
+import { extendArrayMetadata } from '../../utils/extend-metadata.util.js';
+import { isFunction } from '../../utils/shared.utils.js';
+import { validateEach } from '../../utils/validate-each.util.js';
/**
* Decorator that binds exception filters to the scope of the controller or
diff --git a/packages/common/decorators/core/index.ts b/packages/common/decorators/core/index.ts
index c68c7744ffe..df92e2d0800 100644
--- a/packages/common/decorators/core/index.ts
+++ b/packages/common/decorators/core/index.ts
@@ -1,14 +1,14 @@
-export * from './bind.decorator';
-export * from './catch.decorator';
-export * from './controller.decorator';
-export * from './dependencies.decorator';
-export * from './exception-filters.decorator';
-export * from './inject.decorator';
-export * from './injectable.decorator';
-export * from './optional.decorator';
-export * from './set-metadata.decorator';
-export * from './use-guards.decorator';
-export * from './use-interceptors.decorator';
-export * from './use-pipes.decorator';
-export * from './apply-decorators';
-export * from './version.decorator';
+export * from './bind.decorator.js';
+export * from './catch.decorator.js';
+export * from './controller.decorator.js';
+export * from './dependencies.decorator.js';
+export * from './exception-filters.decorator.js';
+export * from './inject.decorator.js';
+export * from './injectable.decorator.js';
+export * from './optional.decorator.js';
+export * from './set-metadata.decorator.js';
+export * from './use-guards.decorator.js';
+export * from './use-interceptors.decorator.js';
+export * from './use-pipes.decorator.js';
+export * from './apply-decorators.js';
+export * from './version.decorator.js';
diff --git a/packages/common/decorators/core/inject.decorator.ts b/packages/common/decorators/core/inject.decorator.ts
index f8bedbd63f7..77ea8328add 100644
--- a/packages/common/decorators/core/inject.decorator.ts
+++ b/packages/common/decorators/core/inject.decorator.ts
@@ -2,9 +2,9 @@ import {
PARAMTYPES_METADATA,
PROPERTY_DEPS_METADATA,
SELF_DECLARED_DEPS_METADATA,
-} from '../../constants';
-import { ForwardReference, InjectionToken } from '../../interfaces';
-import { isUndefined } from '../../utils/shared.utils';
+} from '../../constants.js';
+import { ForwardReference, InjectionToken } from '../../interfaces/index.js';
+import { isUndefined } from '../../utils/shared.utils.js';
/**
* Decorator that marks a constructor parameter as a target for
diff --git a/packages/common/decorators/core/injectable.decorator.ts b/packages/common/decorators/core/injectable.decorator.ts
index ff7ae143c59..5c852fad617 100644
--- a/packages/common/decorators/core/injectable.decorator.ts
+++ b/packages/common/decorators/core/injectable.decorator.ts
@@ -1,7 +1,10 @@
import { uid } from 'uid';
-import { INJECTABLE_WATERMARK, SCOPE_OPTIONS_METADATA } from '../../constants';
-import { ScopeOptions } from '../../interfaces/scope-options.interface';
-import { Type } from '../../interfaces/type.interface';
+import {
+ INJECTABLE_WATERMARK,
+ SCOPE_OPTIONS_METADATA,
+} from '../../constants.js';
+import { ScopeOptions } from '../../interfaces/scope-options.interface.js';
+import { Type } from '../../interfaces/type.interface.js';
/**
* Defines the injection scope.
diff --git a/packages/common/decorators/core/optional.decorator.ts b/packages/common/decorators/core/optional.decorator.ts
index 0d94c20f000..62ca4ec9fb7 100644
--- a/packages/common/decorators/core/optional.decorator.ts
+++ b/packages/common/decorators/core/optional.decorator.ts
@@ -1,8 +1,8 @@
import {
OPTIONAL_DEPS_METADATA,
OPTIONAL_PROPERTY_DEPS_METADATA,
-} from '../../constants';
-import { isUndefined } from '../../utils/shared.utils';
+} from '../../constants.js';
+import { isUndefined } from '../../utils/shared.utils.js';
/**
* Parameter decorator for an injected dependency marking the
@@ -20,12 +20,12 @@ import { isUndefined } from '../../utils/shared.utils';
export function Optional(): PropertyDecorator & ParameterDecorator {
return (target: object, key: string | symbol | undefined, index?: number) => {
if (!isUndefined(index)) {
- const args = Reflect.getMetadata(OPTIONAL_DEPS_METADATA, target) || [];
+ const args = Reflect.getOwnMetadata(OPTIONAL_DEPS_METADATA, target) || [];
Reflect.defineMetadata(OPTIONAL_DEPS_METADATA, [...args, index], target);
return;
}
const properties =
- Reflect.getMetadata(
+ Reflect.getOwnMetadata(
OPTIONAL_PROPERTY_DEPS_METADATA,
target.constructor,
) || [];
diff --git a/packages/common/decorators/core/use-guards.decorator.ts b/packages/common/decorators/core/use-guards.decorator.ts
index c3fb7cd2fd7..52fdc6c367a 100644
--- a/packages/common/decorators/core/use-guards.decorator.ts
+++ b/packages/common/decorators/core/use-guards.decorator.ts
@@ -1,8 +1,8 @@
-import { GUARDS_METADATA } from '../../constants';
-import { CanActivate } from '../../interfaces';
-import { extendArrayMetadata } from '../../utils/extend-metadata.util';
-import { isFunction } from '../../utils/shared.utils';
-import { validateEach } from '../../utils/validate-each.util';
+import { GUARDS_METADATA } from '../../constants.js';
+import { CanActivate } from '../../interfaces/index.js';
+import { extendArrayMetadata } from '../../utils/extend-metadata.util.js';
+import { isFunction } from '../../utils/shared.utils.js';
+import { validateEach } from '../../utils/validate-each.util.js';
/**
* Decorator that binds guards to the scope of the controller or method,
diff --git a/packages/common/decorators/core/use-interceptors.decorator.ts b/packages/common/decorators/core/use-interceptors.decorator.ts
index 474c47a6d13..b4e0e146269 100644
--- a/packages/common/decorators/core/use-interceptors.decorator.ts
+++ b/packages/common/decorators/core/use-interceptors.decorator.ts
@@ -1,8 +1,8 @@
-import { INTERCEPTORS_METADATA } from '../../constants';
-import { NestInterceptor } from '../../interfaces';
-import { extendArrayMetadata } from '../../utils/extend-metadata.util';
-import { isFunction } from '../../utils/shared.utils';
-import { validateEach } from '../../utils/validate-each.util';
+import { INTERCEPTORS_METADATA } from '../../constants.js';
+import { NestInterceptor } from '../../interfaces/index.js';
+import { extendArrayMetadata } from '../../utils/extend-metadata.util.js';
+import { isFunction } from '../../utils/shared.utils.js';
+import { validateEach } from '../../utils/validate-each.util.js';
/**
* Decorator that binds interceptors to the scope of the controller or method,
diff --git a/packages/common/decorators/core/use-pipes.decorator.ts b/packages/common/decorators/core/use-pipes.decorator.ts
index 547f9094fb6..682e996e85f 100644
--- a/packages/common/decorators/core/use-pipes.decorator.ts
+++ b/packages/common/decorators/core/use-pipes.decorator.ts
@@ -1,8 +1,8 @@
-import { PIPES_METADATA } from '../../constants';
-import { PipeTransform } from '../../interfaces/index';
-import { extendArrayMetadata } from '../../utils/extend-metadata.util';
-import { isFunction } from '../../utils/shared.utils';
-import { validateEach } from '../../utils/validate-each.util';
+import { PIPES_METADATA } from '../../constants.js';
+import { PipeTransform } from '../../interfaces/index.js';
+import { extendArrayMetadata } from '../../utils/extend-metadata.util.js';
+import { isFunction } from '../../utils/shared.utils.js';
+import { validateEach } from '../../utils/validate-each.util.js';
/**
* Decorator that binds pipes to the scope of the controller or method,
diff --git a/packages/common/decorators/core/version.decorator.ts b/packages/common/decorators/core/version.decorator.ts
index 9ab8fc88783..97f179cbdec 100644
--- a/packages/common/decorators/core/version.decorator.ts
+++ b/packages/common/decorators/core/version.decorator.ts
@@ -1,5 +1,5 @@
-import { VERSION_METADATA } from '../../constants';
-import { VersionValue } from '../../interfaces/version-options.interface';
+import { VERSION_METADATA } from '../../constants.js';
+import { VersionValue } from '../../interfaces/version-options.interface.js';
/**
* Sets the version of the endpoint to the passed version
diff --git a/packages/common/decorators/http/create-route-param-metadata.decorator.ts b/packages/common/decorators/http/create-route-param-metadata.decorator.ts
index 62f90b7f627..4ea8993827f 100644
--- a/packages/common/decorators/http/create-route-param-metadata.decorator.ts
+++ b/packages/common/decorators/http/create-route-param-metadata.decorator.ts
@@ -1,15 +1,17 @@
+import type { StandardSchemaV1 } from '@standard-schema/spec';
import { uid } from 'uid';
-import { ROUTE_ARGS_METADATA } from '../../constants';
-import { PipeTransform } from '../../index';
-import { Type } from '../../interfaces';
-import { CustomParamFactory } from '../../interfaces/features/custom-route-param-factory.interface';
-import { assignCustomParameterMetadata } from '../../utils/assign-custom-metadata.util';
-import { isFunction, isNil } from '../../utils/shared.utils';
+import { ROUTE_ARGS_METADATA } from '../../constants.js';
+import { PipeTransform } from '../../index.js';
+import { CustomParamFactory } from '../../interfaces/features/custom-route-param-factory.interface.js';
+import { Type } from '../../interfaces/index.js';
+import { assignCustomParameterMetadata } from '../../utils/assign-custom-metadata.util.js';
+import { isFunction, isNil } from '../../utils/shared.utils.js';
+import { ParameterDecoratorOptions } from './route-params.decorator.js';
export type ParamDecoratorEnhancer = ParameterDecorator;
/**
- * Defines HTTP route param decorator
+ * Defines route param decorator
*
* @param factory
* @param enhancers
@@ -20,12 +22,22 @@ export function createParamDecorator(
factory: CustomParamFactory,
enhancers: ParamDecoratorEnhancer[] = [],
): (
- ...dataOrPipes: (Type | PipeTransform | FactoryData)[]
+ ...dataOrPipes: (
+ | Type
+ | PipeTransform
+ | FactoryData
+ | ParameterDecoratorOptions
+ )[]
) => ParameterDecorator {
const paramtype = uid(21);
return (
data?,
- ...pipes: (Type | PipeTransform | FactoryData)[]
+ ...pipes: (
+ | Type
+ | PipeTransform
+ | FactoryData
+ | ParameterDecoratorOptions
+ )[]
): ParameterDecorator =>
(target, key, index) => {
const args =
@@ -39,10 +51,56 @@ export function createParamDecorator(
isFunction(pipe.prototype.transform)) ||
isFunction(pipe.transform));
+ const isParameterDecoratorOptions = (value: any): boolean =>
+ value &&
+ typeof value === 'object' &&
+ !isPipe(value) &&
+ ('schema' in value || 'pipes' in value);
+
const hasParamData = isNil(data) || !isPipe(data);
const paramData = hasParamData ? (data as any) : undefined;
const paramPipes = hasParamData ? pipes : [data, ...pipes];
+ // Check if data itself is an options object (when used as the first and only argument)
+ const isDataOptions =
+ hasParamData &&
+ !isNil(data) &&
+ paramPipes.length === 0 &&
+ isParameterDecoratorOptions(data);
+
+ // Check if the last pipe argument is actually an options object
+ const lastPipeArg =
+ paramPipes.length > 0 ? paramPipes[paramPipes.length - 1] : undefined;
+ const isLastPipeOptions =
+ !isDataOptions && isParameterDecoratorOptions(lastPipeArg);
+
+ let finalData: any;
+ let finalSchema: StandardSchemaV1 | undefined;
+ let finalPipes: (Type | PipeTransform | FactoryData)[];
+
+ if (isDataOptions) {
+ const opts = data as unknown as ParameterDecoratorOptions;
+ finalData = undefined;
+ finalSchema = opts.schema;
+ finalPipes = (opts.pipes ?? []) as any[];
+ } else if (isLastPipeOptions) {
+ const opts = lastPipeArg as unknown as ParameterDecoratorOptions;
+ finalData = paramData;
+ finalSchema = opts.schema;
+ finalPipes = [
+ ...paramPipes.slice(0, -1),
+ ...((opts.pipes ?? []) as any[]),
+ ];
+ } else {
+ finalData = paramData;
+ finalSchema = undefined;
+ finalPipes = paramPipes as (
+ | Type
+ | PipeTransform
+ | FactoryData
+ )[];
+ }
+
Reflect.defineMetadata(
ROUTE_ARGS_METADATA,
assignCustomParameterMetadata(
@@ -50,8 +108,9 @@ export function createParamDecorator(
paramtype,
index,
factory,
- paramData,
- ...(paramPipes as PipeTransform[]),
+ finalData,
+ finalSchema,
+ ...(finalPipes as PipeTransform[]),
),
target.constructor,
key!,
diff --git a/packages/common/decorators/http/header.decorator.ts b/packages/common/decorators/http/header.decorator.ts
index 875ce84728f..8b491c157b0 100644
--- a/packages/common/decorators/http/header.decorator.ts
+++ b/packages/common/decorators/http/header.decorator.ts
@@ -1,5 +1,5 @@
-import { HEADERS_METADATA } from '../../constants';
-import { extendArrayMetadata } from '../../utils/extend-metadata.util';
+import { HEADERS_METADATA } from '../../constants.js';
+import { extendArrayMetadata } from '../../utils/extend-metadata.util.js';
/**
* Request method Decorator. Sets a response header.
diff --git a/packages/common/decorators/http/http-code.decorator.ts b/packages/common/decorators/http/http-code.decorator.ts
index fc3971be0a0..a1dddee74f7 100644
--- a/packages/common/decorators/http/http-code.decorator.ts
+++ b/packages/common/decorators/http/http-code.decorator.ts
@@ -1,4 +1,4 @@
-import { HTTP_CODE_METADATA } from '../../constants';
+import { HTTP_CODE_METADATA } from '../../constants.js';
/**
* Request method Decorator. Defines the HTTP response status code. Overrides
diff --git a/packages/common/decorators/http/index.ts b/packages/common/decorators/http/index.ts
index 39b61bf003b..7a03af73c03 100644
--- a/packages/common/decorators/http/index.ts
+++ b/packages/common/decorators/http/index.ts
@@ -1,8 +1,8 @@
-export * from './request-mapping.decorator';
-export * from './route-params.decorator';
-export * from './http-code.decorator';
-export * from './create-route-param-metadata.decorator';
-export * from './render.decorator';
-export * from './header.decorator';
-export * from './redirect.decorator';
-export * from './sse.decorator';
+export * from './request-mapping.decorator.js';
+export * from './route-params.decorator.js';
+export * from './http-code.decorator.js';
+export * from './create-route-param-metadata.decorator.js';
+export * from './render.decorator.js';
+export * from './header.decorator.js';
+export * from './redirect.decorator.js';
+export * from './sse.decorator.js';
diff --git a/packages/common/decorators/http/redirect.decorator.ts b/packages/common/decorators/http/redirect.decorator.ts
index e03af9dfd01..ddd433ed82d 100644
--- a/packages/common/decorators/http/redirect.decorator.ts
+++ b/packages/common/decorators/http/redirect.decorator.ts
@@ -1,4 +1,4 @@
-import { REDIRECT_METADATA } from '../../constants';
+import { REDIRECT_METADATA } from '../../constants.js';
/**
* Redirects request to the specified URL.
diff --git a/packages/common/decorators/http/render.decorator.ts b/packages/common/decorators/http/render.decorator.ts
index 92d2f8d204b..810f3c14b3a 100644
--- a/packages/common/decorators/http/render.decorator.ts
+++ b/packages/common/decorators/http/render.decorator.ts
@@ -1,4 +1,4 @@
-import { RENDER_METADATA } from '../../constants';
+import { RENDER_METADATA } from '../../constants.js';
/**
* Route handler method Decorator. Defines a template to be rendered by the controller.
diff --git a/packages/common/decorators/http/request-mapping.decorator.ts b/packages/common/decorators/http/request-mapping.decorator.ts
index e707883cf46..45ad1b87d78 100644
--- a/packages/common/decorators/http/request-mapping.decorator.ts
+++ b/packages/common/decorators/http/request-mapping.decorator.ts
@@ -1,5 +1,5 @@
-import { METHOD_METADATA, PATH_METADATA } from '../../constants';
-import { RequestMethod } from '../../enums/request-method.enum';
+import { METHOD_METADATA, PATH_METADATA } from '../../constants.js';
+import { RequestMethod } from '../../enums/request-method.enum.js';
export interface RequestMappingMetadata {
path?: string | string[];
diff --git a/packages/common/decorators/http/route-params.decorator.ts b/packages/common/decorators/http/route-params.decorator.ts
index ddc3f9160a0..2a0f4a06823 100644
--- a/packages/common/decorators/http/route-params.decorator.ts
+++ b/packages/common/decorators/http/route-params.decorator.ts
@@ -1,11 +1,28 @@
+import type { StandardSchemaV1 } from '@standard-schema/spec';
import {
RESPONSE_PASSTHROUGH_METADATA,
ROUTE_ARGS_METADATA,
-} from '../../constants';
-import { RouteParamtypes } from '../../enums/route-paramtypes.enum';
-import { PipeTransform } from '../../index';
-import { Type } from '../../interfaces';
-import { isNil, isString } from '../../utils/shared.utils';
+} from '../../constants.js';
+import { RouteParamtypes } from '../../enums/route-paramtypes.enum.js';
+import { PipeTransform } from '../../index.js';
+import { Type } from '../../interfaces/index.js';
+import { isNil, isString } from '../../utils/shared.utils.js';
+
+/**
+ * The options that can be passed to a handler's parameter decorator, such as `@Query()`, `@Body()`, and others.
+ * These options allow you to specify a schema for validation and transformation, as well as any pipes to apply to the parameter.
+ */
+export interface ParameterDecoratorOptions {
+ /**
+ * The schema to use to retrieve within the pipes,
+ * to, for example, validate the parameter against the schema or to apply transformations based on the schema.
+ */
+ schema?: StandardSchemaV1;
+ /**
+ * The list of pipes to apply to the parameter.
+ */
+ pipes?: (Type | PipeTransform)[];
+}
/**
* The `@Response()`/`@Res` parameter decorator options.
@@ -31,15 +48,17 @@ export function assignMetadata(
args: TArgs,
paramtype: TParamtype,
index: number,
- data?: ParamData,
- ...pipes: (Type | PipeTransform)[]
+ options: {
+ data?: ParamData;
+ } & ParameterDecoratorOptions,
) {
return {
...args,
[`${paramtype as string}:${index}`]: {
index,
- data,
- pipes,
+ data: options.data,
+ pipes: options.pipes ?? [],
+ ...(options.schema !== undefined && { schema: options.schema }),
},
};
}
@@ -56,7 +75,9 @@ function createRouteParamDecorator(paramtype: RouteParamtypes) {
args,
paramtype,
index,
- data,
+ {
+ data,
+ },
),
target.constructor,
key!,
@@ -66,20 +87,27 @@ function createRouteParamDecorator(paramtype: RouteParamtypes) {
const createPipesRouteParamDecorator =
(paramtype: RouteParamtypes) =>
- (
- data?: any,
- ...pipes: (Type | PipeTransform)[]
- ): ParameterDecorator =>
+ ({
+ data,
+ pipes,
+ schema,
+ }: ParameterDecoratorOptions & { data?: unknown }): ParameterDecorator =>
(target, key, index) => {
const args =
Reflect.getMetadata(ROUTE_ARGS_METADATA, target.constructor, key!) || {};
const hasParamData = isNil(data) || isString(data);
const paramData = hasParamData ? data : undefined;
- const paramPipes = hasParamData ? pipes : [data, ...pipes];
+ const paramPipes = hasParamData
+ ? (pipes ?? [])
+ : [data as Type | PipeTransform, ...(pipes ?? [])];
Reflect.defineMetadata(
ROUTE_ARGS_METADATA,
- assignMetadata(args, paramtype, index, paramData!, ...paramPipes),
+ assignMetadata(args, paramtype, index, {
+ data: paramData!,
+ pipes: paramPipes,
+ schema,
+ }),
target.constructor,
key!,
);
@@ -242,10 +270,10 @@ export function UploadedFile(
fileKey?: string | (Type | PipeTransform),
...pipes: (Type | PipeTransform)[]
): ParameterDecorator {
- return createPipesRouteParamDecorator(RouteParamtypes.FILE)(
- fileKey,
- ...pipes,
- );
+ return createPipesRouteParamDecorator(RouteParamtypes.FILE)({
+ data: fileKey,
+ pipes,
+ });
}
/**
@@ -303,10 +331,9 @@ export function UploadedFiles(
export function UploadedFiles(
...pipes: (Type | PipeTransform)[]
): ParameterDecorator {
- return createPipesRouteParamDecorator(RouteParamtypes.FILES)(
- undefined,
- ...pipes,
- );
+ return createPipesRouteParamDecorator(RouteParamtypes.FILES)({
+ pipes,
+ });
}
/**
@@ -399,6 +426,47 @@ export function Query(
* ```
*
* @param property name of single property to extract from the `query` object
+ * @param options options object containing additional configuration for the decorator, such as pipes and schema
+ *
+ * @see [Request object](https://docs.nestjs.com/controllers#request-object)
+ *
+ * @publicApi
+ */
+export function Query(
+ property: string,
+ options: ParameterDecoratorOptions,
+): ParameterDecorator;
+/**
+ * Route handler parameter decorator. Extracts the `query`
+ * property from the `req` object and populates the decorated
+ * parameter with the value of `query`. May also apply pipes to the bound
+ * query parameter.
+ *
+ * For example:
+ * ```typescript
+ * async find(@Query({ schema: z.object({ user: z.string() }) }) query)
+ * ```
+ *
+ * @param options options object containing additional configuration for the decorator, such as pipes and schema
+ *
+ * @see [Request object](https://docs.nestjs.com/controllers#request-object)
+ *
+ * @publicApi
+ */
+export function Query(options: ParameterDecoratorOptions): ParameterDecorator;
+/**
+ * Route handler parameter decorator. Extracts the `query`
+ * property from the `req` object and populates the decorated
+ * parameter with the value of `query`. May also apply pipes to the bound
+ * query parameter.
+ *
+ * For example:
+ * ```typescript
+ * async find(@Query('user') user: string)
+ * ```
+ *
+ * @param property name of single property to extract from the `query` object
+ * @param optionsOrPipe one or more pipes to apply to the bound query parameter or options object
* @param pipes one or more pipes to apply to the bound query parameter
*
* @see [Request object](https://docs.nestjs.com/controllers#request-object)
@@ -406,13 +474,44 @@ export function Query(
* @publicApi
*/
export function Query(
- property?: string | (Type | PipeTransform),
+ property?:
+ | string
+ | (Type | PipeTransform)
+ | ParameterDecoratorOptions,
+ optionsOrPipe?:
+ | ParameterDecoratorOptions
+ | Type
+ | PipeTransform,
...pipes: (Type | PipeTransform)[]
): ParameterDecorator {
- return createPipesRouteParamDecorator(RouteParamtypes.QUERY)(
- property,
- ...pipes,
- );
+ const isPropertyOptions =
+ property &&
+ typeof property === 'object' &&
+ !('transform' in property) &&
+ ('schema' in property || 'pipes' in property);
+
+ if (isPropertyOptions) {
+ return createPipesRouteParamDecorator(RouteParamtypes.QUERY)({
+ pipes: property.pipes,
+ schema: property.schema,
+ });
+ }
+
+ const isOptions =
+ optionsOrPipe &&
+ typeof optionsOrPipe === 'object' &&
+ ('schema' in optionsOrPipe || 'pipes' in optionsOrPipe);
+ const actualPipes = isOptions
+ ? optionsOrPipe.pipes
+ : ([optionsOrPipe, ...pipes].filter(Boolean) as (
+ | Type
+ | PipeTransform
+ )[]);
+ return createPipesRouteParamDecorator(RouteParamtypes.QUERY)({
+ data: property,
+ pipes: actualPipes,
+ schema: isOptions ? optionsOrPipe.schema : undefined,
+ });
}
/**
@@ -430,7 +529,6 @@ export function Query(
* @publicApi
*/
export function Body(): ParameterDecorator;
-
/**
* Route handler parameter decorator. Extracts the entire `body`
* object from the `req` object and populates the decorated
@@ -453,7 +551,23 @@ export function Body(): ParameterDecorator;
export function Body(
...pipes: (Type | PipeTransform)[]
): ParameterDecorator;
-
+/**
+ * Route handler parameter decorator. Extracts the entire `body` object
+ * property, or optionally a named property of the `body` object, from
+ * the `req` object and populates the decorated parameter with that value.
+ *
+ * For example:
+ * ```typescript
+ * async create(@Body('role') role: string)
+ * ```
+ *
+ * @param options options to apply to the bound body parameter.
+ *
+ * @see [Request object](https://docs.nestjs.com/controllers#request-object)
+ *
+ * @publicApi
+ */
+export function Body(options: ParameterDecoratorOptions): ParameterDecorator;
/**
* Route handler parameter decorator. Extracts a single property from
* the `body` object property of the `req` object and populates the decorated
@@ -478,7 +592,6 @@ export function Body(
property: string,
...pipes: (Type | PipeTransform)[]
): ParameterDecorator;
-
/**
* Route handler parameter decorator. Extracts the entire `body` object
* property, or optionally a named property of the `body` object, from
@@ -491,6 +604,30 @@ export function Body(
* ```
*
* @param property name of single property to extract from the `body` object
+ * @param options options to apply to the bound body parameter.
+ *
+ * @see [Request object](https://docs.nestjs.com/controllers#request-object)
+ * @see [Working with pipes](https://docs.nestjs.com/custom-decorators#working-with-pipes)
+ *
+ * @publicApi
+ */
+export function Body(
+ property: string,
+ options: ParameterDecoratorOptions,
+): ParameterDecorator;
+/**
+ * Route handler parameter decorator. Extracts the entire `body` object
+ * property, or optionally a named property of the `body` object, from
+ * the `req` object and populates the decorated parameter with that value.
+ * Also applies pipes to the bound body parameter.
+ *
+ * For example:
+ * ```typescript
+ * async create(@Body('role', new ValidationPipe()) role: string)
+ * ```
+ *
+ * @param property name of single property to extract from the `body` object
+ * @param optionsOrPipe options to apply to the bound body parameter.
* @param pipes one or more pipes - either instances or classes - to apply to
* the bound body parameter.
*
@@ -500,13 +637,44 @@ export function Body(
* @publicApi
*/
export function Body(
- property?: string | (Type | PipeTransform),
+ property?:
+ | string
+ | (Type | PipeTransform)
+ | ParameterDecoratorOptions,
+ optionsOrPipe?:
+ | ParameterDecoratorOptions
+ | Type
+ | PipeTransform,
...pipes: (Type | PipeTransform)[]
): ParameterDecorator {
- return createPipesRouteParamDecorator(RouteParamtypes.BODY)(
- property,
- ...pipes,
- );
+ const isPropertyOptions =
+ property &&
+ typeof property === 'object' &&
+ !('transform' in property) &&
+ ('schema' in property || 'pipes' in property);
+
+ if (isPropertyOptions) {
+ return createPipesRouteParamDecorator(RouteParamtypes.BODY)({
+ pipes: property.pipes,
+ schema: property.schema,
+ });
+ }
+
+ const isOptions =
+ optionsOrPipe &&
+ typeof optionsOrPipe === 'object' &&
+ ('schema' in optionsOrPipe || 'pipes' in optionsOrPipe);
+ const actualPipes = isOptions
+ ? optionsOrPipe.pipes
+ : ([optionsOrPipe, ...pipes].filter(Boolean) as (
+ | Type
+ | PipeTransform
+ )[]);
+ return createPipesRouteParamDecorator(RouteParamtypes.BODY)({
+ data: property,
+ pipes: actualPipes,
+ schema: isOptions ? optionsOrPipe.schema : undefined,
+ });
}
/**
@@ -551,6 +719,26 @@ export function RawBody(
)[]
): ParameterDecorator;
+/**
+ * Route handler parameter decorator. Extracts the `rawBody` Buffer
+ * property from the `req` object and populates the decorated parameter with that value.
+ * Also applies pipes to the bound rawBody parameter.
+ *
+ * For example:
+ * ```typescript
+ * async create(@RawBody({ schema: z.instanceof(Buffer) }) rawBody: Buffer)
+ * ```
+ *
+ * @param options options object containing additional configuration for the decorator, such as pipes and schema
+ *
+ * @see [Request object](https://docs.nestjs.com/controllers#request-object)
+ * @see [Raw body](https://docs.nestjs.com/faq/raw-body)
+ * @see [Working with pipes](https://docs.nestjs.com/custom-decorators#working-with-pipes)
+ *
+ * @publicApi
+ */
+export function RawBody(options: ParameterDecoratorOptions): ParameterDecorator;
+
/**
* Route handler parameter decorator. Extracts the `rawBody` Buffer
* property from the `req` object and populates the decorated parameter with that value.
@@ -561,6 +749,7 @@ export function RawBody(
* async create(@RawBody(new ValidationPipe()) rawBody: Buffer)
* ```
*
+ * @param optionsOrPipe one or more pipes to apply or options object
* @param pipes one or more pipes - either instances or classes - to apply to
* the bound body parameter.
*
@@ -571,15 +760,29 @@ export function RawBody(
* @publicApi
*/
export function RawBody(
+ optionsOrPipe?:
+ | ParameterDecoratorOptions
+ | Type>
+ | PipeTransform,
...pipes: (
| Type>
| PipeTransform
)[]
): ParameterDecorator {
- return createPipesRouteParamDecorator(RouteParamtypes.RAW_BODY)(
- undefined,
- ...pipes,
- );
+ const isOptions =
+ optionsOrPipe &&
+ typeof optionsOrPipe === 'object' &&
+ ('schema' in optionsOrPipe || 'pipes' in optionsOrPipe);
+ const actualPipes = isOptions
+ ? optionsOrPipe.pipes
+ : ([optionsOrPipe, ...pipes].filter(Boolean) as (
+ | Type
+ | PipeTransform
+ )[]);
+ return createPipesRouteParamDecorator(RouteParamtypes.RAW_BODY)({
+ pipes: actualPipes,
+ schema: isOptions ? optionsOrPipe.schema : undefined,
+ });
}
/**
@@ -662,6 +865,47 @@ export function Param(
property: string,
...pipes: (Type | PipeTransform)[]
): ParameterDecorator;
+/**
+ * Route handler parameter decorator. Extracts the `params`
+ * property from the `req` object and populates the decorated
+ * parameter with the value of `params`. May also apply pipes to the bound
+ * parameter.
+ *
+ * For example, extracting a single param:
+ * ```typescript
+ * findOne(@Param('id', { schema: z.string().uuid() }) id: string)
+ * ```
+ * @param property name of single property to extract from the `req` object
+ * @param options options object containing additional configuration for the decorator, such as pipes and schema
+ *
+ * @see [Request object](https://docs.nestjs.com/controllers#request-object)
+ * @see [Working with pipes](https://docs.nestjs.com/custom-decorators#working-with-pipes)
+ *
+ * @publicApi
+ */
+export function Param(
+ property: string,
+ options: ParameterDecoratorOptions,
+): ParameterDecorator;
+/**
+ * Route handler parameter decorator. Extracts the `params`
+ * property from the `req` object and populates the decorated
+ * parameter with the value of `params`. May also apply pipes to the bound
+ * parameter.
+ *
+ * For example:
+ * ```typescript
+ * findOne(@Param({ schema: z.object({ id: z.string().uuid() }) }) params)
+ * ```
+ *
+ * @param options options object containing additional configuration for the decorator, such as pipes and schema
+ *
+ * @see [Request object](https://docs.nestjs.com/controllers#request-object)
+ * @see [Working with pipes](https://docs.nestjs.com/custom-decorators#working-with-pipes)
+ *
+ * @publicApi
+ */
+export function Param(options: ParameterDecoratorOptions): ParameterDecorator;
/**
* Route handler parameter decorator. Extracts the `params`
* property from the `req` object and populates the decorated
@@ -678,6 +922,7 @@ export function Param(
* findOne(@Param('id') id: string)
* ```
* @param property name of single property to extract from the `req` object
+ * @param optionsOrPipe one or more pipes to apply to the bound parameter or options object
* @param pipes one or more pipes - either instances or classes - to apply to
* the bound parameter.
*
@@ -687,13 +932,44 @@ export function Param(
* @publicApi
*/
export function Param(
- property?: string | (Type | PipeTransform),
+ property?:
+ | string
+ | (Type | PipeTransform)
+ | ParameterDecoratorOptions,
+ optionsOrPipe?:
+ | ParameterDecoratorOptions
+ | Type
+ | PipeTransform,
...pipes: (Type | PipeTransform)[]
): ParameterDecorator {
- return createPipesRouteParamDecorator(RouteParamtypes.PARAM)(
- property,
- ...pipes,
- );
+ const isPropertyOptions =
+ property &&
+ typeof property === 'object' &&
+ !('transform' in property) &&
+ ('schema' in property || 'pipes' in property);
+
+ if (isPropertyOptions) {
+ return createPipesRouteParamDecorator(RouteParamtypes.PARAM)({
+ pipes: property.pipes,
+ schema: property.schema,
+ });
+ }
+
+ const isOptions =
+ optionsOrPipe &&
+ typeof optionsOrPipe === 'object' &&
+ ('schema' in optionsOrPipe || 'pipes' in optionsOrPipe);
+ const actualPipes = isOptions
+ ? optionsOrPipe.pipes
+ : ([optionsOrPipe, ...pipes].filter(Boolean) as (
+ | Type
+ | PipeTransform
+ )[]);
+ return createPipesRouteParamDecorator(RouteParamtypes.PARAM)({
+ data: property,
+ pipes: actualPipes,
+ schema: isOptions ? optionsOrPipe.schema : undefined,
+ });
}
/**
diff --git a/packages/common/decorators/http/sse.decorator.ts b/packages/common/decorators/http/sse.decorator.ts
index 5dae6aef7a8..302b7905290 100644
--- a/packages/common/decorators/http/sse.decorator.ts
+++ b/packages/common/decorators/http/sse.decorator.ts
@@ -1,5 +1,9 @@
-import { METHOD_METADATA, PATH_METADATA, SSE_METADATA } from '../../constants';
-import { RequestMethod } from '../../enums/request-method.enum';
+import {
+ METHOD_METADATA,
+ PATH_METADATA,
+ SSE_METADATA,
+} from '../../constants.js';
+import { RequestMethod } from '../../enums/request-method.enum.js';
/**
* Declares this route as a Server-Sent-Events endpoint
diff --git a/packages/common/decorators/index.ts b/packages/common/decorators/index.ts
index 20ab3a19c41..44fa86f967e 100644
--- a/packages/common/decorators/index.ts
+++ b/packages/common/decorators/index.ts
@@ -1,3 +1,3 @@
-export * from './core';
-export * from './modules';
-export * from './http';
+export * from './core/index.js';
+export * from './modules/index.js';
+export * from './http/index.js';
diff --git a/packages/common/decorators/modules/global.decorator.ts b/packages/common/decorators/modules/global.decorator.ts
index 7b9c5ef2c9e..c9549056107 100644
--- a/packages/common/decorators/modules/global.decorator.ts
+++ b/packages/common/decorators/modules/global.decorator.ts
@@ -1,4 +1,4 @@
-import { GLOBAL_MODULE_METADATA } from '../../constants';
+import { GLOBAL_MODULE_METADATA } from '../../constants.js';
/**
* Decorator that makes a module global-scoped.
diff --git a/packages/common/decorators/modules/index.ts b/packages/common/decorators/modules/index.ts
index e1994f74e79..1997b8fe963 100644
--- a/packages/common/decorators/modules/index.ts
+++ b/packages/common/decorators/modules/index.ts
@@ -1,2 +1,2 @@
-export * from './global.decorator';
-export * from './module.decorator';
+export * from './global.decorator.js';
+export * from './module.decorator.js';
diff --git a/packages/common/decorators/modules/module.decorator.ts b/packages/common/decorators/modules/module.decorator.ts
index 9ab617a6435..5bef01365f2 100644
--- a/packages/common/decorators/modules/module.decorator.ts
+++ b/packages/common/decorators/modules/module.decorator.ts
@@ -1,5 +1,5 @@
-import { ModuleMetadata } from '../../interfaces/modules/module-metadata.interface';
-import { validateModuleKeys } from '../../utils/validate-module-keys.util';
+import { ModuleMetadata } from '../../interfaces/modules/module-metadata.interface.js';
+import { validateModuleKeys } from '../../utils/validate-module-keys.util.js';
/**
* Decorator that marks a class as a [module](https://docs.nestjs.com/modules).
diff --git a/packages/common/enums/index.ts b/packages/common/enums/index.ts
index 13ee987c228..01bac419e7c 100644
--- a/packages/common/enums/index.ts
+++ b/packages/common/enums/index.ts
@@ -1,4 +1,4 @@
-export * from './request-method.enum';
-export * from './http-status.enum';
-export * from './shutdown-signal.enum';
-export * from './version-type.enum';
+export * from './request-method.enum.js';
+export * from './http-status.enum.js';
+export * from './shutdown-signal.enum.js';
+export * from './version-type.enum.js';
diff --git a/packages/common/exceptions/bad-gateway.exception.ts b/packages/common/exceptions/bad-gateway.exception.ts
index 5bb9cd156a3..c9f3b33610b 100644
--- a/packages/common/exceptions/bad-gateway.exception.ts
+++ b/packages/common/exceptions/bad-gateway.exception.ts
@@ -1,5 +1,5 @@
-import { HttpStatus } from '../enums/http-status.enum';
-import { HttpException, HttpExceptionOptions } from './http.exception';
+import { HttpStatus } from '../enums/http-status.enum.js';
+import { HttpException, HttpExceptionOptions } from './http.exception.js';
/**
* Defines an HTTP exception for *Bad Gateway* type errors.
@@ -37,13 +37,13 @@ export class BadGatewayException extends HttpException {
objectOrError?: any,
descriptionOrOptions: string | HttpExceptionOptions = 'Bad Gateway',
) {
- const { description, httpExceptionOptions } =
+ const { description = 'Bad Gateway', httpExceptionOptions } =
HttpException.extractDescriptionAndOptionsFrom(descriptionOrOptions);
super(
HttpException.createBody(
objectOrError,
- description!,
+ description,
HttpStatus.BAD_GATEWAY,
),
HttpStatus.BAD_GATEWAY,
diff --git a/packages/common/exceptions/bad-request.exception.ts b/packages/common/exceptions/bad-request.exception.ts
index 33ad6652b65..1bc580fbdfb 100644
--- a/packages/common/exceptions/bad-request.exception.ts
+++ b/packages/common/exceptions/bad-request.exception.ts
@@ -1,5 +1,5 @@
-import { HttpStatus } from '../enums/http-status.enum';
-import { HttpException, HttpExceptionOptions } from './http.exception';
+import { HttpStatus } from '../enums/http-status.enum.js';
+import { HttpException, HttpExceptionOptions } from './http.exception.js';
/**
* Defines an HTTP exception for *Bad Request* type errors.
@@ -37,13 +37,13 @@ export class BadRequestException extends HttpException {
objectOrError?: any,
descriptionOrOptions: string | HttpExceptionOptions = 'Bad Request',
) {
- const { description, httpExceptionOptions } =
+ const { description = 'Bad Request', httpExceptionOptions } =
HttpException.extractDescriptionAndOptionsFrom(descriptionOrOptions);
super(
HttpException.createBody(
objectOrError,
- description!,
+ description,
HttpStatus.BAD_REQUEST,
),
HttpStatus.BAD_REQUEST,
diff --git a/packages/common/exceptions/conflict.exception.ts b/packages/common/exceptions/conflict.exception.ts
index 27bdda8aa07..18809838b5f 100644
--- a/packages/common/exceptions/conflict.exception.ts
+++ b/packages/common/exceptions/conflict.exception.ts
@@ -1,5 +1,5 @@
-import { HttpStatus } from '../enums/http-status.enum';
-import { HttpException, HttpExceptionOptions } from './http.exception';
+import { HttpStatus } from '../enums/http-status.enum.js';
+import { HttpException, HttpExceptionOptions } from './http.exception.js';
/**
* Defines an HTTP exception for *Conflict* type errors.
@@ -37,15 +37,11 @@ export class ConflictException extends HttpException {
objectOrError?: any,
descriptionOrOptions: string | HttpExceptionOptions = 'Conflict',
) {
- const { description, httpExceptionOptions } =
+ const { description = 'Conflict', httpExceptionOptions } =
HttpException.extractDescriptionAndOptionsFrom(descriptionOrOptions);
super(
- HttpException.createBody(
- objectOrError,
- description!,
- HttpStatus.CONFLICT,
- ),
+ HttpException.createBody(objectOrError, description, HttpStatus.CONFLICT),
HttpStatus.CONFLICT,
httpExceptionOptions,
);
diff --git a/packages/common/exceptions/forbidden.exception.ts b/packages/common/exceptions/forbidden.exception.ts
index f04b86bcaa0..00e89e679ce 100644
--- a/packages/common/exceptions/forbidden.exception.ts
+++ b/packages/common/exceptions/forbidden.exception.ts
@@ -1,5 +1,5 @@
-import { HttpStatus } from '../enums/http-status.enum';
-import { HttpException, HttpExceptionOptions } from './http.exception';
+import { HttpStatus } from '../enums/http-status.enum.js';
+import { HttpException, HttpExceptionOptions } from './http.exception.js';
/**
* Defines an HTTP exception for *Forbidden* type errors.
@@ -37,13 +37,13 @@ export class ForbiddenException extends HttpException {
objectOrError?: any,
descriptionOrOptions: string | HttpExceptionOptions = 'Forbidden',
) {
- const { description, httpExceptionOptions } =
+ const { description = 'Forbidden', httpExceptionOptions } =
HttpException.extractDescriptionAndOptionsFrom(descriptionOrOptions);
super(
HttpException.createBody(
objectOrError,
- description!,
+ description,
HttpStatus.FORBIDDEN,
),
HttpStatus.FORBIDDEN,
diff --git a/packages/common/exceptions/gateway-timeout.exception.ts b/packages/common/exceptions/gateway-timeout.exception.ts
index 49dee49381f..e7ef9958d39 100644
--- a/packages/common/exceptions/gateway-timeout.exception.ts
+++ b/packages/common/exceptions/gateway-timeout.exception.ts
@@ -1,5 +1,5 @@
-import { HttpStatus } from '../enums/http-status.enum';
-import { HttpException, HttpExceptionOptions } from './http.exception';
+import { HttpStatus } from '../enums/http-status.enum.js';
+import { HttpException, HttpExceptionOptions } from './http.exception.js';
/**
* Defines an HTTP exception for *Gateway Timeout* type errors.
@@ -37,13 +37,13 @@ export class GatewayTimeoutException extends HttpException {
objectOrError?: any,
descriptionOrOptions: string | HttpExceptionOptions = 'Gateway Timeout',
) {
- const { description, httpExceptionOptions } =
+ const { description = 'Gateway Timeout', httpExceptionOptions } =
HttpException.extractDescriptionAndOptionsFrom(descriptionOrOptions);
super(
HttpException.createBody(
objectOrError,
- description!,
+ description,
HttpStatus.GATEWAY_TIMEOUT,
),
HttpStatus.GATEWAY_TIMEOUT,
diff --git a/packages/common/exceptions/gone.exception.ts b/packages/common/exceptions/gone.exception.ts
index b1fc0f65b52..cadf3a0702b 100644
--- a/packages/common/exceptions/gone.exception.ts
+++ b/packages/common/exceptions/gone.exception.ts
@@ -1,5 +1,5 @@
-import { HttpStatus } from '../enums/http-status.enum';
-import { HttpException, HttpExceptionOptions } from './http.exception';
+import { HttpStatus } from '../enums/http-status.enum.js';
+import { HttpException, HttpExceptionOptions } from './http.exception.js';
/**
* Defines an HTTP exception for *Gone* type errors.
@@ -37,11 +37,11 @@ export class GoneException extends HttpException {
objectOrError?: any,
descriptionOrOptions: string | HttpExceptionOptions = 'Gone',
) {
- const { description, httpExceptionOptions } =
+ const { description = 'Gone', httpExceptionOptions } =
HttpException.extractDescriptionAndOptionsFrom(descriptionOrOptions);
super(
- HttpException.createBody(objectOrError, description!, HttpStatus.GONE),
+ HttpException.createBody(objectOrError, description, HttpStatus.GONE),
HttpStatus.GONE,
httpExceptionOptions,
);
diff --git a/packages/common/exceptions/http-version-not-supported.exception.ts b/packages/common/exceptions/http-version-not-supported.exception.ts
index 23283d343e2..8c7451ef21f 100644
--- a/packages/common/exceptions/http-version-not-supported.exception.ts
+++ b/packages/common/exceptions/http-version-not-supported.exception.ts
@@ -1,5 +1,5 @@
-import { HttpStatus } from '../enums/http-status.enum';
-import { HttpException, HttpExceptionOptions } from './http.exception';
+import { HttpStatus } from '../enums/http-status.enum.js';
+import { HttpException, HttpExceptionOptions } from './http.exception.js';
/**
* Defines an HTTP exception for *Http Version Not Supported* type errors.
@@ -39,13 +39,13 @@ export class HttpVersionNotSupportedException extends HttpException {
| string
| HttpExceptionOptions = 'HTTP Version Not Supported',
) {
- const { description, httpExceptionOptions } =
+ const { description = 'HTTP Version Not Supported', httpExceptionOptions } =
HttpException.extractDescriptionAndOptionsFrom(descriptionOrOptions);
super(
HttpException.createBody(
objectOrError,
- description!,
+ description,
HttpStatus.HTTP_VERSION_NOT_SUPPORTED,
),
HttpStatus.HTTP_VERSION_NOT_SUPPORTED,
diff --git a/packages/common/exceptions/http.exception.ts b/packages/common/exceptions/http.exception.ts
index 8b21b9a392f..1d4782103a0 100644
--- a/packages/common/exceptions/http.exception.ts
+++ b/packages/common/exceptions/http.exception.ts
@@ -1,14 +1,15 @@
import {
HttpExceptionBody,
HttpExceptionBodyMessage,
-} from '../interfaces/http/http-exception-body.interface';
-import { isNumber, isObject, isString } from '../utils/shared.utils';
-import { IntrinsicException } from './intrinsic.exception';
+} from '../interfaces/http/http-exception-body.interface.js';
+import { isNumber, isObject, isString } from '../utils/shared.utils.js';
+import { IntrinsicException } from './intrinsic.exception.js';
export interface HttpExceptionOptions {
/** original cause of the error */
cause?: unknown;
description?: string;
+ errorCode?: string;
}
export interface DescriptionAndOptions {
@@ -30,6 +31,7 @@ export class HttpException extends IntrinsicException {
* It is used when catching and re-throwing an error with a more-specific or useful error message in order to still have access to the original error.
*/
public cause: unknown;
+ public errorCode?: string;
/**
* Instantiate a plain HTTP Exception.
@@ -73,6 +75,7 @@ export class HttpException extends IntrinsicException {
this.initMessage();
this.initName();
this.initCause();
+ this.initErrorCode();
}
/**
@@ -88,6 +91,12 @@ export class HttpException extends IntrinsicException {
}
}
+ public initErrorCode(): void {
+ if (this.options?.errorCode) {
+ this.errorCode = this.options.errorCode;
+ }
+ }
+
public initMessage() {
if (isString(this.response)) {
this.message = this.response;
@@ -122,6 +131,12 @@ export class HttpException extends IntrinsicException {
error: string,
statusCode: number,
): HttpExceptionBody;
+ public static createBody(
+ message: HttpExceptionBodyMessage,
+ error: string,
+ statusCode: number,
+ errorCode?: string,
+ ): HttpExceptionBody;
public static createBody>(
custom: Body,
): Body;
@@ -129,20 +144,29 @@ export class HttpException extends IntrinsicException {
arg0: null | HttpExceptionBodyMessage | Body,
arg1?: HttpExceptionBodyMessage | string,
statusCode?: number,
+ errorCode?: string,
): HttpExceptionBody | Body {
if (!arg0) {
- return {
+ const body: HttpExceptionBody = {
message: arg1!,
statusCode: statusCode!,
};
+ if (errorCode) {
+ body.errorCode = errorCode;
+ }
+ return body;
}
if (isString(arg0) || Array.isArray(arg0) || isNumber(arg0)) {
- return {
+ const body: HttpExceptionBody = {
message: arg0,
error: arg1 as string,
statusCode: statusCode!,
};
+ if (errorCode) {
+ body.errorCode = errorCode;
+ }
+ return body;
}
return arg0;
diff --git a/packages/common/exceptions/im-a-teapot.exception.ts b/packages/common/exceptions/im-a-teapot.exception.ts
index 209e32c4380..ab181289de7 100644
--- a/packages/common/exceptions/im-a-teapot.exception.ts
+++ b/packages/common/exceptions/im-a-teapot.exception.ts
@@ -1,5 +1,5 @@
-import { HttpStatus } from '../enums/http-status.enum';
-import { HttpException, HttpExceptionOptions } from './http.exception';
+import { HttpStatus } from '../enums/http-status.enum.js';
+import { HttpException, HttpExceptionOptions } from './http.exception.js';
/**
* Defines an HTTP exception for *ImATeapotException* type errors.
@@ -40,13 +40,13 @@ export class ImATeapotException extends HttpException {
objectOrError?: any,
descriptionOrOptions: string | HttpExceptionOptions = `I'm a teapot`,
) {
- const { description, httpExceptionOptions } =
+ const { description = `I'm a teapot`, httpExceptionOptions } =
HttpException.extractDescriptionAndOptionsFrom(descriptionOrOptions);
super(
HttpException.createBody(
objectOrError,
- description!,
+ description,
HttpStatus.I_AM_A_TEAPOT,
),
HttpStatus.I_AM_A_TEAPOT,
diff --git a/packages/common/exceptions/index.ts b/packages/common/exceptions/index.ts
index 554218336df..b46622e7a89 100644
--- a/packages/common/exceptions/index.ts
+++ b/packages/common/exceptions/index.ts
@@ -1,23 +1,23 @@
-export * from './bad-gateway.exception';
-export * from './bad-request.exception';
-export * from './conflict.exception';
-export * from './forbidden.exception';
-export * from './gateway-timeout.exception';
-export * from './gone.exception';
-export * from './http-version-not-supported.exception';
-export * from './http.exception';
-export * from './im-a-teapot.exception';
-export * from './internal-server-error.exception';
-export * from './intrinsic.exception';
-export * from './method-not-allowed.exception';
-export * from './misdirected.exception';
-export * from './not-acceptable.exception';
-export * from './not-found.exception';
-export * from './not-implemented.exception';
-export * from './payload-too-large.exception';
-export * from './precondition-failed.exception';
-export * from './request-timeout.exception';
-export * from './service-unavailable.exception';
-export * from './unauthorized.exception';
-export * from './unprocessable-entity.exception';
-export * from './unsupported-media-type.exception';
+export * from './bad-gateway.exception.js';
+export * from './bad-request.exception.js';
+export * from './conflict.exception.js';
+export * from './forbidden.exception.js';
+export * from './gateway-timeout.exception.js';
+export * from './gone.exception.js';
+export * from './http-version-not-supported.exception.js';
+export * from './http.exception.js';
+export * from './im-a-teapot.exception.js';
+export * from './internal-server-error.exception.js';
+export * from './intrinsic.exception.js';
+export * from './method-not-allowed.exception.js';
+export * from './misdirected.exception.js';
+export * from './not-acceptable.exception.js';
+export * from './not-found.exception.js';
+export * from './not-implemented.exception.js';
+export * from './payload-too-large.exception.js';
+export * from './precondition-failed.exception.js';
+export * from './request-timeout.exception.js';
+export * from './service-unavailable.exception.js';
+export * from './unauthorized.exception.js';
+export * from './unprocessable-entity.exception.js';
+export * from './unsupported-media-type.exception.js';
diff --git a/packages/common/exceptions/internal-server-error.exception.ts b/packages/common/exceptions/internal-server-error.exception.ts
index f8955b86afb..cfe002ed35e 100644
--- a/packages/common/exceptions/internal-server-error.exception.ts
+++ b/packages/common/exceptions/internal-server-error.exception.ts
@@ -1,5 +1,5 @@
-import { HttpStatus } from '../enums/http-status.enum';
-import { HttpException, HttpExceptionOptions } from './http.exception';
+import { HttpStatus } from '../enums/http-status.enum.js';
+import { HttpException, HttpExceptionOptions } from './http.exception.js';
/**
* Defines an HTTP exception for *Internal Server Error* type errors.
@@ -39,13 +39,13 @@ export class InternalServerErrorException extends HttpException {
| string
| HttpExceptionOptions = 'Internal Server Error',
) {
- const { description, httpExceptionOptions } =
+ const { description = 'Internal Server Error', httpExceptionOptions } =
HttpException.extractDescriptionAndOptionsFrom(descriptionOrOptions);
super(
HttpException.createBody(
objectOrError,
- description!,
+ description,
HttpStatus.INTERNAL_SERVER_ERROR,
),
HttpStatus.INTERNAL_SERVER_ERROR,
diff --git a/packages/common/exceptions/method-not-allowed.exception.ts b/packages/common/exceptions/method-not-allowed.exception.ts
index e6db6198cf5..d16cb37e00c 100644
--- a/packages/common/exceptions/method-not-allowed.exception.ts
+++ b/packages/common/exceptions/method-not-allowed.exception.ts
@@ -1,5 +1,5 @@
-import { HttpStatus } from '../enums/http-status.enum';
-import { HttpException, HttpExceptionOptions } from './http.exception';
+import { HttpStatus } from '../enums/http-status.enum.js';
+import { HttpException, HttpExceptionOptions } from './http.exception.js';
/**
* Defines an HTTP exception for *Method Not Allowed* type errors.
@@ -37,13 +37,13 @@ export class MethodNotAllowedException extends HttpException {
objectOrError?: any,
descriptionOrOptions: string | HttpExceptionOptions = 'Method Not Allowed',
) {
- const { description, httpExceptionOptions } =
+ const { description = 'Method Not Allowed', httpExceptionOptions } =
HttpException.extractDescriptionAndOptionsFrom(descriptionOrOptions);
super(
HttpException.createBody(
objectOrError,
- description!,
+ description,
HttpStatus.METHOD_NOT_ALLOWED,
),
HttpStatus.METHOD_NOT_ALLOWED,
diff --git a/packages/common/exceptions/misdirected.exception.ts b/packages/common/exceptions/misdirected.exception.ts
index 4ff86459f62..c95515c263b 100644
--- a/packages/common/exceptions/misdirected.exception.ts
+++ b/packages/common/exceptions/misdirected.exception.ts
@@ -1,5 +1,5 @@
-import { HttpStatus } from '../enums/http-status.enum';
-import { HttpException, HttpExceptionOptions } from './http.exception';
+import { HttpStatus } from '../enums/http-status.enum.js';
+import { HttpException, HttpExceptionOptions } from './http.exception.js';
/**
* Defines an HTTP exception for *Misdirected* type errors.
@@ -37,13 +37,13 @@ export class MisdirectedException extends HttpException {
objectOrError?: any,
descriptionOrOptions: string | HttpExceptionOptions = 'Misdirected',
) {
- const { description, httpExceptionOptions } =
+ const { description = 'Misdirected', httpExceptionOptions } =
HttpException.extractDescriptionAndOptionsFrom(descriptionOrOptions);
super(
HttpException.createBody(
objectOrError,
- description!,
+ description,
HttpStatus.MISDIRECTED,
),
HttpStatus.MISDIRECTED,
diff --git a/packages/common/exceptions/not-acceptable.exception.ts b/packages/common/exceptions/not-acceptable.exception.ts
index 8b3cf66a028..e2883bd8a1f 100644
--- a/packages/common/exceptions/not-acceptable.exception.ts
+++ b/packages/common/exceptions/not-acceptable.exception.ts
@@ -1,5 +1,5 @@
-import { HttpStatus } from '../enums/http-status.enum';
-import { HttpException, HttpExceptionOptions } from './http.exception';
+import { HttpStatus } from '../enums/http-status.enum.js';
+import { HttpException, HttpExceptionOptions } from './http.exception.js';
/**
* Defines an HTTP exception for *Not Acceptable* type errors.
@@ -37,13 +37,13 @@ export class NotAcceptableException extends HttpException {
objectOrError?: any,
descriptionOrOptions: string | HttpExceptionOptions = 'Not Acceptable',
) {
- const { description, httpExceptionOptions } =
+ const { description = 'Not Acceptable', httpExceptionOptions } =
HttpException.extractDescriptionAndOptionsFrom(descriptionOrOptions);
super(
HttpException.createBody(
objectOrError,
- description!,
+ description,
HttpStatus.NOT_ACCEPTABLE,
),
HttpStatus.NOT_ACCEPTABLE,
diff --git a/packages/common/exceptions/not-found.exception.ts b/packages/common/exceptions/not-found.exception.ts
index 1213e8dca8b..96c0bf87549 100644
--- a/packages/common/exceptions/not-found.exception.ts
+++ b/packages/common/exceptions/not-found.exception.ts
@@ -1,5 +1,5 @@
-import { HttpStatus } from '../enums/http-status.enum';
-import { HttpException, HttpExceptionOptions } from './http.exception';
+import { HttpStatus } from '../enums/http-status.enum.js';
+import { HttpException, HttpExceptionOptions } from './http.exception.js';
/**
* Defines an HTTP exception for *Not Found* type errors.
@@ -37,13 +37,13 @@ export class NotFoundException extends HttpException {
objectOrError?: any,
descriptionOrOptions: string | HttpExceptionOptions = 'Not Found',
) {
- const { description, httpExceptionOptions } =
+ const { description = 'Not Found', httpExceptionOptions } =
HttpException.extractDescriptionAndOptionsFrom(descriptionOrOptions);
super(
HttpException.createBody(
objectOrError,
- description!,
+ description,
HttpStatus.NOT_FOUND,
),
HttpStatus.NOT_FOUND,
diff --git a/packages/common/exceptions/not-implemented.exception.ts b/packages/common/exceptions/not-implemented.exception.ts
index 206a87333a7..57cce136f50 100644
--- a/packages/common/exceptions/not-implemented.exception.ts
+++ b/packages/common/exceptions/not-implemented.exception.ts
@@ -1,5 +1,5 @@
-import { HttpStatus } from '../enums/http-status.enum';
-import { HttpException, HttpExceptionOptions } from './http.exception';
+import { HttpStatus } from '../enums/http-status.enum.js';
+import { HttpException, HttpExceptionOptions } from './http.exception.js';
/**
* Defines an HTTP exception for *Not Implemented* type errors.
@@ -37,13 +37,13 @@ export class NotImplementedException extends HttpException {
objectOrError?: any,
descriptionOrOptions: string | HttpExceptionOptions = 'Not Implemented',
) {
- const { description, httpExceptionOptions } =
+ const { description = 'Not Implemented', httpExceptionOptions } =
HttpException.extractDescriptionAndOptionsFrom(descriptionOrOptions);
super(
HttpException.createBody(
objectOrError,
- description!,
+ description,
HttpStatus.NOT_IMPLEMENTED,
),
HttpStatus.NOT_IMPLEMENTED,
diff --git a/packages/common/exceptions/payload-too-large.exception.ts b/packages/common/exceptions/payload-too-large.exception.ts
index 4e841a35911..34983ab58ea 100644
--- a/packages/common/exceptions/payload-too-large.exception.ts
+++ b/packages/common/exceptions/payload-too-large.exception.ts
@@ -1,5 +1,5 @@
-import { HttpStatus } from '../enums/http-status.enum';
-import { HttpException, HttpExceptionOptions } from './http.exception';
+import { HttpStatus } from '../enums/http-status.enum.js';
+import { HttpException, HttpExceptionOptions } from './http.exception.js';
/**
* Defines an HTTP exception for *Payload Too Large* type errors.
@@ -37,13 +37,13 @@ export class PayloadTooLargeException extends HttpException {
objectOrError?: any,
descriptionOrOptions: string | HttpExceptionOptions = 'Payload Too Large',
) {
- const { description, httpExceptionOptions } =
+ const { description = 'Payload Too Large', httpExceptionOptions } =
HttpException.extractDescriptionAndOptionsFrom(descriptionOrOptions);
super(
HttpException.createBody(
objectOrError,
- description!,
+ description,
HttpStatus.PAYLOAD_TOO_LARGE,
),
HttpStatus.PAYLOAD_TOO_LARGE,
diff --git a/packages/common/exceptions/precondition-failed.exception.ts b/packages/common/exceptions/precondition-failed.exception.ts
index 68c3433c7f7..ef172f9c57a 100644
--- a/packages/common/exceptions/precondition-failed.exception.ts
+++ b/packages/common/exceptions/precondition-failed.exception.ts
@@ -1,5 +1,5 @@
-import { HttpStatus } from '../enums/http-status.enum';
-import { HttpException, HttpExceptionOptions } from './http.exception';
+import { HttpStatus } from '../enums/http-status.enum.js';
+import { HttpException, HttpExceptionOptions } from './http.exception.js';
/**
* Defines an HTTP exception for *Precondition Failed* type errors.
@@ -37,13 +37,13 @@ export class PreconditionFailedException extends HttpException {
objectOrError?: any,
descriptionOrOptions: string | HttpExceptionOptions = 'Precondition Failed',
) {
- const { description, httpExceptionOptions } =
+ const { description = 'Precondition Failed', httpExceptionOptions } =
HttpException.extractDescriptionAndOptionsFrom(descriptionOrOptions);
super(
HttpException.createBody(
objectOrError,
- description!,
+ description,
HttpStatus.PRECONDITION_FAILED,
),
HttpStatus.PRECONDITION_FAILED,
diff --git a/packages/common/exceptions/request-timeout.exception.ts b/packages/common/exceptions/request-timeout.exception.ts
index f4f6d795566..a34c546800a 100644
--- a/packages/common/exceptions/request-timeout.exception.ts
+++ b/packages/common/exceptions/request-timeout.exception.ts
@@ -1,5 +1,5 @@
-import { HttpStatus } from '../enums/http-status.enum';
-import { HttpException, HttpExceptionOptions } from './http.exception';
+import { HttpStatus } from '../enums/http-status.enum.js';
+import { HttpException, HttpExceptionOptions } from './http.exception.js';
/**
* Defines an HTTP exception for *Request Timeout* type errors.
@@ -37,13 +37,13 @@ export class RequestTimeoutException extends HttpException {
objectOrError?: any,
descriptionOrOptions: string | HttpExceptionOptions = 'Request Timeout',
) {
- const { description, httpExceptionOptions } =
+ const { description = 'Request Timeout', httpExceptionOptions } =
HttpException.extractDescriptionAndOptionsFrom(descriptionOrOptions);
super(
HttpException.createBody(
objectOrError,
- description!,
+ description,
HttpStatus.REQUEST_TIMEOUT,
),
HttpStatus.REQUEST_TIMEOUT,
diff --git a/packages/common/exceptions/service-unavailable.exception.ts b/packages/common/exceptions/service-unavailable.exception.ts
index 0afca4bdd5f..849a8c47682 100644
--- a/packages/common/exceptions/service-unavailable.exception.ts
+++ b/packages/common/exceptions/service-unavailable.exception.ts
@@ -1,5 +1,5 @@
-import { HttpStatus } from '../enums/http-status.enum';
-import { HttpException, HttpExceptionOptions } from './http.exception';
+import { HttpStatus } from '../enums/http-status.enum.js';
+import { HttpException, HttpExceptionOptions } from './http.exception.js';
/**
* Defines an HTTP exception for *Service Unavailable* type errors.
@@ -37,13 +37,13 @@ export class ServiceUnavailableException extends HttpException {
objectOrError?: any,
descriptionOrOptions: string | HttpExceptionOptions = 'Service Unavailable',
) {
- const { description, httpExceptionOptions } =
+ const { description = 'Service Unavailable', httpExceptionOptions } =
HttpException.extractDescriptionAndOptionsFrom(descriptionOrOptions);
super(
HttpException.createBody(
objectOrError,
- description!,
+ description,
HttpStatus.SERVICE_UNAVAILABLE,
),
HttpStatus.SERVICE_UNAVAILABLE,
diff --git a/packages/common/exceptions/unauthorized.exception.ts b/packages/common/exceptions/unauthorized.exception.ts
index c5be32253ff..794ad781776 100644
--- a/packages/common/exceptions/unauthorized.exception.ts
+++ b/packages/common/exceptions/unauthorized.exception.ts
@@ -1,5 +1,5 @@
-import { HttpStatus } from '../enums/http-status.enum';
-import { HttpException, HttpExceptionOptions } from './http.exception';
+import { HttpStatus } from '../enums/http-status.enum.js';
+import { HttpException, HttpExceptionOptions } from './http.exception.js';
/**
* Defines an HTTP exception for *Unauthorized* type errors.
@@ -37,13 +37,13 @@ export class UnauthorizedException extends HttpException {
objectOrError?: any,
descriptionOrOptions: string | HttpExceptionOptions = 'Unauthorized',
) {
- const { description, httpExceptionOptions } =
+ const { description = 'Unauthorized', httpExceptionOptions } =
HttpException.extractDescriptionAndOptionsFrom(descriptionOrOptions);
super(
HttpException.createBody(
objectOrError,
- description!,
+ description,
HttpStatus.UNAUTHORIZED,
),
HttpStatus.UNAUTHORIZED,
diff --git a/packages/common/exceptions/unprocessable-entity.exception.ts b/packages/common/exceptions/unprocessable-entity.exception.ts
index d6f99aa253f..a588b0d2ae3 100644
--- a/packages/common/exceptions/unprocessable-entity.exception.ts
+++ b/packages/common/exceptions/unprocessable-entity.exception.ts
@@ -1,5 +1,5 @@
-import { HttpStatus } from '../enums/http-status.enum';
-import { HttpException, HttpExceptionOptions } from './http.exception';
+import { HttpStatus } from '../enums/http-status.enum.js';
+import { HttpException, HttpExceptionOptions } from './http.exception.js';
/**
* Defines an HTTP exception for *Unprocessable Entity* type errors.
@@ -39,13 +39,13 @@ export class UnprocessableEntityException extends HttpException {
| string
| HttpExceptionOptions = 'Unprocessable Entity',
) {
- const { description, httpExceptionOptions } =
+ const { description = 'Unprocessable Entity', httpExceptionOptions } =
HttpException.extractDescriptionAndOptionsFrom(descriptionOrOptions);
super(
HttpException.createBody(
objectOrError,
- description!,
+ description,
HttpStatus.UNPROCESSABLE_ENTITY,
),
HttpStatus.UNPROCESSABLE_ENTITY,
diff --git a/packages/common/exceptions/unsupported-media-type.exception.ts b/packages/common/exceptions/unsupported-media-type.exception.ts
index 9d8af94af26..92bce97ad30 100644
--- a/packages/common/exceptions/unsupported-media-type.exception.ts
+++ b/packages/common/exceptions/unsupported-media-type.exception.ts
@@ -1,5 +1,5 @@
-import { HttpStatus } from '../enums/http-status.enum';
-import { HttpException, HttpExceptionOptions } from './http.exception';
+import { HttpStatus } from '../enums/http-status.enum.js';
+import { HttpException, HttpExceptionOptions } from './http.exception.js';
/**
* Defines an HTTP exception for *Unsupported Media Type* type errors.
@@ -39,13 +39,13 @@ export class UnsupportedMediaTypeException extends HttpException {
| string
| HttpExceptionOptions = 'Unsupported Media Type',
) {
- const { description, httpExceptionOptions } =
+ const { description = 'Unsupported Media Type', httpExceptionOptions } =
HttpException.extractDescriptionAndOptionsFrom(descriptionOrOptions);
super(
HttpException.createBody(
objectOrError,
- description!,
+ description,
HttpStatus.UNSUPPORTED_MEDIA_TYPE,
),
HttpStatus.UNSUPPORTED_MEDIA_TYPE,
diff --git a/packages/common/file-stream/index.ts b/packages/common/file-stream/index.ts
index 75a39abefa3..7074127b3ef 100644
--- a/packages/common/file-stream/index.ts
+++ b/packages/common/file-stream/index.ts
@@ -1 +1 @@
-export * from './streamable-file';
+export * from './streamable-file.js';
diff --git a/packages/common/file-stream/interfaces/index.ts b/packages/common/file-stream/interfaces/index.ts
index 9be413e21b4..e5e47d99c38 100644
--- a/packages/common/file-stream/interfaces/index.ts
+++ b/packages/common/file-stream/interfaces/index.ts
@@ -1,2 +1,2 @@
-export * from './streamable-options.interface';
-export * from './streamable-handler-response.interface';
+export * from './streamable-options.interface.js';
+export * from './streamable-handler-response.interface.js';
diff --git a/packages/common/file-stream/streamable-file.ts b/packages/common/file-stream/streamable-file.ts
index 6323ca0656c..f77e84514a9 100644
--- a/packages/common/file-stream/streamable-file.ts
+++ b/packages/common/file-stream/streamable-file.ts
@@ -1,9 +1,12 @@
import { Readable } from 'stream';
import { types } from 'util';
-import { HttpStatus } from '../enums';
-import { Logger } from '../services';
-import { isFunction } from '../utils/shared.utils';
-import { StreamableFileOptions, StreamableHandlerResponse } from './interfaces';
+import { HttpStatus } from '../enums/index.js';
+import { Logger } from '../services/index.js';
+import { isFunction } from '../utils/shared.utils.js';
+import {
+ StreamableFileOptions,
+ StreamableHandlerResponse,
+} from './interfaces/index.js';
/**
* @see [Streaming files](https://docs.nestjs.com/techniques/streaming-files)
diff --git a/packages/common/index.ts b/packages/common/index.ts
index 1ccee53e75c..fa9aac3727b 100644
--- a/packages/common/index.ts
+++ b/packages/common/index.ts
@@ -6,10 +6,10 @@
*/
import 'reflect-metadata';
-export * from './decorators';
-export * from './enums';
-export * from './exceptions';
-export * from './file-stream';
+export * from './decorators/index.js';
+export * from './enums/index.js';
+export * from './exceptions/index.js';
+export * from './file-stream/index.js';
export {
Abstract,
ArgumentMetadata,
@@ -41,6 +41,7 @@ export {
NestHybridApplicationOptions,
NestInterceptor,
NestMiddleware,
+ PreRequestHook,
NestModule,
OnApplicationBootstrap,
OnApplicationShutdown,
@@ -51,6 +52,9 @@ export {
PipeTransform,
Provider,
RawBodyRequest,
+ RouteConflictPolicy,
+ RouteConflictPolicyLevel,
+ RouteResolutionStrategy,
RpcExceptionFilter,
Scope,
ScopeOptions,
@@ -62,9 +66,9 @@ export {
WebSocketAdapter,
WsExceptionFilter,
WsMessageHandler,
-} from './interfaces';
-export * from './module-utils';
-export * from './pipes';
-export * from './serializer';
-export * from './services';
-export * from './utils';
+} from './interfaces/index.js';
+export * from './module-utils/index.js';
+export * from './pipes/index.js';
+export * from './serializer/index.js';
+export * from './services/index.js';
+export * from './utils/index.js';
diff --git a/packages/common/interfaces/controllers/index.ts b/packages/common/interfaces/controllers/index.ts
index 4bd60924b00..a51741c4b2b 100644
--- a/packages/common/interfaces/controllers/index.ts
+++ b/packages/common/interfaces/controllers/index.ts
@@ -1,2 +1,2 @@
-export * from './controller-metadata.interface';
-export * from './controller.interface';
+export * from './controller-metadata.interface.js';
+export * from './controller.interface.js';
diff --git a/packages/common/interfaces/exceptions/exception-filter-metadata.interface.ts b/packages/common/interfaces/exceptions/exception-filter-metadata.interface.ts
index 364ef37897e..c873d707ce8 100644
--- a/packages/common/interfaces/exceptions/exception-filter-metadata.interface.ts
+++ b/packages/common/interfaces/exceptions/exception-filter-metadata.interface.ts
@@ -1,5 +1,5 @@
-import { ExceptionFilter } from './exception-filter.interface';
-import { Type } from '../type.interface';
+import { ExceptionFilter } from './exception-filter.interface.js';
+import { Type } from '../type.interface.js';
export interface ExceptionFilterMetadata {
func: ExceptionFilter['catch'];
diff --git a/packages/common/interfaces/exceptions/exception-filter.interface.ts b/packages/common/interfaces/exceptions/exception-filter.interface.ts
index 96638a75989..08d01727855 100644
--- a/packages/common/interfaces/exceptions/exception-filter.interface.ts
+++ b/packages/common/interfaces/exceptions/exception-filter.interface.ts
@@ -1,4 +1,4 @@
-import { ArgumentsHost } from '../features/arguments-host.interface';
+import { ArgumentsHost } from '../features/arguments-host.interface.js';
/**
* Interface describing implementation of an exception filter.
diff --git a/packages/common/interfaces/exceptions/index.ts b/packages/common/interfaces/exceptions/index.ts
index f35002c2e21..9d0fedd3df8 100644
--- a/packages/common/interfaces/exceptions/index.ts
+++ b/packages/common/interfaces/exceptions/index.ts
@@ -1,5 +1,5 @@
-export * from './exception-filter-metadata.interface';
-export * from './exception-filter.interface';
-export * from './rpc-exception-filter-metadata.interface';
-export * from './rpc-exception-filter.interface';
-export * from './ws-exception-filter.interface';
+export * from './exception-filter-metadata.interface.js';
+export * from './exception-filter.interface.js';
+export * from './rpc-exception-filter-metadata.interface.js';
+export * from './rpc-exception-filter.interface.js';
+export * from './ws-exception-filter.interface.js';
diff --git a/packages/common/interfaces/exceptions/rpc-exception-filter-metadata.interface.ts b/packages/common/interfaces/exceptions/rpc-exception-filter-metadata.interface.ts
index 9639705fda1..19073ef12d7 100644
--- a/packages/common/interfaces/exceptions/rpc-exception-filter-metadata.interface.ts
+++ b/packages/common/interfaces/exceptions/rpc-exception-filter-metadata.interface.ts
@@ -1,5 +1,5 @@
-import { RpcExceptionFilter } from './rpc-exception-filter.interface';
-import { Type } from '../type.interface';
+import { RpcExceptionFilter } from './rpc-exception-filter.interface.js';
+import { Type } from '../type.interface.js';
export interface RpcExceptionFilterMetadata {
func: RpcExceptionFilter['catch'];
diff --git a/packages/common/interfaces/exceptions/rpc-exception-filter.interface.ts b/packages/common/interfaces/exceptions/rpc-exception-filter.interface.ts
index 75e09caf89c..0982091aae7 100644
--- a/packages/common/interfaces/exceptions/rpc-exception-filter.interface.ts
+++ b/packages/common/interfaces/exceptions/rpc-exception-filter.interface.ts
@@ -1,5 +1,5 @@
import { Observable } from 'rxjs';
-import { ArgumentsHost } from '../features/arguments-host.interface';
+import { ArgumentsHost } from '../features/arguments-host.interface.js';
/**
* Interface describing implementation of an RPC exception filter.
diff --git a/packages/common/interfaces/exceptions/ws-exception-filter.interface.ts b/packages/common/interfaces/exceptions/ws-exception-filter.interface.ts
index 179f60a2f8a..ee5fdfd8518 100644
--- a/packages/common/interfaces/exceptions/ws-exception-filter.interface.ts
+++ b/packages/common/interfaces/exceptions/ws-exception-filter.interface.ts
@@ -1,4 +1,4 @@
-import { ArgumentsHost } from '../features/arguments-host.interface';
+import { ArgumentsHost } from '../features/arguments-host.interface.js';
/**
* Interface describing implementation of a Web Sockets exception filter.
diff --git a/packages/common/interfaces/external/transformer-package.interface.ts b/packages/common/interfaces/external/transformer-package.interface.ts
index f13c5fa2e10..1d2a01a5ee0 100644
--- a/packages/common/interfaces/external/transformer-package.interface.ts
+++ b/packages/common/interfaces/external/transformer-package.interface.ts
@@ -1,5 +1,5 @@
-import { Type } from '../type.interface';
-import { ClassTransformOptions } from './class-transform-options.interface';
+import { Type } from '../type.interface.js';
+import { ClassTransformOptions } from './class-transform-options.interface.js';
export interface TransformerPackage {
plainToInstance(
diff --git a/packages/common/interfaces/external/validator-package.interface.ts b/packages/common/interfaces/external/validator-package.interface.ts
index 5b5e259cfbf..a1923fd5059 100644
--- a/packages/common/interfaces/external/validator-package.interface.ts
+++ b/packages/common/interfaces/external/validator-package.interface.ts
@@ -1,5 +1,5 @@
-import { ValidationError } from './validation-error.interface';
-import { ValidatorOptions } from './validator-options.interface';
+import { ValidationError } from './validation-error.interface.js';
+import { ValidatorOptions } from './validator-options.interface.js';
export interface ValidatorPackage {
validate(
diff --git a/packages/common/interfaces/features/can-activate.interface.ts b/packages/common/interfaces/features/can-activate.interface.ts
index 29eb5e2ed04..1256483fb67 100644
--- a/packages/common/interfaces/features/can-activate.interface.ts
+++ b/packages/common/interfaces/features/can-activate.interface.ts
@@ -1,5 +1,5 @@
import { Observable } from 'rxjs';
-import { ExecutionContext } from './execution-context.interface';
+import { ExecutionContext } from './execution-context.interface.js';
/**
* Interface defining the `canActivate()` function that must be implemented
diff --git a/packages/common/interfaces/features/custom-route-param-factory.interface.ts b/packages/common/interfaces/features/custom-route-param-factory.interface.ts
index c63b4b85739..7ba4be1484d 100644
--- a/packages/common/interfaces/features/custom-route-param-factory.interface.ts
+++ b/packages/common/interfaces/features/custom-route-param-factory.interface.ts
@@ -1,4 +1,4 @@
-import { ExecutionContext } from './execution-context.interface';
+import { ExecutionContext } from './execution-context.interface.js';
/**
* @publicApi
diff --git a/packages/common/interfaces/features/execution-context.interface.ts b/packages/common/interfaces/features/execution-context.interface.ts
index 68e95accbb9..30dfeb22af8 100644
--- a/packages/common/interfaces/features/execution-context.interface.ts
+++ b/packages/common/interfaces/features/execution-context.interface.ts
@@ -1,5 +1,5 @@
-import { Type } from '../index';
-import { ArgumentsHost } from './arguments-host.interface';
+import { Type } from '../index.js';
+import { ArgumentsHost } from './arguments-host.interface.js';
/**
* Interface describing details about the current request pipeline.
diff --git a/packages/common/interfaces/features/nest-interceptor.interface.ts b/packages/common/interfaces/features/nest-interceptor.interface.ts
index ec4ad808918..7ebaf576ca0 100644
--- a/packages/common/interfaces/features/nest-interceptor.interface.ts
+++ b/packages/common/interfaces/features/nest-interceptor.interface.ts
@@ -1,5 +1,5 @@
import { Observable } from 'rxjs';
-import { ExecutionContext } from './execution-context.interface';
+import { ExecutionContext } from './execution-context.interface.js';
/**
* Interface providing access to the response stream.
diff --git a/packages/common/interfaces/features/pipe-transform.interface.ts b/packages/common/interfaces/features/pipe-transform.interface.ts
index 60ce3b66345..bb219a577c1 100644
--- a/packages/common/interfaces/features/pipe-transform.interface.ts
+++ b/packages/common/interfaces/features/pipe-transform.interface.ts
@@ -1,5 +1,6 @@
-import { Type } from '../type.interface';
-import { Paramtype } from './paramtype.interface';
+import { Type } from '../type.interface.js';
+import { Paramtype } from './paramtype.interface.js';
+import type { StandardSchemaV1 } from '@standard-schema/spec';
export type Transform = (value: T, metadata: ArgumentMetadata) => any;
@@ -10,7 +11,7 @@ export type Transform = (value: T, metadata: ArgumentMetadata) => any;
*
* @publicApi
*/
-export interface ArgumentMetadata {
+export interface ArgumentMetadata {
/**
* Indicates whether argument is a body, query, param, or custom parameter
*/
@@ -19,12 +20,17 @@ export interface ArgumentMetadata {
* Underlying base type (e.g., `String`) of the parameter, based on the type
* definition in the route handler.
*/
- readonly metatype?: Type | undefined;
+ readonly metatype?: Type | undefined;
/**
* String passed as an argument to the decorator.
* Example: `@Body('userId')` would yield `userId`
*/
readonly data?: string | undefined;
+ /**
+ * A standard schema object.
+ * Can be used to validate the parameter's value against the schema, or to generate API.
+ */
+ readonly schema?: StandardSchemaV1;
}
/**
diff --git a/packages/common/interfaces/global-prefix-options.interface.ts b/packages/common/interfaces/global-prefix-options.interface.ts
index e8f657683de..0da785c587e 100644
--- a/packages/common/interfaces/global-prefix-options.interface.ts
+++ b/packages/common/interfaces/global-prefix-options.interface.ts
@@ -1,4 +1,4 @@
-import { RouteInfo } from './middleware';
+import { RouteInfo } from './middleware/index.js';
/**
* @publicApi
diff --git a/packages/common/interfaces/hooks/index.ts b/packages/common/interfaces/hooks/index.ts
index 01aad24975c..14c5bb96928 100644
--- a/packages/common/interfaces/hooks/index.ts
+++ b/packages/common/interfaces/hooks/index.ts
@@ -1,5 +1,5 @@
-export * from './before-application-shutdown.interface';
-export * from './on-application-bootstrap.interface';
-export * from './on-application-shutdown.interface';
-export * from './on-destroy.interface';
-export * from './on-init.interface';
+export * from './before-application-shutdown.interface.js';
+export * from './on-application-bootstrap.interface.js';
+export * from './on-application-shutdown.interface.js';
+export * from './on-destroy.interface.js';
+export * from './on-init.interface.js';
diff --git a/packages/common/interfaces/http/http-exception-body.interface.ts b/packages/common/interfaces/http/http-exception-body.interface.ts
index b9f4732d622..9f12e4c549d 100644
--- a/packages/common/interfaces/http/http-exception-body.interface.ts
+++ b/packages/common/interfaces/http/http-exception-body.interface.ts
@@ -1,7 +1,8 @@
export type HttpExceptionBodyMessage = string | string[] | number;
export interface HttpExceptionBody {
+ statusCode: number;
message: HttpExceptionBodyMessage;
error?: string;
- statusCode: number;
+ errorCode?: string;
}
diff --git a/packages/common/interfaces/http/http-redirect-response.interface.ts b/packages/common/interfaces/http/http-redirect-response.interface.ts
index da3261eba30..c775e9f2ad7 100644
--- a/packages/common/interfaces/http/http-redirect-response.interface.ts
+++ b/packages/common/interfaces/http/http-redirect-response.interface.ts
@@ -1,4 +1,4 @@
-import { HttpStatus } from '../../enums';
+import { HttpStatus } from '../../enums/index.js';
export interface HttpRedirectResponse {
url: string;
diff --git a/packages/common/interfaces/http/http-server.interface.ts b/packages/common/interfaces/http/http-server.interface.ts
index 8ed861c85b2..ca01854b85b 100644
--- a/packages/common/interfaces/http/http-server.interface.ts
+++ b/packages/common/interfaces/http/http-server.interface.ts
@@ -1,6 +1,9 @@
-import { RequestMethod } from '../../enums';
-import { NestApplicationOptions } from '../../interfaces/nest-application-options.interface';
-import { VersionValue, VersioningOptions } from '../version-options.interface';
+import { RequestMethod } from '../../enums/index.js';
+import { NestApplicationOptions } from '../../interfaces/nest-application-options.interface.js';
+import {
+ VersionValue,
+ VersioningOptions,
+} from '../version-options.interface.js';
export type ErrorHandler = (
error: any,
@@ -91,6 +94,7 @@ export interface HttpServer<
getHttpServer(): any;
initHttpServer(options: NestApplicationOptions): void;
close(): any;
+ beforeClose?(): any;
getType(): string;
init?(): Promise;
applyVersionFilter(
@@ -99,4 +103,5 @@ export interface HttpServer<
versioningOptions: VersioningOptions,
): (req: TRequest, res: TResponse, next: () => void) => Function;
normalizePath?(path: string): string;
+ isRouteOrderSensitive?(): boolean;
}
diff --git a/packages/common/interfaces/http/index.ts b/packages/common/interfaces/http/index.ts
index ad8ebfc83fd..711b0ca840c 100644
--- a/packages/common/interfaces/http/index.ts
+++ b/packages/common/interfaces/http/index.ts
@@ -1,5 +1,5 @@
-export * from './http-exception-body.interface';
-export * from './http-redirect-response.interface';
-export * from './http-server.interface';
-export * from './message-event.interface';
-export * from './raw-body-request.interface';
+export * from './http-exception-body.interface.js';
+export * from './http-redirect-response.interface.js';
+export * from './http-server.interface.js';
+export * from './message-event.interface.js';
+export * from './raw-body-request.interface.js';
diff --git a/packages/common/interfaces/index.ts b/packages/common/interfaces/index.ts
index 94ceff93cee..792a448fe89 100644
--- a/packages/common/interfaces/index.ts
+++ b/packages/common/interfaces/index.ts
@@ -1,30 +1,32 @@
-export * from './abstract.interface';
-export * from './controllers/controller-metadata.interface';
-export * from './controllers/controller.interface';
-export * from './exceptions/exception-filter.interface';
-export * from './exceptions/rpc-exception-filter.interface';
-export * from './exceptions/ws-exception-filter.interface';
-export * from './external/validation-error.interface';
-export * from './features/arguments-host.interface';
-export * from './features/can-activate.interface';
-export * from './features/custom-route-param-factory.interface';
-export * from './features/execution-context.interface';
-export * from './features/nest-interceptor.interface';
-export * from './features/paramtype.interface';
-export * from './features/pipe-transform.interface';
-export * from './global-prefix-options.interface';
-export * from './hooks';
-export * from './http';
-export * from './injectable.interface';
-export * from './microservices/nest-hybrid-application-options.interface';
-export * from './middleware';
-export * from './modules';
-export * from './nest-application-context.interface';
-export * from './nest-application-options.interface';
-export * from './nest-application.interface';
-export * from './nest-microservice.interface';
-export * from './scope-options.interface';
-export * from './shutdown-hooks-options.interface';
-export * from './type.interface';
-export * from './version-options.interface';
-export * from './websockets/web-socket-adapter.interface';
+export * from './abstract.interface.js';
+export * from './controllers/controller-metadata.interface.js';
+export * from './controllers/controller.interface.js';
+export * from './exceptions/exception-filter.interface.js';
+export * from './exceptions/rpc-exception-filter.interface.js';
+export * from './exceptions/ws-exception-filter.interface.js';
+export * from './external/validation-error.interface.js';
+export * from './features/arguments-host.interface.js';
+export * from './features/can-activate.interface.js';
+export * from './features/custom-route-param-factory.interface.js';
+export * from './features/execution-context.interface.js';
+export * from './features/nest-interceptor.interface.js';
+export * from './features/paramtype.interface.js';
+export * from './features/pipe-transform.interface.js';
+export * from './global-prefix-options.interface.js';
+export * from './hooks/index.js';
+export * from './http/index.js';
+export * from './injectable.interface.js';
+export * from './microservices/nest-hybrid-application-options.interface.js';
+export * from './microservices/pre-request-hook.interface.js';
+export * from './middleware/index.js';
+export * from './modules/index.js';
+export * from './nest-application-context.interface.js';
+export * from './nest-application-options.interface.js';
+export * from './nest-application.interface.js';
+export * from './nest-microservice.interface.js';
+export * from './router-options.interface.js';
+export * from './scope-options.interface.js';
+export * from './shutdown-hooks-options.interface.js';
+export * from './type.interface.js';
+export * from './version-options.interface.js';
+export * from './websockets/web-socket-adapter.interface.js';
diff --git a/packages/common/interfaces/microservices/nest-microservice-options.interface.ts b/packages/common/interfaces/microservices/nest-microservice-options.interface.ts
index 34f32c9f51f..684bcdf7964 100644
--- a/packages/common/interfaces/microservices/nest-microservice-options.interface.ts
+++ b/packages/common/interfaces/microservices/nest-microservice-options.interface.ts
@@ -1,4 +1,4 @@
-import { NestApplicationContextOptions } from '../nest-application-context-options.interface';
+import { NestApplicationContextOptions } from '../nest-application-context-options.interface.js';
/**
* @publicApi
diff --git a/packages/common/interfaces/microservices/pre-request-hook.interface.ts b/packages/common/interfaces/microservices/pre-request-hook.interface.ts
new file mode 100644
index 00000000000..20e2122c0c7
--- /dev/null
+++ b/packages/common/interfaces/microservices/pre-request-hook.interface.ts
@@ -0,0 +1,26 @@
+import { Observable } from 'rxjs';
+import { ExecutionContext } from '../features/execution-context.interface.js';
+
+/**
+ * Interface describing a global preRequest hook for microservices.
+ *
+ * Hooks are executed before guards, allowing setup of context (e.g. AsyncLocalStorage)
+ * that is available to all downstream enhancers.
+ *
+ * @example
+ * ```typescript
+ * const als = new AsyncLocalStorage();
+ * app.registerPreRequestHook((context, next) => {
+ * als.enterWith({ correlationId: uuid() });
+ * return next();
+ * });
+ * ```
+ *
+ * @publicApi
+ */
+export interface PreRequestHook {
+ (
+ context: ExecutionContext,
+ next: () => Observable,
+ ): Observable;
+}
diff --git a/packages/common/interfaces/middleware/index.ts b/packages/common/interfaces/middleware/index.ts
index b23e220972a..a05a818cc57 100644
--- a/packages/common/interfaces/middleware/index.ts
+++ b/packages/common/interfaces/middleware/index.ts
@@ -1,4 +1,4 @@
-export * from './middleware-config-proxy.interface';
-export * from './middleware-configuration.interface';
-export * from './middleware-consumer.interface';
-export * from './nest-middleware.interface';
+export * from './middleware-config-proxy.interface.js';
+export * from './middleware-configuration.interface.js';
+export * from './middleware-consumer.interface.js';
+export * from './nest-middleware.interface.js';
diff --git a/packages/common/interfaces/middleware/middleware-config-proxy.interface.ts b/packages/common/interfaces/middleware/middleware-config-proxy.interface.ts
index ca439207bcf..749b55dccc5 100644
--- a/packages/common/interfaces/middleware/middleware-config-proxy.interface.ts
+++ b/packages/common/interfaces/middleware/middleware-config-proxy.interface.ts
@@ -1,6 +1,6 @@
-import { Type } from '../type.interface';
-import { RouteInfo } from './middleware-configuration.interface';
-import { MiddlewareConsumer } from './middleware-consumer.interface';
+import { Type } from '../type.interface.js';
+import { RouteInfo } from './middleware-configuration.interface.js';
+import { MiddlewareConsumer } from './middleware-consumer.interface.js';
/**
* @publicApi
diff --git a/packages/common/interfaces/middleware/middleware-configuration.interface.ts b/packages/common/interfaces/middleware/middleware-configuration.interface.ts
index 15414b6cb07..a2ffa3f0700 100644
--- a/packages/common/interfaces/middleware/middleware-configuration.interface.ts
+++ b/packages/common/interfaces/middleware/middleware-configuration.interface.ts
@@ -1,6 +1,6 @@
-import { RequestMethod } from '../../enums';
-import { Type } from '../type.interface';
-import { VersionValue } from '../version-options.interface';
+import { RequestMethod } from '../../enums/index.js';
+import { Type } from '../type.interface.js';
+import { VersionValue } from '../version-options.interface.js';
export interface RouteInfo {
path: string;
diff --git a/packages/common/interfaces/middleware/middleware-consumer.interface.ts b/packages/common/interfaces/middleware/middleware-consumer.interface.ts
index 21bcbc5e9bc..7ef6b4fff52 100644
--- a/packages/common/interfaces/middleware/middleware-consumer.interface.ts
+++ b/packages/common/interfaces/middleware/middleware-consumer.interface.ts
@@ -1,5 +1,5 @@
-import { Type } from '../type.interface';
-import { MiddlewareConfigProxy } from './middleware-config-proxy.interface';
+import { Type } from '../type.interface.js';
+import { MiddlewareConfigProxy } from './middleware-config-proxy.interface.js';
/**
* Interface defining method for applying user defined middleware to routes.
diff --git a/packages/common/interfaces/modules/dynamic-module.interface.ts b/packages/common/interfaces/modules/dynamic-module.interface.ts
index 65addedb5ae..2e1d189611a 100644
--- a/packages/common/interfaces/modules/dynamic-module.interface.ts
+++ b/packages/common/interfaces/modules/dynamic-module.interface.ts
@@ -1,5 +1,5 @@
-import { Type } from '../type.interface';
-import { ModuleMetadata } from './module-metadata.interface';
+import { Type } from '../type.interface.js';
+import { ModuleMetadata } from './module-metadata.interface.js';
/**
* Interface defining a Dynamic Module.
diff --git a/packages/common/interfaces/modules/index.ts b/packages/common/interfaces/modules/index.ts
index 458f952a391..dabf6661965 100644
--- a/packages/common/interfaces/modules/index.ts
+++ b/packages/common/interfaces/modules/index.ts
@@ -1,8 +1,8 @@
-export * from './dynamic-module.interface';
-export * from './forward-reference.interface';
-export * from './injection-token.interface';
-export * from './introspection-result.interface';
-export * from './module-metadata.interface';
-export * from './nest-module.interface';
-export * from './optional-factory-dependency.interface';
-export * from './provider.interface';
+export * from './dynamic-module.interface.js';
+export * from './forward-reference.interface.js';
+export * from './injection-token.interface.js';
+export * from './introspection-result.interface.js';
+export * from './module-metadata.interface.js';
+export * from './nest-module.interface.js';
+export * from './optional-factory-dependency.interface.js';
+export * from './provider.interface.js';
diff --git a/packages/common/interfaces/modules/injection-token.interface.ts b/packages/common/interfaces/modules/injection-token.interface.ts
index ba5c2ce2b14..e0ecd95cbba 100644
--- a/packages/common/interfaces/modules/injection-token.interface.ts
+++ b/packages/common/interfaces/modules/injection-token.interface.ts
@@ -1,5 +1,5 @@
-import { Abstract } from '../abstract.interface';
-import { Type } from '../type.interface';
+import { Abstract } from '../abstract.interface.js';
+import { Type } from '../type.interface.js';
/**
* @publicApi
diff --git a/packages/common/interfaces/modules/introspection-result.interface.ts b/packages/common/interfaces/modules/introspection-result.interface.ts
index 629aa019505..83f154a5e08 100644
--- a/packages/common/interfaces/modules/introspection-result.interface.ts
+++ b/packages/common/interfaces/modules/introspection-result.interface.ts
@@ -1,4 +1,4 @@
-import { Scope } from '../scope-options.interface';
+import { Scope } from '../scope-options.interface.js';
/**
* @publicApi
diff --git a/packages/common/interfaces/modules/module-metadata.interface.ts b/packages/common/interfaces/modules/module-metadata.interface.ts
index 2baa7d84fad..2f110f76c69 100644
--- a/packages/common/interfaces/modules/module-metadata.interface.ts
+++ b/packages/common/interfaces/modules/module-metadata.interface.ts
@@ -1,8 +1,8 @@
-import { Abstract } from '../abstract.interface';
-import { Type } from '../type.interface';
-import { DynamicModule } from './dynamic-module.interface';
-import { ForwardReference } from './forward-reference.interface';
-import { Provider } from './provider.interface';
+import { Abstract } from '../abstract.interface.js';
+import { Type } from '../type.interface.js';
+import { DynamicModule } from './dynamic-module.interface.js';
+import { ForwardReference } from './forward-reference.interface.js';
+import { Provider } from './provider.interface.js';
/**
* Interface defining the property object that describes the module.
diff --git a/packages/common/interfaces/modules/nest-module.interface.ts b/packages/common/interfaces/modules/nest-module.interface.ts
index 236658017a2..186b5c46189 100644
--- a/packages/common/interfaces/modules/nest-module.interface.ts
+++ b/packages/common/interfaces/modules/nest-module.interface.ts
@@ -1,4 +1,4 @@
-import { MiddlewareConsumer } from '../middleware/middleware-consumer.interface';
+import { MiddlewareConsumer } from '../middleware/middleware-consumer.interface.js';
/**
* @publicApi
diff --git a/packages/common/interfaces/modules/optional-factory-dependency.interface.ts b/packages/common/interfaces/modules/optional-factory-dependency.interface.ts
index 6c8db900ee4..72d97cb25ae 100644
--- a/packages/common/interfaces/modules/optional-factory-dependency.interface.ts
+++ b/packages/common/interfaces/modules/optional-factory-dependency.interface.ts
@@ -1,4 +1,4 @@
-import { InjectionToken } from './injection-token.interface';
+import { InjectionToken } from './injection-token.interface.js';
/**
* @publicApi
diff --git a/packages/common/interfaces/modules/provider.interface.ts b/packages/common/interfaces/modules/provider.interface.ts
index 2fd7f85b66a..7263d24ba18 100644
--- a/packages/common/interfaces/modules/provider.interface.ts
+++ b/packages/common/interfaces/modules/provider.interface.ts
@@ -1,7 +1,7 @@
-import { Scope } from '../scope-options.interface';
-import { Type } from '../type.interface';
-import { InjectionToken } from './injection-token.interface';
-import { OptionalFactoryDependency } from './optional-factory-dependency.interface';
+import { Scope } from '../scope-options.interface.js';
+import { Type } from '../type.interface.js';
+import { InjectionToken } from './injection-token.interface.js';
+import { OptionalFactoryDependency } from './optional-factory-dependency.interface.js';
/**
*
diff --git a/packages/common/interfaces/nest-application-context-options.interface.ts b/packages/common/interfaces/nest-application-context-options.interface.ts
index 98aad7391af..99b3c146399 100644
--- a/packages/common/interfaces/nest-application-context-options.interface.ts
+++ b/packages/common/interfaces/nest-application-context-options.interface.ts
@@ -1,4 +1,4 @@
-import { LoggerService, LogLevel } from '../services/logger.service';
+import { LoggerService, LogLevel } from '../services/logger.service.js';
/**
* @publicApi
diff --git a/packages/common/interfaces/nest-application-context.interface.ts b/packages/common/interfaces/nest-application-context.interface.ts
index 3c2d5c4a32a..0253ecb5c3a 100644
--- a/packages/common/interfaces/nest-application-context.interface.ts
+++ b/packages/common/interfaces/nest-application-context.interface.ts
@@ -1,9 +1,9 @@
-import { ShutdownSignal } from '../enums/shutdown-signal.enum';
-import { LoggerService, LogLevel } from '../services/logger.service';
-import { DynamicModule } from './modules';
-import { NestApplicationContextOptions } from './nest-application-context-options.interface';
-import { ShutdownHooksOptions } from './shutdown-hooks-options.interface';
-import { Type } from './type.interface';
+import { ShutdownSignal } from '../enums/shutdown-signal.enum.js';
+import { LoggerService, LogLevel } from '../services/logger.service.js';
+import { DynamicModule } from './modules/index.js';
+import { NestApplicationContextOptions } from './nest-application-context-options.interface.js';
+import { ShutdownHooksOptions } from './shutdown-hooks-options.interface.js';
+import { Type } from './type.interface.js';
export type SelectOptions = Pick;
diff --git a/packages/common/interfaces/nest-application-options.interface.ts b/packages/common/interfaces/nest-application-options.interface.ts
index 5d4c89cbc38..84a1357ff7c 100644
--- a/packages/common/interfaces/nest-application-options.interface.ts
+++ b/packages/common/interfaces/nest-application-options.interface.ts
@@ -1,9 +1,13 @@
import {
CorsOptions,
CorsOptionsDelegate,
-} from './external/cors-options.interface';
-import { HttpsOptions } from './external/https-options.interface';
-import { NestApplicationContextOptions } from './nest-application-context-options.interface';
+} from './external/cors-options.interface.js';
+import { HttpsOptions } from './external/https-options.interface.js';
+import { NestApplicationContextOptions } from './nest-application-context-options.interface.js';
+import {
+ RouteConflictPolicy,
+ RouteResolutionStrategy,
+} from './router-options.interface.js';
/**
* @publicApi
@@ -30,4 +34,24 @@ export interface NestApplicationOptions extends NestApplicationContextOptions {
* keep-alive connections in the HTTP adapter.
*/
forceCloseConnections?: boolean;
+ /**
+ * Whether to return 503 Service Unavailable for new requests during the shutdown process,
+ * while allowing existing in-flight requests to complete.
+ * @default false
+ */
+ return503OnClosing?: boolean;
+ /**
+ * Per-kind policy for overlapping HTTP routes detected at bootstrap.
+ * Distinguishes `duplicate` (identical method+path+host+version) from
+ * `shadow` (patterns that can match the same request, e.g. `/users/me`
+ * vs `/users/:id`). Each kind defaults to `'off'`.
+ */
+ routeConflictPolicy?: RouteConflictPolicy;
+ /**
+ * Order in which HTTP routes are registered on the underlying adapter.
+ * `'specificity'` registers literal segments before parametric and
+ * wildcard ones on order-sensitive adapters (such as Express). Defaults
+ * to `'declaration'`.
+ */
+ routeResolutionStrategy?: RouteResolutionStrategy;
}
diff --git a/packages/common/interfaces/nest-application.interface.ts b/packages/common/interfaces/nest-application.interface.ts
index 94bf44a925f..9c3e7cae4d6 100644
--- a/packages/common/interfaces/nest-application.interface.ts
+++ b/packages/common/interfaces/nest-application.interface.ts
@@ -1,16 +1,16 @@
-import { CanActivate } from './features/can-activate.interface';
-import { NestInterceptor } from './features/nest-interceptor.interface';
-import { GlobalPrefixOptions } from './global-prefix-options.interface';
-import { HttpServer } from './http/http-server.interface';
+import { CanActivate } from './features/can-activate.interface.js';
+import { NestInterceptor } from './features/nest-interceptor.interface.js';
+import { GlobalPrefixOptions } from './global-prefix-options.interface.js';
+import { HttpServer } from './http/http-server.interface.js';
import {
ExceptionFilter,
INestMicroservice,
NestHybridApplicationOptions,
PipeTransform,
-} from './index';
-import { INestApplicationContext } from './nest-application-context.interface';
-import { VersioningOptions } from './version-options.interface';
-import { WebSocketAdapter } from './websockets/web-socket-adapter.interface';
+} from './index.js';
+import { INestApplicationContext } from './nest-application-context.interface.js';
+import { VersioningOptions } from './version-options.interface.js';
+import { WebSocketAdapter } from './websockets/web-socket-adapter.interface.js';
/**
* Interface defining the core NestApplication object.
diff --git a/packages/common/interfaces/nest-microservice.interface.ts b/packages/common/interfaces/nest-microservice.interface.ts
index efcaa0761f5..742f192dabb 100644
--- a/packages/common/interfaces/nest-microservice.interface.ts
+++ b/packages/common/interfaces/nest-microservice.interface.ts
@@ -1,10 +1,11 @@
import { Observable } from 'rxjs';
-import { ExceptionFilter } from './exceptions/exception-filter.interface';
-import { CanActivate } from './features/can-activate.interface';
-import { NestInterceptor } from './features/nest-interceptor.interface';
-import { PipeTransform } from './features/pipe-transform.interface';
-import { INestApplicationContext } from './nest-application-context.interface';
-import { WebSocketAdapter } from './websockets/web-socket-adapter.interface';
+import { ExceptionFilter } from './exceptions/exception-filter.interface.js';
+import { CanActivate } from './features/can-activate.interface.js';
+import { NestInterceptor } from './features/nest-interceptor.interface.js';
+import { PipeTransform } from './features/pipe-transform.interface.js';
+import { PreRequestHook } from './microservices/pre-request-hook.interface.js';
+import { INestApplicationContext } from './nest-application-context.interface.js';
+import { WebSocketAdapter } from './websockets/web-socket-adapter.interface.js';
/**
* Interface describing Microservice Context.
@@ -56,6 +57,15 @@ export interface INestMicroservice extends INestApplicationContext {
*/
useGlobalGuards(...guards: CanActivate[]): this;
+ /**
+ * Registers a global preRequest hook (executed before all enhancers for every pattern handler).
+ * Hooks receive an `ExecutionContext` and a `next` function that executes the rest of the pipeline.
+ * Useful for setting up AsyncLocalStorage context, tracing, or correlation IDs.
+ *
+ * @param {...PreRequestHook} hooks
+ */
+ registerPreRequestHook(...hooks: PreRequestHook[]): this;
+
/**
* Terminates the application.
*
diff --git a/packages/common/interfaces/router-options.interface.ts b/packages/common/interfaces/router-options.interface.ts
new file mode 100644
index 00000000000..9ffbf22f4d2
--- /dev/null
+++ b/packages/common/interfaces/router-options.interface.ts
@@ -0,0 +1,30 @@
+/**
+ * Severity level applied to a single kind of route conflict detected at
+ * bootstrap.
+ *
+ * @publicApi
+ */
+export type RouteConflictPolicyLevel = 'off' | 'warn' | 'error';
+
+/**
+ * Per-kind policy for overlapping routes detected at bootstrap.
+ * `duplicate` covers identical (method, path, host, version) registrations.
+ * `shadow` covers patterns that can match the same request (for example
+ * `/users/me` vs `/users/:id`). Each kind defaults to `'off'`.
+ *
+ * @publicApi
+ */
+export interface RouteConflictPolicy {
+ duplicate?: RouteConflictPolicyLevel;
+ shadow?: RouteConflictPolicyLevel;
+}
+
+/**
+ * Order in which routes are registered on the underlying HTTP adapter.
+ * `'specificity'` registers literal segments before parametric and
+ * wildcard ones on order-sensitive adapters (such as Express). Defaults
+ * to `'declaration'`.
+ *
+ * @publicApi
+ */
+export type RouteResolutionStrategy = 'declaration' | 'specificity';
diff --git a/packages/common/interfaces/version-options.interface.ts b/packages/common/interfaces/version-options.interface.ts
index fc5a53b6e17..cc9385e8bd5 100644
--- a/packages/common/interfaces/version-options.interface.ts
+++ b/packages/common/interfaces/version-options.interface.ts
@@ -1,4 +1,4 @@
-import { VersioningType } from '../enums/version-type.enum';
+import { VersioningType } from '../enums/version-type.enum.js';
/**
* Indicates that this will work for any version passed in the request, or no version.
diff --git a/packages/common/internal.ts b/packages/common/internal.ts
new file mode 100644
index 00000000000..a6a02930f33
--- /dev/null
+++ b/packages/common/internal.ts
@@ -0,0 +1,54 @@
+/**
+ * Internal module - not part of the public API.
+ * These exports are used by sibling @nestjs packages.
+ * Do not depend on these in your application code.
+ * @internal
+ * @module
+ */
+
+// Constants
+export * from './constants.js';
+
+// Enums (internal)
+export { RouteParamtypes } from './enums/route-paramtypes.enum.js';
+
+// Utils
+export * from './utils/shared.utils.js';
+export * from './utils/load-package.util.js';
+export * from './utils/cli-colors.util.js';
+export * from './utils/random-string-generator.util.js';
+export * from './utils/select-exception-filter-metadata.util.js';
+
+// Interfaces (types not exposed at root due to name conflicts or internal use)
+export type { Controller, Injectable } from './interfaces/index.js';
+export type { NestApplicationContextOptions } from './interfaces/nest-application-context-options.interface.js';
+export type { NestMicroserviceOptions } from './interfaces/microservices/nest-microservice-options.interface.js';
+export type {
+ CorsOptions,
+ CorsOptionsDelegate,
+ CustomOrigin,
+} from './interfaces/external/cors-options.interface.js';
+export type { ExceptionFilterMetadata } from './interfaces/exceptions/exception-filter-metadata.interface.js';
+export type { RpcExceptionFilterMetadata } from './interfaces/exceptions/rpc-exception-filter-metadata.interface.js';
+export type { VersionValue } from './interfaces/version-options.interface.js';
+export type { GlobalPrefixOptions } from './interfaces/global-prefix-options.interface.js';
+export type {
+ MiddlewareConfiguration,
+ RouteInfo,
+} from './interfaces/middleware/middleware-configuration.interface.js';
+export type { MiddlewareConfigProxy } from './interfaces/middleware/middleware-config-proxy.interface.js';
+export type { ModuleMetadata } from './interfaces/modules/module-metadata.interface.js';
+export type {
+ HttpArgumentsHost,
+ RpcArgumentsHost,
+ WsArgumentsHost,
+} from './interfaces/features/arguments-host.interface.js';
+export type { RequestHandler } from './interfaces/http/http-server.interface.js';
+export type {
+ GetOrResolveOptions,
+ SelectOptions,
+} from './interfaces/nest-application-context.interface.js';
+export type { ShutdownHooksOptions } from './interfaces/shutdown-hooks-options.interface.js';
+
+// Decorators (internal)
+export { assignMetadata } from './decorators/http/route-params.decorator.js';
diff --git a/packages/common/module-utils/configurable-module.builder.ts b/packages/common/module-utils/configurable-module.builder.ts
index d7900d3914f..84c4735c071 100644
--- a/packages/common/module-utils/configurable-module.builder.ts
+++ b/packages/common/module-utils/configurable-module.builder.ts
@@ -1,21 +1,24 @@
/* eslint-disable @typescript-eslint/no-empty-object-type */
-import { DynamicModule, Provider } from '../interfaces';
-import { Logger } from '../services/logger.service';
-import { randomStringGenerator } from '../utils/random-string-generator.util';
+import { DynamicModule, Provider } from '../interfaces/index.js';
+import { Logger } from '../services/logger.service.js';
+import { randomStringGenerator } from '../utils/random-string-generator.util.js';
import {
ASYNC_METHOD_SUFFIX,
ASYNC_OPTIONS_METADATA_KEYS,
CONFIGURABLE_MODULE_ID,
DEFAULT_FACTORY_CLASS_METHOD_KEY,
DEFAULT_METHOD_KEY,
-} from './constants';
+} from './constants.js';
import {
ConfigurableModuleAsyncOptions,
ConfigurableModuleCls,
ConfigurableModuleHost,
ConfigurableModuleOptionsFactory,
-} from './interfaces';
-import { generateOptionsInjectionToken, getInjectionProviders } from './utils';
+} from './interfaces/index.js';
+import {
+ generateOptionsInjectionToken,
+ getInjectionProviders,
+} from './utils/index.js';
/**
* @publicApi
diff --git a/packages/common/module-utils/index.ts b/packages/common/module-utils/index.ts
index 4393992bd15..53342dbf97d 100644
--- a/packages/common/module-utils/index.ts
+++ b/packages/common/module-utils/index.ts
@@ -1,2 +1,2 @@
-export * from './configurable-module.builder';
-export * from './interfaces';
+export * from './configurable-module.builder.js';
+export * from './interfaces/index.js';
diff --git a/packages/common/module-utils/interfaces/configurable-module-async-options.interface.ts b/packages/common/module-utils/interfaces/configurable-module-async-options.interface.ts
index 8adf58a17dd..c92b9a35e12 100644
--- a/packages/common/module-utils/interfaces/configurable-module-async-options.interface.ts
+++ b/packages/common/module-utils/interfaces/configurable-module-async-options.interface.ts
@@ -3,8 +3,8 @@ import {
ModuleMetadata,
Provider,
Type,
-} from '../../interfaces';
-import { DEFAULT_FACTORY_CLASS_METHOD_KEY } from '../constants';
+} from '../../interfaces/index.js';
+import { DEFAULT_FACTORY_CLASS_METHOD_KEY } from '../constants.js';
/**
* Interface that must be implemented by the module options factory class.
diff --git a/packages/common/module-utils/interfaces/configurable-module-cls.interface.ts b/packages/common/module-utils/interfaces/configurable-module-cls.interface.ts
index 00ac0314530..895a44e71fd 100644
--- a/packages/common/module-utils/interfaces/configurable-module-cls.interface.ts
+++ b/packages/common/module-utils/interfaces/configurable-module-cls.interface.ts
@@ -1,10 +1,10 @@
/* eslint-disable @typescript-eslint/no-empty-object-type */
-import { DynamicModule } from '../../interfaces';
+import { DynamicModule } from '../../interfaces/index.js';
import {
DEFAULT_FACTORY_CLASS_METHOD_KEY,
DEFAULT_METHOD_KEY,
-} from '../constants';
-import { ConfigurableModuleAsyncOptions } from './configurable-module-async-options.interface';
+} from '../constants.js';
+import { ConfigurableModuleAsyncOptions } from './configurable-module-async-options.interface.js';
/**
* Class that represents a blueprint/prototype for a configurable Nest module.
diff --git a/packages/common/module-utils/interfaces/configurable-module-host.interface.ts b/packages/common/module-utils/interfaces/configurable-module-host.interface.ts
index fb23d2d2a93..d2476f725c9 100644
--- a/packages/common/module-utils/interfaces/configurable-module-host.interface.ts
+++ b/packages/common/module-utils/interfaces/configurable-module-host.interface.ts
@@ -1,6 +1,6 @@
/* eslint-disable @typescript-eslint/no-empty-object-type */
-import { ConfigurableModuleAsyncOptions } from './configurable-module-async-options.interface';
-import { ConfigurableModuleCls } from './configurable-module-cls.interface';
+import { ConfigurableModuleAsyncOptions } from './configurable-module-async-options.interface.js';
+import { ConfigurableModuleCls } from './configurable-module-cls.interface.js';
/**
* Configurable module host. See properties for more details
diff --git a/packages/common/module-utils/interfaces/index.ts b/packages/common/module-utils/interfaces/index.ts
index 35c52307638..ad104aa6aaa 100644
--- a/packages/common/module-utils/interfaces/index.ts
+++ b/packages/common/module-utils/interfaces/index.ts
@@ -1,3 +1,3 @@
-export * from './configurable-module-async-options.interface';
-export * from './configurable-module-cls.interface';
-export * from './configurable-module-host.interface';
+export * from './configurable-module-async-options.interface.js';
+export * from './configurable-module-cls.interface.js';
+export * from './configurable-module-host.interface.js';
diff --git a/packages/common/module-utils/utils/generate-options-injection-token.util.ts b/packages/common/module-utils/utils/generate-options-injection-token.util.ts
index 259a6afa33e..ae47a1b88c8 100644
--- a/packages/common/module-utils/utils/generate-options-injection-token.util.ts
+++ b/packages/common/module-utils/utils/generate-options-injection-token.util.ts
@@ -1,4 +1,4 @@
-import { randomStringGenerator } from '../../utils/random-string-generator.util';
+import { randomStringGenerator } from '../../utils/random-string-generator.util.js';
export function generateOptionsInjectionToken() {
const hash = randomStringGenerator();
diff --git a/packages/common/module-utils/utils/get-injection-providers.util.ts b/packages/common/module-utils/utils/get-injection-providers.util.ts
index f4057d2034d..60ca0f34b64 100644
--- a/packages/common/module-utils/utils/get-injection-providers.util.ts
+++ b/packages/common/module-utils/utils/get-injection-providers.util.ts
@@ -1,10 +1,10 @@
-import { isUndefined } from '../../utils/shared.utils';
+import { isUndefined } from '../../utils/shared.utils.js';
import {
FactoryProvider,
InjectionToken,
OptionalFactoryDependency,
Provider,
-} from '../../interfaces';
+} from '../../interfaces/index.js';
/**
* @param value
diff --git a/packages/common/module-utils/utils/index.ts b/packages/common/module-utils/utils/index.ts
index 7125be0f748..0a229ec55d2 100644
--- a/packages/common/module-utils/utils/index.ts
+++ b/packages/common/module-utils/utils/index.ts
@@ -1,2 +1,2 @@
-export * from './generate-options-injection-token.util';
-export * from './get-injection-providers.util';
+export * from './generate-options-injection-token.util.js';
+export * from './get-injection-providers.util.js';
diff --git a/packages/common/package.json b/packages/common/package.json
index 951f01ee061..d692d9369db 100644
--- a/packages/common/package.json
+++ b/packages/common/package.json
@@ -17,6 +17,14 @@
"access": "public"
},
"license": "MIT",
+ "type": "module",
+ "main": "./index.js",
+ "exports": {
+ ".": "./index.js",
+ "./internal": "./internal.js",
+ "./*.js": "./*.js",
+ "./*": "./*.js"
+ },
"dependencies": {
"file-type": "21.3.4",
"iterare": "1.2.1",
diff --git a/packages/common/pipes/default-value.pipe.ts b/packages/common/pipes/default-value.pipe.ts
index 6afadf5e049..f8babe26204 100644
--- a/packages/common/pipes/default-value.pipe.ts
+++ b/packages/common/pipes/default-value.pipe.ts
@@ -1,9 +1,9 @@
-import { Injectable } from '../decorators/core/injectable.decorator';
+import { Injectable } from '../decorators/core/injectable.decorator.js';
import {
ArgumentMetadata,
PipeTransform,
-} from '../interfaces/features/pipe-transform.interface';
-import { isNil, isNumber } from '../utils/shared.utils';
+} from '../interfaces/features/pipe-transform.interface.js';
+import { isNil, isNumber } from '../utils/shared.utils.js';
/**
* Defines the built-in DefaultValue Pipe
diff --git a/packages/common/pipes/file/file-type.validator.ts b/packages/common/pipes/file/file-type.validator.ts
index 5cac1e06ca6..a4cb3698a3c 100644
--- a/packages/common/pipes/file/file-type.validator.ts
+++ b/packages/common/pipes/file/file-type.validator.ts
@@ -1,9 +1,7 @@
-import { pathToFileURL } from 'url';
-import { Logger } from '../../services/logger.service';
-import { FileValidatorContext } from './file-validator-context.interface';
-import { FileValidator } from './file-validator.interface';
-import { IFile } from './interfaces';
-import { loadEsm } from 'load-esm';
+import { Logger } from '../../services/logger.service.js';
+import { FileValidatorContext } from './file-validator-context.interface.js';
+import { FileValidator } from './file-validator.interface.js';
+import { IFile } from './interfaces/index.js';
const logger = new Logger('FileTypeValidator');
type FileTypeValidatorContext = FileValidatorContext<
@@ -139,15 +137,7 @@ export class FileTypeValidator extends FileValidator<
}
try {
- let fileTypeModule: string;
- try {
- const resolvedPath = require.resolve('file-type');
- fileTypeModule = pathToFileURL(resolvedPath).href;
- } catch {
- fileTypeModule = 'file-type';
- }
- const { fileTypeFromBuffer } =
- await loadEsm(fileTypeModule);
+ const { fileTypeFromBuffer } = await import('file-type');
const fileType = await fileTypeFromBuffer(file.buffer);
if (fileType) {
diff --git a/packages/common/pipes/file/file-validator-context.interface.ts b/packages/common/pipes/file/file-validator-context.interface.ts
index cecec24e965..67211bb2ced 100644
--- a/packages/common/pipes/file/file-validator-context.interface.ts
+++ b/packages/common/pipes/file/file-validator-context.interface.ts
@@ -1,4 +1,4 @@
-import { IFile } from './interfaces';
+import { IFile } from './interfaces/index.js';
export type FileValidatorContext = {
file?: IFile;
diff --git a/packages/common/pipes/file/file-validator.interface.ts b/packages/common/pipes/file/file-validator.interface.ts
index 326a55f72cd..c7729a30048 100644
--- a/packages/common/pipes/file/file-validator.interface.ts
+++ b/packages/common/pipes/file/file-validator.interface.ts
@@ -1,4 +1,4 @@
-import { IFile } from './interfaces';
+import { IFile } from './interfaces/index.js';
/**
* Interface describing FileValidators, which can be added to a ParseFilePipe
diff --git a/packages/common/pipes/file/index.ts b/packages/common/pipes/file/index.ts
index 11d19e3188e..b0da6849bd6 100644
--- a/packages/common/pipes/file/index.ts
+++ b/packages/common/pipes/file/index.ts
@@ -1,6 +1,6 @@
-export * from './file-type.validator';
-export * from './file-validator.interface';
-export * from './max-file-size.validator';
-export * from './parse-file-options.interface';
-export * from './parse-file.pipe';
-export * from './parse-file-pipe.builder';
+export * from './file-type.validator.js';
+export * from './file-validator.interface.js';
+export * from './max-file-size.validator.js';
+export * from './parse-file-options.interface.js';
+export * from './parse-file.pipe.js';
+export * from './parse-file-pipe.builder.js';
diff --git a/packages/common/pipes/file/interfaces/index.ts b/packages/common/pipes/file/interfaces/index.ts
index 09d8f3ca8f1..4b8a5139193 100644
--- a/packages/common/pipes/file/interfaces/index.ts
+++ b/packages/common/pipes/file/interfaces/index.ts
@@ -1 +1 @@
-export * from './file.interface';
+export * from './file.interface.js';
diff --git a/packages/common/pipes/file/max-file-size.validator.ts b/packages/common/pipes/file/max-file-size.validator.ts
index 44baeddefa4..54c8d5d0b77 100644
--- a/packages/common/pipes/file/max-file-size.validator.ts
+++ b/packages/common/pipes/file/max-file-size.validator.ts
@@ -1,6 +1,6 @@
-import { FileValidatorContext } from './file-validator-context.interface';
-import { FileValidator } from './file-validator.interface';
-import { IFile } from './interfaces';
+import { FileValidatorContext } from './file-validator-context.interface.js';
+import { FileValidator } from './file-validator.interface.js';
+import { IFile } from './interfaces/index.js';
type MaxFileSizeValidatorContext = FileValidatorContext<
Omit
diff --git a/packages/common/pipes/file/parse-file-options.interface.ts b/packages/common/pipes/file/parse-file-options.interface.ts
index f9c67daa876..c7775953a75 100644
--- a/packages/common/pipes/file/parse-file-options.interface.ts
+++ b/packages/common/pipes/file/parse-file-options.interface.ts
@@ -1,5 +1,5 @@
-import { ErrorHttpStatusCode } from '../../utils/http-error-by-code.util';
-import { FileValidator } from './file-validator.interface';
+import { ErrorHttpStatusCode } from '../../utils/http-error-by-code.util.js';
+import { FileValidator } from './file-validator.interface.js';
/**
* @publicApi
diff --git a/packages/common/pipes/file/parse-file-pipe.builder.ts b/packages/common/pipes/file/parse-file-pipe.builder.ts
index 9199fec3d9c..d5d4810adb2 100644
--- a/packages/common/pipes/file/parse-file-pipe.builder.ts
+++ b/packages/common/pipes/file/parse-file-pipe.builder.ts
@@ -1,14 +1,14 @@
import {
FileTypeValidator,
FileTypeValidatorOptions,
-} from './file-type.validator';
-import { FileValidator } from './file-validator.interface';
+} from './file-type.validator.js';
+import { FileValidator } from './file-validator.interface.js';
import {
MaxFileSizeValidator,
MaxFileSizeValidatorOptions,
-} from './max-file-size.validator';
-import { ParseFileOptions } from './parse-file-options.interface';
-import { ParseFilePipe } from './parse-file.pipe';
+} from './max-file-size.validator.js';
+import { ParseFileOptions } from './parse-file-options.interface.js';
+import { ParseFilePipe } from './parse-file.pipe.js';
/**
* @publicApi
diff --git a/packages/common/pipes/file/parse-file.pipe.ts b/packages/common/pipes/file/parse-file.pipe.ts
index d2ea60e505b..eda0b857b7b 100644
--- a/packages/common/pipes/file/parse-file.pipe.ts
+++ b/packages/common/pipes/file/parse-file.pipe.ts
@@ -1,10 +1,14 @@
-import { Injectable, Optional } from '../../decorators/core';
-import { HttpStatus } from '../../enums';
-import { PipeTransform } from '../../interfaces/features/pipe-transform.interface';
-import { HttpErrorByCode } from '../../utils/http-error-by-code.util';
-import { isEmpty, isObject, isUndefined } from '../../utils/shared.utils';
-import { FileValidator } from './file-validator.interface';
-import { ParseFileOptions } from './parse-file-options.interface';
+import { Injectable, Optional } from '../../decorators/core/index.js';
+import { HttpStatus } from '../../enums/index.js';
+import { PipeTransform } from '../../interfaces/features/pipe-transform.interface.js';
+import { HttpErrorByCode } from '../../utils/http-error-by-code.util.js';
+import {
+ isEmptyArray,
+ isObject,
+ isUndefined,
+} from '../../utils/shared.utils.js';
+import { FileValidator } from './file-validator.interface.js';
+import { ParseFileOptions } from './parse-file-options.interface.js';
/**
* Defines the built-in ParseFile Pipe. This pipe can be used to validate incoming files
@@ -17,7 +21,7 @@ import { ParseFileOptions } from './parse-file-options.interface';
* @publicApi
*/
@Injectable()
-export class ParseFilePipe implements PipeTransform {
+export class ParseFilePipe implements PipeTransform {
protected exceptionFactory: (error: string) => any;
private readonly validators: FileValidator[];
private readonly fileIsRequired: boolean;
@@ -38,7 +42,7 @@ export class ParseFilePipe implements PipeTransform {
this.fileIsRequired = fileIsRequired ?? true;
}
- async transform(value: any): Promise {
+ async transform(value: unknown): Promise {
const areThereAnyFilesIn = this.thereAreNoFilesIn(value);
if (areThereAnyFilesIn && this.fileIsRequired) {
@@ -51,7 +55,7 @@ export class ParseFilePipe implements PipeTransform {
return value;
}
- private async validateFilesOrFile(value: any): Promise {
+ private async validateFilesOrFile(value: unknown): Promise {
if (Array.isArray(value)) {
await Promise.all(value.map(f => this.validate(f)));
} else {
@@ -59,21 +63,20 @@ export class ParseFilePipe implements PipeTransform {
}
}
- private thereAreNoFilesIn(value: any): boolean {
- const isEmptyArray = Array.isArray(value) && isEmpty(value);
- const isEmptyObject = isObject(value) && isEmpty(Object.keys(value));
- return isUndefined(value) || isEmptyArray || isEmptyObject;
+ private thereAreNoFilesIn(value: unknown): boolean {
+ const isEmptyObject = isObject(value) && isEmptyArray(Object.keys(value));
+ return isUndefined(value) || isEmptyArray(value) || isEmptyObject;
}
- protected async validate(file: any): Promise {
+ protected async validate(file: unknown): Promise {
for (const validator of this.validators) {
await this.validateOrThrow(file, validator);
}
return file;
}
- private async validateOrThrow(file: any, validator: FileValidator) {
- const isValid = await validator.isValid(file);
+ private async validateOrThrow(file: unknown, validator: FileValidator) {
+ const isValid = await validator.isValid(file as any);
if (!isValid) {
const errorMessage = validator.buildErrorMessage(file);
diff --git a/packages/common/pipes/index.ts b/packages/common/pipes/index.ts
index f416b9467a7..381366ef3f7 100644
--- a/packages/common/pipes/index.ts
+++ b/packages/common/pipes/index.ts
@@ -1,10 +1,11 @@
-export * from './default-value.pipe';
-export * from './file';
-export * from './parse-array.pipe';
-export * from './parse-bool.pipe';
-export * from './parse-date.pipe';
-export * from './parse-enum.pipe';
-export * from './parse-float.pipe';
-export * from './parse-int.pipe';
-export * from './parse-uuid.pipe';
-export * from './validation.pipe';
+export * from './default-value.pipe.js';
+export * from './file/index.js';
+export * from './parse-array.pipe.js';
+export * from './parse-bool.pipe.js';
+export * from './parse-date.pipe.js';
+export * from './parse-enum.pipe.js';
+export * from './parse-float.pipe.js';
+export * from './parse-int.pipe.js';
+export * from './parse-uuid.pipe.js';
+export * from './standard-schema-validation.pipe.js';
+export * from './validation.pipe.js';
diff --git a/packages/common/pipes/parse-array.pipe.ts b/packages/common/pipes/parse-array.pipe.ts
index 5bc5bd029a3..eb8420d81b3 100644
--- a/packages/common/pipes/parse-array.pipe.ts
+++ b/packages/common/pipes/parse-array.pipe.ts
@@ -1,14 +1,14 @@
-import { Injectable } from '../decorators/core/injectable.decorator';
-import { Optional } from '../decorators/core/optional.decorator';
-import { HttpStatus } from '../enums/http-status.enum';
-import { Type } from '../interfaces';
+import { Injectable } from '../decorators/core/injectable.decorator.js';
+import { Optional } from '../decorators/core/optional.decorator.js';
+import { HttpStatus } from '../enums/http-status.enum.js';
+import { Type } from '../interfaces/index.js';
import {
ArgumentMetadata,
PipeTransform,
-} from '../interfaces/features/pipe-transform.interface';
-import { HttpErrorByCode } from '../utils/http-error-by-code.util';
-import { isNil, isString, isUndefined } from '../utils/shared.utils';
-import { ValidationPipe, ValidationPipeOptions } from './validation.pipe';
+} from '../interfaces/features/pipe-transform.interface.js';
+import { HttpErrorByCode } from '../utils/http-error-by-code.util.js';
+import { isNil, isString, isUndefined } from '../utils/shared.utils.js';
+import { ValidationPipe, ValidationPipeOptions } from './validation.pipe.js';
const VALIDATION_ERROR_MESSAGE = 'Validation failed (parsable array expected)';
const DEFAULT_ARRAY_SEPARATOR = ',';
@@ -76,7 +76,7 @@ export class ParseArrayPipe implements PipeTransform {
* @param value currently processed route argument
* @param metadata contains metadata about the currently processed route argument
*/
- async transform(value: any, metadata: ArgumentMetadata): Promise {
+ async transform(value: unknown, metadata: ArgumentMetadata): Promise {
if (!value && !this.options.optional) {
throw this.exceptionFactory(VALIDATION_ERROR_MESSAGE);
} else if (isNil(value) && this.options.optional) {
@@ -147,7 +147,9 @@ export class ParseArrayPipe implements PipeTransform {
}
return targetArray;
} else {
- value = await Promise.all(value.map(toClassInstance));
+ value = await Promise.all(
+ (value as Array).map(toClassInstance),
+ );
}
}
return value;
diff --git a/packages/common/pipes/parse-bool.pipe.ts b/packages/common/pipes/parse-bool.pipe.ts
index 177ee7cbeeb..415f410786a 100644
--- a/packages/common/pipes/parse-bool.pipe.ts
+++ b/packages/common/pipes/parse-bool.pipe.ts
@@ -1,15 +1,15 @@
-import { Injectable } from '../decorators/core/injectable.decorator';
-import { Optional } from '../decorators/core/optional.decorator';
-import { HttpStatus } from '../enums/http-status.enum';
+import { Injectable } from '../decorators/core/injectable.decorator.js';
+import { Optional } from '../decorators/core/optional.decorator.js';
+import { HttpStatus } from '../enums/http-status.enum.js';
import {
ArgumentMetadata,
PipeTransform,
-} from '../interfaces/features/pipe-transform.interface';
+} from '../interfaces/features/pipe-transform.interface.js';
import {
ErrorHttpStatusCode,
HttpErrorByCode,
-} from '../utils/http-error-by-code.util';
-import { isNil } from '../utils/shared.utils';
+} from '../utils/http-error-by-code.util.js';
+import { isNil } from '../utils/shared.utils.js';
/**
* @publicApi
@@ -41,10 +41,7 @@ export interface ParseBoolPipeOptions {
* @publicApi
*/
@Injectable()
-export class ParseBoolPipe implements PipeTransform<
- string | boolean,
- Promise
-> {
+export class ParseBoolPipe implements PipeTransform {
protected exceptionFactory: (error: string) => any;
constructor(@Optional() protected readonly options?: ParseBoolPipeOptions) {
@@ -64,9 +61,9 @@ export class ParseBoolPipe implements PipeTransform<
* @param metadata contains metadata about the currently processed route argument
*/
async transform(
- value: string | boolean,
+ value: unknown,
metadata: ArgumentMetadata,
- ): Promise {
+ ): Promise {
if (isNil(value) && this.options?.optional) {
return value;
}
@@ -86,7 +83,7 @@ export class ParseBoolPipe implements PipeTransform<
* @returns `true` if `value` is said 'true', ie., if it is equal to the boolean
* `true` or the string `"true"`
*/
- protected isTrue(value: string | boolean): boolean {
+ protected isTrue(value: unknown): boolean {
return value === true || value === 'true';
}
@@ -95,7 +92,7 @@ export class ParseBoolPipe implements PipeTransform<
* @returns `true` if `value` is said 'false', ie., if it is equal to the boolean
* `false` or the string `"false"`
*/
- protected isFalse(value: string | boolean): boolean {
+ protected isFalse(value: unknown): boolean {
return value === false || value === 'false';
}
}
diff --git a/packages/common/pipes/parse-date.pipe.ts b/packages/common/pipes/parse-date.pipe.ts
index 4dc1d9860e3..b8894153841 100644
--- a/packages/common/pipes/parse-date.pipe.ts
+++ b/packages/common/pipes/parse-date.pipe.ts
@@ -1,11 +1,11 @@
-import { Injectable } from '../decorators/core/injectable.decorator';
-import { HttpStatus } from '../enums/http-status.enum';
-import { PipeTransform } from '../interfaces/features/pipe-transform.interface';
+import { Injectable } from '../decorators/core/injectable.decorator.js';
+import { HttpStatus } from '../enums/http-status.enum.js';
+import { PipeTransform } from '../interfaces/features/pipe-transform.interface.js';
import {
ErrorHttpStatusCode,
HttpErrorByCode,
-} from '../utils/http-error-by-code.util';
-import { isNil } from '../utils/shared.utils';
+} from '../utils/http-error-by-code.util.js';
+import { isNil, isNumber, isString } from '../utils/shared.utils.js';
export interface ParseDatePipeOptions {
/**
@@ -31,9 +31,7 @@ export interface ParseDatePipeOptions {
}
@Injectable()
-export class ParseDatePipe implements PipeTransform<
- string | number | undefined | null
-> {
+export class ParseDatePipe implements PipeTransform {
protected exceptionFactory: (error: string) => any;
constructor(private readonly options: ParseDatePipeOptions = {}) {
@@ -52,9 +50,7 @@ export class ParseDatePipe implements PipeTransform<
* @param value currently processed route argument
* @param metadata contains metadata about the currently processed route argument
*/
- transform(
- value: string | number | undefined | null,
- ): Date | null | undefined {
+ transform(value: unknown): Date | null | undefined {
if (this.options.optional && isNil(value)) {
return this.options.default ? this.options.default() : value;
}
@@ -63,7 +59,10 @@ export class ParseDatePipe implements PipeTransform<
throw this.exceptionFactory('Validation failed (no Date provided)');
}
- const transformedValue = new Date(value);
+ const transformedValue =
+ isString(value) || isNumber(value) || value instanceof Date
+ ? new Date(value)
+ : new Date(NaN);
if (isNaN(transformedValue.getTime())) {
throw this.exceptionFactory('Validation failed (invalid date format)');
diff --git a/packages/common/pipes/parse-enum.pipe.ts b/packages/common/pipes/parse-enum.pipe.ts
index 47f3c263abe..462a0347fd2 100644
--- a/packages/common/pipes/parse-enum.pipe.ts
+++ b/packages/common/pipes/parse-enum.pipe.ts
@@ -1,11 +1,11 @@
-import { Injectable, Optional } from '../decorators/core';
-import { ArgumentMetadata, HttpStatus } from '../index';
-import { PipeTransform } from '../interfaces/features/pipe-transform.interface';
+import { Injectable, Optional } from '../decorators/core/index.js';
+import { ArgumentMetadata, HttpStatus } from '../index.js';
+import { PipeTransform } from '../interfaces/features/pipe-transform.interface.js';
import {
ErrorHttpStatusCode,
HttpErrorByCode,
-} from '../utils/http-error-by-code.util';
-import { isNil } from '../utils/shared.utils';
+} from '../utils/http-error-by-code.util.js';
+import { isNil } from '../utils/shared.utils.js';
/**
* @publicApi
@@ -64,7 +64,10 @@ export class ParseEnumPipe implements PipeTransform {
* @param value currently processed route argument
* @param metadata contains metadata about the currently processed route argument
*/
- async transform(value: T, metadata: ArgumentMetadata): Promise {
+ async transform(
+ value: unknown,
+ metadata: ArgumentMetadata,
+ ): Promise {
if (isNil(value) && this.options?.optional) {
return value;
}
@@ -73,10 +76,10 @@ export class ParseEnumPipe implements PipeTransform {
'Validation failed (enum string is expected)',
);
}
- return value;
+ return value as T;
}
- protected isEnum(value: T): boolean {
+ protected isEnum(value: unknown): boolean {
const enumValues = Object.keys(this.enumType as object).map(
item => this.enumType[item],
);
diff --git a/packages/common/pipes/parse-float.pipe.ts b/packages/common/pipes/parse-float.pipe.ts
index 04f5e97e27e..ab50468b95d 100644
--- a/packages/common/pipes/parse-float.pipe.ts
+++ b/packages/common/pipes/parse-float.pipe.ts
@@ -1,11 +1,11 @@
-import { Injectable, Optional } from '../decorators/core';
-import { ArgumentMetadata, HttpStatus } from '../index';
-import { PipeTransform } from '../interfaces/features/pipe-transform.interface';
+import { Injectable, Optional } from '../decorators/core/index.js';
+import { ArgumentMetadata, HttpStatus } from '../index.js';
+import { PipeTransform } from '../interfaces/features/pipe-transform.interface.js';
import {
ErrorHttpStatusCode,
HttpErrorByCode,
-} from '../utils/http-error-by-code.util';
-import { isNil } from '../utils/shared.utils';
+} from '../utils/http-error-by-code.util.js';
+import { isNil } from '../utils/shared.utils.js';
/**
* @publicApi
@@ -37,7 +37,7 @@ export interface ParseFloatPipeOptions {
* @publicApi
*/
@Injectable()
-export class ParseFloatPipe implements PipeTransform {
+export class ParseFloatPipe implements PipeTransform {
protected exceptionFactory: (error: string) => any;
constructor(@Optional() protected readonly options?: ParseFloatPipeOptions) {
@@ -57,7 +57,10 @@ export class ParseFloatPipe implements PipeTransform {
* @param value currently processed route argument
* @param metadata contains metadata about the currently processed route argument
*/
- async transform(value: string, metadata: ArgumentMetadata): Promise {
+ async transform(
+ value: unknown,
+ metadata: ArgumentMetadata,
+ ): Promise {
if (isNil(value) && this.options?.optional) {
return value;
}
@@ -66,17 +69,17 @@ export class ParseFloatPipe implements PipeTransform {
'Validation failed (numeric string is expected)',
);
}
- return parseFloat(value);
+ return parseFloat(String(value));
}
/**
* @param value currently processed route argument
* @returns `true` if `value` is a valid float number
*/
- protected isNumeric(value: string): boolean {
+ protected isNumeric(value: unknown): boolean {
return (
['string', 'number'].includes(typeof value) &&
- !isNaN(parseFloat(value)) &&
+ !isNaN(parseFloat(String(value))) &&
isFinite(value as any)
);
}
diff --git a/packages/common/pipes/parse-int.pipe.ts b/packages/common/pipes/parse-int.pipe.ts
index d74aa0205ab..1a61933cc82 100644
--- a/packages/common/pipes/parse-int.pipe.ts
+++ b/packages/common/pipes/parse-int.pipe.ts
@@ -1,15 +1,15 @@
-import { Injectable } from '../decorators/core/injectable.decorator';
-import { Optional } from '../decorators/core/optional.decorator';
-import { HttpStatus } from '../enums/http-status.enum';
+import { Injectable } from '../decorators/core/injectable.decorator.js';
+import { Optional } from '../decorators/core/optional.decorator.js';
+import { HttpStatus } from '../enums/http-status.enum.js';
import {
ArgumentMetadata,
PipeTransform,
-} from '../interfaces/features/pipe-transform.interface';
+} from '../interfaces/features/pipe-transform.interface.js';
import {
ErrorHttpStatusCode,
HttpErrorByCode,
-} from '../utils/http-error-by-code.util';
-import { isNil } from '../utils/shared.utils';
+} from '../utils/http-error-by-code.util.js';
+import { isNil } from '../utils/shared.utils.js';
/**
* @publicApi
@@ -41,7 +41,7 @@ export interface ParseIntPipeOptions {
* @publicApi
*/
@Injectable()
-export class ParseIntPipe implements PipeTransform {
+export class ParseIntPipe implements PipeTransform {
protected exceptionFactory: (error: string) => any;
constructor(@Optional() protected readonly options?: ParseIntPipeOptions) {
@@ -61,7 +61,10 @@ export class ParseIntPipe implements PipeTransform {
* @param value currently processed route argument
* @param metadata contains metadata about the currently processed route argument
*/
- async transform(value: string, metadata: ArgumentMetadata): Promise {
+ async transform(
+ value: unknown,
+ metadata: ArgumentMetadata,
+ ): Promise {
if (isNil(value) && this.options?.optional) {
return value;
}
@@ -70,17 +73,17 @@ export class ParseIntPipe implements PipeTransform {
'Validation failed (numeric string is expected)',
);
}
- return parseInt(value, 10);
+ return parseInt(String(value), 10);
}
/**
* @param value currently processed route argument
* @returns `true` if `value` is a valid integer number
*/
- protected isNumeric(value: string): boolean {
+ protected isNumeric(value: unknown): boolean {
return (
['string', 'number'].includes(typeof value) &&
- /^-?\d+$/.test(value) &&
+ /^-?\d+$/.test(String(value)) &&
isFinite(value as any)
);
}
diff --git a/packages/common/pipes/parse-uuid.pipe.ts b/packages/common/pipes/parse-uuid.pipe.ts
index 1c67860b9cf..6aa72b7a216 100644
--- a/packages/common/pipes/parse-uuid.pipe.ts
+++ b/packages/common/pipes/parse-uuid.pipe.ts
@@ -1,15 +1,15 @@
-import { Injectable } from '../decorators/core/injectable.decorator';
-import { Optional } from '../decorators/core/optional.decorator';
-import { HttpStatus } from '../enums/http-status.enum';
+import { Injectable } from '../decorators/core/injectable.decorator.js';
+import { Optional } from '../decorators/core/optional.decorator.js';
+import { HttpStatus } from '../enums/http-status.enum.js';
import {
ArgumentMetadata,
PipeTransform,
-} from '../interfaces/features/pipe-transform.interface';
+} from '../interfaces/features/pipe-transform.interface.js';
import {
ErrorHttpStatusCode,
HttpErrorByCode,
-} from '../utils/http-error-by-code.util';
-import { isNil, isString } from '../utils/shared.utils';
+} from '../utils/http-error-by-code.util.js';
+import { isNil, isString } from '../utils/shared.utils.js';
/**
* @publicApi
@@ -45,7 +45,7 @@ export interface ParseUUIDPipeOptions {
* @publicApi
*/
@Injectable()
-export class ParseUUIDPipe implements PipeTransform {
+export class ParseUUIDPipe implements PipeTransform {
protected static uuidRegExps = {
3: /^[0-9A-F]{8}-[0-9A-F]{4}-3[0-9A-F]{3}-[0-9A-F]{4}-[0-9A-F]{12}$/i,
4: /^[0-9A-F]{8}-[0-9A-F]{4}-4[0-9A-F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12}$/i,
@@ -70,7 +70,10 @@ export class ParseUUIDPipe implements PipeTransform {
(error => new HttpErrorByCode[errorHttpStatusCode](error));
}
- async transform(value: string, metadata: ArgumentMetadata): Promise {
+ async transform(
+ value: unknown,
+ metadata: ArgumentMetadata,
+ ): Promise {
if (isNil(value) && this.options?.optional) {
return value;
}
@@ -81,7 +84,7 @@ export class ParseUUIDPipe implements PipeTransform {
} is expected)`,
);
}
- return value;
+ return value as string;
}
protected isUUID(str: unknown, version = 'all') {
diff --git a/packages/common/pipes/standard-schema-validation.pipe.ts b/packages/common/pipes/standard-schema-validation.pipe.ts
new file mode 100644
index 00000000000..38382804cb4
--- /dev/null
+++ b/packages/common/pipes/standard-schema-validation.pipe.ts
@@ -0,0 +1,192 @@
+import type { StandardSchemaV1 } from '@standard-schema/spec';
+import { types } from 'util';
+import { Injectable } from '../decorators/core/injectable.decorator.js';
+import { Optional } from '../decorators/core/optional.decorator.js';
+import { HttpStatus } from '../enums/http-status.enum.js';
+import {
+ ArgumentMetadata,
+ PipeTransform,
+} from '../interfaces/features/pipe-transform.interface.js';
+import {
+ ErrorHttpStatusCode,
+ HttpErrorByCode,
+} from '../utils/http-error-by-code.util.js';
+
+/**
+ * Built-in JavaScript types that should be excluded from prototype stripping
+ * to avoid conflicts with test frameworks like Jest's useFakeTimers
+ */
+const BUILT_IN_TYPES = [Date, RegExp, Error, Map, Set, WeakMap, WeakSet];
+
+/**
+ * @publicApi
+ */
+export interface StandardSchemaValidationPipeOptions {
+ /**
+ * If true, the pipe will return the value produced by the schema
+ * (which may differ from the input if the schema coerces/transforms values).
+ * If false, the original input value is returned after successful validation.
+ * @default true
+ */
+ transform?: boolean;
+ /**
+ * If true, the pipe will also validate parameters decorated with custom decorators
+ * (created with `createParamDecorator`). When false, custom parameters are skipped.
+ * @default false
+ */
+ validateCustomDecorators?: boolean;
+ /**
+ * Options to pass to the standard schema `validate` function.
+ * These options are forwarded as the second argument to the schema's `~standard.validate` method.
+ */
+ validateOptions?: Record;
+ /**
+ * The HTTP status code to be used in the response when the validation fails.
+ * @default HttpStatus.BAD_REQUEST
+ */
+ errorHttpStatusCode?: ErrorHttpStatusCode;
+ /**
+ * A factory function that returns an exception object to be thrown
+ * if validation fails.
+ * @param issues The issues returned by the standard schema validation
+ * @returns The exception object
+ */
+ exceptionFactory?: (issues: readonly StandardSchemaV1.Issue[]) => any;
+}
+
+/**
+ * Defines the built-in StandardSchemaValidation Pipe.
+ *
+ * Uses a standard schema object (conforming to the Standard Schema spec)
+ * attached to the parameter metadata to validate incoming values.
+ *
+ * @see [Standard Schema](https://github.com/standard-schema/standard-schema)
+ *
+ * @publicApi
+ */
+@Injectable()
+export class StandardSchemaValidationPipe implements PipeTransform {
+ protected isTransformEnabled: boolean;
+ protected validateCustomDecorators: boolean;
+ protected validateOptions: Record | undefined;
+ protected exceptionFactory: (
+ issues: readonly StandardSchemaV1.Issue[],
+ ) => any;
+
+ constructor(
+ @Optional()
+ protected readonly options?: StandardSchemaValidationPipeOptions,
+ ) {
+ const {
+ transform = true,
+ validateCustomDecorators = false,
+ validateOptions,
+ exceptionFactory,
+ errorHttpStatusCode = HttpStatus.BAD_REQUEST,
+ } = options || {};
+
+ this.isTransformEnabled = transform;
+ this.validateCustomDecorators = validateCustomDecorators;
+ this.validateOptions = validateOptions;
+
+ this.exceptionFactory =
+ exceptionFactory ||
+ (issues => {
+ const messages = issues.map(issue => issue.message);
+ return new HttpErrorByCode[errorHttpStatusCode](messages);
+ });
+ }
+
+ /**
+ * Method that validates the incoming value against the standard schema
+ * provided in the parameter metadata.
+ *
+ * @param value currently processed route argument
+ * @param metadata contains metadata about the currently processed route argument
+ */
+ async transform(value: T, metadata: ArgumentMetadata): Promise {
+ const schema = metadata.schema;
+ if (!schema || !this.toValidate(metadata)) {
+ return value;
+ }
+
+ this.stripProtoKeys(value);
+
+ const result = await this.validate(value, schema, this.validateOptions);
+
+ if (result.issues) {
+ throw this.exceptionFactory(result.issues);
+ }
+ return this.isTransformEnabled ? result.value : value;
+ }
+
+ /**
+ * Determines whether validation should be performed for the given metadata.
+ * Skips validation for custom decorators unless `validateCustomDecorators` is enabled.
+ *
+ * @param metadata contains metadata about the currently processed route argument
+ * @returns `true` if validation should be performed
+ */
+ protected toValidate(metadata: ArgumentMetadata): boolean {
+ const { type } = metadata;
+ if (type === 'custom' && !this.validateCustomDecorators) {
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * Validates a value against a standard schema.
+ * Can be overridden to customize validation behavior.
+ *
+ * @param value The value to validate
+ * @param schema The standard schema to validate against
+ * @param options Optional options forwarded to the schema's validate method
+ * @returns The validation result
+ */
+ protected validate(
+ value: unknown,
+ schema: StandardSchemaV1,
+ options?: Record,
+ ): Promise> | StandardSchemaV1.Result {
+ return schema['~standard'].validate(value, options) as
+ | Promise>
+ | StandardSchemaV1.Result;
+ }
+
+ /**
+ * Strips dangerous prototype pollution keys from an object.
+ */
+ protected stripProtoKeys(value: any) {
+ if (
+ value == null ||
+ typeof value !== 'object' ||
+ types.isTypedArray(value)
+ ) {
+ return;
+ }
+
+ if (BUILT_IN_TYPES.some(type => value instanceof type)) {
+ return;
+ }
+
+ if (Array.isArray(value)) {
+ for (const v of value) {
+ this.stripProtoKeys(v);
+ }
+ return;
+ }
+
+ delete value.__proto__;
+ delete value.prototype;
+
+ const constructorType = value?.constructor;
+ if (constructorType && !BUILT_IN_TYPES.includes(constructorType)) {
+ delete value.constructor;
+ }
+
+ for (const key in value) {
+ this.stripProtoKeys(value[key]);
+ }
+ }
+}
diff --git a/packages/common/pipes/validation.pipe.ts b/packages/common/pipes/validation.pipe.ts
index 3cd36769888..53bac3ed281 100644
--- a/packages/common/pipes/validation.pipe.ts
+++ b/packages/common/pipes/validation.pipe.ts
@@ -1,24 +1,29 @@
import { iterate } from 'iterare';
import { types } from 'util';
-import { Optional } from '../decorators';
-import { Injectable } from '../decorators/core';
-import { HttpStatus } from '../enums/http-status.enum';
-import { ClassTransformOptions } from '../interfaces/external/class-transform-options.interface';
-import { TransformerPackage } from '../interfaces/external/transformer-package.interface';
-import { ValidationError } from '../interfaces/external/validation-error.interface';
-import { ValidatorOptions } from '../interfaces/external/validator-options.interface';
-import { ValidatorPackage } from '../interfaces/external/validator-package.interface';
+import { Injectable } from '../decorators/core/index.js';
+import { Optional } from '../decorators/index.js';
+import { HttpStatus } from '../enums/http-status.enum.js';
+import { ClassTransformOptions } from '../interfaces/external/class-transform-options.interface.js';
+import { TransformerPackage } from '../interfaces/external/transformer-package.interface.js';
+import { ValidationError } from '../interfaces/external/validation-error.interface.js';
+import { ValidatorOptions } from '../interfaces/external/validator-options.interface.js';
+import { ValidatorPackage } from '../interfaces/external/validator-package.interface.js';
import {
ArgumentMetadata,
PipeTransform,
-} from '../interfaces/features/pipe-transform.interface';
-import { Type } from '../interfaces/type.interface';
+} from '../interfaces/features/pipe-transform.interface.js';
+import { Type } from '../interfaces/type.interface.js';
import {
ErrorHttpStatusCode,
HttpErrorByCode,
-} from '../utils/http-error-by-code.util';
-import { loadPackage } from '../utils/load-package.util';
-import { isNil, isUndefined } from '../utils/shared.utils';
+} from '../utils/http-error-by-code.util.js';
+import { loadPackage } from '../utils/load-package.util.js';
+import { isNil, isUndefined } from '../utils/shared.utils.js';
+
+/**
+ * @publicApi
+ */
+export type ValidationErrorFormat = 'list' | 'grouped';
/**
* @publicApi
@@ -33,10 +38,22 @@ export interface ValidationPipeOptions extends ValidatorOptions {
expectedType?: Type;
validatorPackage?: ValidatorPackage;
transformerPackage?: TransformerPackage;
+ /**
+ * Specifies the format of validation error messages.
+ * - 'list': Returns an array of error message strings (default). The response message is `string[]`.
+ * - 'grouped': Returns an object with property paths as keys and arrays of unmodified error messages as values.
+ * The response message is `Record`. Custom messages defined in validation decorators
+ * (e.g., `@IsNotEmpty({ message: 'Name is required' })`) are preserved without parent path prefixes.
+ *
+ * @remarks
+ * When using 'grouped', the `message` property in the error response changes from `string[]` to `Record`.
+ * If you have exception filters or interceptors that assume `message` is always an array, they will need to be updated.
+ */
+ errorFormat?: ValidationErrorFormat;
}
-let classValidator: ValidatorPackage = {} as any;
-let classTransformer: TransformerPackage = {} as any;
+let classValidator: any = {} as any;
+let classTransformer: any = {} as any;
/**
* Built-in JavaScript types that should be excluded from prototype stripping
@@ -50,7 +67,7 @@ const BUILT_IN_TYPES = [Date, RegExp, Error, Map, Set, WeakMap, WeakSet];
* @publicApi
*/
@Injectable()
-export class ValidationPipe implements PipeTransform {
+export class ValidationPipe implements PipeTransform {
protected isTransformEnabled: boolean;
protected isDetailedOutputDisabled?: boolean;
protected validatorOptions: ValidatorOptions;
@@ -59,6 +76,7 @@ export class ValidationPipe implements PipeTransform {
protected expectedType: Type